Input: xpad - add Turtle Beach Stealth Ultra wireless dongle (10f5:7070)#364
Open
KallistoX wants to merge 1 commit into
Open
Input: xpad - add Turtle Beach Stealth Ultra wireless dongle (10f5:7070)#364KallistoX wants to merge 1 commit into
KallistoX wants to merge 1 commit into
Conversation
The Turtle Beach Stealth Ultra controller exposes two different USB
product IDs depending on connection mode:
0x7073: controller connected directly via USB-C (in mainline since 6.15)
0x7070: controller connected wirelessly through the bundled 2.4 GHz
dongle
Without an entry in xpad_device[], the device is only matched via the
XPAD_XBOXONE_VENDOR(0x10f5) wildcard. xpad binds and creates an input
node ("Generic X-Box pad"), but with no device-specific mapping the
proper XBOXONE/GIP handling does not engage: no input events ever
arrive and the controller auto-powers off after ~10s because it never
sees a valid host handshake.
Adding the entry with MAP_SHARE_BUTTON | XTYPE_XBOXONE (mirroring the
existing wired 0x7073 entry in mainline) lets xpad probe it via the
GIP subsystem. The dongle is transparent and accepts the standard
XBOXONE init - inputs flow correctly and the controller stays
connected.
Tested on Linux 7.0.10 with the bundled Turtle Beach dongle and a
Stealth Ultra controller. Sticks, triggers, all buttons (including
share) verified working via jstest and KDE's controller test page.
Signed-off-by: Dominic Bussemas <dominic@bussemas.me>
Author
|
For the record: this PR continues from @endrift's 0x7073 wired support that shipped in kernel 6.15 (https://lore.kernel.org/r/20250513225950.2719387-1-vi@endrift.com). I'll be sending this 0x7070 wireless dongle entry to the linux-input mailing list this week for proper mainline merge. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds the USB ID for the wireless dongle (0x7070) of the Turtle Beach Stealth Ultra controller.
Why
Without this entry, the dongle is matched only via the vendor wildcard but no device-specific quirks apply. Result: the device enumerates and xpad creates an input node, but no input events flow and the controller auto-powers off after ~10s.
How tested
input: Generic X-Box pad,jstestshows device but no events, controller times out after 10s./gip0/gip0.0/input/...), all sticks/triggers/buttons (incl. share) work injstestand KDE's controller test, no auto-off.Note on context
paroj/xpad masteris currently behind torvalds mainline - both0x7008and0x7073(the wired Stealth Ultra Controller, merged for 6.15) are missing here. I placed the new entry in PID order after0x7005; happy to rebase/reorder if you prefer to sync 7008/7073 from mainline first.Related
Same pattern as the older Stealth Pivot request in #353 - TB's third-party dongles expose a separate PID for the wireless side that isn't covered by the vendor wildcard's device-specific handling.