Ah wnoops, Vicki pointed out I made a mistake here and that this one is still awaiting reviews from someone. will review in just a moment On Thu, 2023-03-23 at 17:39 -0400, Lyude Paul wrote: > Hey Dmitry, this patch series seems to have only gotten radio silence as well. > What could we do to get this moving? > > On Fri, 2023-02-24 at 17:21 -0800, Vicki Pfau wrote: > > Some third-party controllers, such as the HORPIAD FPS for Nintendo Switch and > > Gamesir-G3w, require a specific packet that the first-party XInput driver sends > > before it will start sending reports. It's not currently known what this packet > > does, but since the first-party driver always sends it's unlikely that this > > could cause issues with existing controllers. > > > > Co-authored-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx> > > Signed-off-by: Vicki Pfau <vi@xxxxxxxxxxx> > > --- > > drivers/input/joystick/xpad.c | 22 ++++++++++++++++++++++ > > 1 file changed, 22 insertions(+) > > > > diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c > > index 403b57e8176b..04af2213407f 100644 > > --- a/drivers/input/joystick/xpad.c > > +++ b/drivers/input/joystick/xpad.c > > @@ -265,6 +265,7 @@ static const struct xpad_device { > > { 0x0f0d, 0x0067, "HORIPAD ONE", 0, XTYPE_XBOXONE }, > > { 0x0f0d, 0x0078, "Hori Real Arcade Pro V Kai Xbox One", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE }, > > { 0x0f0d, 0x00c5, "Hori Fighting Commander ONE", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOXONE }, > > + { 0x0f0d, 0x00dc, "HORIPAD FPS for Nintendo Switch", MAP_TRIGGERS_TO_BUTTONS, XTYPE_XBOX360 }, > > { 0x0f30, 0x010b, "Philips Recoil", 0, XTYPE_XBOX }, > > { 0x0f30, 0x0202, "Joytech Advanced Controller", 0, XTYPE_XBOX }, > > { 0x0f30, 0x8888, "BigBen XBMiniPad Controller", 0, XTYPE_XBOX }, > > @@ -2020,6 +2021,27 @@ static int xpad_probe(struct usb_interface *intf, const struct usb_device_id *id > > goto err_free_in_urb; > > } > > > > + if (xpad->xtype == XTYPE_XBOX360) { > > + /* Some third-party controllers Xbox 360-style controllers > > + * require this message to finish initialization */ > > + uint8_t dummy[20]; > > + int ret; > > + > > + usb_control_msg_recv(udev, 0, > > + /* bRequest */ 0x01, > > + /* bmRequestType */ > > + USB_TYPE_VENDOR | USB_DIR_IN | > > + USB_RECIP_INTERFACE, > > + /* wValue */ 0x100, > > + /* wIndex */ 0x00, > > + dummy, sizeof(dummy), > > + 25, > > + GFP_KERNEL); > > + if (ret) > > + dev_warn(&xpad->dev->dev, > > + "unable to receive magic message: %d\n", ret); > > + } > > + > > ep_irq_in = ep_irq_out = NULL; > > > > for (i = 0; i < 2; i++) { > -- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat