summaryrefslogtreecommitdiffstats
path: root/drivers/hid/hid-input.c
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2007-09-25 16:32:08 +0200
committerJiri Kosina <jkosina@suse.cz>2007-10-14 13:40:01 +0200
commitf14d5d206cf84357a7072ddb2bbc7d3454639f11 (patch)
treeba5d4ef0dd4474cad38b27f86e35e89496e8c66e /drivers/hid/hid-input.c
parentHID: use hid-plff driver for GreenAsia 0e8f:0003 devices (diff)
downloadlinux-f14d5d206cf84357a7072ddb2bbc7d3454639f11.tar.xz
linux-f14d5d206cf84357a7072ddb2bbc7d3454639f11.zip
HID: fix input mapping for Microsoft Ergonomic Keyboard
Special keys 1-5 on Microsoft Ergonomic Keyboard were mistakenly mapped to buttons, which doesn't make a lot of sense. Fix this mapping to KEY_F{13,18}. Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to '')
-rw-r--r--drivers/hid/hid-input.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c
index bd5a29fe85fc..8be28d205d6d 100644
--- a/drivers/hid/hid-input.c
+++ b/drivers/hid/hid-input.c
@@ -762,12 +762,12 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
switch(usage->hid & HID_USAGE) {
case 0xff05:
set_bit(EV_REP, input->evbit);
- map_key_clear(BTN_0);
- set_bit(BTN_1, input->keybit);
- set_bit(BTN_2, input->keybit);
- set_bit(BTN_3, input->keybit);
- set_bit(BTN_4, input->keybit);
- set_bit(BTN_5, input->keybit);
+ map_key_clear(KEY_F13);
+ set_bit(KEY_F14, input->keybit);
+ set_bit(KEY_F15, input->keybit);
+ set_bit(KEY_F16, input->keybit);
+ set_bit(KEY_F17, input->keybit);
+ set_bit(KEY_F18, input->keybit);
default: goto ignore;
}
} else {
@@ -1034,11 +1034,11 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
int key = 0;
static int last_key = 0;
switch (value) {
- case 0x01: key = BTN_1; break;
- case 0x02: key = BTN_2; break;
- case 0x04: key = BTN_3; break;
- case 0x08: key = BTN_4; break;
- case 0x10: key = BTN_5; break;
+ case 0x01: key = KEY_F14; break;
+ case 0x02: key = KEY_F15; break;
+ case 0x04: key = KEY_F16; break;
+ case 0x08: key = KEY_F17; break;
+ case 0x10: key = KEY_F18; break;
default: break;
}
if (key) {