Re: [PATCH v2] Input: xpad - add support for generic clone X-Input gamepads
Greg KH <[email protected]>
| Newsgroups | org.kernel.vger.linux-input |
|---|---|
| Message-ID | <2026072715-slam-viewing-d59a@gregkh> |
On Sun, Jul 26, 2026 at 10:45:26PM +0530, Ishaan Dandekar wrote: > This device exposes a vendor-specific Xbox 360 interface (0283:0001) > but was previously ignored by the driver, causing it to fall back to > a generic hid interface. Adding its ID to xpad_device and xpad_table > allows it to initialize correctly as an X-Input gamepad. > > Signed-off-by: Ishaan Dandekar <[email protected]> > --- > Note to maintainers: > This device exposes a vendor-specific Xbox 360 interface (0283:0001). > Adding its ID to xpad_device and xpad_table allows it to initialize > correctly as an X-Input gamepad with full rumble support. > > Context: This patch is a companion to a 2-patch series submitted to > the linux-usb subsystem (v2: "Fix initialization for Generic Clone > X-Input Gamepads"). The USB patches apply a 255-byte config request > quirk to prevent this device's firmware from crashing. Once stabilized > by the USB core, this xpad patch is required to actually route it > properly. Both can be merged independently. > > Changes in v2: > - Wrapped commit message at 72 columns. > - Separated from the USB series to target the input subsystem directly. > > drivers/input/joystick/xpad.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c > index feb8f368f..c0a15db03 100644 > --- a/drivers/input/joystick/xpad.c > +++ b/drivers/input/joystick/xpad.c > @@ -99,6 +99,7 @@ static const struct xpad_device { > } xpad_device[] = { > /* Please keep this list sorted by vendor and product ID. */ > { 0x0079, 0x18d4, "GPD Win 2 X-Box Controller", 0, XTYPE_XBOX360 }, > + { 0x0283, 0x0001, "Generic X-Input Gamepad", 0, XTYPE_XBOX360 }, > { 0x0351, 0x1000, "CRKD LP Blueberry Burst Pro Edition (Xbox)", 0, XTYPE_XBOX360 }, > { 0x0351, 0x2000, "CRKD LP Black Tribal Edition (Xbox) ", 0, XTYPE_XBOX360 }, > { 0x03eb, 0xff01, "Wooting One (Legacy)", 0, XTYPE_XBOX360 }, > @@ -496,6 +497,7 @@ static const struct usb_device_id xpad_table[] = { > */ > { USB_INTERFACE_INFO('X', 'B', 0) }, /* Xbox USB-IF not-approved class */ > XPAD_XBOX360_VENDOR(0x0079), /* GPD Win 2 controller */ > + { USB_DEVICE(0x0283, 0x0001) }, /* Generic X-Input Gamepad */ Comment doesn't line up :(