diff mbox series

HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller

Message ID 3289459a-915f-5f39-f1c0-0d2ee3adeebd@gmail.com (mailing list archive)
State Mainlined
Commit 724a419ea28f7514a391e80040230f69cf626707
Delegated to: Jiri Kosina
Headers show
Series HID: microsoft: Add rumble support for the 8bitdo SN30 Pro+ controller | expand

Commit Message

Nicholas Miell Aug. 29, 2020, 4:14 a.m. UTC
When operating in XInput mode, the 8bitdo SN30 Pro+ requires the same
quirk as the official Xbox One Bluetooth controllers for rumble to
function.

Other controllers like the N30 Pro 2, SF30 Pro, SN30 Pro, etc. probably
also need this quirk, but I do not have the hardware to test. (To test
your Bluetooth XInput controller, try echo "0x5 $vendor $product 0x80" >
/sys/bus/hid/drivers/microsoft/new_id)

Signed-off-by: Nicholas Miell <nmiell@gmail.com>
---
 drivers/hid/hid-ids.h       | 1 +
 drivers/hid/hid-microsoft.c | 2 ++
 2 files changed, 3 insertions(+)

Comments

Jiri Kosina Aug. 31, 2020, 6:58 a.m. UTC | #1
On Fri, 28 Aug 2020, Nicholas Miell wrote:

> When operating in XInput mode, the 8bitdo SN30 Pro+ requires the same
> quirk as the official Xbox One Bluetooth controllers for rumble to
> function.
> 
> Other controllers like the N30 Pro 2, SF30 Pro, SN30 Pro, etc. probably
> also need this quirk, but I do not have the hardware to test. 

Applied, thank you Nicholas.
diff mbox series

Patch

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 6f370e020feb3..bfefb0f8ae330 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -845,6 +845,7 @@ 
 #define USB_DEVICE_ID_MS_POWER_COVER     0x07da
 #define USB_DEVICE_ID_MS_XBOX_ONE_S_CONTROLLER	0x02fd
 #define USB_DEVICE_ID_MS_PIXART_MOUSE    0x00cb
+#define USB_DEVICE_ID_8BITDO_SN30_PRO_PLUS      0x02e0
 
 #define USB_VENDOR_ID_MOJO		0x8282
 #define USB_DEVICE_ID_RETRO_ADAPTER	0x3201
diff --git a/drivers/hid/hid-microsoft.c b/drivers/hid/hid-microsoft.c
index 2d8b589201a4e..8cb1ca1936e42 100644
--- a/drivers/hid/hid-microsoft.c
+++ b/drivers/hid/hid-microsoft.c
@@ -451,6 +451,8 @@  static const struct hid_device_id ms_devices[] = {
 		.driver_data = MS_SURFACE_DIAL },
 	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_XBOX_ONE_S_CONTROLLER),
 		.driver_data = MS_QUIRK_FF },
+	{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_8BITDO_SN30_PRO_PLUS),
+		.driver_data = MS_QUIRK_FF },
 	{ }
 };
 MODULE_DEVICE_TABLE(hid, ms_devices);