* [PATCH v2] Input: xpad - add Voyetra Turtle Beach PC Rematch Gamepad
@ 2026-08-03 1:49 Dongxu Su
2026-08-03 2:01 ` sashiko-bot
2026-08-03 2:01 ` Dmitry Torokhov
0 siblings, 2 replies; 3+ messages in thread
From: Dongxu Su @ 2026-08-03 1:49 UTC (permalink / raw)
To: dmitry.torokhov, linux-input; +Cc: stable, gregkh
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_XBOX360W)
- 0x6015: GIP wired (XTYPE_XBOXONE)
- 0x6016: GIP wireless 2.4G (XTYPE_XBOXONE)
Signed-off-by: Dongxu Su <hj117@sz-huijia.com>
---
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..7f593fc 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -267,6 +267,10 @@ static const struct xpad_device {
{ 0x1038, 0x1431, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 },
{ 0x10f5, 0x7005, "Turtle Beach Recon Controller", 0, XTYPE_XBOXONE },
{ 0x10f5, 0x7008, "Turtle Beach Recon Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
+ { 0x10f5, 0x6013, "PC Rematch Gamepad", 0, XTYPE_XBOX360 },
+ { 0x10f5, 0x6014, "PC Rematch Gamepad (Wireless)", 0, XTYPE_XBOX360W },
+ { 0x10f5, 0x6015, "PC Rematch Gamepad", 0, XTYPE_XBOXONE },
+ { 0x10f5, 0x6016, "PC Rematch Gamepad (Wireless)", 0, XTYPE_XBOXONE },
{ 0x10f5, 0x7073, "Turtle Beach Stealth Ultra Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
{ 0x11c9, 0x55f0, "Nacon GC-100XF", 0, XTYPE_XBOX360 },
{ 0x11ff, 0x0511, "PXN V900", 0, XTYPE_XBOX360 },
@@ -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
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH v2] Input: xpad - add Voyetra Turtle Beach PC Rematch Gamepad
2026-08-03 1:49 [PATCH v2] Input: xpad - add Voyetra Turtle Beach PC Rematch Gamepad Dongxu Su
@ 2026-08-03 2:01 ` sashiko-bot
2026-08-03 2:01 ` Dmitry Torokhov
1 sibling, 0 replies; 3+ messages in thread
From: sashiko-bot @ 2026-08-03 2:01 UTC (permalink / raw)
To: Dongxu Su; +Cc: linux-input, dmitry.torokhov
Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Medium] The PC Rematch Gamepad (Wireless) (PID 0x6014) is incorrectly assigned `XTYPE_XBOX360W` instead of `XTYPE_XBOX360`, which will likely prevent the device from functioning.
- [Low] The new device entries in `xpad_device[]` violate the explicit sorting requirements of the array.
--
--- Patch [1]: [PATCH v2] Input: xpad - add Voyetra Turtle Beach PC Rematch Gamepad ---
commit 4317954c8794979c77f86d1618e25d242148ef54
Author: Dongxu Su <hj117@sz-huijia.com>
Input: xpad - add Voyetra Turtle Beach PC Rematch Gamepad
This commit adds support for the Voyetra Turtle Beach PC Rematch Gamepad,
a triple-mode (wired, 2.4G wireless, Bluetooth) PC game controller. It
adds four new product IDs to the xpad_device array and adds the vendor
to the XInput whitelist.
> diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
> index feb8f368f834e..7f593fc6ebdff 100644
> --- a/drivers/input/joystick/xpad.c
> +++ b/drivers/input/joystick/xpad.c
> @@ -267,6 +267,10 @@ static const struct xpad_device {
> { 0x1038, 0x1431, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 },
> { 0x10f5, 0x7005, "Turtle Beach Recon Controller", 0, XTYPE_XBOXONE },
> { 0x10f5, 0x7008, "Turtle Beach Recon Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
> + { 0x10f5, 0x6013, "PC Rematch Gamepad", 0, XTYPE_XBOX360 },
[Severity: Low]
This isn't a bug, but the xpad_device array requires sorting by vendor ID
and product ID. Should the new 0x60xx entries be placed before the 0x70xx
entries for vendor 0x10f5?
> + { 0x10f5, 0x6014, "PC Rematch Gamepad (Wireless)", 0, XTYPE_XBOX360W },
[Severity: Medium]
Does this 2.4G wireless dongle actually use the proprietary Microsoft
multi-controller receiver format (Protocol 129)?
Typically, standard 3rd-party 2.4G dongles act transparently as wired XInput
controllers (Protocol 1). If this dongle sends standard packets (e.g.,
data[1] == 0x14) rather than the legacy receiver format, assigning
XTYPE_XBOX360W will route it to xpad360w_process_packet() where the packets
will be silently discarded because they fail the multi-controller handshake
checks (such as data[1] != 0x01).
Should this be assigned XTYPE_XBOX360 instead?
> + { 0x10f5, 0x6015, "PC Rematch Gamepad", 0, XTYPE_XBOXONE },
> + { 0x10f5, 0x6016, "PC Rematch Gamepad (Wireless)", 0, XTYPE_XBOXONE },
> { 0x10f5, 0x7073, "Turtle Beach Stealth Ultra Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
[ ... ]
--
Sashiko AI review · https://sashiko.dev/#/patchset/178572174191.26980.4407731925140715976@sz-huijia.com?part=1
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH v2] Input: xpad - add Voyetra Turtle Beach PC Rematch Gamepad
2026-08-03 1:49 [PATCH v2] Input: xpad - add Voyetra Turtle Beach PC Rematch Gamepad Dongxu Su
2026-08-03 2:01 ` sashiko-bot
@ 2026-08-03 2:01 ` Dmitry Torokhov
1 sibling, 0 replies; 3+ messages in thread
From: Dmitry Torokhov @ 2026-08-03 2:01 UTC (permalink / raw)
To: Dongxu Su; +Cc: linux-input, stable, gregkh
Hi Dongxu,
On Mon, Aug 03, 2026 at 09:49:01AM +0800, Dongxu Su wrote:
>
> 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_XBOX360W)
> - 0x6015: GIP wired (XTYPE_XBOXONE)
> - 0x6016: GIP wireless 2.4G (XTYPE_XBOXONE)
>
> Signed-off-by: Dongxu Su <hj117@sz-huijia.com>
What has changed from 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..7f593fc 100644
> --- a/drivers/input/joystick/xpad.c
> +++ b/drivers/input/joystick/xpad.c
> @@ -267,6 +267,10 @@ static const struct xpad_device {
> { 0x1038, 0x1431, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 },
> { 0x10f5, 0x7005, "Turtle Beach Recon Controller", 0, XTYPE_XBOXONE },
> { 0x10f5, 0x7008, "Turtle Beach Recon Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
> + { 0x10f5, 0x6013, "PC Rematch Gamepad", 0, XTYPE_XBOX360 },
> + { 0x10f5, 0x6014, "PC Rematch Gamepad (Wireless)", 0, XTYPE_XBOX360W },
> + { 0x10f5, 0x6015, "PC Rematch Gamepad", 0, XTYPE_XBOXONE },
> + { 0x10f5, 0x6016, "PC Rematch Gamepad (Wireless)", 0, XTYPE_XBOXONE },
> { 0x10f5, 0x7073, "Turtle Beach Stealth Ultra Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
> { 0x11c9, 0x55f0, "Nacon GC-100XF", 0, XTYPE_XBOX360 },
> { 0x11ff, 0x0511, "PXN V900", 0, XTYPE_XBOX360 },
> @@ -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 */
Thanks.
--
Dmitry
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-08-03 2:01 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-03 1:49 [PATCH v2] Input: xpad - add Voyetra Turtle Beach PC Rematch Gamepad Dongxu Su
2026-08-03 2:01 ` sashiko-bot
2026-08-03 2:01 ` Dmitry Torokhov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox