Re: [PATCH v2] Input: joystick: xpad: Add X-Box Adaptive Controller support

From: Nate Yocom
Date: Sat Aug 13 2022 - 13:09:56 EST


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)