On May 20, 2009, at 07:19, Jiri Kosina wrote:
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.
So in OSX, I certainly don't see the Fn misinterpretation. There is
another odd behavior in OSX that is probably related to an underlying
hardware quirk that OSX just deals with more elegantly.
In OSX, I see this behavior:
press right:
event received that right arrow pressed
press down:
event received that down arrow pressed
press left:
no event
release right:
event received that right arrow released
event received that left arrow pressed
release down:
event received that down arrow released
release left:
event received that left arrow released
So there seems to be an underlying problem that needs to be worked
around. Perhaps we can figure out a way to handle it in a way results
in similar behavior to the OSX...
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html