From: Jiri Kosina Date: Tue, 25 Sep 2007 14:32:08 +0000 (+0200) Subject: HID: fix input mapping for Microsoft Ergonomic Keyboard X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=f14d5d206cf84357a7072ddb2bbc7d3454639f11;p=openwrt%2Fstaging%2Fblogic.git 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 --- 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) {