[nylug-talk] a maze of twisty input subsystems, all different
Eric Moore
eemoore at fyndo.com
Sun Dec 31 13:33:56 EST 2006
Ok, for Christmas I got a Targus USB wireless numerical keypad for my
(Thinkpad T30) laptop. This is all well and good, except for the fact
that it doesn't work. Or only sort of works.
The keypad docs say the numlock key works independently of the
keyboard one, so the external keypad is independent of the keyboards
one.
In console mode, it works right. When the keypad is in "numlock mode"
pressing number keys causes numbers to be typed in, and when in the
other mode, the keys do home, page up, arrow-key type stuffs. All
well and good. When the keypad is in numlock mode and you press a
number key the numlock LED on my laptop flashes, so I assume the
keypad is sending the scan codes for something like "numlock, keypad
7, numlock".
In X the story is similar, except for the niggling detail that the
numlock LED stays on after pressing one of the number keys while the
keypad is numlocked. This is a problem, since when the laptop thinks
it's supposed to have numlock on, the uiojklm keys become the numeric
keypad. Losing one third of the alphabet kinda sucks.
So is they anyone who understands any of xorg input handling, linux
keyboard handling, how the USB HID layer combines events from
different sources, how this laptop keyboard key-remapping thing works
(what is done in hardware and what in software), or how the keypad
does it's magic, I'd love to have pointers on where to look to fix
this. Especially useful would be tools/magic invocations to let me
look at the events going on in different layers of input handling.
What exactly the keypad is sending over the USB cable, what the linux
input subsystem is getting, and what it's passing to the X server.
I've got xev to tell what the X server is passing to clients, but that
doesn't really fill in the rest.
Of course, the magic incantation to just make X work right would also
be good.
--
Eric
More information about the nylug-talk
mailing list