aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/input/hid-input.c
diff options
context:
space:
mode:
authorVojtech Pavlik <vojtech@suse.cz>2006-01-14 00:25:39 -0500
committerDmitry Torokhov <dtor_core@ameritech.net>2006-01-14 00:25:39 -0500
commit940824b0ac6661ff4f3b36e7bce17f681d0cbc23 (patch)
treec06af81c1983956a2beaee7c6f273a6edebef709 /drivers/usb/input/hid-input.c
parent3dd01a831133e3260b9c77a09c234b012e9507da (diff)
Input: HID - add support for Cherry Cymotion keyboard
The Cherry Cymotion is a special Linux keyboard made by Cherry, with only one little problem: it doesn't work with Linux. This patch (originally by hexten.net, cleaned up by me) makes it work including all the special keys. Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'drivers/usb/input/hid-input.c')
-rw-r--r--drivers/usb/input/hid-input.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/usb/input/hid-input.c b/drivers/usb/input/hid-input.c
index 192a03b28971..9e5a80bbd16f 100644
--- a/drivers/usb/input/hid-input.c
+++ b/drivers/usb/input/hid-input.c
@@ -289,11 +289,19 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
289 case 0x226: map_key_clear(KEY_STOP); break; 289 case 0x226: map_key_clear(KEY_STOP); break;
290 case 0x227: map_key_clear(KEY_REFRESH); break; 290 case 0x227: map_key_clear(KEY_REFRESH); break;
291 case 0x22a: map_key_clear(KEY_BOOKMARKS); break; 291 case 0x22a: map_key_clear(KEY_BOOKMARKS); break;
292 case 0x233: map_key_clear(KEY_SCROLLUP); break;
293 case 0x234: map_key_clear(KEY_SCROLLDOWN); break;
292 case 0x238: map_rel(REL_HWHEEL); break; 294 case 0x238: map_rel(REL_HWHEEL); break;
293 case 0x279: map_key_clear(KEY_REDO); break; 295 case 0x279: map_key_clear(KEY_REDO); break;
294 case 0x289: map_key_clear(KEY_REPLY); break; 296 case 0x289: map_key_clear(KEY_REPLY); break;
295 case 0x28b: map_key_clear(KEY_FORWARDMAIL); break; 297 case 0x28b: map_key_clear(KEY_FORWARDMAIL); break;
296 case 0x28c: map_key_clear(KEY_SEND); break; 298 case 0x28c: map_key_clear(KEY_SEND); break;
299
300 /* Reported on a Cherry Cymotion keyboard */
301 case 0x301: map_key_clear(KEY_PROG1); break;
302 case 0x302: map_key_clear(KEY_PROG2); break;
303 case 0x303: map_key_clear(KEY_PROG3); break;
304
297 default: goto ignore; 305 default: goto ignore;
298 } 306 }
299 break; 307 break;