Add evdev_usage_name as helper for debugging

Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1270>
This commit is contained in:
Peter Hutterer 2025-07-14 16:17:02 +10:00 committed by Marge Bot
parent f98db521ee
commit 778caa41af

View file

@ -150,6 +150,109 @@ enum evdev_usage {
*/
DECLARE_NEWTYPE(evdev_usage, uint32_t);
static inline const char *
evdev_usage_name(evdev_usage_t usage)
{
switch (evdev_usage_as_uint32_t(usage)) {
CASE_RETURN_STRING(EVDEV_SYN_REPORT);
CASE_RETURN_STRING(EVDEV_KEY_RESERVED);
CASE_RETURN_STRING(EVDEV_KEY_ESC);
CASE_RETURN_STRING(EVDEV_KEY_MICMUTE);
CASE_RETURN_STRING(EVDEV_KEY_OK);
CASE_RETURN_STRING(EVDEV_KEY_LIGHTS_TOGGLE);
CASE_RETURN_STRING(EVDEV_KEY_ALS_TOGGLE);
CASE_RETURN_STRING(EVDEV_KEY_MAX);
CASE_RETURN_STRING(EVDEV_BTN_LEFT);
CASE_RETURN_STRING(EVDEV_BTN_RIGHT);
CASE_RETURN_STRING(EVDEV_BTN_MIDDLE);
CASE_RETURN_STRING(EVDEV_BTN_SIDE);
CASE_RETURN_STRING(EVDEV_BTN_EXTRA);
CASE_RETURN_STRING(EVDEV_BTN_FORWARD);
CASE_RETURN_STRING(EVDEV_BTN_BACK);
CASE_RETURN_STRING(EVDEV_BTN_TASK);
CASE_RETURN_STRING(EVDEV_BTN_JOYSTICK);
CASE_RETURN_STRING(EVDEV_BTN_0);
CASE_RETURN_STRING(EVDEV_BTN_1);
CASE_RETURN_STRING(EVDEV_BTN_2);
CASE_RETURN_STRING(EVDEV_BTN_STYLUS);
CASE_RETURN_STRING(EVDEV_BTN_STYLUS2);
CASE_RETURN_STRING(EVDEV_BTN_STYLUS3);
CASE_RETURN_STRING(EVDEV_BTN_TOUCH);
CASE_RETURN_STRING(EVDEV_BTN_TOOL_PEN);
CASE_RETURN_STRING(EVDEV_BTN_TOOL_RUBBER);
CASE_RETURN_STRING(EVDEV_BTN_TOOL_BRUSH);
CASE_RETURN_STRING(EVDEV_BTN_TOOL_PENCIL);
CASE_RETURN_STRING(EVDEV_BTN_TOOL_AIRBRUSH);
CASE_RETURN_STRING(EVDEV_BTN_TOOL_MOUSE);
CASE_RETURN_STRING(EVDEV_BTN_TOOL_LENS);
CASE_RETURN_STRING(EVDEV_BTN_TOOL_QUINTTAP);
CASE_RETURN_STRING(EVDEV_BTN_TOOL_DOUBLETAP);
CASE_RETURN_STRING(EVDEV_BTN_TOOL_TRIPLETAP);
CASE_RETURN_STRING(EVDEV_BTN_TOOL_QUADTAP);
CASE_RETURN_STRING(EVDEV_BTN_TOOL_FINGER);
/* CASE_RETURN_STRING(EVDEV_BTN_MISC); - alias of BTN_0 */
/* CASE_RETURN_STRING(EVDEV_BTN_DIGI); - alias of BTN_TOOL_PEN */
CASE_RETURN_STRING(EVDEV_BTN_WHEEL);
CASE_RETURN_STRING(EVDEV_BTN_GEAR_UP);
CASE_RETURN_STRING(EVDEV_BTN_DPAD_UP);
CASE_RETURN_STRING(EVDEV_BTN_DPAD_RIGHT);
CASE_RETURN_STRING(EVDEV_BTN_TRIGGER_HAPPY);
CASE_RETURN_STRING(EVDEV_BTN_TRIGGER_HAPPY40);
CASE_RETURN_STRING(EVDEV_REL_X);
CASE_RETURN_STRING(EVDEV_REL_Y);
CASE_RETURN_STRING(EVDEV_REL_WHEEL);
CASE_RETURN_STRING(EVDEV_REL_WHEEL_HI_RES);
CASE_RETURN_STRING(EVDEV_REL_HWHEEL);
CASE_RETURN_STRING(EVDEV_REL_HWHEEL_HI_RES);
CASE_RETURN_STRING(EVDEV_REL_DIAL);
CASE_RETURN_STRING(EVDEV_REL_MAX);
CASE_RETURN_STRING(EVDEV_ABS_X);
CASE_RETURN_STRING(EVDEV_ABS_Y);
CASE_RETURN_STRING(EVDEV_ABS_Z);
CASE_RETURN_STRING(EVDEV_ABS_RX);
CASE_RETURN_STRING(EVDEV_ABS_RY);
CASE_RETURN_STRING(EVDEV_ABS_RZ);
CASE_RETURN_STRING(EVDEV_ABS_PRESSURE);
CASE_RETURN_STRING(EVDEV_ABS_DISTANCE);
CASE_RETURN_STRING(EVDEV_ABS_THROTTLE);
CASE_RETURN_STRING(EVDEV_ABS_RUDDER);
CASE_RETURN_STRING(EVDEV_ABS_WHEEL);
CASE_RETURN_STRING(EVDEV_ABS_MISC);
CASE_RETURN_STRING(EVDEV_ABS_TILT_X);
CASE_RETURN_STRING(EVDEV_ABS_TILT_Y);
CASE_RETURN_STRING(EVDEV_ABS_MT_SLOT);
CASE_RETURN_STRING(EVDEV_ABS_MT_POSITION_X);
CASE_RETURN_STRING(EVDEV_ABS_MT_POSITION_Y);
CASE_RETURN_STRING(EVDEV_ABS_MT_TOOL_TYPE);
CASE_RETURN_STRING(EVDEV_ABS_MT_TRACKING_ID);
CASE_RETURN_STRING(EVDEV_ABS_MT_TOUCH_MAJOR);
CASE_RETURN_STRING(EVDEV_ABS_MT_TOUCH_MINOR);
CASE_RETURN_STRING(EVDEV_ABS_MT_ORIENTATION);
CASE_RETURN_STRING(EVDEV_ABS_MT_PRESSURE);
CASE_RETURN_STRING(EVDEV_ABS_MT_DISTANCE);
CASE_RETURN_STRING(EVDEV_ABS_MAX);
CASE_RETURN_STRING(EVDEV_SW_LID);
CASE_RETURN_STRING(EVDEV_SW_TABLET_MODE);
CASE_RETURN_STRING(EVDEV_SW_MAX);
CASE_RETURN_STRING(EVDEV_MSC_SCAN);
CASE_RETURN_STRING(EVDEV_MSC_SERIAL);
CASE_RETURN_STRING(EVDEV_MSC_TIMESTAMP);
}
return NULL;
}
static inline evdev_usage_t
evdev_usage_from(enum evdev_usage usage)
{