All of lore.kernel.org
 help / color / mirror / Atom feed
From: Cameron Gutman <aicommander@gmail.com>
To: Benjamin Valentin <benpicco@googlemail.com>, linux-input@vger.kernel.org
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Pavel Rojtberg <rojtberg@gmail.com>,
	"Pierre-Loup A. Griffais" <eduke32@plagman.net>,
	Daniel Tobias <dan.g.tob@gmail.com>
Subject: Re: [PATCH] Input: xpad - sync supported devices with XBCD
Date: Sun, 21 May 2017 16:38:07 -0700	[thread overview]
Message-ID: <a188d83d-020b-ae1d-04fc-bbcf63f58180@gmail.com> (raw)
In-Reply-To: <20170517010123.48ee831d@nashorn>

On 05/16/2017 04:01 PM, Benjamin Valentin wrote:
> XBCD [0][1] is an OpenSource driver for Xbox controllers on Windows.
> Later it also started supporting Xbox360 controllers (presumably before
> the official Windows driver was released).
> 
> It contains a couple device IDs unknown to the Linux driver, so I extracted
> those from xbcd.inf and added them to our list.
> 
> It has a special type for Wheels and I have the feeling they might need some
> extra handling. They all have 'Wheel' in their name, so that information is
> availiable for future improvements.
> 
> [0] https://www.s-config.com/xbcd-original-xbox-controllers-win10/
> [1] http://www.redcl0ud.com/xbcd.html
> 
> Signed-off-by: Benjamin Valentin <benpicco@googlemail.com>
> ---

Interesting, I didn't know such a driver existed.

Reviewed-by: Cameron Gutman <aicommander@gmail.com>

> This patch depends on [PATCHv4] Input: xpad - sync supported devices with 360Controller
> 
>  drivers/input/joystick/xpad.c | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
> 
> diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
> index b8d08f2296ff..298a6ba51411 100644
> --- a/drivers/input/joystick/xpad.c
> +++ b/drivers/input/joystick/xpad.c
> @@ -126,7 +126,10 @@ static const struct xpad_device {
>  	u8 mapping;
>  	u8 xtype;
>  } xpad_device[] = {
> +	{ 0x044f, 0x0f00, "Thrustmaster Wheel", 0, XTYPE_XBOX },
> +	{ 0x044f, 0x0f03, "Thrustmaster Wheel", 0, XTYPE_XBOX },
>  	{ 0x044f, 0x0f07, "Thrustmaster, Inc. Controller", 0, XTYPE_XBOX },
> +	{ 0x044f, 0x0f10, "Thrustmaster Modena GT Wheel", 0, XTYPE_XBOX },
>  	{ 0x044f, 0xb326, "Thrustmaster Gamepad GP XID", 0, XTYPE_XBOX360 },
>  	{ 0x045e, 0x0202, "Microsoft X-Box pad v1 (US)", 0, XTYPE_XBOX },
>  	{ 0x045e, 0x0285, "Microsoft X-Box pad (Japan)", 0, XTYPE_XBOX },
> @@ -147,16 +150,30 @@ static const struct xpad_device {
>  	{ 0x046d, 0xc242, "Logitech Chillstream Controller", 0, XTYPE_XBOX360 },
>  	{ 0x046d, 0xca84, "Logitech Xbox Cordless Controller", 0, XTYPE_XBOX },
>  	{ 0x046d, 0xca88, "Logitech Compact Controller for Xbox", 0, XTYPE_XBOX },
> +	{ 0x046d, 0xca8a, "Logitech Precision Vibration Feedback Wheel", 0, XTYPE_XBOX },
>  	{ 0x046d, 0xcaa3, "Logitech DriveFx Racing Wheel", 0, XTYPE_XBOX360 },
>  	{ 0x056e, 0x2004, "Elecom JC-U3613M", 0, XTYPE_XBOX360 },
>  	{ 0x05fd, 0x1007, "Mad Catz Controller (unverified)", 0, XTYPE_XBOX },
>  	{ 0x05fd, 0x107a, "InterAct 'PowerPad Pro' X-Box pad (Germany)", 0, XTYPE_XBOX },
> +	{ 0x05fe, 0x3030, "Chic Controller", 0, XTYPE_XBOX },
> +	{ 0x05fe, 0x3031, "Chic Controller", 0, XTYPE_XBOX },
> +	{ 0x062a, 0x0020, "Logic3 Xbox GamePad", 0, XTYPE_XBOX },
> +	{ 0x062a, 0x0033, "Competition Pro Steering Wheel", 0, XTYPE_XBOX },
> +	{ 0x06a3, 0x0200, "Saitek Racing Wheel", 0, XTYPE_XBOX },
> +	{ 0x06a3, 0x0201, "Saitek Adrenalin", 0, XTYPE_XBOX },
> +	{ 0x06a3, 0xf51a, "Saitek P3600", 0, XTYPE_XBOX360 },
> +	{ 0x0738, 0x4506, "Mad Catz 4506 Wireless Controller", 0, XTYPE_XBOX },
>  	{ 0x0738, 0x4516, "Mad Catz Control Pad", 0, XTYPE_XBOX },
> +	{ 0x0738, 0x4520, "Mad Catz Control Pad Pro", 0, XTYPE_XBOX },
>  	{ 0x0738, 0x4522, "Mad Catz LumiCON", 0, XTYPE_XBOX },
>  	{ 0x0738, 0x4526, "Mad Catz Control Pad Pro", 0, XTYPE_XBOX },
> +	{ 0x0738, 0x4530, "Mad Catz Universal MC2 Racing Wheel and Pedals", 0, XTYPE_XBOX },
>  	{ 0x0738, 0x4536, "Mad Catz MicroCON", 0, XTYPE_XBOX },
>  	{ 0x0738, 0x4540, "Mad Catz Beat Pad", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX },
>  	{ 0x0738, 0x4556, "Mad Catz Lynx Wireless Controller", 0, XTYPE_XBOX },
> +	{ 0x0738, 0x4586, "Mad Catz MicroCon Wireless Controller", 0, XTYPE_XBOX },
> +	{ 0x0738, 0x4588, "Mad Catz Blaster", 0, XTYPE_XBOX },
> +	{ 0x0738, 0x45ff, "Mad Catz Beat Pad (w/ Handle)", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX },
>  	{ 0x0738, 0x4716, "Mad Catz Wired Xbox 360 Controller", 0, XTYPE_XBOX360 },
>  	{ 0x0738, 0x4718, "Mad Catz Street Fighter IV FightStick SE", 0, XTYPE_XBOX360 },
>  	{ 0x0738, 0x4726, "Mad Catz Xbox 360 Controller", 0, XTYPE_XBOX360 },
> @@ -164,6 +181,7 @@ static const struct xpad_device {
>  	{ 0x0738, 0x4736, "Mad Catz MicroCon Gamepad", 0, XTYPE_XBOX360 },
>  	{ 0x0738, 0x4738, "Mad Catz Wired Xbox 360 Controller (SFIV)", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
>  	{ 0x0738, 0x4740, "Mad Catz Beat Pad", 0, XTYPE_XBOX360 },
> +	{ 0x0738, 0x4743, "Mad Catz Beat Pad Pro", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX },
>  	{ 0x0738, 0x4758, "Mad Catz Arcade Game Stick", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
>  	{ 0x0738, 0x4a01, "Mad Catz FightStick TE 2", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
>  	{ 0x0738, 0x6040, "Mad Catz Beat Pad Pro", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX },
> @@ -175,6 +193,9 @@ static const struct xpad_device {
>  	{ 0x0738, 0xcb03, "Saitek P3200 Rumble Pad - PC/Xbox 360", 0, XTYPE_XBOX360 },
>  	{ 0x0738, 0xcb29, "Saitek Aviator Stick AV8R02", 0, XTYPE_XBOX360 },
>  	{ 0x0738, 0xf738, "Super SFIV FightStick TE S", 0, XTYPE_XBOX360 },
> +	{ 0x07ff, 0xffff, "Mad Catz GamePad", 0, XTYPE_XBOX360 },
> +	{ 0x0c12, 0x0005, "Intec wireless", 0, XTYPE_XBOX },
> +	{ 0x0c12, 0x8801, "Nyko Xbox Controller", 0, XTYPE_XBOX },
>  	{ 0x0c12, 0x8802, "Zeroplus Xbox Controller", 0, XTYPE_XBOX },
>  	{ 0x0c12, 0x8809, "RedOctane Xbox Dance Pad", DANCEPAD_MAP_CONFIG, XTYPE_XBOX },
>  	{ 0x0c12, 0x880a, "Pelican Eclipse PL-2023", 0, XTYPE_XBOX },
> @@ -182,10 +203,13 @@ static const struct xpad_device {
>  	{ 0x0c12, 0x9902, "HAMA VibraX - *FAULTY HARDWARE*", 0, XTYPE_XBOX },
>  	{ 0x0d2f, 0x0002, "Andamiro Pump It Up pad", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX },
>  	{ 0x0e4c, 0x1097, "Radica Gamester Controller", 0, XTYPE_XBOX },
> +	{ 0x0e4c, 0x1103, "Radica Gamester Reflex", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX },
>  	{ 0x0e4c, 0x2390, "Radica Games Jtech Controller", 0, XTYPE_XBOX },
> +	{ 0x0e4c, 0x3510, "Radica Gamester", 0, XTYPE_XBOX },
>  	{ 0x0e6f, 0x0003, "Logic3 Freebird wireless Controller", 0, XTYPE_XBOX },
>  	{ 0x0e6f, 0x0005, "Eclipse wireless Controller", 0, XTYPE_XBOX },
>  	{ 0x0e6f, 0x0006, "Edge wireless Controller", 0, XTYPE_XBOX },
> +	{ 0x0e6f, 0x0008, "After Glow Pro Controller", 0, XTYPE_XBOX },
>  	{ 0x0e6f, 0x0105, "HSM3 Xbox360 dancepad", MAP_DPAD_TO_BUTTONS, XTYPE_XBOX360 },
>  	{ 0x0e6f, 0x0113, "Afterglow AX.1 Gamepad for Xbox 360", 0, XTYPE_XBOX360 },
>  	{ 0x0e6f, 0x011f, "Rock Candy Gamepad Wired Controller", 0, XTYPE_XBOX360 },
> @@ -221,6 +245,7 @@ static const struct xpad_device {
>  	{ 0x0f0d, 0x0063, "Hori Real Arcade Pro Hayabusa (USA) Xbox One", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
>  	{ 0x0f0d, 0x0067, "HORIPAD ONE", 0, XTYPE_XBOXONE },
>  	{ 0x0f0d, 0x0078, "Hori Real Arcade Pro V Kai Xbox One", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE },
> +	{ 0x0f30, 0x010b, "Philips Recoil", 0, XTYPE_XBOX },
>  	{ 0x0f30, 0x0202, "Joytech Advanced Controller", 0, XTYPE_XBOX },
>  	{ 0x0f30, 0x8888, "BigBen XBMiniPad Controller", 0, XTYPE_XBOX },
>  	{ 0x102c, 0xff0c, "Joytech Wireless Advanced Controller", 0, XTYPE_XBOX },
> @@ -255,6 +280,8 @@ static const struct xpad_device {
>  	{ 0x1bad, 0xf027, "Mad Catz FPS Pro", 0, XTYPE_XBOX360 },
>  	{ 0x1bad, 0xf028, "Street Fighter IV FightPad", 0, XTYPE_XBOX360 },
>  	{ 0x1bad, 0xf02e, "Mad Catz Fightpad", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
> +	{ 0x1bad, 0xf030, "Mad Catz Xbox 360 MC2 MicroCon Racing Wheel", 0, XTYPE_XBOX360 },
> +	{ 0x1bad, 0xf036, "Mad Catz MicroCon GamePad Pro", 0, XTYPE_XBOX360 },
>  	{ 0x1bad, 0xf038, "Street Fighter IV FightStick TE", 0, XTYPE_XBOX360 },
>  	{ 0x1bad, 0xf039, "Mad Catz MvC2 TE", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
>  	{ 0x1bad, 0xf03a, "Mad Catz SFxT Fightstick Pro", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 },
> @@ -300,6 +327,7 @@ static const struct xpad_device {
>  	{ 0x24c6, 0x5b03, "Thrustmaster Ferrari 458 Racing Wheel", 0, XTYPE_XBOX360 },
>  	{ 0x24c6, 0x5d04, "Razer Sabertooth", 0, XTYPE_XBOX360 },
>  	{ 0x24c6, 0xfafe, "Rock Candy Gamepad for Xbox 360", 0, XTYPE_XBOX360 },
> +	{ 0x3767, 0x0101, "Fanatec Speedster 3 Forceshock Wheel", 0, XTYPE_XBOX },
>  	{ 0xffff, 0xffff, "Chinese-made Xbox Controller", 0, XTYPE_XBOX },
>  	{ 0x0000, 0x0000, "Generic X-Box pad", 0, XTYPE_UNKNOWN }
>  };
> @@ -387,9 +415,11 @@ static struct usb_device_id xpad_table[] = {
>  	XPAD_XBOXONE_VENDOR(0x045e),		/* Microsoft X-Box One controllers */
>  	XPAD_XBOX360_VENDOR(0x046d),		/* Logitech X-Box 360 style controllers */
>  	XPAD_XBOX360_VENDOR(0x056e),		/* Elecom JC-U3613M */
> +	XPAD_XBOX360_VENDOR(0x06a3),		/* Saitek P3600 */
>  	XPAD_XBOX360_VENDOR(0x0738),		/* Mad Catz X-Box 360 controllers */
>  	{ USB_DEVICE(0x0738, 0x4540) },		/* Mad Catz Beat Pad */
>  	XPAD_XBOXONE_VENDOR(0x0738),		/* Mad Catz FightStick TE 2 */
> +	XPAD_XBOX360_VENDOR(0x07ff),		/* Mad Catz GamePad */
>  	XPAD_XBOX360_VENDOR(0x0e6f),		/* 0x0e6f X-Box 360 controllers */
>  	XPAD_XBOXONE_VENDOR(0x0e6f),		/* 0x0e6f X-Box One controllers */
>  	XPAD_XBOX360_VENDOR(0x0f0d),		/* Hori Controllers */
> 

  reply	other threads:[~2017-05-21 23:38 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-04 21:15 [PATCH 1/2] Input: xpad - sort supported devices by USB ID Benjamin Valentin
2017-05-04 21:17 ` [PATCH 2/2] Input: xpad - sync supported devices with xboxdrv Benjamin Valentin
2017-05-04 22:47   ` Input: xpad - add USB IDs for Mad Catz Brawlstick and Razer Sabertooth Benjamin Valentin
2017-05-05  0:04     ` Cameron Gutman
2017-05-04 23:52   ` [PATCH 2/2] Input: xpad - sync supported devices with xboxdrv Cameron Gutman
2017-05-05 17:50     ` [PATCH v2 " Benjamin Valentin
2017-05-06  4:25       ` Cameron Gutman
2017-05-06 17:10       ` [PATCH] Input: xpad - sync supported devices with 360Controller Benjamin Valentin
2017-05-06 21:19         ` Cameron Gutman
2017-05-07 21:53           ` Dmitry Torokhov
2017-05-09  0:52             ` [PATCHv2] " Benjamin Valentin
2017-05-09  5:18               ` Cameron Gutman
2017-05-11 22:22                 ` Benjamin Valentin
2017-05-13  3:08                   ` Cameron Gutman
2017-05-14 18:05                     ` [PATCHv3] " Benjamin Valentin
2017-05-14 19:52                       ` Cameron Gutman
2017-05-14 20:28                       ` [PATCHv4] " Cameron Gutman
2017-05-08 23:08           ` [PATCH] " Benjamin Valentin
2017-05-16 23:01         ` [PATCH] Input: xpad - sync supported devices with XBCD Benjamin Valentin
2017-05-21 23:38           ` Cameron Gutman [this message]
2017-05-05  0:09 ` [PATCH 1/2] Input: xpad - sort supported devices by USB ID Cameron Gutman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a188d83d-020b-ae1d-04fc-bbcf63f58180@gmail.com \
    --to=aicommander@gmail.com \
    --cc=benpicco@googlemail.com \
    --cc=dan.g.tob@gmail.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=eduke32@plagman.net \
    --cc=linux-input@vger.kernel.org \
    --cc=rojtberg@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.