]> err.no Git - linux-2.6/commitdiff
HID: fix mismatch between hid-input HUT find/search mapping and the HUT
authorHans de Goede <j.w.r.degoede@hhs.nl>
Tue, 12 Jun 2007 20:04:32 +0000 (22:04 +0200)
committerJiri Kosina <jkosina@suse.cz>
Mon, 9 Jul 2007 12:13:32 +0000 (14:13 +0200)
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>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-input.c

index 70bf54167083064240a071bf8492bc82a1fba9dd..6cb884638fda668015a63e8cd2841eb9a0459cc8 100644 (file)
@@ -598,7 +598,9 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
                                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;