mbox series

[0/4] Input: xpad - More Xbox One improvements

Message ID 20250513225411.2718072-1-vi@endrift.com
Headers show
Series Input: xpad - More Xbox One improvements | expand

Message

Vicki Pfau May 13, 2025, 10:53 p.m. UTC
This patchset adds support for several more controllers but also adds a bit
more "correctness" to the initialization flow, and a quirk on waiting until
the announce packet for some wireless controllers that delay the init flow.

I have a WIP new driver with a proper initialization flow based on the
recently released documentation, so hopefully this will be the last needed
patch that adds piecemeal per-controller fixes like this.

Pierre-Loup A. Griffais (1):
  Input: xpad - Add the ByoWave Proteus controller

Vicki Pfau (3):
  Input: xpad - Allow delaying init packets
  Input: xpad - Send LED and auth done packets to all Xbox One
    controllers
  Input: xpad - Add more controllers

 drivers/input/joystick/xpad.c | 57 +++++++++++++++++++++++++++--------
 1 file changed, 44 insertions(+), 13 deletions(-)

Comments

Vicki Pfau May 13, 2025, 10:59 p.m. UTC | #1
On 5/13/25 3:54 PM, Vicki Pfau wrote:
> Adds support for a revision of the Turtle Beach Recon Wired Controller, the
> Turtle Beach Stealth Ultra, and the PowerA Wired Controller.
> 
> Signed-off-by: Vicki Pfau <vi@endrift.com>
> ---
>  drivers/input/joystick/xpad.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
> index 7746530da030..03449571a19f 100644
> --- a/drivers/input/joystick/xpad.c
> +++ b/drivers/input/joystick/xpad.c
> @@ -293,6 +293,9 @@ static const struct xpad_device {
>  	{ 0x1038, 0x1430, "SteelSeries Stratus Duo", 0, XTYPE_XBOX360 },
>  	{ 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, 0x7072, "Turtle Beach Stealth Ultra Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },		/* bluetooth */
> +	{ 0x10f5, 0x7073, "Turtle Beach Stealth Ultra Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },		/* wired */

Shoot, it looks like I submitted the wrong version of this patch. The bluetooth line shouldn't be there since this driver doesn't support the bluetooth interface. I'll submit a v2 of this specific patch, as it doesn't depend on any of the others in the sequence.

>  	{ 0x11c9, 0x55f0, "Nacon GC-100XF", 0, XTYPE_XBOX360 },
>  	{ 0x11ff, 0x0511, "PXN V900", 0, XTYPE_XBOX360 },
>  	{ 0x1209, 0x2882, "Ardwiino Controller", 0, XTYPE_XBOX360 },
> @@ -357,6 +360,7 @@ static const struct xpad_device {
>  	{ 0x1ee9, 0x1590, "ZOTAC Gaming Zone", 0, XTYPE_XBOX360 },
>  	{ 0x20d6, 0x2001, "BDA Xbox Series X Wired Controller", 0, XTYPE_XBOXONE },
>  	{ 0x20d6, 0x2009, "PowerA Enhanced Wired Controller for Xbox Series X|S", 0, XTYPE_XBOXONE },
> +	{ 0x20d6, 0x2064, "PowerA Wired Controller for Xbox", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
>  	{ 0x20d6, 0x281f, "PowerA Wired Controller For Xbox 360", 0, XTYPE_XBOX360 },
>  	{ 0x20d6, 0x400b, "PowerA FUSION Pro 4 Wired Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },
>  	{ 0x20d6, 0x890b, "PowerA MOGA XP-Ultra Controller", MAP_SHARE_BUTTON, XTYPE_XBOXONE },