lkml.org 
[lkml]   [2007]   [Jun]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectPATCH: fix mismatch between usb-hid.c HUT find/search mapping and the HUT reference doc
Hi all,

As some of you might know from my earlier post/thread about atkbd and softraw,
I'm currently working on getting keyboards with internet/easy access keys to
work painlessly / plug and play.

In order to be able to better test / develop this I've bought 2 cheap such
keyboards today, one ps2 and one both usb and ps2 capable.

When comparing usb vs ps2 / testing the keycodes generated for the easy access
keys on my trust (microsoft compatible) keyboard. I noticed the search key
generated the linux/input keycode for find when connected through USB. This
lead me to check the consumer page mappings in hid-input.c . And it turns out
the the mapping for ID 0x221 deviates from the HUT standard document:
http://www.usb.org/developers/devclass_docs/Hut1_12.pdf

Currently it is incorrectly mapped to find, whereas it should be mapped to
search. I also added missing bindings for ID 0x21f, the real find and for
0x222, goto.

Regards,

Hans
When comparing usb vs ps2 / testing the keycodes generated for the easy access
keys on my trust (microsoft compatible) keyboard. I noticed the search key
generated the keycode for find when connected through USB. This lead me to
check the consumer page mappings in hid-input.c . And it turns out the the
mapping for ID 0x221 deviates from the HUT standard document:
http://www.usb.org/developers/devclass_docs/Hut1_12.pdf

Currently it is incorrectly mapped to find, whereas it should be mapped to
search. I also added missing bindings for ID 0x21f, the real find and for
0x222, goto.

Signed-off-by: Hans de Goede <j.w.r.degoede@hhs.nl>
--- linux-2.6.21.x86_64/drivers/hid/hid-input.c.hut 2007-06-12 19:26:58.000000000 +0200
+++ linux-2.6.21.x86_64/drivers/hid/hid-input.c 2007-06-12 19:33:32.000000000 +0200
@@ -598,7 +598,9 @@
case 0x21b: map_key_clear(KEY_COPY); break;
case 0x21c: map_key_clear(KEY_CUT); break;
case 0x21d: map_key_clear(KEY_PASTE); break;
- case 0x221: map_key_clear(KEY_FIND); break;
+ case 0x21f: map_key_clear(KEY_FIND); break;
+ case 0x221: map_key_clear(KEY_SEARCH); break;
+ case 0x222: map_key_clear(KEY_GOTO); break;
case 0x223: map_key_clear(KEY_HOMEPAGE); break;
case 0x224: map_key_clear(KEY_BACK); break;
case 0x225: map_key_clear(KEY_FORWARD); break;
\
 
 \ /
  Last update: 2007-06-12 19:55    [W:0.095 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site