diff options
-rw-r--r-- | drivers/hid/hid-input.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index 0b27da7d7497..3a18ec45a71f 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c | |||
@@ -89,6 +89,7 @@ static const struct { | |||
89 | /* hardware needing special handling due to colliding MSVENDOR page usages */ | 89 | /* hardware needing special handling due to colliding MSVENDOR page usages */ |
90 | #define IS_CHICONY_TACTICAL_PAD(x) (x->vendor == 0x04f2 && device->product == 0x0418) | 90 | #define IS_CHICONY_TACTICAL_PAD(x) (x->vendor == 0x04f2 && device->product == 0x0418) |
91 | #define IS_MS_KB(x) (x->vendor == 0x045e && (x->product == 0x00db || x->product == 0x00f9)) | 91 | #define IS_MS_KB(x) (x->vendor == 0x045e && (x->product == 0x00db || x->product == 0x00f9)) |
92 | #define IS_MS_PRESENTER_8000(x) (x->vendor == 0x045e && x->product == 0x0713) | ||
92 | 93 | ||
93 | #ifdef CONFIG_USB_HIDINPUT_POWERBOOK | 94 | #ifdef CONFIG_USB_HIDINPUT_POWERBOOK |
94 | 95 | ||
@@ -780,9 +781,20 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel | |||
780 | set_bit(KEY_F18, input->keybit); | 781 | set_bit(KEY_F18, input->keybit); |
781 | default: goto ignore; | 782 | default: goto ignore; |
782 | } | 783 | } |
783 | } else { | 784 | |
785 | /* Microsoft Wireless Notebook Presenter Mouse 8000 */ | ||
786 | } else if (IS_MS_PRESENTER_8000(device)) { | ||
787 | set_bit(EV_REP, input->evbit); | ||
788 | switch(usage->hid & HID_USAGE) { | ||
789 | /* Useful mappings of bottom-side keys for presentations */ | ||
790 | case 0xfd08: map_key_clear(KEY_RIGHT); break; | ||
791 | case 0xfd09: map_key_clear(KEY_LEFT); break; | ||
792 | case 0xfd0b: map_key_clear(KEY_PAUSE); break; | ||
793 | case 0xfd0f: map_key_clear(KEY_F5); break; | ||
794 | default: goto ignore; | ||
795 | } | ||
796 | } else | ||
784 | goto ignore; | 797 | goto ignore; |
785 | } | ||
786 | break; | 798 | break; |
787 | 799 | ||
788 | case HID_UP_CUSTOM: /* Reported on Logitech and Powerbook USB keyboards */ | 800 | case HID_UP_CUSTOM: /* Reported on Logitech and Powerbook USB keyboards */ |