Solved: atkbd w 2.6.2rc1 : HowTo for extra (inet) keys ?

From: P. Christeas
Date: Fri Jan 23 2004 - 21:39:46 EST


After spending my evening on it :-( I managed to find the correct keys for
the Omnibook XE3:
(I could only reverse-engineer the previous hack I 've had for it)
Download and hack the 'console-tools' package (from sourceforge, project
"lct") so that 'setkeycodes' does accept keycodes >127.

Vojtech, is 512 the upper bound for <keycode> at setkeycodes?

Using 2.6.2-rc1, issue:
setkeycodes e071 236
setkeycodes e072 237
setkeycodes e073 238
setkeycodes e074 239

so that the upper (near the screen) row of "internet" buttons is assigned to
the keys X expect to receive.
e071 etc. can be found using 'showkey -s'
I still don't get where 236 came from (so that I could help other kbds, as
well).


> On Fri, Jan 23, 2004 at 10:04:27PM +0200, P. Christeas wrote:
> > Hello again.
> > I just reverted my atkbd.c code to your version (Linus's tree) and
> > unfortunately have 4 keys 'missing' from my HP Omnibook XE3GC extra
> > "internet keys".
> > Question 1: Can I fix the table from userland, using some utility? That
> > is, can I upload an updated table into the kernel, so that I don't have
> > to reboot?
>
> 'setkeycodes' can do that.
>
> > Q 2: Do you have any HowTo/QA for that?
>
> Not yet, but I'll have to write one.
>
> > Q 3: Will that work under X? (which AFAIK reads the 'raw' codes)
>
> X needs to be set up as well. In 2.6, X doesn't get real raw codes but
> instead simulated raw codes generated by the kernel.
>
> > Q 4: It has been rather difficult for me to compute the scancodes needed
> > for the table. Could you put the "formula" onto the HowTo?
> >
> > FYI, the codes are:
> > "www": Unknown key pressed (translated set 2, code 0xf3 on
> > isa0060/serio0). "Mail": Unknown key pressed (translated set 2, code
> > 0xf4 on isa0060/serio0). "Launch": Unknown key pressed (translated set 2,
> > code 0xf2 on isa0060/serio0). "Help": Unknown key pressed (translated
> > set 2, code 0xf1 on isa0060/serio0).
>
> The formula for setkeycodes is:
>
> if (code > 0x100)
> you're out of luck, setkeycodes doesn't handle this yet;
> else if (code > 0x80)
> result = code - 0x80 + 0xe000;
> else
> result = code;
>
> And then you use 'setkeycodes result keycode',
>
> where keycode you find in include/linux/input.h.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/