On Tue, 19 May 2009, Jeremy Huddleston wrote:
press right:
May 19 18:01:14 aeris kernel: [ 256.453247] drivers/hid/hid-core.c: report (size 8) (unnumbered)
May 19 18:01:14 aeris kernel: [ 256.453259] drivers/hid/hid-core.c: report 0 (size 8) = 00 00 4f 00 00 00 00 00
[ ... ]
press down:
May 19 18:01:17 aeris kernel: [ 259.429256] drivers/hid/hid-core.c: report (size 8) (unnumbered)
May 19 18:01:17 aeris kernel: [ 259.429268] drivers/hid/hid-core.c: report 0 (size 8) = 00 00 4f 51 00 00 00 00
[ ... ]
press left:
May 19 18:01:20 aeris kernel: [ 262.469256] drivers/hid/hid-core.c: report (size 8) (unnumbered)
May 19 18:01:20 aeris kernel: [ 262.469269] drivers/hid/hid-core.c: report 0 (size 8) = 00 00 01 01 01 01 01 01
[ ... ]
release right:
May 19 18:01:22 aeris kernel: [ 264.981247] drivers/hid/hid-core.c: report (size 8) (unnumbered)
May 19 18:01:22 aeris kernel: [ 264.981258] drivers/hid/hid-core.c: report 0 (size 8) = 00 00 51 50 00 00 00 00
[ ... ]
release down:
May 19 18:01:25 aeris kernel: [ 267.405254] drivers/hid/hid-core.c: report (size 8) (unnumbered)
May 19 18:01:25 aeris kernel: [ 267.405267] drivers/hid/hid-core.c: report 0 (size 8) = 00 00 50 00 00 00 00 00
[ ... ]
release left:
May 19 18:01:26 aeris kernel: [ 269.277246] drivers/hid/hid-core.c: report (size 8) (unnumbered)
May 19 18:01:26 aeris kernel: [ 269.277258] drivers/hid/hid-core.c: report 0 (size 8) = 00 00 00 00 00 00 00 00
Looks like the state machine inside the keyboard gets a little bit crazy
when you press the third button. The data that HID core sees coming on USB
bus really don't represent [right,down,left] being pressed.
Do you have any chance to verify whether this works properly in a
different operating system? It would require very specific handling
violating the standard.
Thanks,
--
Jiri Kosina
SUSE Labs