aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-input.c
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2007-04-05 06:23:09 -0400
committerJiri Kosina <jkosina@suse.cz>2007-04-11 04:36:03 -0400
commit85cbea3952135ecad4b47cb6cc57e25279129e2d (patch)
treef7d7561adb058c3d7645f685deb24508c89ae70c /drivers/hid/hid-input.c
parentbf892e60d0b32989bc55ef64cd6557a49806f0cf (diff)
USB HID: Logitech MX3000 keyboard needs report descriptor quirk
Logitech MX3000 contains report descriptor which doesn't cover usages above 0x28c, but emits such usages. Report descriptor needs fixing in the very same way as with receivers shipped with S510 keyboards. This patch also adds a few mappings for multimedia keys that S510 didn't emit. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-input.c')
-rw-r--r--drivers/hid/hid-input.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 220e5a8381c4..a19b65ed3119 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -540,10 +540,26 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
540 case 0x302: map_key_clear(KEY_PROG2); break; 540 case 0x302: map_key_clear(KEY_PROG2); break;
541 case 0x303: map_key_clear(KEY_PROG3); break; 541 case 0x303: map_key_clear(KEY_PROG3); break;
542 542
543 /* Reported on Logitech S510 wireless keyboard */ 543 /* Reported on certain Logitech wireless keyboards */
544 case 0x1001: map_key_clear(KEY_MESSENGER); break;
545 case 0x1003: map_key_clear(KEY_SOUND); break;
546 case 0x1004: map_key_clear(KEY_VIDEO); break;
547 case 0x1005: map_key_clear(KEY_AUDIO); break;
548 case 0x100a: map_key_clear(KEY_DOCUMENTS); break;
549 case 0x1011: map_key_clear(KEY_PREVIOUSSONG); break;
550 case 0x1012: map_key_clear(KEY_NEXTSONG); break;
551 case 0x1013: map_key_clear(KEY_CAMERA); break;
552 case 0x1014: map_key_clear(KEY_MESSENGER); break;
553 case 0x1015: map_key_clear(KEY_RECORD); break;
554 case 0x1016: map_key_clear(KEY_PLAYER); break;
555 case 0x1017: map_key_clear(KEY_EJECTCD); break;
556 case 0x1019: map_key_clear(KEY_PROG1); break;
557 case 0x101a: map_key_clear(KEY_PROG2); break;
558 case 0x101b: map_key_clear(KEY_PROG3); break;
544 case 0x101f: map_key_clear(KEY_ZOOMIN); break; 559 case 0x101f: map_key_clear(KEY_ZOOMIN); break;
545 case 0x1020: map_key_clear(KEY_ZOOMOUT); break; 560 case 0x1020: map_key_clear(KEY_ZOOMOUT); break;
546 case 0x1021: map_key_clear(KEY_ZOOMRESET); break; 561 case 0x1021: map_key_clear(KEY_ZOOMRESET); break;
562 case 0x1023: map_key_clear(KEY_CLOSE); break;
547 /* this one is marked as 'Rotate' */ 563 /* this one is marked as 'Rotate' */
548 case 0x1028: map_key_clear(KEY_ANGLE); break; 564 case 0x1028: map_key_clear(KEY_ANGLE); break;
549 case 0x1029: map_key_clear(KEY_SHUFFLE); break; 565 case 0x1029: map_key_clear(KEY_SHUFFLE); break;