All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.