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. Dmitry, what do you think? 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