linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Input: xpad - Additional controller support
@ 2023-06-07  1:28 Vicki Pfau
  2023-06-07  1:28 ` [PATCH 1/2] Input: xpad - fix support for some third-party controllers Vicki Pfau
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Vicki Pfau @ 2023-06-07  1:28 UTC (permalink / raw)
  To: Dmitry Torokhov, linux-input; +Cc: Vicki Pfau, Pavel Rojtberg

This series includes two patches: one is a fixed resubmit of a previously
reverted patch (first applied as db7220c48d8d), and the other is a simple
addition to the VID table for Xbox One controllers.

Sam Lantinga (1):
  Input: xpad - Add GameSir VID for Xbox One controllers

Vicki Pfau (1):
  Input: xpad - fix support for some third-party controllers

 drivers/input/joystick/xpad.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

-- 
2.40.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/2] Input: xpad - fix support for some third-party controllers
  2023-06-07  1:28 [PATCH 0/2] Input: xpad - Additional controller support Vicki Pfau
@ 2023-06-07  1:28 ` Vicki Pfau
  2023-07-07 23:59   ` Dmitry Torokhov
  2023-06-07  1:28 ` [PATCH 2/2] Input: xpad - Add GameSir VID for Xbox One controllers Vicki Pfau
  2023-07-01  2:38 ` [PATCH 0/2] Input: xpad - Additional controller support Vicki Pfau
  2 siblings, 1 reply; 6+ messages in thread
From: Vicki Pfau @ 2023-06-07  1:28 UTC (permalink / raw)
  To: Dmitry Torokhov, linux-input; +Cc: Vicki Pfau, Pavel Rojtberg, Andrey Smirnov

Some third-party controllers, such as the HORPIAD FPS for Nintendo Switch and
Gamesir-G3w, require a specific packet that the first-party XInput driver sends
before it will start sending reports. It's not currently known what this packet
does, but since the first-party driver always sends it's unlikely that this
could cause issues with existing controllers.

Co-authored-by: Andrey Smirnov <andrew.smirnov@gmail.com>
Signed-off-by: Vicki Pfau <vi@endrift.com>
---
 drivers/input/joystick/xpad.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index 5d6a25b42bf9..745047215e42 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -264,6 +264,7 @@ static const struct xpad_device {
 	{ 0x0f0d, 0x0067, "HORIPAD ONE", 0, XTYPE_XBOXONE },
 	{ 0x0f0d, 0x0078, "Hori Real Arcade Pro V Kai Xbox One", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
 	{ 0x0f0d, 0x00c5, "Hori Fighting Commander ONE", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
+	{ 0x0f0d, 0x00dc, "HORIPAD FPS for Nintendo Switch", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
 	{ 0x0f30, 0x010b, "Philips Recoil", 0, XTYPE_XBOX },
 	{ 0x0f30, 0x0202, "Joytech Advanced Controller", 0, XTYPE_XBOX },
 	{ 0x0f30, 0x8888, "BigBen XBMiniPad Controller", 0, XTYPE_XBOX },
@@ -1720,6 +1721,27 @@ static int xpad_start_input(struct usb_xpad *xpad)
 			return error;
 		}
 	}
+	if (xpad->xtype == XTYPE_XBOX360) {
+		/*
+		 * Some third-party controllers Xbox 360-style controllers
+		 * require this message to finish initialization.
+		 */
+		u8 dummy[20];
+
+		error = usb_control_msg_recv(xpad->udev, 0,
+					     /* bRequest */ 0x01,
+					     /* bmRequestType */
+					     USB_TYPE_VENDOR | USB_DIR_IN |
+						USB_RECIP_INTERFACE,
+					     /* wValue */ 0x100,
+					     /* wIndex */ 0x00,
+					     dummy, sizeof(dummy),
+					     25, GFP_KERNEL);
+		if (error)
+			dev_warn(&xpad->dev->dev,
+				 "unable to receive magic message: %d\n",
+				 error);
+	}
 
 	return 0;
 }
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [PATCH 2/2] Input: xpad - Add GameSir VID for Xbox One controllers
  2023-06-07  1:28 [PATCH 0/2] Input: xpad - Additional controller support Vicki Pfau
  2023-06-07  1:28 ` [PATCH 1/2] Input: xpad - fix support for some third-party controllers Vicki Pfau
@ 2023-06-07  1:28 ` Vicki Pfau
  2023-07-08  0:00   ` Dmitry Torokhov
  2023-07-01  2:38 ` [PATCH 0/2] Input: xpad - Additional controller support Vicki Pfau
  2 siblings, 1 reply; 6+ messages in thread
From: Vicki Pfau @ 2023-06-07  1:28 UTC (permalink / raw)
  To: Dmitry Torokhov, linux-input; +Cc: Sam Lantinga, Pavel Rojtberg, Vicki Pfau

From: Sam Lantinga <slouken@libsdl.org>

Signed-off-by: Sam Lantinga <slouken@libsdl.org>
Signed-off-by: Vicki Pfau <vi@endrift.com>
---
 drivers/input/joystick/xpad.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index 745047215e42..459b5c507399 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -499,6 +499,7 @@ static const struct usb_device_id xpad_table[] = {
 	XPAD_XBOXONE_VENDOR(0x2dc8),		/* 8BitDo Pro 2 Wired Controller for Xbox */
 	XPAD_XBOXONE_VENDOR(0x2e24),		/* Hyperkin Duke Xbox One pad */
 	XPAD_XBOX360_VENDOR(0x2f24),		/* GameSir controllers */
+	XPAD_XBOXONE_VENDOR(0x3537),		/* GameSir Controllers */
 	XPAD_XBOX360_VENDOR(0x31e3),		/* Wooting Keyboards */
 	XPAD_XBOX360_VENDOR(0x3285),		/* Nacon GC-100 */
 	{ }
-- 
2.40.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/2] Input: xpad - Additional controller support
  2023-06-07  1:28 [PATCH 0/2] Input: xpad - Additional controller support Vicki Pfau
  2023-06-07  1:28 ` [PATCH 1/2] Input: xpad - fix support for some third-party controllers Vicki Pfau
  2023-06-07  1:28 ` [PATCH 2/2] Input: xpad - Add GameSir VID for Xbox One controllers Vicki Pfau
@ 2023-07-01  2:38 ` Vicki Pfau
  2 siblings, 0 replies; 6+ messages in thread
From: Vicki Pfau @ 2023-07-01  2:38 UTC (permalink / raw)
  To: Dmitry Torokhov, linux-input; +Cc: Pavel Rojtberg, Lyude Paul

Hello,

On 6/6/23 18:28, Vicki Pfau wrote:
> This series includes two patches: one is a fixed resubmit of a previously
> reverted patch (first applied as db7220c48d8d), and the other is a simple
> addition to the VID table for Xbox One controllers.
> 
> Sam Lantinga (1):
>   Input: xpad - Add GameSir VID for Xbox One controllers
> 
> Vicki Pfau (1):
>   Input: xpad - fix support for some third-party controllers
> 
>  drivers/input/joystick/xpad.c | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 

This series has been radio silent for over three weeks. It includes an easy patch as well as a fixed version of the previously reverted patch I submitted. Is there anything else I need to do? I almost forgot about it, but would like to make sure it's addressed at some point.

Thanks

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 1/2] Input: xpad - fix support for some third-party controllers
  2023-06-07  1:28 ` [PATCH 1/2] Input: xpad - fix support for some third-party controllers Vicki Pfau
@ 2023-07-07 23:59   ` Dmitry Torokhov
  0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Torokhov @ 2023-07-07 23:59 UTC (permalink / raw)
  To: Vicki Pfau; +Cc: linux-input, Pavel Rojtberg, Andrey Smirnov

On Tue, Jun 06, 2023 at 06:28:11PM -0700, Vicki Pfau wrote:
> Some third-party controllers, such as the HORPIAD FPS for Nintendo Switch and
> Gamesir-G3w, require a specific packet that the first-party XInput driver sends
> before it will start sending reports. It's not currently known what this packet
> does, but since the first-party driver always sends it's unlikely that this
> could cause issues with existing controllers.
> 
> Co-authored-by: Andrey Smirnov <andrew.smirnov@gmail.com>
> Signed-off-by: Vicki Pfau <vi@endrift.com>

Applied, thank you.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 2/2] Input: xpad - Add GameSir VID for Xbox One controllers
  2023-06-07  1:28 ` [PATCH 2/2] Input: xpad - Add GameSir VID for Xbox One controllers Vicki Pfau
@ 2023-07-08  0:00   ` Dmitry Torokhov
  0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Torokhov @ 2023-07-08  0:00 UTC (permalink / raw)
  To: Vicki Pfau; +Cc: linux-input, Sam Lantinga, Pavel Rojtberg

On Tue, Jun 06, 2023 at 06:28:12PM -0700, Vicki Pfau wrote:
> From: Sam Lantinga <slouken@libsdl.org>
> 
> Signed-off-by: Sam Lantinga <slouken@libsdl.org>
> Signed-off-by: Vicki Pfau <vi@endrift.com>
> ---
>  drivers/input/joystick/xpad.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
> index 745047215e42..459b5c507399 100644
> --- a/drivers/input/joystick/xpad.c
> +++ b/drivers/input/joystick/xpad.c
> @@ -499,6 +499,7 @@ static const struct usb_device_id xpad_table[] = {
>  	XPAD_XBOXONE_VENDOR(0x2dc8),		/* 8BitDo Pro 2 Wired Controller for Xbox */
>  	XPAD_XBOXONE_VENDOR(0x2e24),		/* Hyperkin Duke Xbox One pad */
>  	XPAD_XBOX360_VENDOR(0x2f24),		/* GameSir controllers */
> +	XPAD_XBOXONE_VENDOR(0x3537),		/* GameSir Controllers */

We try to keep this list sorted by vendor ID, so I moved this down and
applied.

>  	XPAD_XBOX360_VENDOR(0x31e3),		/* Wooting Keyboards */
>  	XPAD_XBOX360_VENDOR(0x3285),		/* Nacon GC-100 */
>  	{ }
> -- 
> 2.40.1
> 

Thanks.

-- 
Dmitry

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-07-08  0:00 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-06-07  1:28 [PATCH 0/2] Input: xpad - Additional controller support Vicki Pfau
2023-06-07  1:28 ` [PATCH 1/2] Input: xpad - fix support for some third-party controllers Vicki Pfau
2023-07-07 23:59   ` Dmitry Torokhov
2023-06-07  1:28 ` [PATCH 2/2] Input: xpad - Add GameSir VID for Xbox One controllers Vicki Pfau
2023-07-08  0:00   ` Dmitry Torokhov
2023-07-01  2:38 ` [PATCH 0/2] Input: xpad - Additional controller support Vicki Pfau

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).