Input system and keycodes > 256
Hi,
I've digged into the kernel source/tools since i do own a new logitech USB keyboard MX with a great number a keys.
There are two kind of addons keys, some works (scancode in the e0 XX form): Email, Prev, Next, Play/Pause, Vol+/-, Mute, ...
+ some of thoses generate a simple keycode eg
Vol+: 0x73 | 0xf3 (scancodes: 0xe0 0x30 | 0xe0 0xb0)
+ some doesn't eg:
play: 0x00 0x81 0xa4 | 0x80 0x81 0xa4 (scancodes: 0xe0 0x22 | 0xe00xa2)
_ but all thoses key work quite well under X.
The pb come from the new 'Function' keys with replace F1-F12 when the Flock mod isn't active (it's an hardware mod) and some other (Messenger, Webcam, iTouch and Buy).
When grabbing with 'showkey -s' nothing appear
When grabbing with 'showkey' i got keycodes like '0x00 0x82 0xd0 | 0x80 0x82 0xd0' (i got same keycodes when pressing mouse buttons except those are in 0x82 0x90 -> 0x82 0x97 range)
When using the evbug module see that those keys generates > 255 keycodes. (see attached file)
And strangely all thoses keys generates the sames strings than keys with keycode2 = keycode - 256.
Eg: the 'New' function key (shared with F1) reported by evbug as 336 keycode as the same effect as keycode 80 (keypad 2).
So i'm a little lost :(
And i wanted some direction on how make thoses keys work correctly on the console (and X eventually. Actually under X some keys generate mouse button event, some doesn't generate anything).
I am wondering if a good start would not be to extend the kbentry structure, to use unsigned short at least for the index so whe can acces a fully 512 entry keymap.
Signature · 4 lines
Benoit Plessis <[email protected]> +33 6 77 42 78 32 <[email protected]> <[email protected]> <[email protected]> <[email protected]> 1024D/B4D74B76 B9A7 3697 661D 25FB A609 E69E 92CA FFAB B4D7 4B76
Apr 25 22:27:20 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 155, Value: 1 Apr 25 22:27:20 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:20 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 155, Value: 0 Apr 25 22:27:20 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Messenger Apr 25 22:27:21 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 256, Value: 1 Apr 25 22:27:21 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:22 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 256, Value: 0 Apr 25 22:27:22 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Camera Web Apr 25 22:27:23 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 257, Value: 1 Apr 25 22:27:23 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:23 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 257, Value: 0 Apr 25 22:27:23 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Previous Song Apr 25 22:27:26 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 165, Value: 1 Apr 25 22:27:26 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:27 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 165, Value: 0 Apr 25 22:27:27 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Next Song Apr 25 22:27:28 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 163, Value: 1 Apr 25 22:27:28 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:28 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 163, Value: 0 Apr 25 22:27:28 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Play/Pause Apr 25 22:27:30 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 164, Value: 1 Apr 25 22:27:30 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:30 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 164, Value: 0 Apr 25 22:27:30 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Stop Apr 25 22:27:30 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 166, Value: 1 Apr 25 22:27:30 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:30 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 166, Value: 0 Apr 25 22:27:30 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Media Apr 25 22:27:32 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 171, Value: 1 Apr 25 22:27:32 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:32 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 171, Value: 0 Apr 25 22:27:32 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Vol Down Apr 25 22:27:32 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 114, Value: 1 Apr 25 22:27:32 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:32 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 114, Value: 0 Apr 25 22:27:32 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Vol Up Apr 25 22:27:33 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 115, Value: 1 Apr 25 22:27:33 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:33 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 115, Value: 0 Apr 25 22:27:33 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Vol Mute Apr 25 22:27:34 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 113, Value: 1 Apr 25 22:27:34 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:34 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 113, Value: 0 Apr 25 22:27:34 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 ITouch Apr 25 22:27:35 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 258, Value: 1 Apr 25 22:27:35 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:35 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 258, Value: 0 Apr 25 22:27:35 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Search Apr 25 22:27:35 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 136, Value: 1 Apr 25 22:27:35 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:35 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 136, Value: 0 Apr 25 22:27:35 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Buy Apr 25 22:27:36 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 259, Value: 1 Apr 25 22:27:36 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:36 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 259, Value: 0 Apr 25 22:27:36 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Favorite Apr 25 22:27:36 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 156, Value: 1 Apr 25 22:27:36 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:36 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 156, Value: 0 Apr 25 22:27:36 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Home Apr 25 22:27:37 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 172, Value: 1 Apr 25 22:27:37 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:37 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 172, Value: 0 Apr 25 22:27:37 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Flock 1 Apr 25 22:27:38 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 336, Value: 1 Apr 25 22:27:38 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:39 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 336, Value: 0 Apr 25 22:27:39 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Flock 2 Apr 25 22:27:39 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 337, Value: 1 Apr 25 22:27:39 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:39 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 337, Value: 0 Apr 25 22:27:39 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Flock 3 Apr 25 22:27:39 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 338, Value: 1 Apr 25 22:27:39 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:39 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 338, Value: 0 Apr 25 22:27:39 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Flock 4 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 339, Value: 1 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 339, Value: 0 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0
Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.1-1/input0, Type: 3, Code: 5, Value: -1 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.1-1/input0, Type: 0, Code: 0, Value: 0 Flock 5 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 340, Value: 1 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 340, Value: 0 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Flock 6 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 341, Value: 1 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 341, Value: 0 Apr 25 22:27:40 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Flock 7 Apr 25 22:27:41 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 342, Value: 1 Apr 25 22:27:41 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:41 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 342, Value: 0 Apr 25 22:27:41 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Flock 8 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 343, Value: 1 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 343, Value: 0 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Flock 9 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 344, Value: 1 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 344, Value: 0 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Flock 10 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 345, Value: 1 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 345, Value: 0 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Flock 11 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 346, Value: 1 Apr 25 22:27:45 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:46 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 346, Value: 0 Apr 25 22:27:46 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Flock 12 Apr 25 22:27:46 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 347, Value: 1 Apr 25 22:27:46 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0 Apr 25 22:27:46 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 1, Code: 347, Value: 0 Apr 25 22:27:46 osiris kernel: evbug.c: Event. Dev: usb-0000:00:10.0-1/input1, Type: 0, Code: 0, Value: 0
Hi Benoit ;),
Quoted 7 lines
There are two kind of addons keys, some works (scancode in the e0 XX form): Email, Prev, Next, Play/Pause, Vol+/-, Mute, ...
+ some of thoses generate a simple keycode egVol+: 0x73 | 0xf3 (scancodes: 0xe0 0x30 | 0xe0 0xb0) + some doesn't eg: play: 0x00 0x81 0xa4 | 0x80 0x81 0xa4 (scancodes: 0xe0 0x22 | 0xe0
0xa2)
You could make them work using the 'setkeycodes' command to configure the kernel tables, so you can put some setkeycodes lines in your init scripts to make those extra keys always avaliable on your console.
bye
Signature · 4 lines
David Gómez "The question of whether computers can think is just like the question of whether submarines can swim." -- Edsger W. Dijkstra
Quoted 10 lines · David Gómez
Hi Benoit ;),
Quoted 7 lines
There are two kind of addons keys, some works (scancode in the e0 XX form): Email, Prev, Next, Play/Pause, Vol+/-, Mute, ...
+ some of thoses generate a simple keycode egVol+: 0x73 | 0xf3 (scancodes: 0xe0 0x30 | 0xe0 0xb0) + some doesn't eg: play: 0x00 0x81 0xa4 | 0x80 0x81 0xa4 (scancodes: 0xe0 0x22 | 0xe0
0xa2)
Quoted 5 lines
You could make them work using the 'setkeycodes' command to configure the kernel tables, so you can put some setkeycodes lines in your init scripts to make those extra keys always avaliable on your console.
bye
Ok thanks for that,
in fact thoses key works under XFree so i doesn't exactly focus on them. It's the other keys with 0x82 0xXX keycodes, no scancodes (maybe an empty translation table ? for i've read that USB keyboard need one of those) and that generate mouse click event under X that are really bothering me.
Signature · 4 lines
Benoit Plessis <[email protected]> +33 6 77 42 78 32 <[email protected]> <[email protected]> <[email protected]> <[email protected]> 1024D/B4D74B76 B9A7 3697 661D 25FB A609 E69E 92CA FFAB B4D7 4B76
Quoted 10 lines · David Gómez
Hi Benoit ;),
Quoted 7 lines
There are two kind of addons keys, some works (scancode in the e0 XX form): Email, Prev, Next, Play/Pause, Vol+/-, Mute, ...
+ some of thoses generate a simple keycode egVol+: 0x73 | 0xf3 (scancodes: 0xe0 0x30 | 0xe0 0xb0) + some doesn't eg: play: 0x00 0x81 0xa4 | 0x80 0x81 0xa4 (scancodes: 0xe0 0x22 | 0xe0
0xa2)
Quoted 3 lines
You could make them work using the 'setkeycodes' command to configure the kernel tables, so you can put some setkeycodes lines in your init scripts to make those extra keys always avaliable on your console.
Won't work for USB keyboards.
Quoted 4 lines · Benoit Plessis
When grabbing with 'showkey -s' nothing appear
When grabbing with 'showkey' i got keycodes like '0x000x820xd0|0x800x820xd0' (i got same keycodes when pressing mouse buttons except those are in0x820x90->0x820x97range)
What version of showkey are you using?
Quoted 8 lines · Andries Brouwer
Quoted 4 lines · Benoit Plessis
When grabbing with 'showkey -s' nothing appear
When grabbing with 'showkey' i got keycodes like '0x000x820xd0|0x800x820xd0' (i got same keycodes when pressing mouse buttons except those are in0x820x90->0x820x97range)What version of showkey are you using?
showkey: (console-tools) 0.2.3
(maybe modified by debian: console-tools_0.2.3dbs-52)
Actually while working with the Input Event system for my mouse under Xfree (started by hacking moudev to support eigth button mouse and remove the 'double' press on my Forward button (one press from the Logitech Cruise mode, and another from the conversion in mousedev (and not accurate), and after that creating an Input Event mouse driver for XFree) i found another weird thing (not investigated for now): All 'extra' keys of the Keyboard (the standard one: play/pause/mail/... and the new which doesn't work) generate events on the same device than the mouse (but the normal keys goes to another event device).
Signature · 4 lines
Benoit Plessis <[email protected]> +33 6 77 42 78 32 <[email protected]> <[email protected]> <[email protected]> <[email protected]> 1024D/B4D74B76 B9A7 3697 661D 25FB A609 E69E 92CA FFAB B4D7 4B76
Quoted 2 lines · Benoit Plessis
Quoted 1 line
What version of showkey are you using?
showkey: (console-tools) 0.2.3
Ah - maybe you want to try with a showkey from kbd-1.12 or so. I think console-tools-0.2.3 is from Oct 1999 and kbd-1.12 is from Jan 2004. In case you still have problems I'd like to hear. Write to [email protected].
Andries
Quoted 8 lines · Andries Brouwer
Quoted 4 lines · Benoit Plessis
When grabbing with 'showkey -s' nothing appear
When grabbing with 'showkey' i got keycodes like '0x000x820xd0|0x800x820xd0' (i got same keycodes when pressing mouse buttons except those are in0x820x90->0x820x97range)What version of showkey are you using?
A normal mode. This is 2.6 extended medium raw mode I suppose.
Quoted 31 lines · Benoit Plessis
Hi,
I've digged into the kernel source/tools since i do own a new logitech USB keyboard MX with a great number a keys.
There are two kind of addons keys, some works (scancode in the e0 XX form): Email, Prev, Next, Play/Pause, Vol+/-, Mute, ...
+ some of thoses generate a simple keycode egVol+: 0x73 | 0xf3 (scancodes: 0xe0 0x30 | 0xe0 0xb0) + some doesn't eg: play: 0x00 0x81 0xa4 | 0x80 0x81 0xa4 (scancodes: 0xe0 0x22 | 0xe0
0xa2)
_ but all thoses key work quite well under X.The pb come from the new 'Function' keys with replace F1-F12 when the Flock mod isn't active (it's an hardware mod) and some other (Messenger, Webcam, iTouch and Buy).
When grabbing with 'showkey -s' nothing appear
When grabbing with 'showkey' i got keycodes like '0x000x820xd0|0x800x820xd0' (i got same keycodes when pressing mouse buttons except those are in0x820x90->0x820x97range)When using the evbug module see that those keys generates > 255 keycodes. (see attached file)
And strangely all thoses keys generates the sames strings than keys with keycode2 = keycode - 256.Eg: the 'New' function key (shared with F1) reported by evbug as 336 keycode as the same effect as keycode 80 (keypad 2).
Quoted 8 lines
So i'm a little lost :(
And i wanted some direction on how make thoses keys work correctly on the console (and X eventually. Actually under X some keys generate mouse button event, some doesn't generate anything).I am wondering if a good start would not be to extend the kbentry structure, to use unsigned short at least for the index so whe can acces a fully 512 entry keymap.
I'm sorry, but X only understands the RAW PS/2 protocol, and that one can only transport keycodes up to 240.
For keycodes above 240, XFree86 would either need to use the MediumRAW mode, or use event devices for parsing the keyboard.