Oliver Neukum a1cf7e
From b382c5e37344883dc97525d05f1f6b788f549985 Mon Sep 17 00:00:00 2001
Oliver Neukum a1cf7e
From: Pavel Rojtberg <rojtberg@gmail.com>
Oliver Neukum a1cf7e
Date: Thu, 18 Aug 2022 17:44:08 +0200
Oliver Neukum a1cf7e
Subject: [PATCH] Input: xpad - add supported devices as contributed on github
Oliver Neukum a1cf7e
Git-commit: b382c5e37344883dc97525d05f1f6b788f549985
Oliver Neukum a1cf7e
References: git-fixes
Oliver Neukum a1cf7e
Patch-mainline: v6.1-rc1
Oliver Neukum a1cf7e
Oliver Neukum a1cf7e
This is based on multiple commits at https://github.com/paroj/xpad
Oliver Neukum a1cf7e
Oliver Neukum a1cf7e
Cc: stable@vger.kernel.org
Oliver Neukum a1cf7e
Signed-off-by: Jasper Poppe <jgpoppe@gmail.com>
Oliver Neukum a1cf7e
Signed-off-by: Jeremy Palmer <jpalmer@linz.govt.nz>
Oliver Neukum a1cf7e
Signed-off-by: Ruineka <ruinairas1992@gmail.com>
Oliver Neukum a1cf7e
Signed-off-by: Cleber de Mattos Casali <clebercasali@gmail.com>
Oliver Neukum a1cf7e
Signed-off-by: Kyle Gospodnetich <me@kylegospodneti.ch>
Oliver Neukum a1cf7e
Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com>
Oliver Neukum a1cf7e
Link: https://lore.kernel.org/r/20220818154411.510308-2-rojtberg@gmail.com
Oliver Neukum a1cf7e
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Oliver Neukum a1cf7e
Signed-off-by: Oliver Neukum <oneukum@suse.com>
Oliver Neukum a1cf7e
---
Oliver Neukum a1cf7e
 drivers/input/joystick/xpad.c |   19 +++++++++++++++++++
Oliver Neukum a1cf7e
 1 file changed, 19 insertions(+)
Oliver Neukum a1cf7e
Oliver Neukum a1cf7e
--- a/drivers/input/joystick/xpad.c
Oliver Neukum a1cf7e
+++ b/drivers/input/joystick/xpad.c
Oliver Neukum a1cf7e
@@ -129,6 +129,8 @@ static const struct xpad_device {
Oliver Neukum a1cf7e
 	u8 xtype;
Oliver Neukum a1cf7e
 } xpad_device[] = {
Oliver Neukum a1cf7e
 	{ 0x0079, 0x18d4, "GPD Win 2 X-Box Controller", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
+	{ 0x03eb, 0xff01, "Wooting One (Legacy)", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
+	{ 0x03eb, 0xff02, "Wooting Two (Legacy)", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x044f, 0x0f00, "Thrustmaster Wheel", 0, XTYPE_XBOX },
Oliver Neukum a1cf7e
 	{ 0x044f, 0x0f03, "Thrustmaster Wheel", 0, XTYPE_XBOX },
Oliver Neukum a1cf7e
 	{ 0x044f, 0x0f07, "Thrustmaster, Inc. Controller", 0, XTYPE_XBOX },
Oliver Neukum a1cf7e
@@ -259,6 +261,7 @@ static const struct xpad_device {
Oliver Neukum a1cf7e
 	{ 0x0f0d, 0x0063, "Hori Real Arcade Pro Hayabusa (USA) Xbox One", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
Oliver Neukum a1cf7e
 	{ 0x0f0d, 0x0067, "HORIPAD ONE", 0, XTYPE_XBOXONE },
Oliver Neukum a1cf7e
 	{ 0x0f0d, 0x0078, "Hori Real Arcade Pro V Kai Xbox One", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
Oliver Neukum a1cf7e
+	{ 0x0f0d, 0x00c5, "Hori Fighting Commander ONE", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
Oliver Neukum a1cf7e
 	{ 0x0f30, 0x010b, "Philips Recoil", 0, XTYPE_XBOX },
Oliver Neukum a1cf7e
 	{ 0x0f30, 0x0202, "Joytech Advanced Controller", 0, XTYPE_XBOX },
Oliver Neukum a1cf7e
 	{ 0x0f30, 0x8888, "BigBen XBMiniPad Controller", 0, XTYPE_XBOX },
Oliver Neukum a1cf7e
@@ -275,6 +278,7 @@ static const struct xpad_device {
Oliver Neukum a1cf7e
 	{ 0x1430, 0x8888, "TX6500+ Dance Pad (first generation)", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX },
Oliver Neukum a1cf7e
 	{ 0x1430, 0xf801, "RedOctane Controller", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x146b, 0x0601, "BigBen Interactive XBOX 360 Controller", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
+	{ 0x146b, 0x0604, "Bigben Interactive DAIJA Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x1532, 0x0037, "Razer Sabertooth", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x1532, 0x0a00, "Razer Atrox Arcade Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
Oliver Neukum a1cf7e
 	{ 0x1532, 0x0a03, "Razer Wildcat", 0, XTYPE_XBOXONE },
Oliver Neukum a1cf7e
@@ -339,6 +343,7 @@ static const struct xpad_device {
Oliver Neukum a1cf7e
 	{ 0x24c6, 0x5502, "Hori Fighting Stick VX Alt", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x24c6, 0x5503, "Hori Fighting Edge", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x24c6, 0x5506, "Hori SOULCALIBUR V Stick", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
+	{ 0x24c6, 0x5510, "Hori Fighting Commander ONE (Xbox 360/PC Mode)", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x24c6, 0x550d, "Hori GEM Xbox controller", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x24c6, 0x550e, "Hori Real Arcade Pro V Kai 360", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x24c6, 0x551a, "PowerA FUSION Pro Controller", 0, XTYPE_XBOXONE },
Oliver Neukum a1cf7e
@@ -348,6 +353,14 @@ static const struct xpad_device {
Oliver Neukum a1cf7e
 	{ 0x24c6, 0x5b03, "Thrustmaster Ferrari 458 Racing Wheel", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x24c6, 0x5d04, "Razer Sabertooth", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x24c6, 0xfafe, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
+	{ 0x2563, 0x058d, "OneXPlayer Gamepad", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
+	{ 0x2dc8, 0x2000, "8BitDo Pro 2 Wired Controller fox Xbox", 0, XTYPE_XBOXONE },
Oliver Neukum a1cf7e
+	{ 0x31e3, 0x1100, "Wooting One", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
+	{ 0x31e3, 0x1200, "Wooting Two", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
+	{ 0x31e3, 0x1210, "Wooting Lekker", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
+	{ 0x31e3, 0x1220, "Wooting Two HE", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
+	{ 0x31e3, 0x1300, "Wooting 60HE (AVR)", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
+	{ 0x31e3, 0x1310, "Wooting 60HE (ARM)", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x3285, 0x0607, "Nacon GC-100", 0, XTYPE_XBOX360 },
Oliver Neukum a1cf7e
 	{ 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX },
Oliver Neukum a1cf7e
 	{ 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX },
Oliver Neukum a1cf7e
@@ -433,6 +446,7 @@ static const signed short xpad_abs_trigg
Oliver Neukum a1cf7e
 static struct usb_device_id xpad_table[] = {
Oliver Neukum a1cf7e
 	{ USB_INTERFACE_INFO('X', 'B', 0) },	/* X-Box USB-IF not approved class */
Oliver Neukum a1cf7e
 	XPAD_XBOX360_VENDOR(0x0079),		/* GPD Win 2 Controller */
Oliver Neukum a1cf7e
+	XPAD_XBOX360_VENDOR(0x03eb),		/* Wooting Keyboards (Legacy) */
Oliver Neukum a1cf7e
 	XPAD_XBOX360_VENDOR(0x044f),		/* Thrustmaster X-Box 360 controllers */
Oliver Neukum a1cf7e
 	XPAD_XBOX360_VENDOR(0x045e),		/* Microsoft X-Box 360 controllers */
Oliver Neukum a1cf7e
 	XPAD_XBOXONE_VENDOR(0x045e),		/* Microsoft X-Box One controllers */
Oliver Neukum a1cf7e
@@ -443,6 +457,7 @@ static struct usb_device_id xpad_table[]
Oliver Neukum a1cf7e
 	{ USB_DEVICE(0x0738, 0x4540) },		/* Mad Catz Beat Pad */
Oliver Neukum a1cf7e
 	XPAD_XBOXONE_VENDOR(0x0738),		/* Mad Catz FightStick TE 2 */
Oliver Neukum a1cf7e
 	XPAD_XBOX360_VENDOR(0x07ff),		/* Mad Catz GamePad */
Oliver Neukum a1cf7e
+	XPAD_XBOX360_VENDOR(0x0c12),		/* Zeroplus X-Box 360 controllers */
Oliver Neukum a1cf7e
 	XPAD_XBOX360_VENDOR(0x0e6f),		/* 0x0e6f X-Box 360 controllers */
Oliver Neukum a1cf7e
 	XPAD_XBOXONE_VENDOR(0x0e6f),		/* 0x0e6f X-Box One controllers */
Oliver Neukum a1cf7e
 	XPAD_XBOX360_VENDOR(0x0f0d),		/* Hori Controllers */
Oliver Neukum a1cf7e
@@ -463,8 +478,12 @@ static struct usb_device_id xpad_table[]
Oliver Neukum a1cf7e
 	XPAD_XBOXONE_VENDOR(0x20d6),		/* PowerA Controllers */
Oliver Neukum a1cf7e
 	XPAD_XBOX360_VENDOR(0x24c6),		/* PowerA Controllers */
Oliver Neukum a1cf7e
 	XPAD_XBOXONE_VENDOR(0x24c6),		/* PowerA Controllers */
Oliver Neukum a1cf7e
+	XPAD_XBOX360_VENDOR(0x2563),		/* OneXPlayer Gamepad */
Oliver Neukum a1cf7e
+	XPAD_XBOX360_VENDOR(0x260d),		/* Dareu H101 */
Oliver Neukum a1cf7e
+	XPAD_XBOXONE_VENDOR(0x2dc8),		/* 8BitDo Pro 2 Wired Controller for Xbox */
Oliver Neukum a1cf7e
 	XPAD_XBOXONE_VENDOR(0x2e24),		/* Hyperkin Duke X-Box One pad */
Oliver Neukum a1cf7e
 	XPAD_XBOX360_VENDOR(0x2f24),		/* GameSir Controllers */
Oliver Neukum a1cf7e
+	XPAD_XBOX360_VENDOR(0x31e3),		/* Wooting Keyboards */
Oliver Neukum a1cf7e
 	XPAD_XBOX360_VENDOR(0x3285),		/* Nacon GC-100 */
Oliver Neukum a1cf7e
 	{ }
Oliver Neukum a1cf7e
 };