diff mbox

HID: usbhid: fix more Mayflash adapters (HID_QUIRK_MULTI_INPUT)

Message ID 20161213002305.GA30732@dtor-ws (mailing list archive)
State New, archived
Headers show

Commit Message

Dmitry Torokhov Dec. 13, 2016, 12:23 a.m. UTC
From: Andrew Rodland <andrew@cleverdomain.org>

Add "Mayflash GameCube Controller Adapter for Wii U and PC USB" and
"Mayflash PS3 Game Controller Adapter" to the list of devices needing
HID_QUIRK_MULTI_INPUT. These devices have 4 controller ports, and without
the quirk they all become one very large joystock device. With the quirk
they're recognized as 4 separate joysticks.

Signed-off-by: Andrew Rodland <andrew@cleverdomain.org>
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=115841
[dtor: picked up Andrew's patch, added the PS3 controller data from
 bugzilla info]
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
---
 drivers/hid/hid-ids.h           | 2 ++
 drivers/hid/usbhid/hid-quirks.c | 2 ++
 2 files changed, 4 insertions(+)

Comments

Benjamin Tissoires Dec. 13, 2016, 8:05 a.m. UTC | #1
On Dec 12 2016 or thereabouts, Dmitry Torokhov wrote:
> From: Andrew Rodland <andrew@cleverdomain.org>
> 
> Add "Mayflash GameCube Controller Adapter for Wii U and PC USB" and
> "Mayflash PS3 Game Controller Adapter" to the list of devices needing
> HID_QUIRK_MULTI_INPUT. These devices have 4 controller ports, and without
> the quirk they all become one very large joystock device. With the quirk
> they're recognized as 4 separate joysticks.
> 
> Signed-off-by: Andrew Rodland <andrew@cleverdomain.org>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=115841
> [dtor: picked up Andrew's patch, added the PS3 controller data from
>  bugzilla info]
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---

Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>

Cheers,
Benjamin
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jiri Kosina Dec. 19, 2016, 10:19 a.m. UTC | #2
On Mon, 12 Dec 2016, Dmitry Torokhov wrote:

> From: Andrew Rodland <andrew@cleverdomain.org>
> 
> Add "Mayflash GameCube Controller Adapter for Wii U and PC USB" and
> "Mayflash PS3 Game Controller Adapter" to the list of devices needing
> HID_QUIRK_MULTI_INPUT. These devices have 4 controller ports, and without
> the quirk they all become one very large joystock device. With the quirk
> they're recognized as 4 separate joysticks.
> 
> Signed-off-by: Andrew Rodland <andrew@cleverdomain.org>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=115841
> [dtor: picked up Andrew's patch, added the PS3 controller data from
>  bugzilla info]
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>

This is already in as b2554000f5b ("HID: usbhid: Add quirks for 
Mayflash/Dragonrise GameCube and PS3 adapters").

Thanks,
Marcel Hasler Dec. 19, 2016, 10:28 a.m. UTC | #3
Hello

2016-12-19 11:19 GMT+01:00 Jiri Kosina <jikos@kernel.org>:
> On Mon, 12 Dec 2016, Dmitry Torokhov wrote:
>
>> From: Andrew Rodland <andrew@cleverdomain.org>
>>
>> Add "Mayflash GameCube Controller Adapter for Wii U and PC USB" and
>> "Mayflash PS3 Game Controller Adapter" to the list of devices needing
>> HID_QUIRK_MULTI_INPUT. These devices have 4 controller ports, and without
>> the quirk they all become one very large joystock device. With the quirk
>> they're recognized as 4 separate joysticks.
>>
>> Signed-off-by: Andrew Rodland <andrew@cleverdomain.org>
>> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=115841
>> [dtor: picked up Andrew's patch, added the PS3 controller data from
>>  bugzilla info]
>> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
>
> This is already in as b2554000f5b ("HID: usbhid: Add quirks for
> Mayflash/Dragonrise GameCube and PS3 adapters").
>
> Thanks,
>
> --
> Jiri Kosina
> SUSE Labs
>

What maybe still should be added, is the "Mayflash Dolphin-bar" (PID
0x1803, see the Bugzilla entry mentioned above).

Best regards
Marcel

2016-12-19 11:19 GMT+01:00 Jiri Kosina <jikos@kernel.org>:
> On Mon, 12 Dec 2016, Dmitry Torokhov wrote:
>
>> From: Andrew Rodland <andrew@cleverdomain.org>
>>
>> Add "Mayflash GameCube Controller Adapter for Wii U and PC USB" and
>> "Mayflash PS3 Game Controller Adapter" to the list of devices needing
>> HID_QUIRK_MULTI_INPUT. These devices have 4 controller ports, and without
>> the quirk they all become one very large joystock device. With the quirk
>> they're recognized as 4 separate joysticks.
>>
>> Signed-off-by: Andrew Rodland <andrew@cleverdomain.org>
>> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=115841
>> [dtor: picked up Andrew's patch, added the PS3 controller data from
>>  bugzilla info]
>> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
>
> This is already in as b2554000f5b ("HID: usbhid: Add quirks for
> Mayflash/Dragonrise GameCube and PS3 adapters").
>
> Thanks,
>
> --
> Jiri Kosina
> SUSE Labs
>
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Jiri Kosina Dec. 19, 2016, 10:38 a.m. UTC | #4
On Mon, 19 Dec 2016, Marcel Hasler wrote:

> What maybe still should be added, is the "Mayflash Dolphin-bar" (PID
> 0x1803, see the Bugzilla entry mentioned above).

On Mon, 19 Dec 2016, Robert de Rooy wrote:

> Thanks for this,
> 
> Any chance we can also get the same quirk added for the Mayflash Dolphinbar?
> It has four different operating modes, when set to "mode 3", it emulates 4
> PC USB joysticks and has the same problem and needs the
> HID_QUIRK_MULTI_INPUT.
> 
> When set to mode 3, the USB id is: 0079:1803
> 
> I tested it locally by booting with usbhid.quirks=0x79:0x1803:0x40
> 
> Regarding the other modes, mode 1 and 2 already work as it just emulates a
> USB keyboard/mouse. mode 4 is special, and supposedly now works with the
> latest versions of the Dolphin emulator for Linux.

Could either of you please submit a proper patch on top of b255400, so 
that I could queue it?

Thanks,
Marcel Hasler Dec. 20, 2016, 9:21 p.m. UTC | #5
Hi

2016-12-19 11:38 GMT+01:00 Jiri Kosina <jikos@kernel.org>:
> On Mon, 19 Dec 2016, Marcel Hasler wrote:
>
>> What maybe still should be added, is the "Mayflash Dolphin-bar" (PID
>> 0x1803, see the Bugzilla entry mentioned above).
>
> On Mon, 19 Dec 2016, Robert de Rooy wrote:
>
>> Thanks for this,
>>
>> Any chance we can also get the same quirk added for the Mayflash Dolphinbar?
>> It has four different operating modes, when set to "mode 3", it emulates 4
>> PC USB joysticks and has the same problem and needs the
>> HID_QUIRK_MULTI_INPUT.
>>
>> When set to mode 3, the USB id is: 0079:1803
>>
>> I tested it locally by booting with usbhid.quirks=0x79:0x1803:0x40
>>
>> Regarding the other modes, mode 1 and 2 already work as it just emulates a
>> USB keyboard/mouse. mode 4 is special, and supposedly now works with the
>> latest versions of the Dolphin emulator for Linux.
>
> Could either of you please submit a proper patch on top of b255400, so
> that I could queue it?
>
> Thanks,
>
> --
> Jiri Kosina
> SUSE Labs
>

I just submitted a patch against the latest git.

Best regards
Marcel
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 575aa65..63824f1 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -317,6 +317,8 @@ 
 
 #define USB_VENDOR_ID_DRAGONRISE	0x0079
 #define USB_DEVICE_ID_DRAGONRISE_WIIU	0x1800
+#define USB_DEVICE_ID_DRAGONRISE_PS3	0x1801
+#define USB_DEVICE_ID_DRAGONRISE_GAMECUBE	0x1843
 
 #define USB_VENDOR_ID_DWAV		0x0eef
 #define USB_DEVICE_ID_EGALAX_TOUCHCONTROLLER	0x0001
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c
index e6cfd32..6f8736a 100644
--- a/drivers/hid/usbhid/hid-quirks.c
+++ b/drivers/hid/usbhid/hid-quirks.c
@@ -81,6 +81,8 @@  static const struct hid_blacklist {
 	{ USB_VENDOR_ID_CORSAIR, USB_DEVICE_ID_CORSAIR_STRAFE, HID_QUIRK_NO_INIT_REPORTS | HID_QUIRK_ALWAYS_POLL },
 	{ USB_VENDOR_ID_CREATIVELABS, USB_DEVICE_ID_CREATIVE_SB_OMNI_SURROUND_51, HID_QUIRK_NOGET },
 	{ USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET },
+	{ USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_GAMECUBE, HID_QUIRK_MULTI_INPUT },
+	{ USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_PS3, HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_DRAGONRISE, USB_DEVICE_ID_DRAGONRISE_WIIU, HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_ELAN, HID_ANY_ID, HID_QUIRK_ALWAYS_POLL },
 	{ USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET },