Commit 1260cd04 authored by Nate Yocom's avatar Nate Yocom Committed by Dmitry Torokhov
Browse files

Input: add ABS_PROFILE to uapi and documentation



Define new ABS_PROFILE axis for input devices which need it, e.g. X-Box
Adaptive Controller and X-Box Elite 2.

Signed-off-by: default avatarNate Yocom <nate@yocom.org>
Link: https://lore.kernel.org/r/20220908173930.28940-4-nate@yocom.org


Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent f45aaae6
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -235,6 +235,12 @@ A few EV_ABS codes have special meanings:
    BTN_TOOL_<name> signals the type of tool that is currently detected by the
    hardware and is otherwise independent of ABS_DISTANCE and/or BTN_TOUCH.

* ABS_PROFILE:

  - Used to describe the state of a multi-value profile switch.  An event is
    emitted only when the selected profile changes, indicating the newly
    selected profile value.

* ABS_MT_<name>:

  - Used to describe multitouch input events. Please see
+6 −0
Original line number Diff line number Diff line
@@ -189,3 +189,9 @@ Gamepads report the following events:
- Rumble:

  Rumble is advertised as FF_RUMBLE.

- Profile:

  Some pads provide a multi-value profile selection switch.  An example is the
  XBox Adaptive and the XBox Elite 2 controllers.  When the active profile is
  switched, its newly selected value is emitted as an ABS_PROFILE event.
+2 −1
Original line number Diff line number Diff line
@@ -1014,7 +1014,8 @@ static const char *absolutes[ABS_CNT] = {
	[ABS_HAT3Y] = "Hat 3Y",		[ABS_PRESSURE] = "Pressure",
	[ABS_DISTANCE] = "Distance",	[ABS_TILT_X] = "XTilt",
	[ABS_TILT_Y] = "YTilt",		[ABS_TOOL_WIDTH] = "ToolWidth",
	[ABS_VOLUME] = "Volume",	[ABS_MISC] = "Misc",
	[ABS_VOLUME] = "Volume",	[ABS_PROFILE] = "Profile",
	[ABS_MISC] = "Misc",
	[ABS_MT_TOUCH_MAJOR] = "MTMajor",
	[ABS_MT_TOUCH_MINOR] = "MTMinor",
	[ABS_MT_WIDTH_MAJOR] = "MTMajorW",
+1 −0
Original line number Diff line number Diff line
@@ -862,6 +862,7 @@
#define ABS_TOOL_WIDTH		0x1c

#define ABS_VOLUME		0x20
#define ABS_PROFILE		0x21

#define ABS_MISC		0x28