lkml.org 
[lkml]   [2004]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Solved: atkbd w 2.6.2rc1 : HowTo for extra (inet) keys ?
On Sat, Jan 24, 2004 at 04:28:30AM +0200, P. Christeas wrote:
> 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).

The almost right solution here would be to write an xkb keyboard
description that matches the 2.6 keycode->scancode mappings, so that
once you get the 'setkeycodes' command right, both the kernel and X will
understand the keys correctly.

With your approach you got the keys correct solely in X, not the kernel.

I'll take a look at this.

The completely right approach would be to teach X to either use the
event interface or at least the medium raw mode.

> > 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.

--
Vojtech Pavlik
SuSE Labs, SuSE CR
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 14:00    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site