Thread (6 messages) 6 messages, 2 authors, 2009-06-23

Re: hid_apple bug: arrow keys interpreted as Fn

From: Jiri Kosina <hidden>
Date: 2009-06-23 13:07:51

Possibly related (same subject, not in this thread)

On Wed, 20 May 2009, Jeremy Huddleston wrote:
quoted
quoted
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
[ ... ]
quoted
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
[ ... ]
quoted
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
[ ... ]
quoted
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
[ ... ]
quoted
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
[ ... ]
quoted
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
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
In fact, in your "press left" report, there is

drivers/hid/hid-core.c: report (size 8) (unnumbered)
drivers/hid/hid-core.c: report 0 (size 8) =  00 00 01 01 01 01 01 01
hid-debug: input Keyboard.00e0 = 0
hid-debug: input Keyboard.00e1 = 0
hid-debug: input Keyboard.00e2 = 0
hid-debug: input Keyboard.00e3 = 0
hid-debug: input Keyboard.00e4 = 0
hid-debug: input Keyboard.00e5 = 0
hid-debug: input Keyboard.00e6 = 0
hid-debug: input Keyboard.00e7 = 0
hid-debug: input 00ff.0003 = 1

Which signalizes that the keyboard thinks that "Fn" key has been pressed. 
Can you please verify that pressing right-down-left-<something> works in a 
same way as fn-<something>?

Preferably both in linux and other operating system.

Thanks,

-- 
Jiri Kosina
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help