DORMANTno replies

[PATCH v3] Input: xpad - add Voyetra Turtle Beach PC Rematch Gamepad

From: Dongxu Su <hidden>
Date: 2026-08-03 06:47:41
Also in: stable
Subsystem: input (keyboard, mouse, joystick, touchscreen) drivers, the rest · Maintainers: Dmitry Torokhov, Linus Torvalds

Add support for the Voyetra Turtle Beach PC Rematch Gamepad,
a triple-mode (wired, 2.4G wireless, Bluetooth) PC game controller.

The VID 0x10F5 is already in the XPAD_XBOXONE_VENDOR whitelist
(covering the GIP mode PIDs 0x6015 and 0x6016), but XInput support
was missing.

Add XPAD_XBOX360_VENDOR(0x10F5) to xpad_table to enable XInput mode
(both wired and wireless), and add xpad_device entries for all four
PIDs to give them human-readable names:
  - 0x6013: XInput wired (XTYPE_XBOX360)
  - 0x6014: XInput wireless 2.4G (XTYPE_XBOX360)
  - 0x6015: GIP wired (XTYPE_XBOXONE)
  - 0x6016: GIP wireless 2.4G (XTYPE_XBOXONE)

The 2.4G wireless dongle operates as a transparent bridge presenting
itself as a standard wired XInput device (Protocol 1), not using the
proprietary Microsoft multi-controller receiver format, so
XTYPE_XBOX360 is used instead of XTYPE_XBOX360W.

Signed-off-by: Dongxu Su <redacted>

---

Changes in v3:
- Fix XTYPE_XBOX360W -> XTYPE_XBOX360 for PID 0x6014 (wireless dongle
  uses Protocol 1, not multi-controller receiver format)
- Reorder xpad_device[] entries: place 0x60xx PIDs before 0x70xx PIDs
  to comply with the array's VID/PID sorting requirement
- Add changelog (was missing in v2)

Changes in v2:
- Fix base64-encoded email body that corrupted the patch (v1)
- Fix file path from xpad.c to drivers/input/joystick/xpad.c (v1)
---
 drivers/input/joystick/xpad.c | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index feb8f36..32720e9 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -265,6 +265,10 @@ static const struct xpad_device {
 	{ 0x102c, 0xff0c, "Joytech Wireless Advanced Controller", 0, XTYPE_XBOX },
 	{ 0x1038, 0x1430, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 },
 	{ 0x1038, 0x1431, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 },
+	{ 0x10f5, 0x6013, "PC Rematch Gamepad", 0, XTYPE_XBOX360 },
+	{ 0x10f5, 0x6014, "PC Rematch Gamepad (Wireless)", 0, XTYPE_XBOX360 },
+	{ 0x10f5, 0x6015, "PC Rematch Gamepad", 0, XTYPE_XBOXONE },
+	{ 0x10f5, 0x6016, "PC Rematch Gamepad (Wireless)", 0, XTYPE_XBOXONE },
 	{ 0x10f5, 0x7005, "Turtle Beach Recon Controller", 0, XTYPE_XBOXONE },
 	{ 0x10f5, 0x7008, "Turtle Beach Recon Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
 	{ 0x10f5, 0x7073, "Turtle Beach Stealth Ultra Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
@@ -522,6 +526,7 @@ static const struct usb_device_id xpad_table[] = {
 	XPAD_XBOXONE_VENDOR(0x0f0d),		/* Hori controllers */
 	XPAD_XBOX360_VENDOR(0x1038),		/* SteelSeries controllers */
 	XPAD_XBOXONE_VENDOR(0x10f5),		/* Turtle Beach Controllers */
+	XPAD_XBOX360_VENDOR(0x10f5),		/* Turtle Beach Controllers */
 	XPAD_XBOX360_VENDOR(0x11c9),		/* Nacon GC100XF */
 	XPAD_XBOX360_VENDOR(0x11ff),		/* PXN V900 */
 	XPAD_XBOX360_VENDOR(0x1209),		/* Ardwiino Controllers */
-- 
2.47.1.windows.1

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help