From 778caa41afa67924062721a1378f0908df2865f5 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 14 Jul 2025 16:17:02 +1000 Subject: [PATCH] Add evdev_usage_name as helper for debugging Part-of: --- src/evdev-frame.h | 103 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) diff --git a/src/evdev-frame.h b/src/evdev-frame.h index bc1f6832..fe85ec61 100644 --- a/src/evdev-frame.h +++ b/src/evdev-frame.h @@ -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) {