On Thu, Aug 11, 2022 at 03:19:50PM +0200, Bastien Nocera wrote: > Hey, > > On Wed, 2022-08-10 at 07:15 -0700, Nate Yocom wrote: > > + /* > > + * X-Box Adaptive controller sets 0x02 when x-box > > button is pressed, > > + * we could probably condense into just data[4] != 0, > > but explicitly > > + * checking here ensures no regression if other > > devices set other bits. > > + */ > > + if (le16_to_cpu(xpad->dev->id.vendor) == 0x045e && > > + le16_to_cpu(xpad->dev->id.product) == 0x0b0a) > > + input_report_key(dev, BTN_MODE, data[4] & > > 0x02); > > + else > > + input_report_key(dev, BTN_MODE, data[4] & > > 0x01); > > > I won't be able to test the patch until next week, but I would actually > implement what you mention in the comment as a separate patch. This > would avoid having a special-case for a specific VID/PID without a > quirk like "MAP_LAYER_BUTTON" defined, and if it were to cause > problems, it would be straight forward to revert. Thanks for the feedback, should I make this a series of 3 successive patches then? 1) Add the device to xpad_device[] 2) Support the Layer button with MAP_LAYER_BUTTON 3) Support the X-Box button (as suggested in the comment instead of VID/PID checks)