HID: Add device IDs for more SJOY adapters
authorSean Young <sean@mess.org>
Thu, 20 Oct 2011 20:26:21 +0000 (21:26 +0100)
committerJiri Kosina <jkosina@suse.cz>
Thu, 20 Oct 2011 23:01:45 +0000 (01:01 +0200)
Support the following models: Super Joy Box 3 Pro, Super Dual Box Pro
and Super Joy Box 5 Pro. These models have support for pressure
sensitive buttons and they can force the controller to either digital
or analog mode, both of which are not supported yet.

Signed-off-by: Sean Young <sean@mess.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/Kconfig
drivers/hid/hid-core.c
drivers/hid/hid-ids.h
drivers/hid/hid-sjoy.c
drivers/hid/usbhid/hid-quirks.c

index dab7b0d..4d07288 100644 (file)
@@ -546,7 +546,11 @@ config HID_SMARTJOYPLUS
        tristate "SmartJoy PLUS PS2/USB adapter support"
        depends on USB_HID
        ---help---
-       Support for SmartJoy PLUS PS2/USB adapter.
+       Support for SmartJoy PLUS PS2/USB adapter, Super Dual Box,
+       Super Joy Box 3 Pro, Super Dual Box Pro, and Super Joy Box 5 Pro.
+
+       Note that DDR (Dance Dance Revolution) mode is not supported, nor
+       is pressure sensitive buttons on the pro models.
 
 config SMARTJOYPLUS_FF
        bool "SmartJoy PLUS PS2/USB adapter force feedback support"
index df693e7..e345370 100644 (file)
@@ -1522,6 +1522,9 @@ static const struct hid_device_id hid_have_special_driver[] = {
        { HID_USB_DEVICE(USB_VENDOR_ID_UNITEC, USB_DEVICE_ID_UNITEC_USB_TOUCH_0A19) },
        { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_SMARTJOY_PLUS) },
        { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SUPER_JOY_BOX_3_PRO) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SUPER_DUAL_BOX_PRO) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SUPER_JOY_BOX_5_PRO) },
        { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE_BLUETOOTH) },
        { HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_SLIM_TABLET_5_8_INCH) },
        { HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_SLIM_TABLET_12_1_INCH) },
index fa7579b..fba6ceb 100644 (file)
 #define USB_VENDOR_ID_WISEGROUP_LTD    0x6666
 #define USB_VENDOR_ID_WISEGROUP_LTD2   0x6677
 #define USB_DEVICE_ID_SMARTJOY_DUAL_PLUS 0x8802
+#define USB_DEVICE_ID_SUPER_JOY_BOX_3_PRO 0x8801
+#define USB_DEVICE_ID_SUPER_DUAL_BOX_PRO 0x8802
+#define USB_DEVICE_ID_SUPER_JOY_BOX_5_PRO 0x8804
 
 #define USB_VENDOR_ID_X_TENSIONS               0x1ae7
 #define USB_DEVICE_ID_SPEEDLINK_VAD_CEZANNE    0x9001
index 810425f..670da91 100644 (file)
@@ -154,6 +154,13 @@ err:
 }
 
 static const struct hid_device_id sjoy_devices[] = {
+       { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SUPER_JOY_BOX_3_PRO) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SUPER_DUAL_BOX_PRO),
+               .driver_data = HID_QUIRK_MULTI_INPUT | HID_QUIRK_NOGET |
+                              HID_QUIRK_SKIP_OUTPUT_REPORTS },
+       { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SUPER_JOY_BOX_5_PRO),
+               .driver_data = HID_QUIRK_MULTI_INPUT | HID_QUIRK_NOGET |
+                              HID_QUIRK_SKIP_OUTPUT_REPORTS },
        { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_SMARTJOY_PLUS) },
        { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD),
                .driver_data = HID_QUIRK_MULTI_INPUT | HID_QUIRK_NOGET |
index df618a3..fe3e67d 100644 (file)
@@ -81,7 +81,6 @@ static const struct hid_blacklist {
        { USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_MEDIA_TABLET_14_1_INCH, HID_QUIRK_MULTI_INPUT },
        { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_QUAD_USB_JOYPAD, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
 
-       { USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
        { USB_VENDOR_ID_WISEGROUP_LTD2, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT },
 
        { USB_VENDOR_ID_PI_ENGINEERING, USB_DEVICE_ID_PI_ENGINEERING_VEC_USB_FOOTPEDAL, HID_QUIRK_HIDINPUT_FORCE },