]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerSasha Levin <sasha.levin@oracle.com>
Sun, 28 Jun 2015 17:39:19 +0000 (13:39 -0400)
[ Upstream commit d6ea2f88ac3659b799d8079a4fbda4f8faf6ff90 ]

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>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
drivers/hid/hid-ids.h
drivers/hid/usbhid/hid-quirks.c

index 464e103595d26faccd7c348a7a4fcad6c4cbfc51..28645b5131101b0ca37c10d107d9b1a89259fc06 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 ec82db499b4b007b30070b536a460975bb6fa184..d52560fe55d0ee56279335a174492f957121355f 100644 (file)
@@ -138,6 +138,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 }
 };