aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMicah F. Galizia <mfgalizi@uwo.ca>2005-09-05 01:12:15 -0400
committerDmitry Torokhov <dtor_core@ameritech.net>2005-09-05 01:12:15 -0400
commit39fd748f56012fdde4cf862f127ce4cdec50d661 (patch)
tree2c72c3ddb2a1e27bdf55b541e54efd51078ee0bf
parentbf0964dcda97e42964d312d0ff73a832171e080a (diff)
Input: HID - add support for Logitech UltraX Media Remote control
The hid now supports the Logitech UltraX Media Remote control. For now, ID 45 on the consumer usage page has been incorrectly mapped to KEY_RADIO since no other devices uses it. Signed-off-by: Micah F. Galizia <mfgalizi@csd.uwo.ca> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
-rw-r--r--drivers/usb/input/hid-input.c28
1 files changed, 26 insertions, 2 deletions
diff --git a/drivers/usb/input/hid-input.c b/drivers/usb/input/hid-input.c
index b28cf8593b48..22f9d919a3f2 100644
--- a/drivers/usb/input/hid-input.c
+++ b/drivers/usb/input/hid-input.c
@@ -247,6 +247,7 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
247 case 0x000: goto ignore; 247 case 0x000: goto ignore;
248 case 0x034: map_key_clear(KEY_SLEEP); break; 248 case 0x034: map_key_clear(KEY_SLEEP); break;
249 case 0x036: map_key_clear(BTN_MISC); break; 249 case 0x036: map_key_clear(BTN_MISC); break;
250 case 0x045: map_key_clear(KEY_RADIO); break;
250 case 0x08a: map_key_clear(KEY_WWW); break; 251 case 0x08a: map_key_clear(KEY_WWW); break;
251 case 0x08d: map_key_clear(KEY_PROGRAM); break; 252 case 0x08d: map_key_clear(KEY_PROGRAM); break;
252 case 0x095: map_key_clear(KEY_HELP); break; 253 case 0x095: map_key_clear(KEY_HELP); break;
@@ -318,10 +319,33 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
318 319
319 case HID_UP_MSVENDOR: 320 case HID_UP_MSVENDOR:
320 case HID_UP_LOGIVENDOR: 321 case HID_UP_LOGIVENDOR:
321 case HID_UP_LOGIVENDOR2:
322
323 goto ignore; 322 goto ignore;
324 323
324 case HID_UP_LOGIVENDOR2: /* Reported on Logitech Ultra X Media Remote */
325
326 set_bit(EV_REP, input->evbit);
327 switch(usage->hid & HID_USAGE) {
328 case 0x004: map_key_clear(KEY_AGAIN); break;
329 case 0x00d: map_key_clear(KEY_HOME); break;
330 case 0x024: map_key_clear(KEY_SHUFFLE); break;
331 case 0x025: map_key_clear(KEY_TV); break;
332 case 0x026: map_key_clear(KEY_MENU); break;
333 case 0x031: map_key_clear(KEY_AUDIO); break;
334 case 0x032: map_key_clear(KEY_SUBTITLE); break;
335 case 0x033: map_key_clear(KEY_LAST); break;
336 case 0x047: map_key_clear(KEY_MP3); break;
337 case 0x048: map_key_clear(KEY_DVD); break;
338 case 0x049: map_key_clear(KEY_MEDIA); break;
339 case 0x04a: map_key_clear(KEY_VIDEO); break;
340 case 0x04b: map_key_clear(KEY_ANGLE); break;
341 case 0x04c: map_key_clear(KEY_LANGUAGE); break;
342 case 0x04d: map_key_clear(KEY_SUBTITLE); break;
343 case 0x051: map_key_clear(KEY_RED); break;
344 case 0x052: map_key_clear(KEY_CLOSE); break;
345 default: goto ignore;
346 }
347 break;
348
325 case HID_UP_PID: 349 case HID_UP_PID:
326 350
327 set_bit(EV_FF, input->evbit); 351 set_bit(EV_FF, input->evbit);