Linux kernel / USB keyboard scancode problems
Gabriel Paubert
paubert at iram.es
Wed Aug 27 06:03:03 EST 2003
On Tue, Aug 26, 2003 at 09:24:02PM +0200, Frank Murphy wrote:
> On Tuesday 26 August 2003 11:35, Gabriel Paubert wrote:
> > On Sat, Aug 23, 2003 at 02:09:24PM +0200, Frank Murphy wrote:
> > > To get the menu keysym, I'm supposed to press fn and Enter at the same
> > > time. But, instead of getting Menu (X keycode 117), I get 99.
> > > Unfortunately, that's the same keycode as Prior (PageUp), but I think
> > > that's an X bug. On the console with showkey -k, I get 101. With showkey
> > > -s, I get 0x5b 0xdb. Unfortunately, I don't know what these values are
> > > supposed to be for Menu
> >
> > Indeed that's an X bug, like the one (fixed now?) with the keypad equal.
>
> True, the fact that PageUp and Menu make the same keycode in X is an X bug.
> However, if the kernel sent the normal (i.e. i386) keycode, the X bug
> wouldn't be exposed.
>
> > X does its own mapping of raw keycodes to keycodes, and the mapping
> > is surjective (arghh). The option CustomKeyCodes in X allows you to bypass
> > this mapping (medium raw modes) but I believe it is deprecated.
On a PC, the Menu key sends e0 5d (and obviously e0 dd for key up). The linux
keycode is 127 but the X one is 117.
> > I believe it was benh in drivers/macintosh/adbhid.c on March 5th. Easy
> > to find with bk (1.10 revision in the tree on my Pismo which I have not
> > updated in a long time). Apparently the ADB keycodes have changed
> > depending on PB revisions.
>
> Thanks for the pointer! It looks like that's the right place. I've looked at
> it quickly, and it'll take me a while to figure out what's going on.
The following might be sufficient (just a wild guess, and it will
certainly break if you don't use linux keycodes):
===== adbhid.c 1.12 vs edited =====
--- 1.12/drivers/macintosh/adbhid.c Sat Jul 12 03:15:34 2003
+++ edited/adbhid.c Tue Aug 26 21:55:04 2003
@@ -70,7 +70,7 @@
15, 57, 41, 14, 96, 1, 29,125, 42, 58, 56,105,106,108,103, 0,
0, 83, 0, 55, 0, 78, 0, 69, 0, 0, 0, 98, 96, 0, 74, 0,
0,117, 82, 79, 80, 81, 75, 76, 77, 71, 0, 72, 73,183,181,124,
- 63, 64, 65, 61, 66, 67,191, 87,190, 99, 0, 70, 0, 68,101, 88,
+ 63, 64, 65, 61, 66, 67,191, 87,190, 99, 0, 70, 0, 68,127, 88,
0,119,110,102,104,111, 62,107, 60,109, 59, 54,100, 97,126,116
};
BTW, I'd also like to keep somewhere the state of the fn key in the
ADB keyboard driver. I've seen a MacOS utility which allows you to
use the trackpad as a scroll wheel while the fn button is pressed.
Thta's what I'd ike to copy.
Regards,
Gabriel
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list