Re: [PATCH v3 2/3] Input: joystick: xpad: Add X-Box Adaptive Controller Layer button

From: Nate Yocom
Date: Thu Aug 25 2022 - 18:22:00 EST


On Wed, Aug 24, 2022 at 05:36:30PM +0200, Bastien Nocera wrote:
> On Wed, 2022-08-17 at 12:37 +0200, Bastien Nocera wrote:
> > On Sat, 2022-08-13 at 11:53 -0700, Nate Yocom wrote:
> > > Adds a new quirk for controllers that have a Layer button which has
> > > 4
> > > states, reflected as an ABS_MISC axis with 4 values.
> >
> > It's called the "Profile Button" in the official documentation:
> > https://support.xbox.com/en-US/help/account-profile/accessibility/get-to-know-adaptive-controller
> > so best to call it that.
> >
> > I wonder we have any other examples of profile handling in input
> > drivers. The xpadneo driver implements the profiles in the kernel
> > driver directly.
> >
> > Benjamin?
>
> After speaking to Benjamin, it was clear that ABS_MISC wasn't the right
> absolute axis to use.
>
> I think that adding a new ABS_* axes in include/uapi/linux/input-event-
> codes.h would be the best, for example ABS_PROFILE as 0x21.

Makes sense to me.

> Dmitry, what do you think?

I'll submit a v5 with ABS_PROFILE defined jic.

>
> The idea here is to encode a hardware controlled switch that has 4
> possible values. Its state will be sent with every input event in order
> for user-space to (maybe) apply a specific profile to the events.
>
> This would also be used by the XBox Elite 2 controller driver.
>
> Cheers