summaryrefslogtreecommitdiff
path: root/drivers/input/joystick/xpad.c
diff options
context:
space:
mode:
authorPavel Rojtberg <rojtberg@gmail.com>2016-12-27 22:44:51 +0300
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2016-12-28 00:19:31 +0300
commitb6fc513da50c5dbc457a8ad6b58b046a6a68fd9d (patch)
tree2a2f5abd6b2da9318c4d4ce3561f404fc0194066 /drivers/input/joystick/xpad.c
parent67626c9323027534496d21cf32793121662d03c0 (diff)
downloadlinux-b6fc513da50c5dbc457a8ad6b58b046a6a68fd9d.tar.xz
Input: xpad - use correct product id for x360w controllers
currently the controllers get the same product id as the wireless receiver. However the controllers actually have their own product id. The patch makes the driver expose the same product id as the windows driver. This improves compatibility when running applications with WINE. see https://github.com/paroj/xpad/issues/54 Signed-off-by: Pavel Rojtberg <rojtberg@gmail.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/joystick/xpad.c')
-rw-r--r--drivers/input/joystick/xpad.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index 6d9499658671..c7d5b2b643d1 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -1377,6 +1377,12 @@ static int xpad_init_input(struct usb_xpad *xpad)
input_dev->name = xpad->name;
input_dev->phys = xpad->phys;
usb_to_input_id(xpad->udev, &input_dev->id);
+
+ if (xpad->xtype == XTYPE_XBOX360W) {
+ /* x360w controllers and the receiver have different ids */
+ input_dev->id.product = 0x02a1;
+ }
+
input_dev->dev.parent = &xpad->intf->dev;
input_set_drvdata(input_dev, xpad);