OSDN Git Service

HID: usbhid: Add a quirk for raphnet multi-gamepad adapters
authorRaphael Assenat <raph@raphnet.net>
Sat, 25 Apr 2015 20:30:32 +0000 (16:30 -0400)
committerJiri Kosina <jkosina@suse.cz>
Mon, 27 Apr 2015 08:59:09 +0000 (10:59 +0200)
The raphnet.net 4nes4snes and 2nes2snes multi-joystick adapters use a single
HID report descriptor with one report ID per controller. This has the effect
that the inputs of otherwise independent game controllers get packed in one
large joystick device.

With this patch each controller gets its own /dev/input/jsX device, which is
more natural and less confusing than having all inputs going to the same place.

Signed-off-by: Raphael Assenat <raph@raphnet.net>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-ids.h
drivers/hid/usbhid/hid-quirks.c

index 41f167e..b24caf8 100644 (file)
 #define USB_VENDOR_ID_RISO_KAGAKU      0x1294  /* Riso Kagaku Corp. */
 #define USB_DEVICE_ID_RI_KA_WEBMAIL    0x1320  /* Webmail Notifier */
 
+#define USB_VENDOR_ID_MULTIPLE_1781    0x1781
+#define USB_DEVICE_ID_RAPHNET_4NES4SNES_OLD    0x0a8d
+
+#define USB_VENDOR_ID_DRACAL_RAPHNET   0x289b
+#define USB_DEVICE_ID_RAPHNET_2NES2SNES        0x0002
+#define USB_DEVICE_ID_RAPHNET_4NES4SNES        0x0003
+
 #endif
index a775143..09a22a7 100644 (file)
@@ -140,6 +140,9 @@ static const struct hid_blacklist {
        { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_QUAD_HD, HID_QUIRK_NO_INIT_REPORTS },
        { USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_TP_V103, HID_QUIRK_NO_INIT_REPORTS },
        { USB_VENDOR_ID_HOLTEK_ALT, USB_DEVICE_ID_HOLTEK_ALT_KEYBOARD_A096, HID_QUIRK_NO_INIT_INPUT_REPORTS },
+       { USB_VENDOR_ID_MULTIPLE_1781, USB_DEVICE_ID_RAPHNET_4NES4SNES_OLD, HID_QUIRK_MULTI_INPUT },
+       { USB_VENDOR_ID_DRACAL_RAPHNET, USB_DEVICE_ID_RAPHNET_2NES2SNES, HID_QUIRK_MULTI_INPUT },
+       { USB_VENDOR_ID_DRACAL_RAPHNET, USB_DEVICE_ID_RAPHNET_4NES4SNES, HID_QUIRK_MULTI_INPUT },
 
        { 0, 0 }
 };