aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-input.c
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2007-05-14 04:20:29 -0400
committerJiri Kosina <jkosina@suse.cz>2007-07-09 08:13:28 -0400
commitcb1d93c98c49e268918e35e45e5c407fc4dc4e9f (patch)
tree7f8bb65641334a8f0e23512e636093cfa931609d /drivers/hid/hid-input.c
parent7dcca30a32aadb0520417521b0c44f42d09fe05c (diff)
HID: input mapping for Chicony KU-0418 tactical pad
Chicony KU-0418 (aka Saitek PZ08AU gaming keyboard) has a separate "tactical pad" with 11 non-functional buttons - they generate usage codes from 0xff00 (MSVENDOR) usage page. Special case handling for this keyboard added, so no later clash with MSVENDOR mappings is going to occur. Pointed out in bugzilla #7352 Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-input.c')
-rw-r--r--drivers/hid/hid-input.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index 7f817897b178..ce6d7644e6a1 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -688,7 +688,28 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
688 break; 688 break;
689 689
690 case HID_UP_MSVENDOR: 690 case HID_UP_MSVENDOR:
691 goto ignore; 691
692 /* special case - Chicony Chicony KU-0418 tactical pad */
693 if (device->vendor == 0x04f2 && device->product == 0x0418) {
694 set_bit(EV_REP, input->evbit);
695 switch(usage->hid & HID_USAGE) {
696 case 0xff01: map_key_clear(BTN_1); break;
697 case 0xff02: map_key_clear(BTN_2); break;
698 case 0xff03: map_key_clear(BTN_3); break;
699 case 0xff04: map_key_clear(BTN_4); break;
700 case 0xff05: map_key_clear(BTN_5); break;
701 case 0xff06: map_key_clear(BTN_6); break;
702 case 0xff07: map_key_clear(BTN_7); break;
703 case 0xff08: map_key_clear(BTN_8); break;
704 case 0xff09: map_key_clear(BTN_9); break;
705 case 0xff0a: map_key_clear(BTN_A); break;
706 case 0xff0b: map_key_clear(BTN_B); break;
707 default: goto ignore;
708 }
709 } else {
710 goto ignore;
711 }
712 break;
692 713
693 case HID_UP_CUSTOM: /* Reported on Logitech and Powerbook USB keyboards */ 714 case HID_UP_CUSTOM: /* Reported on Logitech and Powerbook USB keyboards */
694 715