| From b6fc513da50c5dbc457a8ad6b58b046a6a68fd9d Mon Sep 17 00:00:00 2001 |
| From: Pavel Rojtberg <rojtberg@gmail.com> |
| Date: Tue, 27 Dec 2016 11:44:51 -0800 |
| Subject: Input: xpad - use correct product id for x360w controllers |
| |
| From: Pavel Rojtberg <rojtberg@gmail.com> |
| |
| commit b6fc513da50c5dbc457a8ad6b58b046a6a68fd9d upstream. |
| |
| 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> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/input/joystick/xpad.c | 6 ++++++ |
| 1 file changed, 6 insertions(+) |
| |
| --- a/drivers/input/joystick/xpad.c |
| +++ b/drivers/input/joystick/xpad.c |
| @@ -1238,6 +1238,12 @@ static int xpad_init_input(struct usb_xp |
| 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); |