From 10c26b32cf0eaf9f0eeb85e636f61614ead5528e Mon Sep 17 00:00:00 2001 From: Kimimaru Date: Thu, 9 Jan 2025 16:29:52 +0200 Subject: [PATCH 1/4] Implemented the Display trait for enums to enable to_string -Script formatting changes are from pycodestyle --- src/enums.rs | 873 ++++++++++++++++++++++++++++++++++++++ tools/make-event-names.py | 66 ++- 2 files changed, 917 insertions(+), 22 deletions(-) diff --git a/src/enums.rs b/src/enums.rs index 4ccc5186..96886b95 100644 --- a/src/enums.rs +++ b/src/enums.rs @@ -65,6 +65,26 @@ impl std::str::FromStr for EventType { } } +impl std::fmt::Display for EventType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + EventType::EV_SYN => write!(f, "EV_SYN"), + EventType::EV_KEY => write!(f, "EV_KEY"), + EventType::EV_REL => write!(f, "EV_REL"), + EventType::EV_ABS => write!(f, "EV_ABS"), + EventType::EV_MSC => write!(f, "EV_MSC"), + EventType::EV_SW => write!(f, "EV_SW"), + EventType::EV_LED => write!(f, "EV_LED"), + EventType::EV_SND => write!(f, "EV_SND"), + EventType::EV_REP => write!(f, "EV_REP"), + EventType::EV_FF => write!(f, "EV_FF"), + EventType::EV_PWR => write!(f, "EV_PWR"), + EventType::EV_FF_STATUS => write!(f, "EV_FF_STATUS"), + EventType::EV_MAX => write!(f, "EV_MAX"), + _ => Err(()), + } + } +} #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] @@ -148,6 +168,27 @@ impl std::str::FromStr for EV_REL { } } +impl std::fmt::Display for EV_REL { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + EV_REL::REL_X => write!(f, "REL_X"), + EV_REL::REL_Y => write!(f, "REL_Y"), + EV_REL::REL_Z => write!(f, "REL_Z"), + EV_REL::REL_RX => write!(f, "REL_RX"), + EV_REL::REL_RY => write!(f, "REL_RY"), + EV_REL::REL_RZ => write!(f, "REL_RZ"), + EV_REL::REL_HWHEEL => write!(f, "REL_HWHEEL"), + EV_REL::REL_DIAL => write!(f, "REL_DIAL"), + EV_REL::REL_WHEEL => write!(f, "REL_WHEEL"), + EV_REL::REL_MISC => write!(f, "REL_MISC"), + EV_REL::REL_RESERVED => write!(f, "REL_RESERVED"), + EV_REL::REL_WHEEL_HI_RES => write!(f, "REL_WHEEL_HI_RES"), + EV_REL::REL_HWHEEL_HI_RES => write!(f, "REL_HWHEEL_HI_RES"), + EV_REL::REL_MAX => write!(f, "REL_MAX"), + _ => Err(()), + } + } +} #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -301,6 +342,57 @@ impl std::str::FromStr for EV_ABS { } } +impl std::fmt::Display for EV_ABS { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + EV_ABS::ABS_X => write!(f, "ABS_X"), + EV_ABS::ABS_Y => write!(f, "ABS_Y"), + EV_ABS::ABS_Z => write!(f, "ABS_Z"), + EV_ABS::ABS_RX => write!(f, "ABS_RX"), + EV_ABS::ABS_RY => write!(f, "ABS_RY"), + EV_ABS::ABS_RZ => write!(f, "ABS_RZ"), + EV_ABS::ABS_THROTTLE => write!(f, "ABS_THROTTLE"), + EV_ABS::ABS_RUDDER => write!(f, "ABS_RUDDER"), + EV_ABS::ABS_WHEEL => write!(f, "ABS_WHEEL"), + EV_ABS::ABS_GAS => write!(f, "ABS_GAS"), + EV_ABS::ABS_BRAKE => write!(f, "ABS_BRAKE"), + EV_ABS::ABS_HAT0X => write!(f, "ABS_HAT0X"), + EV_ABS::ABS_HAT0Y => write!(f, "ABS_HAT0Y"), + EV_ABS::ABS_HAT1X => write!(f, "ABS_HAT1X"), + EV_ABS::ABS_HAT1Y => write!(f, "ABS_HAT1Y"), + EV_ABS::ABS_HAT2X => write!(f, "ABS_HAT2X"), + EV_ABS::ABS_HAT2Y => write!(f, "ABS_HAT2Y"), + EV_ABS::ABS_HAT3X => write!(f, "ABS_HAT3X"), + EV_ABS::ABS_HAT3Y => write!(f, "ABS_HAT3Y"), + EV_ABS::ABS_PRESSURE => write!(f, "ABS_PRESSURE"), + EV_ABS::ABS_DISTANCE => write!(f, "ABS_DISTANCE"), + EV_ABS::ABS_TILT_X => write!(f, "ABS_TILT_X"), + EV_ABS::ABS_TILT_Y => write!(f, "ABS_TILT_Y"), + EV_ABS::ABS_TOOL_WIDTH => write!(f, "ABS_TOOL_WIDTH"), + EV_ABS::ABS_VOLUME => write!(f, "ABS_VOLUME"), + EV_ABS::ABS_PROFILE => write!(f, "ABS_PROFILE"), + EV_ABS::ABS_MISC => write!(f, "ABS_MISC"), + EV_ABS::ABS_RESERVED => write!(f, "ABS_RESERVED"), + EV_ABS::ABS_MT_SLOT => write!(f, "ABS_MT_SLOT"), + EV_ABS::ABS_MT_TOUCH_MAJOR => write!(f, "ABS_MT_TOUCH_MAJOR"), + EV_ABS::ABS_MT_TOUCH_MINOR => write!(f, "ABS_MT_TOUCH_MINOR"), + EV_ABS::ABS_MT_WIDTH_MAJOR => write!(f, "ABS_MT_WIDTH_MAJOR"), + EV_ABS::ABS_MT_WIDTH_MINOR => write!(f, "ABS_MT_WIDTH_MINOR"), + EV_ABS::ABS_MT_ORIENTATION => write!(f, "ABS_MT_ORIENTATION"), + EV_ABS::ABS_MT_POSITION_X => write!(f, "ABS_MT_POSITION_X"), + EV_ABS::ABS_MT_POSITION_Y => write!(f, "ABS_MT_POSITION_Y"), + EV_ABS::ABS_MT_TOOL_TYPE => write!(f, "ABS_MT_TOOL_TYPE"), + EV_ABS::ABS_MT_BLOB_ID => write!(f, "ABS_MT_BLOB_ID"), + EV_ABS::ABS_MT_TRACKING_ID => write!(f, "ABS_MT_TRACKING_ID"), + EV_ABS::ABS_MT_PRESSURE => write!(f, "ABS_MT_PRESSURE"), + EV_ABS::ABS_MT_DISTANCE => write!(f, "ABS_MT_DISTANCE"), + EV_ABS::ABS_MT_TOOL_X => write!(f, "ABS_MT_TOOL_X"), + EV_ABS::ABS_MT_TOOL_Y => write!(f, "ABS_MT_TOOL_Y"), + EV_ABS::ABS_MAX => write!(f, "ABS_MAX"), + _ => Err(()), + } + } +} #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2164,6 +2256,627 @@ impl std::str::FromStr for EV_KEY { } } +impl std::fmt::Display for EV_KEY { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + EV_KEY::KEY_RESERVED => write!(f, "KEY_RESERVED"), + EV_KEY::KEY_ESC => write!(f, "KEY_ESC"), + EV_KEY::KEY_1 => write!(f, "KEY_1"), + EV_KEY::KEY_2 => write!(f, "KEY_2"), + EV_KEY::KEY_3 => write!(f, "KEY_3"), + EV_KEY::KEY_4 => write!(f, "KEY_4"), + EV_KEY::KEY_5 => write!(f, "KEY_5"), + EV_KEY::KEY_6 => write!(f, "KEY_6"), + EV_KEY::KEY_7 => write!(f, "KEY_7"), + EV_KEY::KEY_8 => write!(f, "KEY_8"), + EV_KEY::KEY_9 => write!(f, "KEY_9"), + EV_KEY::KEY_0 => write!(f, "KEY_0"), + EV_KEY::KEY_MINUS => write!(f, "KEY_MINUS"), + EV_KEY::KEY_EQUAL => write!(f, "KEY_EQUAL"), + EV_KEY::KEY_BACKSPACE => write!(f, "KEY_BACKSPACE"), + EV_KEY::KEY_TAB => write!(f, "KEY_TAB"), + EV_KEY::KEY_Q => write!(f, "KEY_Q"), + EV_KEY::KEY_W => write!(f, "KEY_W"), + EV_KEY::KEY_E => write!(f, "KEY_E"), + EV_KEY::KEY_R => write!(f, "KEY_R"), + EV_KEY::KEY_T => write!(f, "KEY_T"), + EV_KEY::KEY_Y => write!(f, "KEY_Y"), + EV_KEY::KEY_U => write!(f, "KEY_U"), + EV_KEY::KEY_I => write!(f, "KEY_I"), + EV_KEY::KEY_O => write!(f, "KEY_O"), + EV_KEY::KEY_P => write!(f, "KEY_P"), + EV_KEY::KEY_LEFTBRACE => write!(f, "KEY_LEFTBRACE"), + EV_KEY::KEY_RIGHTBRACE => write!(f, "KEY_RIGHTBRACE"), + EV_KEY::KEY_ENTER => write!(f, "KEY_ENTER"), + EV_KEY::KEY_LEFTCTRL => write!(f, "KEY_LEFTCTRL"), + EV_KEY::KEY_A => write!(f, "KEY_A"), + EV_KEY::KEY_S => write!(f, "KEY_S"), + EV_KEY::KEY_D => write!(f, "KEY_D"), + EV_KEY::KEY_F => write!(f, "KEY_F"), + EV_KEY::KEY_G => write!(f, "KEY_G"), + EV_KEY::KEY_H => write!(f, "KEY_H"), + EV_KEY::KEY_J => write!(f, "KEY_J"), + EV_KEY::KEY_K => write!(f, "KEY_K"), + EV_KEY::KEY_L => write!(f, "KEY_L"), + EV_KEY::KEY_SEMICOLON => write!(f, "KEY_SEMICOLON"), + EV_KEY::KEY_APOSTROPHE => write!(f, "KEY_APOSTROPHE"), + EV_KEY::KEY_GRAVE => write!(f, "KEY_GRAVE"), + EV_KEY::KEY_LEFTSHIFT => write!(f, "KEY_LEFTSHIFT"), + EV_KEY::KEY_BACKSLASH => write!(f, "KEY_BACKSLASH"), + EV_KEY::KEY_Z => write!(f, "KEY_Z"), + EV_KEY::KEY_X => write!(f, "KEY_X"), + EV_KEY::KEY_C => write!(f, "KEY_C"), + EV_KEY::KEY_V => write!(f, "KEY_V"), + EV_KEY::KEY_B => write!(f, "KEY_B"), + EV_KEY::KEY_N => write!(f, "KEY_N"), + EV_KEY::KEY_M => write!(f, "KEY_M"), + EV_KEY::KEY_COMMA => write!(f, "KEY_COMMA"), + EV_KEY::KEY_DOT => write!(f, "KEY_DOT"), + EV_KEY::KEY_SLASH => write!(f, "KEY_SLASH"), + EV_KEY::KEY_RIGHTSHIFT => write!(f, "KEY_RIGHTSHIFT"), + EV_KEY::KEY_KPASTERISK => write!(f, "KEY_KPASTERISK"), + EV_KEY::KEY_LEFTALT => write!(f, "KEY_LEFTALT"), + EV_KEY::KEY_SPACE => write!(f, "KEY_SPACE"), + EV_KEY::KEY_CAPSLOCK => write!(f, "KEY_CAPSLOCK"), + EV_KEY::KEY_F1 => write!(f, "KEY_F1"), + EV_KEY::KEY_F2 => write!(f, "KEY_F2"), + EV_KEY::KEY_F3 => write!(f, "KEY_F3"), + EV_KEY::KEY_F4 => write!(f, "KEY_F4"), + EV_KEY::KEY_F5 => write!(f, "KEY_F5"), + EV_KEY::KEY_F6 => write!(f, "KEY_F6"), + EV_KEY::KEY_F7 => write!(f, "KEY_F7"), + EV_KEY::KEY_F8 => write!(f, "KEY_F8"), + EV_KEY::KEY_F9 => write!(f, "KEY_F9"), + EV_KEY::KEY_F10 => write!(f, "KEY_F10"), + EV_KEY::KEY_NUMLOCK => write!(f, "KEY_NUMLOCK"), + EV_KEY::KEY_SCROLLLOCK => write!(f, "KEY_SCROLLLOCK"), + EV_KEY::KEY_KP7 => write!(f, "KEY_KP7"), + EV_KEY::KEY_KP8 => write!(f, "KEY_KP8"), + EV_KEY::KEY_KP9 => write!(f, "KEY_KP9"), + EV_KEY::KEY_KPMINUS => write!(f, "KEY_KPMINUS"), + EV_KEY::KEY_KP4 => write!(f, "KEY_KP4"), + EV_KEY::KEY_KP5 => write!(f, "KEY_KP5"), + EV_KEY::KEY_KP6 => write!(f, "KEY_KP6"), + EV_KEY::KEY_KPPLUS => write!(f, "KEY_KPPLUS"), + EV_KEY::KEY_KP1 => write!(f, "KEY_KP1"), + EV_KEY::KEY_KP2 => write!(f, "KEY_KP2"), + EV_KEY::KEY_KP3 => write!(f, "KEY_KP3"), + EV_KEY::KEY_KP0 => write!(f, "KEY_KP0"), + EV_KEY::KEY_KPDOT => write!(f, "KEY_KPDOT"), + EV_KEY::KEY_ZENKAKUHANKAKU => write!(f, "KEY_ZENKAKUHANKAKU"), + EV_KEY::KEY_102ND => write!(f, "KEY_102ND"), + EV_KEY::KEY_F11 => write!(f, "KEY_F11"), + EV_KEY::KEY_F12 => write!(f, "KEY_F12"), + EV_KEY::KEY_RO => write!(f, "KEY_RO"), + EV_KEY::KEY_KATAKANA => write!(f, "KEY_KATAKANA"), + EV_KEY::KEY_HIRAGANA => write!(f, "KEY_HIRAGANA"), + EV_KEY::KEY_HENKAN => write!(f, "KEY_HENKAN"), + EV_KEY::KEY_KATAKANAHIRAGANA => write!(f, "KEY_KATAKANAHIRAGANA"), + EV_KEY::KEY_MUHENKAN => write!(f, "KEY_MUHENKAN"), + EV_KEY::KEY_KPJPCOMMA => write!(f, "KEY_KPJPCOMMA"), + EV_KEY::KEY_KPENTER => write!(f, "KEY_KPENTER"), + EV_KEY::KEY_RIGHTCTRL => write!(f, "KEY_RIGHTCTRL"), + EV_KEY::KEY_KPSLASH => write!(f, "KEY_KPSLASH"), + EV_KEY::KEY_SYSRQ => write!(f, "KEY_SYSRQ"), + EV_KEY::KEY_RIGHTALT => write!(f, "KEY_RIGHTALT"), + EV_KEY::KEY_LINEFEED => write!(f, "KEY_LINEFEED"), + EV_KEY::KEY_HOME => write!(f, "KEY_HOME"), + EV_KEY::KEY_UP => write!(f, "KEY_UP"), + EV_KEY::KEY_PAGEUP => write!(f, "KEY_PAGEUP"), + EV_KEY::KEY_LEFT => write!(f, "KEY_LEFT"), + EV_KEY::KEY_RIGHT => write!(f, "KEY_RIGHT"), + EV_KEY::KEY_END => write!(f, "KEY_END"), + EV_KEY::KEY_DOWN => write!(f, "KEY_DOWN"), + EV_KEY::KEY_PAGEDOWN => write!(f, "KEY_PAGEDOWN"), + EV_KEY::KEY_INSERT => write!(f, "KEY_INSERT"), + EV_KEY::KEY_DELETE => write!(f, "KEY_DELETE"), + EV_KEY::KEY_MACRO => write!(f, "KEY_MACRO"), + EV_KEY::KEY_MUTE => write!(f, "KEY_MUTE"), + EV_KEY::KEY_VOLUMEDOWN => write!(f, "KEY_VOLUMEDOWN"), + EV_KEY::KEY_VOLUMEUP => write!(f, "KEY_VOLUMEUP"), + EV_KEY::KEY_POWER => write!(f, "KEY_POWER"), + EV_KEY::KEY_KPEQUAL => write!(f, "KEY_KPEQUAL"), + EV_KEY::KEY_KPPLUSMINUS => write!(f, "KEY_KPPLUSMINUS"), + EV_KEY::KEY_PAUSE => write!(f, "KEY_PAUSE"), + EV_KEY::KEY_SCALE => write!(f, "KEY_SCALE"), + EV_KEY::KEY_KPCOMMA => write!(f, "KEY_KPCOMMA"), + EV_KEY::KEY_HANGEUL => write!(f, "KEY_HANGEUL"), + EV_KEY::KEY_HANJA => write!(f, "KEY_HANJA"), + EV_KEY::KEY_YEN => write!(f, "KEY_YEN"), + EV_KEY::KEY_LEFTMETA => write!(f, "KEY_LEFTMETA"), + EV_KEY::KEY_RIGHTMETA => write!(f, "KEY_RIGHTMETA"), + EV_KEY::KEY_COMPOSE => write!(f, "KEY_COMPOSE"), + EV_KEY::KEY_STOP => write!(f, "KEY_STOP"), + EV_KEY::KEY_AGAIN => write!(f, "KEY_AGAIN"), + EV_KEY::KEY_PROPS => write!(f, "KEY_PROPS"), + EV_KEY::KEY_UNDO => write!(f, "KEY_UNDO"), + EV_KEY::KEY_FRONT => write!(f, "KEY_FRONT"), + EV_KEY::KEY_COPY => write!(f, "KEY_COPY"), + EV_KEY::KEY_OPEN => write!(f, "KEY_OPEN"), + EV_KEY::KEY_PASTE => write!(f, "KEY_PASTE"), + EV_KEY::KEY_FIND => write!(f, "KEY_FIND"), + EV_KEY::KEY_CUT => write!(f, "KEY_CUT"), + EV_KEY::KEY_HELP => write!(f, "KEY_HELP"), + EV_KEY::KEY_MENU => write!(f, "KEY_MENU"), + EV_KEY::KEY_CALC => write!(f, "KEY_CALC"), + EV_KEY::KEY_SETUP => write!(f, "KEY_SETUP"), + EV_KEY::KEY_SLEEP => write!(f, "KEY_SLEEP"), + EV_KEY::KEY_WAKEUP => write!(f, "KEY_WAKEUP"), + EV_KEY::KEY_FILE => write!(f, "KEY_FILE"), + EV_KEY::KEY_SENDFILE => write!(f, "KEY_SENDFILE"), + EV_KEY::KEY_DELETEFILE => write!(f, "KEY_DELETEFILE"), + EV_KEY::KEY_XFER => write!(f, "KEY_XFER"), + EV_KEY::KEY_PROG1 => write!(f, "KEY_PROG1"), + EV_KEY::KEY_PROG2 => write!(f, "KEY_PROG2"), + EV_KEY::KEY_WWW => write!(f, "KEY_WWW"), + EV_KEY::KEY_MSDOS => write!(f, "KEY_MSDOS"), + EV_KEY::KEY_COFFEE => write!(f, "KEY_COFFEE"), + EV_KEY::KEY_ROTATE_DISPLAY => write!(f, "KEY_ROTATE_DISPLAY"), + EV_KEY::KEY_CYCLEWINDOWS => write!(f, "KEY_CYCLEWINDOWS"), + EV_KEY::KEY_MAIL => write!(f, "KEY_MAIL"), + EV_KEY::KEY_BOOKMARKS => write!(f, "KEY_BOOKMARKS"), + EV_KEY::KEY_COMPUTER => write!(f, "KEY_COMPUTER"), + EV_KEY::KEY_BACK => write!(f, "KEY_BACK"), + EV_KEY::KEY_FORWARD => write!(f, "KEY_FORWARD"), + EV_KEY::KEY_CLOSECD => write!(f, "KEY_CLOSECD"), + EV_KEY::KEY_EJECTCD => write!(f, "KEY_EJECTCD"), + EV_KEY::KEY_EJECTCLOSECD => write!(f, "KEY_EJECTCLOSECD"), + EV_KEY::KEY_NEXTSONG => write!(f, "KEY_NEXTSONG"), + EV_KEY::KEY_PLAYPAUSE => write!(f, "KEY_PLAYPAUSE"), + EV_KEY::KEY_PREVIOUSSONG => write!(f, "KEY_PREVIOUSSONG"), + EV_KEY::KEY_STOPCD => write!(f, "KEY_STOPCD"), + EV_KEY::KEY_RECORD => write!(f, "KEY_RECORD"), + EV_KEY::KEY_REWIND => write!(f, "KEY_REWIND"), + EV_KEY::KEY_PHONE => write!(f, "KEY_PHONE"), + EV_KEY::KEY_ISO => write!(f, "KEY_ISO"), + EV_KEY::KEY_CONFIG => write!(f, "KEY_CONFIG"), + EV_KEY::KEY_HOMEPAGE => write!(f, "KEY_HOMEPAGE"), + EV_KEY::KEY_REFRESH => write!(f, "KEY_REFRESH"), + EV_KEY::KEY_EXIT => write!(f, "KEY_EXIT"), + EV_KEY::KEY_MOVE => write!(f, "KEY_MOVE"), + EV_KEY::KEY_EDIT => write!(f, "KEY_EDIT"), + EV_KEY::KEY_SCROLLUP => write!(f, "KEY_SCROLLUP"), + EV_KEY::KEY_SCROLLDOWN => write!(f, "KEY_SCROLLDOWN"), + EV_KEY::KEY_KPLEFTPAREN => write!(f, "KEY_KPLEFTPAREN"), + EV_KEY::KEY_KPRIGHTPAREN => write!(f, "KEY_KPRIGHTPAREN"), + EV_KEY::KEY_NEW => write!(f, "KEY_NEW"), + EV_KEY::KEY_REDO => write!(f, "KEY_REDO"), + EV_KEY::KEY_F13 => write!(f, "KEY_F13"), + EV_KEY::KEY_F14 => write!(f, "KEY_F14"), + EV_KEY::KEY_F15 => write!(f, "KEY_F15"), + EV_KEY::KEY_F16 => write!(f, "KEY_F16"), + EV_KEY::KEY_F17 => write!(f, "KEY_F17"), + EV_KEY::KEY_F18 => write!(f, "KEY_F18"), + EV_KEY::KEY_F19 => write!(f, "KEY_F19"), + EV_KEY::KEY_F20 => write!(f, "KEY_F20"), + EV_KEY::KEY_F21 => write!(f, "KEY_F21"), + EV_KEY::KEY_F22 => write!(f, "KEY_F22"), + EV_KEY::KEY_F23 => write!(f, "KEY_F23"), + EV_KEY::KEY_F24 => write!(f, "KEY_F24"), + EV_KEY::KEY_PLAYCD => write!(f, "KEY_PLAYCD"), + EV_KEY::KEY_PAUSECD => write!(f, "KEY_PAUSECD"), + EV_KEY::KEY_PROG3 => write!(f, "KEY_PROG3"), + EV_KEY::KEY_PROG4 => write!(f, "KEY_PROG4"), + EV_KEY::KEY_ALL_APPLICATIONS => write!(f, "KEY_ALL_APPLICATIONS"), + EV_KEY::KEY_SUSPEND => write!(f, "KEY_SUSPEND"), + EV_KEY::KEY_CLOSE => write!(f, "KEY_CLOSE"), + EV_KEY::KEY_PLAY => write!(f, "KEY_PLAY"), + EV_KEY::KEY_FASTFORWARD => write!(f, "KEY_FASTFORWARD"), + EV_KEY::KEY_BASSBOOST => write!(f, "KEY_BASSBOOST"), + EV_KEY::KEY_PRINT => write!(f, "KEY_PRINT"), + EV_KEY::KEY_HP => write!(f, "KEY_HP"), + EV_KEY::KEY_CAMERA => write!(f, "KEY_CAMERA"), + EV_KEY::KEY_SOUND => write!(f, "KEY_SOUND"), + EV_KEY::KEY_QUESTION => write!(f, "KEY_QUESTION"), + EV_KEY::KEY_EMAIL => write!(f, "KEY_EMAIL"), + EV_KEY::KEY_CHAT => write!(f, "KEY_CHAT"), + EV_KEY::KEY_SEARCH => write!(f, "KEY_SEARCH"), + EV_KEY::KEY_CONNECT => write!(f, "KEY_CONNECT"), + EV_KEY::KEY_FINANCE => write!(f, "KEY_FINANCE"), + EV_KEY::KEY_SPORT => write!(f, "KEY_SPORT"), + EV_KEY::KEY_SHOP => write!(f, "KEY_SHOP"), + EV_KEY::KEY_ALTERASE => write!(f, "KEY_ALTERASE"), + EV_KEY::KEY_CANCEL => write!(f, "KEY_CANCEL"), + EV_KEY::KEY_BRIGHTNESSDOWN => write!(f, "KEY_BRIGHTNESSDOWN"), + EV_KEY::KEY_BRIGHTNESSUP => write!(f, "KEY_BRIGHTNESSUP"), + EV_KEY::KEY_MEDIA => write!(f, "KEY_MEDIA"), + EV_KEY::KEY_SWITCHVIDEOMODE => write!(f, "KEY_SWITCHVIDEOMODE"), + EV_KEY::KEY_KBDILLUMTOGGLE => write!(f, "KEY_KBDILLUMTOGGLE"), + EV_KEY::KEY_KBDILLUMDOWN => write!(f, "KEY_KBDILLUMDOWN"), + EV_KEY::KEY_KBDILLUMUP => write!(f, "KEY_KBDILLUMUP"), + EV_KEY::KEY_SEND => write!(f, "KEY_SEND"), + EV_KEY::KEY_REPLY => write!(f, "KEY_REPLY"), + EV_KEY::KEY_FORWARDMAIL => write!(f, "KEY_FORWARDMAIL"), + EV_KEY::KEY_SAVE => write!(f, "KEY_SAVE"), + EV_KEY::KEY_DOCUMENTS => write!(f, "KEY_DOCUMENTS"), + EV_KEY::KEY_BATTERY => write!(f, "KEY_BATTERY"), + EV_KEY::KEY_BLUETOOTH => write!(f, "KEY_BLUETOOTH"), + EV_KEY::KEY_WLAN => write!(f, "KEY_WLAN"), + EV_KEY::KEY_UWB => write!(f, "KEY_UWB"), + EV_KEY::KEY_UNKNOWN => write!(f, "KEY_UNKNOWN"), + EV_KEY::KEY_VIDEO_NEXT => write!(f, "KEY_VIDEO_NEXT"), + EV_KEY::KEY_VIDEO_PREV => write!(f, "KEY_VIDEO_PREV"), + EV_KEY::KEY_BRIGHTNESS_CYCLE => write!(f, "KEY_BRIGHTNESS_CYCLE"), + EV_KEY::KEY_BRIGHTNESS_AUTO => write!(f, "KEY_BRIGHTNESS_AUTO"), + EV_KEY::KEY_DISPLAY_OFF => write!(f, "KEY_DISPLAY_OFF"), + EV_KEY::KEY_WWAN => write!(f, "KEY_WWAN"), + EV_KEY::KEY_RFKILL => write!(f, "KEY_RFKILL"), + EV_KEY::KEY_MICMUTE => write!(f, "KEY_MICMUTE"), + EV_KEY::KEY_OK => write!(f, "KEY_OK"), + EV_KEY::KEY_SELECT => write!(f, "KEY_SELECT"), + EV_KEY::KEY_GOTO => write!(f, "KEY_GOTO"), + EV_KEY::KEY_CLEAR => write!(f, "KEY_CLEAR"), + EV_KEY::KEY_POWER2 => write!(f, "KEY_POWER2"), + EV_KEY::KEY_OPTION => write!(f, "KEY_OPTION"), + EV_KEY::KEY_INFO => write!(f, "KEY_INFO"), + EV_KEY::KEY_TIME => write!(f, "KEY_TIME"), + EV_KEY::KEY_VENDOR => write!(f, "KEY_VENDOR"), + EV_KEY::KEY_ARCHIVE => write!(f, "KEY_ARCHIVE"), + EV_KEY::KEY_PROGRAM => write!(f, "KEY_PROGRAM"), + EV_KEY::KEY_CHANNEL => write!(f, "KEY_CHANNEL"), + EV_KEY::KEY_FAVORITES => write!(f, "KEY_FAVORITES"), + EV_KEY::KEY_EPG => write!(f, "KEY_EPG"), + EV_KEY::KEY_PVR => write!(f, "KEY_PVR"), + EV_KEY::KEY_MHP => write!(f, "KEY_MHP"), + EV_KEY::KEY_LANGUAGE => write!(f, "KEY_LANGUAGE"), + EV_KEY::KEY_TITLE => write!(f, "KEY_TITLE"), + EV_KEY::KEY_SUBTITLE => write!(f, "KEY_SUBTITLE"), + EV_KEY::KEY_ANGLE => write!(f, "KEY_ANGLE"), + EV_KEY::KEY_FULL_SCREEN => write!(f, "KEY_FULL_SCREEN"), + EV_KEY::KEY_MODE => write!(f, "KEY_MODE"), + EV_KEY::KEY_KEYBOARD => write!(f, "KEY_KEYBOARD"), + EV_KEY::KEY_ASPECT_RATIO => write!(f, "KEY_ASPECT_RATIO"), + EV_KEY::KEY_PC => write!(f, "KEY_PC"), + EV_KEY::KEY_TV => write!(f, "KEY_TV"), + EV_KEY::KEY_TV2 => write!(f, "KEY_TV2"), + EV_KEY::KEY_VCR => write!(f, "KEY_VCR"), + EV_KEY::KEY_VCR2 => write!(f, "KEY_VCR2"), + EV_KEY::KEY_SAT => write!(f, "KEY_SAT"), + EV_KEY::KEY_SAT2 => write!(f, "KEY_SAT2"), + EV_KEY::KEY_CD => write!(f, "KEY_CD"), + EV_KEY::KEY_TAPE => write!(f, "KEY_TAPE"), + EV_KEY::KEY_RADIO => write!(f, "KEY_RADIO"), + EV_KEY::KEY_TUNER => write!(f, "KEY_TUNER"), + EV_KEY::KEY_PLAYER => write!(f, "KEY_PLAYER"), + EV_KEY::KEY_TEXT => write!(f, "KEY_TEXT"), + EV_KEY::KEY_DVD => write!(f, "KEY_DVD"), + EV_KEY::KEY_AUX => write!(f, "KEY_AUX"), + EV_KEY::KEY_MP3 => write!(f, "KEY_MP3"), + EV_KEY::KEY_AUDIO => write!(f, "KEY_AUDIO"), + EV_KEY::KEY_VIDEO => write!(f, "KEY_VIDEO"), + EV_KEY::KEY_DIRECTORY => write!(f, "KEY_DIRECTORY"), + EV_KEY::KEY_LIST => write!(f, "KEY_LIST"), + EV_KEY::KEY_MEMO => write!(f, "KEY_MEMO"), + EV_KEY::KEY_CALENDAR => write!(f, "KEY_CALENDAR"), + EV_KEY::KEY_RED => write!(f, "KEY_RED"), + EV_KEY::KEY_GREEN => write!(f, "KEY_GREEN"), + EV_KEY::KEY_YELLOW => write!(f, "KEY_YELLOW"), + EV_KEY::KEY_BLUE => write!(f, "KEY_BLUE"), + EV_KEY::KEY_CHANNELUP => write!(f, "KEY_CHANNELUP"), + EV_KEY::KEY_CHANNELDOWN => write!(f, "KEY_CHANNELDOWN"), + EV_KEY::KEY_FIRST => write!(f, "KEY_FIRST"), + EV_KEY::KEY_LAST => write!(f, "KEY_LAST"), + EV_KEY::KEY_AB => write!(f, "KEY_AB"), + EV_KEY::KEY_NEXT => write!(f, "KEY_NEXT"), + EV_KEY::KEY_RESTART => write!(f, "KEY_RESTART"), + EV_KEY::KEY_SLOW => write!(f, "KEY_SLOW"), + EV_KEY::KEY_SHUFFLE => write!(f, "KEY_SHUFFLE"), + EV_KEY::KEY_BREAK => write!(f, "KEY_BREAK"), + EV_KEY::KEY_PREVIOUS => write!(f, "KEY_PREVIOUS"), + EV_KEY::KEY_DIGITS => write!(f, "KEY_DIGITS"), + EV_KEY::KEY_TEEN => write!(f, "KEY_TEEN"), + EV_KEY::KEY_TWEN => write!(f, "KEY_TWEN"), + EV_KEY::KEY_VIDEOPHONE => write!(f, "KEY_VIDEOPHONE"), + EV_KEY::KEY_GAMES => write!(f, "KEY_GAMES"), + EV_KEY::KEY_ZOOMIN => write!(f, "KEY_ZOOMIN"), + EV_KEY::KEY_ZOOMOUT => write!(f, "KEY_ZOOMOUT"), + EV_KEY::KEY_ZOOMRESET => write!(f, "KEY_ZOOMRESET"), + EV_KEY::KEY_WORDPROCESSOR => write!(f, "KEY_WORDPROCESSOR"), + EV_KEY::KEY_EDITOR => write!(f, "KEY_EDITOR"), + EV_KEY::KEY_SPREADSHEET => write!(f, "KEY_SPREADSHEET"), + EV_KEY::KEY_GRAPHICSEDITOR => write!(f, "KEY_GRAPHICSEDITOR"), + EV_KEY::KEY_PRESENTATION => write!(f, "KEY_PRESENTATION"), + EV_KEY::KEY_DATABASE => write!(f, "KEY_DATABASE"), + EV_KEY::KEY_NEWS => write!(f, "KEY_NEWS"), + EV_KEY::KEY_VOICEMAIL => write!(f, "KEY_VOICEMAIL"), + EV_KEY::KEY_ADDRESSBOOK => write!(f, "KEY_ADDRESSBOOK"), + EV_KEY::KEY_MESSENGER => write!(f, "KEY_MESSENGER"), + EV_KEY::KEY_DISPLAYTOGGLE => write!(f, "KEY_DISPLAYTOGGLE"), + EV_KEY::KEY_SPELLCHECK => write!(f, "KEY_SPELLCHECK"), + EV_KEY::KEY_LOGOFF => write!(f, "KEY_LOGOFF"), + EV_KEY::KEY_DOLLAR => write!(f, "KEY_DOLLAR"), + EV_KEY::KEY_EURO => write!(f, "KEY_EURO"), + EV_KEY::KEY_FRAMEBACK => write!(f, "KEY_FRAMEBACK"), + EV_KEY::KEY_FRAMEFORWARD => write!(f, "KEY_FRAMEFORWARD"), + EV_KEY::KEY_CONTEXT_MENU => write!(f, "KEY_CONTEXT_MENU"), + EV_KEY::KEY_MEDIA_REPEAT => write!(f, "KEY_MEDIA_REPEAT"), + EV_KEY::KEY_10CHANNELSUP => write!(f, "KEY_10CHANNELSUP"), + EV_KEY::KEY_10CHANNELSDOWN => write!(f, "KEY_10CHANNELSDOWN"), + EV_KEY::KEY_IMAGES => write!(f, "KEY_IMAGES"), + EV_KEY::KEY_NOTIFICATION_CENTER => write!(f, "KEY_NOTIFICATION_CENTER"), + EV_KEY::KEY_PICKUP_PHONE => write!(f, "KEY_PICKUP_PHONE"), + EV_KEY::KEY_HANGUP_PHONE => write!(f, "KEY_HANGUP_PHONE"), + EV_KEY::KEY_DEL_EOL => write!(f, "KEY_DEL_EOL"), + EV_KEY::KEY_DEL_EOS => write!(f, "KEY_DEL_EOS"), + EV_KEY::KEY_INS_LINE => write!(f, "KEY_INS_LINE"), + EV_KEY::KEY_DEL_LINE => write!(f, "KEY_DEL_LINE"), + EV_KEY::KEY_FN => write!(f, "KEY_FN"), + EV_KEY::KEY_FN_ESC => write!(f, "KEY_FN_ESC"), + EV_KEY::KEY_FN_F1 => write!(f, "KEY_FN_F1"), + EV_KEY::KEY_FN_F2 => write!(f, "KEY_FN_F2"), + EV_KEY::KEY_FN_F3 => write!(f, "KEY_FN_F3"), + EV_KEY::KEY_FN_F4 => write!(f, "KEY_FN_F4"), + EV_KEY::KEY_FN_F5 => write!(f, "KEY_FN_F5"), + EV_KEY::KEY_FN_F6 => write!(f, "KEY_FN_F6"), + EV_KEY::KEY_FN_F7 => write!(f, "KEY_FN_F7"), + EV_KEY::KEY_FN_F8 => write!(f, "KEY_FN_F8"), + EV_KEY::KEY_FN_F9 => write!(f, "KEY_FN_F9"), + EV_KEY::KEY_FN_F10 => write!(f, "KEY_FN_F10"), + EV_KEY::KEY_FN_F11 => write!(f, "KEY_FN_F11"), + EV_KEY::KEY_FN_F12 => write!(f, "KEY_FN_F12"), + EV_KEY::KEY_FN_1 => write!(f, "KEY_FN_1"), + EV_KEY::KEY_FN_2 => write!(f, "KEY_FN_2"), + EV_KEY::KEY_FN_D => write!(f, "KEY_FN_D"), + EV_KEY::KEY_FN_E => write!(f, "KEY_FN_E"), + EV_KEY::KEY_FN_F => write!(f, "KEY_FN_F"), + EV_KEY::KEY_FN_S => write!(f, "KEY_FN_S"), + EV_KEY::KEY_FN_B => write!(f, "KEY_FN_B"), + EV_KEY::KEY_FN_RIGHT_SHIFT => write!(f, "KEY_FN_RIGHT_SHIFT"), + EV_KEY::KEY_BRL_DOT1 => write!(f, "KEY_BRL_DOT1"), + EV_KEY::KEY_BRL_DOT2 => write!(f, "KEY_BRL_DOT2"), + EV_KEY::KEY_BRL_DOT3 => write!(f, "KEY_BRL_DOT3"), + EV_KEY::KEY_BRL_DOT4 => write!(f, "KEY_BRL_DOT4"), + EV_KEY::KEY_BRL_DOT5 => write!(f, "KEY_BRL_DOT5"), + EV_KEY::KEY_BRL_DOT6 => write!(f, "KEY_BRL_DOT6"), + EV_KEY::KEY_BRL_DOT7 => write!(f, "KEY_BRL_DOT7"), + EV_KEY::KEY_BRL_DOT8 => write!(f, "KEY_BRL_DOT8"), + EV_KEY::KEY_BRL_DOT9 => write!(f, "KEY_BRL_DOT9"), + EV_KEY::KEY_BRL_DOT10 => write!(f, "KEY_BRL_DOT10"), + EV_KEY::KEY_NUMERIC_0 => write!(f, "KEY_NUMERIC_0"), + EV_KEY::KEY_NUMERIC_1 => write!(f, "KEY_NUMERIC_1"), + EV_KEY::KEY_NUMERIC_2 => write!(f, "KEY_NUMERIC_2"), + EV_KEY::KEY_NUMERIC_3 => write!(f, "KEY_NUMERIC_3"), + EV_KEY::KEY_NUMERIC_4 => write!(f, "KEY_NUMERIC_4"), + EV_KEY::KEY_NUMERIC_5 => write!(f, "KEY_NUMERIC_5"), + EV_KEY::KEY_NUMERIC_6 => write!(f, "KEY_NUMERIC_6"), + EV_KEY::KEY_NUMERIC_7 => write!(f, "KEY_NUMERIC_7"), + EV_KEY::KEY_NUMERIC_8 => write!(f, "KEY_NUMERIC_8"), + EV_KEY::KEY_NUMERIC_9 => write!(f, "KEY_NUMERIC_9"), + EV_KEY::KEY_NUMERIC_STAR => write!(f, "KEY_NUMERIC_STAR"), + EV_KEY::KEY_NUMERIC_POUND => write!(f, "KEY_NUMERIC_POUND"), + EV_KEY::KEY_NUMERIC_A => write!(f, "KEY_NUMERIC_A"), + EV_KEY::KEY_NUMERIC_B => write!(f, "KEY_NUMERIC_B"), + EV_KEY::KEY_NUMERIC_C => write!(f, "KEY_NUMERIC_C"), + EV_KEY::KEY_NUMERIC_D => write!(f, "KEY_NUMERIC_D"), + EV_KEY::KEY_CAMERA_FOCUS => write!(f, "KEY_CAMERA_FOCUS"), + EV_KEY::KEY_WPS_BUTTON => write!(f, "KEY_WPS_BUTTON"), + EV_KEY::KEY_TOUCHPAD_TOGGLE => write!(f, "KEY_TOUCHPAD_TOGGLE"), + EV_KEY::KEY_TOUCHPAD_ON => write!(f, "KEY_TOUCHPAD_ON"), + EV_KEY::KEY_TOUCHPAD_OFF => write!(f, "KEY_TOUCHPAD_OFF"), + EV_KEY::KEY_CAMERA_ZOOMIN => write!(f, "KEY_CAMERA_ZOOMIN"), + EV_KEY::KEY_CAMERA_ZOOMOUT => write!(f, "KEY_CAMERA_ZOOMOUT"), + EV_KEY::KEY_CAMERA_UP => write!(f, "KEY_CAMERA_UP"), + EV_KEY::KEY_CAMERA_DOWN => write!(f, "KEY_CAMERA_DOWN"), + EV_KEY::KEY_CAMERA_LEFT => write!(f, "KEY_CAMERA_LEFT"), + EV_KEY::KEY_CAMERA_RIGHT => write!(f, "KEY_CAMERA_RIGHT"), + EV_KEY::KEY_ATTENDANT_ON => write!(f, "KEY_ATTENDANT_ON"), + EV_KEY::KEY_ATTENDANT_OFF => write!(f, "KEY_ATTENDANT_OFF"), + EV_KEY::KEY_ATTENDANT_TOGGLE => write!(f, "KEY_ATTENDANT_TOGGLE"), + EV_KEY::KEY_LIGHTS_TOGGLE => write!(f, "KEY_LIGHTS_TOGGLE"), + EV_KEY::KEY_ALS_TOGGLE => write!(f, "KEY_ALS_TOGGLE"), + EV_KEY::KEY_ROTATE_LOCK_TOGGLE => write!(f, "KEY_ROTATE_LOCK_TOGGLE"), + EV_KEY::KEY_BUTTONCONFIG => write!(f, "KEY_BUTTONCONFIG"), + EV_KEY::KEY_TASKMANAGER => write!(f, "KEY_TASKMANAGER"), + EV_KEY::KEY_JOURNAL => write!(f, "KEY_JOURNAL"), + EV_KEY::KEY_CONTROLPANEL => write!(f, "KEY_CONTROLPANEL"), + EV_KEY::KEY_APPSELECT => write!(f, "KEY_APPSELECT"), + EV_KEY::KEY_SCREENSAVER => write!(f, "KEY_SCREENSAVER"), + EV_KEY::KEY_VOICECOMMAND => write!(f, "KEY_VOICECOMMAND"), + EV_KEY::KEY_ASSISTANT => write!(f, "KEY_ASSISTANT"), + EV_KEY::KEY_KBD_LAYOUT_NEXT => write!(f, "KEY_KBD_LAYOUT_NEXT"), + EV_KEY::KEY_EMOJI_PICKER => write!(f, "KEY_EMOJI_PICKER"), + EV_KEY::KEY_DICTATE => write!(f, "KEY_DICTATE"), + EV_KEY::KEY_CAMERA_ACCESS_ENABLE => write!(f, "KEY_CAMERA_ACCESS_ENABLE"), + EV_KEY::KEY_CAMERA_ACCESS_DISABLE => write!(f, "KEY_CAMERA_ACCESS_DISABLE"), + EV_KEY::KEY_CAMERA_ACCESS_TOGGLE => write!(f, "KEY_CAMERA_ACCESS_TOGGLE"), + EV_KEY::KEY_BRIGHTNESS_MIN => write!(f, "KEY_BRIGHTNESS_MIN"), + EV_KEY::KEY_BRIGHTNESS_MAX => write!(f, "KEY_BRIGHTNESS_MAX"), + EV_KEY::KEY_KBDINPUTASSIST_PREV => write!(f, "KEY_KBDINPUTASSIST_PREV"), + EV_KEY::KEY_KBDINPUTASSIST_NEXT => write!(f, "KEY_KBDINPUTASSIST_NEXT"), + EV_KEY::KEY_KBDINPUTASSIST_PREVGROUP => write!(f, "KEY_KBDINPUTASSIST_PREVGROUP"), + EV_KEY::KEY_KBDINPUTASSIST_NEXTGROUP => write!(f, "KEY_KBDINPUTASSIST_NEXTGROUP"), + EV_KEY::KEY_KBDINPUTASSIST_ACCEPT => write!(f, "KEY_KBDINPUTASSIST_ACCEPT"), + EV_KEY::KEY_KBDINPUTASSIST_CANCEL => write!(f, "KEY_KBDINPUTASSIST_CANCEL"), + EV_KEY::KEY_RIGHT_UP => write!(f, "KEY_RIGHT_UP"), + EV_KEY::KEY_RIGHT_DOWN => write!(f, "KEY_RIGHT_DOWN"), + EV_KEY::KEY_LEFT_UP => write!(f, "KEY_LEFT_UP"), + EV_KEY::KEY_LEFT_DOWN => write!(f, "KEY_LEFT_DOWN"), + EV_KEY::KEY_ROOT_MENU => write!(f, "KEY_ROOT_MENU"), + EV_KEY::KEY_MEDIA_TOP_MENU => write!(f, "KEY_MEDIA_TOP_MENU"), + EV_KEY::KEY_NUMERIC_11 => write!(f, "KEY_NUMERIC_11"), + EV_KEY::KEY_NUMERIC_12 => write!(f, "KEY_NUMERIC_12"), + EV_KEY::KEY_AUDIO_DESC => write!(f, "KEY_AUDIO_DESC"), + EV_KEY::KEY_3D_MODE => write!(f, "KEY_3D_MODE"), + EV_KEY::KEY_NEXT_FAVORITE => write!(f, "KEY_NEXT_FAVORITE"), + EV_KEY::KEY_STOP_RECORD => write!(f, "KEY_STOP_RECORD"), + EV_KEY::KEY_PAUSE_RECORD => write!(f, "KEY_PAUSE_RECORD"), + EV_KEY::KEY_VOD => write!(f, "KEY_VOD"), + EV_KEY::KEY_UNMUTE => write!(f, "KEY_UNMUTE"), + EV_KEY::KEY_FASTREVERSE => write!(f, "KEY_FASTREVERSE"), + EV_KEY::KEY_SLOWREVERSE => write!(f, "KEY_SLOWREVERSE"), + EV_KEY::KEY_DATA => write!(f, "KEY_DATA"), + EV_KEY::KEY_ONSCREEN_KEYBOARD => write!(f, "KEY_ONSCREEN_KEYBOARD"), + EV_KEY::KEY_PRIVACY_SCREEN_TOGGLE => write!(f, "KEY_PRIVACY_SCREEN_TOGGLE"), + EV_KEY::KEY_SELECTIVE_SCREENSHOT => write!(f, "KEY_SELECTIVE_SCREENSHOT"), + EV_KEY::KEY_NEXT_ELEMENT => write!(f, "KEY_NEXT_ELEMENT"), + EV_KEY::KEY_PREVIOUS_ELEMENT => write!(f, "KEY_PREVIOUS_ELEMENT"), + EV_KEY::KEY_AUTOPILOT_ENGAGE_TOGGLE => write!(f, "KEY_AUTOPILOT_ENGAGE_TOGGLE"), + EV_KEY::KEY_MARK_WAYPOINT => write!(f, "KEY_MARK_WAYPOINT"), + EV_KEY::KEY_SOS => write!(f, "KEY_SOS"), + EV_KEY::KEY_NAV_CHART => write!(f, "KEY_NAV_CHART"), + EV_KEY::KEY_FISHING_CHART => write!(f, "KEY_FISHING_CHART"), + EV_KEY::KEY_SINGLE_RANGE_RADAR => write!(f, "KEY_SINGLE_RANGE_RADAR"), + EV_KEY::KEY_DUAL_RANGE_RADAR => write!(f, "KEY_DUAL_RANGE_RADAR"), + EV_KEY::KEY_RADAR_OVERLAY => write!(f, "KEY_RADAR_OVERLAY"), + EV_KEY::KEY_TRADITIONAL_SONAR => write!(f, "KEY_TRADITIONAL_SONAR"), + EV_KEY::KEY_CLEARVU_SONAR => write!(f, "KEY_CLEARVU_SONAR"), + EV_KEY::KEY_SIDEVU_SONAR => write!(f, "KEY_SIDEVU_SONAR"), + EV_KEY::KEY_NAV_INFO => write!(f, "KEY_NAV_INFO"), + EV_KEY::KEY_BRIGHTNESS_MENU => write!(f, "KEY_BRIGHTNESS_MENU"), + EV_KEY::KEY_MACRO1 => write!(f, "KEY_MACRO1"), + EV_KEY::KEY_MACRO2 => write!(f, "KEY_MACRO2"), + EV_KEY::KEY_MACRO3 => write!(f, "KEY_MACRO3"), + EV_KEY::KEY_MACRO4 => write!(f, "KEY_MACRO4"), + EV_KEY::KEY_MACRO5 => write!(f, "KEY_MACRO5"), + EV_KEY::KEY_MACRO6 => write!(f, "KEY_MACRO6"), + EV_KEY::KEY_MACRO7 => write!(f, "KEY_MACRO7"), + EV_KEY::KEY_MACRO8 => write!(f, "KEY_MACRO8"), + EV_KEY::KEY_MACRO9 => write!(f, "KEY_MACRO9"), + EV_KEY::KEY_MACRO10 => write!(f, "KEY_MACRO10"), + EV_KEY::KEY_MACRO11 => write!(f, "KEY_MACRO11"), + EV_KEY::KEY_MACRO12 => write!(f, "KEY_MACRO12"), + EV_KEY::KEY_MACRO13 => write!(f, "KEY_MACRO13"), + EV_KEY::KEY_MACRO14 => write!(f, "KEY_MACRO14"), + EV_KEY::KEY_MACRO15 => write!(f, "KEY_MACRO15"), + EV_KEY::KEY_MACRO16 => write!(f, "KEY_MACRO16"), + EV_KEY::KEY_MACRO17 => write!(f, "KEY_MACRO17"), + EV_KEY::KEY_MACRO18 => write!(f, "KEY_MACRO18"), + EV_KEY::KEY_MACRO19 => write!(f, "KEY_MACRO19"), + EV_KEY::KEY_MACRO20 => write!(f, "KEY_MACRO20"), + EV_KEY::KEY_MACRO21 => write!(f, "KEY_MACRO21"), + EV_KEY::KEY_MACRO22 => write!(f, "KEY_MACRO22"), + EV_KEY::KEY_MACRO23 => write!(f, "KEY_MACRO23"), + EV_KEY::KEY_MACRO24 => write!(f, "KEY_MACRO24"), + EV_KEY::KEY_MACRO25 => write!(f, "KEY_MACRO25"), + EV_KEY::KEY_MACRO26 => write!(f, "KEY_MACRO26"), + EV_KEY::KEY_MACRO27 => write!(f, "KEY_MACRO27"), + EV_KEY::KEY_MACRO28 => write!(f, "KEY_MACRO28"), + EV_KEY::KEY_MACRO29 => write!(f, "KEY_MACRO29"), + EV_KEY::KEY_MACRO30 => write!(f, "KEY_MACRO30"), + EV_KEY::KEY_MACRO_RECORD_START => write!(f, "KEY_MACRO_RECORD_START"), + EV_KEY::KEY_MACRO_RECORD_STOP => write!(f, "KEY_MACRO_RECORD_STOP"), + EV_KEY::KEY_MACRO_PRESET_CYCLE => write!(f, "KEY_MACRO_PRESET_CYCLE"), + EV_KEY::KEY_MACRO_PRESET1 => write!(f, "KEY_MACRO_PRESET1"), + EV_KEY::KEY_MACRO_PRESET2 => write!(f, "KEY_MACRO_PRESET2"), + EV_KEY::KEY_MACRO_PRESET3 => write!(f, "KEY_MACRO_PRESET3"), + EV_KEY::KEY_KBD_LCD_MENU1 => write!(f, "KEY_KBD_LCD_MENU1"), + EV_KEY::KEY_KBD_LCD_MENU2 => write!(f, "KEY_KBD_LCD_MENU2"), + EV_KEY::KEY_KBD_LCD_MENU3 => write!(f, "KEY_KBD_LCD_MENU3"), + EV_KEY::KEY_KBD_LCD_MENU4 => write!(f, "KEY_KBD_LCD_MENU4"), + EV_KEY::KEY_KBD_LCD_MENU5 => write!(f, "KEY_KBD_LCD_MENU5"), + EV_KEY::KEY_MAX => write!(f, "KEY_MAX"), + EV_KEY::BTN_0 => write!(f, "BTN_0"), + EV_KEY::BTN_1 => write!(f, "BTN_1"), + EV_KEY::BTN_2 => write!(f, "BTN_2"), + EV_KEY::BTN_3 => write!(f, "BTN_3"), + EV_KEY::BTN_4 => write!(f, "BTN_4"), + EV_KEY::BTN_5 => write!(f, "BTN_5"), + EV_KEY::BTN_6 => write!(f, "BTN_6"), + EV_KEY::BTN_7 => write!(f, "BTN_7"), + EV_KEY::BTN_8 => write!(f, "BTN_8"), + EV_KEY::BTN_9 => write!(f, "BTN_9"), + EV_KEY::BTN_LEFT => write!(f, "BTN_LEFT"), + EV_KEY::BTN_RIGHT => write!(f, "BTN_RIGHT"), + EV_KEY::BTN_MIDDLE => write!(f, "BTN_MIDDLE"), + EV_KEY::BTN_SIDE => write!(f, "BTN_SIDE"), + EV_KEY::BTN_EXTRA => write!(f, "BTN_EXTRA"), + EV_KEY::BTN_FORWARD => write!(f, "BTN_FORWARD"), + EV_KEY::BTN_BACK => write!(f, "BTN_BACK"), + EV_KEY::BTN_TASK => write!(f, "BTN_TASK"), + EV_KEY::BTN_TRIGGER => write!(f, "BTN_TRIGGER"), + EV_KEY::BTN_THUMB => write!(f, "BTN_THUMB"), + EV_KEY::BTN_THUMB2 => write!(f, "BTN_THUMB2"), + EV_KEY::BTN_TOP => write!(f, "BTN_TOP"), + EV_KEY::BTN_TOP2 => write!(f, "BTN_TOP2"), + EV_KEY::BTN_PINKIE => write!(f, "BTN_PINKIE"), + EV_KEY::BTN_BASE => write!(f, "BTN_BASE"), + EV_KEY::BTN_BASE2 => write!(f, "BTN_BASE2"), + EV_KEY::BTN_BASE3 => write!(f, "BTN_BASE3"), + EV_KEY::BTN_BASE4 => write!(f, "BTN_BASE4"), + EV_KEY::BTN_BASE5 => write!(f, "BTN_BASE5"), + EV_KEY::BTN_BASE6 => write!(f, "BTN_BASE6"), + EV_KEY::BTN_DEAD => write!(f, "BTN_DEAD"), + EV_KEY::BTN_SOUTH => write!(f, "BTN_SOUTH"), + EV_KEY::BTN_EAST => write!(f, "BTN_EAST"), + EV_KEY::BTN_C => write!(f, "BTN_C"), + EV_KEY::BTN_NORTH => write!(f, "BTN_NORTH"), + EV_KEY::BTN_WEST => write!(f, "BTN_WEST"), + EV_KEY::BTN_Z => write!(f, "BTN_Z"), + EV_KEY::BTN_TL => write!(f, "BTN_TL"), + EV_KEY::BTN_TR => write!(f, "BTN_TR"), + EV_KEY::BTN_TL2 => write!(f, "BTN_TL2"), + EV_KEY::BTN_TR2 => write!(f, "BTN_TR2"), + EV_KEY::BTN_SELECT => write!(f, "BTN_SELECT"), + EV_KEY::BTN_START => write!(f, "BTN_START"), + EV_KEY::BTN_MODE => write!(f, "BTN_MODE"), + EV_KEY::BTN_THUMBL => write!(f, "BTN_THUMBL"), + EV_KEY::BTN_THUMBR => write!(f, "BTN_THUMBR"), + EV_KEY::BTN_TOOL_PEN => write!(f, "BTN_TOOL_PEN"), + EV_KEY::BTN_TOOL_RUBBER => write!(f, "BTN_TOOL_RUBBER"), + EV_KEY::BTN_TOOL_BRUSH => write!(f, "BTN_TOOL_BRUSH"), + EV_KEY::BTN_TOOL_PENCIL => write!(f, "BTN_TOOL_PENCIL"), + EV_KEY::BTN_TOOL_AIRBRUSH => write!(f, "BTN_TOOL_AIRBRUSH"), + EV_KEY::BTN_TOOL_FINGER => write!(f, "BTN_TOOL_FINGER"), + EV_KEY::BTN_TOOL_MOUSE => write!(f, "BTN_TOOL_MOUSE"), + EV_KEY::BTN_TOOL_LENS => write!(f, "BTN_TOOL_LENS"), + EV_KEY::BTN_TOOL_QUINTTAP => write!(f, "BTN_TOOL_QUINTTAP"), + EV_KEY::BTN_STYLUS3 => write!(f, "BTN_STYLUS3"), + EV_KEY::BTN_TOUCH => write!(f, "BTN_TOUCH"), + EV_KEY::BTN_STYLUS => write!(f, "BTN_STYLUS"), + EV_KEY::BTN_STYLUS2 => write!(f, "BTN_STYLUS2"), + EV_KEY::BTN_TOOL_DOUBLETAP => write!(f, "BTN_TOOL_DOUBLETAP"), + EV_KEY::BTN_TOOL_TRIPLETAP => write!(f, "BTN_TOOL_TRIPLETAP"), + EV_KEY::BTN_TOOL_QUADTAP => write!(f, "BTN_TOOL_QUADTAP"), + EV_KEY::BTN_GEAR_DOWN => write!(f, "BTN_GEAR_DOWN"), + EV_KEY::BTN_GEAR_UP => write!(f, "BTN_GEAR_UP"), + EV_KEY::BTN_DPAD_UP => write!(f, "BTN_DPAD_UP"), + EV_KEY::BTN_DPAD_DOWN => write!(f, "BTN_DPAD_DOWN"), + EV_KEY::BTN_DPAD_LEFT => write!(f, "BTN_DPAD_LEFT"), + EV_KEY::BTN_DPAD_RIGHT => write!(f, "BTN_DPAD_RIGHT"), + EV_KEY::BTN_TRIGGER_HAPPY1 => write!(f, "BTN_TRIGGER_HAPPY1"), + EV_KEY::BTN_TRIGGER_HAPPY2 => write!(f, "BTN_TRIGGER_HAPPY2"), + EV_KEY::BTN_TRIGGER_HAPPY3 => write!(f, "BTN_TRIGGER_HAPPY3"), + EV_KEY::BTN_TRIGGER_HAPPY4 => write!(f, "BTN_TRIGGER_HAPPY4"), + EV_KEY::BTN_TRIGGER_HAPPY5 => write!(f, "BTN_TRIGGER_HAPPY5"), + EV_KEY::BTN_TRIGGER_HAPPY6 => write!(f, "BTN_TRIGGER_HAPPY6"), + EV_KEY::BTN_TRIGGER_HAPPY7 => write!(f, "BTN_TRIGGER_HAPPY7"), + EV_KEY::BTN_TRIGGER_HAPPY8 => write!(f, "BTN_TRIGGER_HAPPY8"), + EV_KEY::BTN_TRIGGER_HAPPY9 => write!(f, "BTN_TRIGGER_HAPPY9"), + EV_KEY::BTN_TRIGGER_HAPPY10 => write!(f, "BTN_TRIGGER_HAPPY10"), + EV_KEY::BTN_TRIGGER_HAPPY11 => write!(f, "BTN_TRIGGER_HAPPY11"), + EV_KEY::BTN_TRIGGER_HAPPY12 => write!(f, "BTN_TRIGGER_HAPPY12"), + EV_KEY::BTN_TRIGGER_HAPPY13 => write!(f, "BTN_TRIGGER_HAPPY13"), + EV_KEY::BTN_TRIGGER_HAPPY14 => write!(f, "BTN_TRIGGER_HAPPY14"), + EV_KEY::BTN_TRIGGER_HAPPY15 => write!(f, "BTN_TRIGGER_HAPPY15"), + EV_KEY::BTN_TRIGGER_HAPPY16 => write!(f, "BTN_TRIGGER_HAPPY16"), + EV_KEY::BTN_TRIGGER_HAPPY17 => write!(f, "BTN_TRIGGER_HAPPY17"), + EV_KEY::BTN_TRIGGER_HAPPY18 => write!(f, "BTN_TRIGGER_HAPPY18"), + EV_KEY::BTN_TRIGGER_HAPPY19 => write!(f, "BTN_TRIGGER_HAPPY19"), + EV_KEY::BTN_TRIGGER_HAPPY20 => write!(f, "BTN_TRIGGER_HAPPY20"), + EV_KEY::BTN_TRIGGER_HAPPY21 => write!(f, "BTN_TRIGGER_HAPPY21"), + EV_KEY::BTN_TRIGGER_HAPPY22 => write!(f, "BTN_TRIGGER_HAPPY22"), + EV_KEY::BTN_TRIGGER_HAPPY23 => write!(f, "BTN_TRIGGER_HAPPY23"), + EV_KEY::BTN_TRIGGER_HAPPY24 => write!(f, "BTN_TRIGGER_HAPPY24"), + EV_KEY::BTN_TRIGGER_HAPPY25 => write!(f, "BTN_TRIGGER_HAPPY25"), + EV_KEY::BTN_TRIGGER_HAPPY26 => write!(f, "BTN_TRIGGER_HAPPY26"), + EV_KEY::BTN_TRIGGER_HAPPY27 => write!(f, "BTN_TRIGGER_HAPPY27"), + EV_KEY::BTN_TRIGGER_HAPPY28 => write!(f, "BTN_TRIGGER_HAPPY28"), + EV_KEY::BTN_TRIGGER_HAPPY29 => write!(f, "BTN_TRIGGER_HAPPY29"), + EV_KEY::BTN_TRIGGER_HAPPY30 => write!(f, "BTN_TRIGGER_HAPPY30"), + EV_KEY::BTN_TRIGGER_HAPPY31 => write!(f, "BTN_TRIGGER_HAPPY31"), + EV_KEY::BTN_TRIGGER_HAPPY32 => write!(f, "BTN_TRIGGER_HAPPY32"), + EV_KEY::BTN_TRIGGER_HAPPY33 => write!(f, "BTN_TRIGGER_HAPPY33"), + EV_KEY::BTN_TRIGGER_HAPPY34 => write!(f, "BTN_TRIGGER_HAPPY34"), + EV_KEY::BTN_TRIGGER_HAPPY35 => write!(f, "BTN_TRIGGER_HAPPY35"), + EV_KEY::BTN_TRIGGER_HAPPY36 => write!(f, "BTN_TRIGGER_HAPPY36"), + EV_KEY::BTN_TRIGGER_HAPPY37 => write!(f, "BTN_TRIGGER_HAPPY37"), + EV_KEY::BTN_TRIGGER_HAPPY38 => write!(f, "BTN_TRIGGER_HAPPY38"), + EV_KEY::BTN_TRIGGER_HAPPY39 => write!(f, "BTN_TRIGGER_HAPPY39"), + EV_KEY::BTN_TRIGGER_HAPPY40 => write!(f, "BTN_TRIGGER_HAPPY40"), + _ => Err(()), + } + } +} #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2221,6 +2934,25 @@ impl std::str::FromStr for EV_LED { } } +impl std::fmt::Display for EV_LED { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + EV_LED::LED_NUML => write!(f, "LED_NUML"), + EV_LED::LED_CAPSL => write!(f, "LED_CAPSL"), + EV_LED::LED_SCROLLL => write!(f, "LED_SCROLLL"), + EV_LED::LED_COMPOSE => write!(f, "LED_COMPOSE"), + EV_LED::LED_KANA => write!(f, "LED_KANA"), + EV_LED::LED_SLEEP => write!(f, "LED_SLEEP"), + EV_LED::LED_SUSPEND => write!(f, "LED_SUSPEND"), + EV_LED::LED_MUTE => write!(f, "LED_MUTE"), + EV_LED::LED_MISC => write!(f, "LED_MISC"), + EV_LED::LED_MAIL => write!(f, "LED_MAIL"), + EV_LED::LED_CHARGING => write!(f, "LED_CHARGING"), + EV_LED::LED_MAX => write!(f, "LED_MAX"), + _ => Err(()), + } + } +} #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2254,6 +2986,17 @@ impl std::str::FromStr for EV_SND { } } +impl std::fmt::Display for EV_SND { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + EV_SND::SND_CLICK => write!(f, "SND_CLICK"), + EV_SND::SND_BELL => write!(f, "SND_BELL"), + EV_SND::SND_TONE => write!(f, "SND_TONE"), + EV_SND::SND_MAX => write!(f, "SND_MAX"), + _ => Err(()), + } + } +} #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2296,6 +3039,20 @@ impl std::str::FromStr for EV_MSC { } } +impl std::fmt::Display for EV_MSC { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + EV_MSC::MSC_SERIAL => write!(f, "MSC_SERIAL"), + EV_MSC::MSC_PULSELED => write!(f, "MSC_PULSELED"), + EV_MSC::MSC_GESTURE => write!(f, "MSC_GESTURE"), + EV_MSC::MSC_RAW => write!(f, "MSC_RAW"), + EV_MSC::MSC_SCAN => write!(f, "MSC_SCAN"), + EV_MSC::MSC_TIMESTAMP => write!(f, "MSC_TIMESTAMP"), + EV_MSC::MSC_MAX => write!(f, "MSC_MAX"), + _ => Err(()), + } + } +} #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2372,6 +3129,30 @@ impl std::str::FromStr for EV_SW { } } +impl std::fmt::Display for EV_SW { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + EV_SW::SW_LID => write!(f, "SW_LID"), + EV_SW::SW_TABLET_MODE => write!(f, "SW_TABLET_MODE"), + EV_SW::SW_HEADPHONE_INSERT => write!(f, "SW_HEADPHONE_INSERT"), + EV_SW::SW_RFKILL_ALL => write!(f, "SW_RFKILL_ALL"), + EV_SW::SW_MICROPHONE_INSERT => write!(f, "SW_MICROPHONE_INSERT"), + EV_SW::SW_DOCK => write!(f, "SW_DOCK"), + EV_SW::SW_LINEOUT_INSERT => write!(f, "SW_LINEOUT_INSERT"), + EV_SW::SW_JACK_PHYSICAL_INSERT => write!(f, "SW_JACK_PHYSICAL_INSERT"), + EV_SW::SW_VIDEOOUT_INSERT => write!(f, "SW_VIDEOOUT_INSERT"), + EV_SW::SW_CAMERA_LENS_COVER => write!(f, "SW_CAMERA_LENS_COVER"), + EV_SW::SW_KEYPAD_SLIDE => write!(f, "SW_KEYPAD_SLIDE"), + EV_SW::SW_FRONT_PROXIMITY => write!(f, "SW_FRONT_PROXIMITY"), + EV_SW::SW_ROTATE_LOCK => write!(f, "SW_ROTATE_LOCK"), + EV_SW::SW_LINEIN_INSERT => write!(f, "SW_LINEIN_INSERT"), + EV_SW::SW_MUTE_DEVICE => write!(f, "SW_MUTE_DEVICE"), + EV_SW::SW_PEN_INSERTED => write!(f, "SW_PEN_INSERTED"), + EV_SW::SW_MACHINE_COVER => write!(f, "SW_MACHINE_COVER"), + _ => Err(()), + } + } +} #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2408,6 +3189,18 @@ impl std::str::FromStr for EV_SYN { } } +impl std::fmt::Display for EV_SYN { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + EV_SYN::SYN_REPORT => write!(f, "SYN_REPORT"), + EV_SYN::SYN_CONFIG => write!(f, "SYN_CONFIG"), + EV_SYN::SYN_MT_REPORT => write!(f, "SYN_MT_REPORT"), + EV_SYN::SYN_DROPPED => write!(f, "SYN_DROPPED"), + EV_SYN::SYN_MAX => write!(f, "SYN_MAX"), + _ => Err(()), + } + } +} #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2439,6 +3232,15 @@ impl std::str::FromStr for EV_REP { } } +impl std::fmt::Display for EV_REP { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + EV_REP::REP_DELAY => write!(f, "REP_DELAY"), + EV_REP::REP_PERIOD => write!(f, "REP_PERIOD"), + _ => Err(()), + } + } +} #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2484,6 +3286,21 @@ impl std::str::FromStr for InputProp { } } +impl std::fmt::Display for InputProp { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + InputProp::INPUT_PROP_POINTER => write!(f, "INPUT_PROP_POINTER"), + InputProp::INPUT_PROP_DIRECT => write!(f, "INPUT_PROP_DIRECT"), + InputProp::INPUT_PROP_BUTTONPAD => write!(f, "INPUT_PROP_BUTTONPAD"), + InputProp::INPUT_PROP_SEMI_MT => write!(f, "INPUT_PROP_SEMI_MT"), + InputProp::INPUT_PROP_TOPBUTTONPAD => write!(f, "INPUT_PROP_TOPBUTTONPAD"), + InputProp::INPUT_PROP_POINTING_STICK => write!(f, "INPUT_PROP_POINTING_STICK"), + InputProp::INPUT_PROP_ACCELEROMETER => write!(f, "INPUT_PROP_ACCELEROMETER"), + InputProp::INPUT_PROP_MAX => write!(f, "INPUT_PROP_MAX"), + _ => Err(()), + } + } +} #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2566,6 +3383,32 @@ impl std::str::FromStr for EV_FF { } } +impl std::fmt::Display for EV_FF { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + EV_FF::FF_STATUS_STOPPED => write!(f, "FF_STATUS_STOPPED"), + EV_FF::FF_STATUS_PLAYING => write!(f, "FF_STATUS_PLAYING"), + EV_FF::FF_RUMBLE => write!(f, "FF_RUMBLE"), + EV_FF::FF_PERIODIC => write!(f, "FF_PERIODIC"), + EV_FF::FF_CONSTANT => write!(f, "FF_CONSTANT"), + EV_FF::FF_SPRING => write!(f, "FF_SPRING"), + EV_FF::FF_FRICTION => write!(f, "FF_FRICTION"), + EV_FF::FF_DAMPER => write!(f, "FF_DAMPER"), + EV_FF::FF_INERTIA => write!(f, "FF_INERTIA"), + EV_FF::FF_RAMP => write!(f, "FF_RAMP"), + EV_FF::FF_SQUARE => write!(f, "FF_SQUARE"), + EV_FF::FF_TRIANGLE => write!(f, "FF_TRIANGLE"), + EV_FF::FF_SINE => write!(f, "FF_SINE"), + EV_FF::FF_SAW_UP => write!(f, "FF_SAW_UP"), + EV_FF::FF_SAW_DOWN => write!(f, "FF_SAW_DOWN"), + EV_FF::FF_CUSTOM => write!(f, "FF_CUSTOM"), + EV_FF::FF_GAIN => write!(f, "FF_GAIN"), + EV_FF::FF_AUTOCENTER => write!(f, "FF_AUTOCENTER"), + EV_FF::FF_MAX => write!(f, "FF_MAX"), + _ => Err(()), + } + } +} #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2655,3 +3498,33 @@ impl std::str::FromStr for BusType { } } } + +impl std::fmt::Display for BusType { + fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { + match *self { + BusType::BUS_PCI => write!(f, "BUS_PCI"), + BusType::BUS_ISAPNP => write!(f, "BUS_ISAPNP"), + BusType::BUS_USB => write!(f, "BUS_USB"), + BusType::BUS_HIL => write!(f, "BUS_HIL"), + BusType::BUS_BLUETOOTH => write!(f, "BUS_BLUETOOTH"), + BusType::BUS_VIRTUAL => write!(f, "BUS_VIRTUAL"), + BusType::BUS_ISA => write!(f, "BUS_ISA"), + BusType::BUS_I8042 => write!(f, "BUS_I8042"), + BusType::BUS_XTKBD => write!(f, "BUS_XTKBD"), + BusType::BUS_RS232 => write!(f, "BUS_RS232"), + BusType::BUS_GAMEPORT => write!(f, "BUS_GAMEPORT"), + BusType::BUS_PARPORT => write!(f, "BUS_PARPORT"), + BusType::BUS_AMIGA => write!(f, "BUS_AMIGA"), + BusType::BUS_ADB => write!(f, "BUS_ADB"), + BusType::BUS_I2C => write!(f, "BUS_I2C"), + BusType::BUS_HOST => write!(f, "BUS_HOST"), + BusType::BUS_GSC => write!(f, "BUS_GSC"), + BusType::BUS_ATARI => write!(f, "BUS_ATARI"), + BusType::BUS_SPI => write!(f, "BUS_SPI"), + BusType::BUS_RMI => write!(f, "BUS_RMI"), + BusType::BUS_CEC => write!(f, "BUS_CEC"), + BusType::BUS_INTEL_ISHTP => write!(f, "BUS_INTEL_ISHTP"), + BusType::BUS_AMD_SFH => write!(f, "BUS_AMD_SFH"), + _ => Err(()), + } + } diff --git a/tools/make-event-names.py b/tools/make-event-names.py index 4c4a20e1..d2ef9afb 100755 --- a/tools/make-event-names.py +++ b/tools/make-event-names.py @@ -28,12 +28,10 @@ class Bits(object): "SYN_", "REP_", "INPUT_PROP_", - "BUS_" + "BUS_", ] -prefix_additional = { - "key": ["btn"] -} +prefix_additional = {"key": ["btn"]} blacklist = [ "EV_VERSION", @@ -69,8 +67,8 @@ class Bits(object): def convert(name): - s1 = re.sub('(.)([A-Z][a-z]+)', r'\1_\2', name) - return re.sub('([a-z0-9])([A-Z])', r'\1_\2', s1).lower() + s1 = re.sub("(.)([A-Z][a-z]+)", r"\1_\2", name) + return re.sub("([a-z0-9])([A-Z])", r"\1_\2", s1).lower() def get_enum_name(prefix): @@ -85,7 +83,6 @@ def get_enum_name(prefix): def print_enums(bits, prefix): - if not hasattr(bits, prefix): return @@ -115,8 +112,10 @@ def print_enums(bits, prefix): print("impl %s {" % enum_name) for orig, names in associated_names: for name in names: - print(" pub const %s: %s = %s::%s;" % - (name, enum_name, enum_name, orig)) + print( + " pub const %s: %s = %s::%s;" + % (name, enum_name, enum_name, orig) + ) print("}") print("") @@ -134,8 +133,10 @@ def print_enums_convert_fn(bits, prefix): if not hasattr(bits, prefix): return - print("pub const fn %s(code: u32) -> Option<%s> {" % - ("int_to_" + convert(fn_name), fn_name)) + print( + "pub const fn %s(code: u32) -> Option<%s> {" + % ("int_to_" + convert(fn_name), fn_name) + ) print(" match code {") for val, names in list(getattr(bits, prefix).items()): # Note(ndesh): We use EV_MAX as proxy to write the UNKnown event @@ -152,26 +153,46 @@ def print_enums_convert_fn(bits, prefix): def print_enums_fromstr(bits, prefix): - if not hasattr(bits, prefix): return enum_name = get_enum_name(prefix) - print('impl std::str::FromStr for %s {' % enum_name) - print(' type Err = ();') - print(' fn from_str(s: &str) -> Result {') - print(' match s {') + print("impl std::str::FromStr for %s {" % enum_name) + print(" type Err = ();") + print(" fn from_str(s: &str) -> Result {") + print(" match s {") for p in (prefix, *prefix_additional.get(prefix, ())): for _val, names in list(getattr(bits, p).items()): name = names[0] print(' "%s" => Ok(%s::%s),' % (name, enum_name, name)) - print(' _ => Err(()),') - print(' }') - print(' }') - print('}') - print('') + print(" _ => Err(()),") + print(" }") + print(" }") + print("}") + print("") + + +def print_enums_fmt(bits, prefix): + if not hasattr(bits, prefix): + return + + enum_name = get_enum_name(prefix) + + print("impl std::fmt::Display for %s {" % enum_name) + print(" fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {") + print(" match *self {") + + for p in (prefix, *prefix_additional.get(prefix, ())): + for _val, names in list(getattr(bits, p).items()): + name = names[0] + print(' %s::%s => write!(f, "%s"),' % (enum_name, name, name)) + + print(" _ => Err(()),") + print(" }") + print(" }") + print("}") def print_event_code(bits, prefix): @@ -183,7 +204,7 @@ def print_event_code(bits, prefix): print("#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]") print("pub enum EventCode {") for val, [name] in list(getattr(bits, prefix).items()): - if name[3:]+"_" in event_names: + if name[3:] + "_" in event_names: print(" %s(%s)," % (name, name)) elif name == "EV_FF_STATUS": print(" EV_FF_STATUS(EV_FF),") @@ -207,6 +228,7 @@ def print_mapping_table(bits): print_enums(bits, prefix[:-1].lower()) print_enums_convert_fn(bits, prefix[:-1].lower()) print_enums_fromstr(bits, prefix[:-1].lower()) + print_enums_fmt(bits, prefix[:-1].lower()) if prefix == "EV_": print_event_code(bits, prefix[:-1].lower()) From e2ebe9a60c432dba1caa2ebef7e12625008e9dfa Mon Sep 17 00:00:00 2001 From: Kimimaru Date: Thu, 9 Jan 2025 16:37:22 +0200 Subject: [PATCH 2/4] Added new line and fixed last implementation being invalid --- src/enums.rs | 13 +++++++++++++ tools/make-event-names.py | 1 + 2 files changed, 14 insertions(+) diff --git a/src/enums.rs b/src/enums.rs index 96886b95..e12e6c20 100644 --- a/src/enums.rs +++ b/src/enums.rs @@ -85,6 +85,7 @@ impl std::fmt::Display for EventType { } } } + #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] @@ -189,6 +190,7 @@ impl std::fmt::Display for EV_REL { } } } + #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -393,6 +395,7 @@ impl std::fmt::Display for EV_ABS { } } } + #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2877,6 +2880,7 @@ impl std::fmt::Display for EV_KEY { } } } + #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2953,6 +2957,7 @@ impl std::fmt::Display for EV_LED { } } } + #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -2997,6 +3002,7 @@ impl std::fmt::Display for EV_SND { } } } + #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -3053,6 +3059,7 @@ impl std::fmt::Display for EV_MSC { } } } + #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -3153,6 +3160,7 @@ impl std::fmt::Display for EV_SW { } } } + #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -3201,6 +3209,7 @@ impl std::fmt::Display for EV_SYN { } } } + #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -3241,6 +3250,7 @@ impl std::fmt::Display for EV_REP { } } } + #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -3301,6 +3311,7 @@ impl std::fmt::Display for InputProp { } } } + #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -3409,6 +3420,7 @@ impl std::fmt::Display for EV_FF { } } } + #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -3528,3 +3540,4 @@ impl std::fmt::Display for BusType { _ => Err(()), } } +} diff --git a/tools/make-event-names.py b/tools/make-event-names.py index d2ef9afb..b5e2be7f 100755 --- a/tools/make-event-names.py +++ b/tools/make-event-names.py @@ -193,6 +193,7 @@ def print_enums_fmt(bits, prefix): print(" }") print(" }") print("}") + print("") def print_event_code(bits, prefix): From aa88ec64f0e183786d46312ab84513f4d30935e2 Mon Sep 17 00:00:00 2001 From: Kimimaru Date: Thu, 9 Jan 2025 16:45:50 +0200 Subject: [PATCH 3/4] Removed error --- src/enums.rs | 13 ------------- tools/make-event-names.py | 1 - 2 files changed, 14 deletions(-) diff --git a/src/enums.rs b/src/enums.rs index e12e6c20..5fcae7a2 100644 --- a/src/enums.rs +++ b/src/enums.rs @@ -81,7 +81,6 @@ impl std::fmt::Display for EventType { EventType::EV_PWR => write!(f, "EV_PWR"), EventType::EV_FF_STATUS => write!(f, "EV_FF_STATUS"), EventType::EV_MAX => write!(f, "EV_MAX"), - _ => Err(()), } } } @@ -186,7 +185,6 @@ impl std::fmt::Display for EV_REL { EV_REL::REL_WHEEL_HI_RES => write!(f, "REL_WHEEL_HI_RES"), EV_REL::REL_HWHEEL_HI_RES => write!(f, "REL_HWHEEL_HI_RES"), EV_REL::REL_MAX => write!(f, "REL_MAX"), - _ => Err(()), } } } @@ -391,7 +389,6 @@ impl std::fmt::Display for EV_ABS { EV_ABS::ABS_MT_TOOL_X => write!(f, "ABS_MT_TOOL_X"), EV_ABS::ABS_MT_TOOL_Y => write!(f, "ABS_MT_TOOL_Y"), EV_ABS::ABS_MAX => write!(f, "ABS_MAX"), - _ => Err(()), } } } @@ -2876,7 +2873,6 @@ impl std::fmt::Display for EV_KEY { EV_KEY::BTN_TRIGGER_HAPPY38 => write!(f, "BTN_TRIGGER_HAPPY38"), EV_KEY::BTN_TRIGGER_HAPPY39 => write!(f, "BTN_TRIGGER_HAPPY39"), EV_KEY::BTN_TRIGGER_HAPPY40 => write!(f, "BTN_TRIGGER_HAPPY40"), - _ => Err(()), } } } @@ -2953,7 +2949,6 @@ impl std::fmt::Display for EV_LED { EV_LED::LED_MAIL => write!(f, "LED_MAIL"), EV_LED::LED_CHARGING => write!(f, "LED_CHARGING"), EV_LED::LED_MAX => write!(f, "LED_MAX"), - _ => Err(()), } } } @@ -2998,7 +2993,6 @@ impl std::fmt::Display for EV_SND { EV_SND::SND_BELL => write!(f, "SND_BELL"), EV_SND::SND_TONE => write!(f, "SND_TONE"), EV_SND::SND_MAX => write!(f, "SND_MAX"), - _ => Err(()), } } } @@ -3055,7 +3049,6 @@ impl std::fmt::Display for EV_MSC { EV_MSC::MSC_SCAN => write!(f, "MSC_SCAN"), EV_MSC::MSC_TIMESTAMP => write!(f, "MSC_TIMESTAMP"), EV_MSC::MSC_MAX => write!(f, "MSC_MAX"), - _ => Err(()), } } } @@ -3156,7 +3149,6 @@ impl std::fmt::Display for EV_SW { EV_SW::SW_MUTE_DEVICE => write!(f, "SW_MUTE_DEVICE"), EV_SW::SW_PEN_INSERTED => write!(f, "SW_PEN_INSERTED"), EV_SW::SW_MACHINE_COVER => write!(f, "SW_MACHINE_COVER"), - _ => Err(()), } } } @@ -3205,7 +3197,6 @@ impl std::fmt::Display for EV_SYN { EV_SYN::SYN_MT_REPORT => write!(f, "SYN_MT_REPORT"), EV_SYN::SYN_DROPPED => write!(f, "SYN_DROPPED"), EV_SYN::SYN_MAX => write!(f, "SYN_MAX"), - _ => Err(()), } } } @@ -3246,7 +3237,6 @@ impl std::fmt::Display for EV_REP { match *self { EV_REP::REP_DELAY => write!(f, "REP_DELAY"), EV_REP::REP_PERIOD => write!(f, "REP_PERIOD"), - _ => Err(()), } } } @@ -3307,7 +3297,6 @@ impl std::fmt::Display for InputProp { InputProp::INPUT_PROP_POINTING_STICK => write!(f, "INPUT_PROP_POINTING_STICK"), InputProp::INPUT_PROP_ACCELEROMETER => write!(f, "INPUT_PROP_ACCELEROMETER"), InputProp::INPUT_PROP_MAX => write!(f, "INPUT_PROP_MAX"), - _ => Err(()), } } } @@ -3416,7 +3405,6 @@ impl std::fmt::Display for EV_FF { EV_FF::FF_GAIN => write!(f, "FF_GAIN"), EV_FF::FF_AUTOCENTER => write!(f, "FF_AUTOCENTER"), EV_FF::FF_MAX => write!(f, "FF_MAX"), - _ => Err(()), } } } @@ -3537,7 +3525,6 @@ impl std::fmt::Display for BusType { BusType::BUS_CEC => write!(f, "BUS_CEC"), BusType::BUS_INTEL_ISHTP => write!(f, "BUS_INTEL_ISHTP"), BusType::BUS_AMD_SFH => write!(f, "BUS_AMD_SFH"), - _ => Err(()), } } } diff --git a/tools/make-event-names.py b/tools/make-event-names.py index b5e2be7f..bb870ac7 100755 --- a/tools/make-event-names.py +++ b/tools/make-event-names.py @@ -189,7 +189,6 @@ def print_enums_fmt(bits, prefix): name = names[0] print(' %s::%s => write!(f, "%s"),' % (enum_name, name, name)) - print(" _ => Err(()),") print(" }") print(" }") print("}") From 1987d8fd4f90434d2145aeee617511476a0ece53 Mon Sep 17 00:00:00 2001 From: Kimimaru Date: Thu, 9 Jan 2025 16:55:54 +0200 Subject: [PATCH 4/4] Simplified Display and blacklisted enums with existing implementations --- src/enums.rs | 829 +------------------------------------- tools/make-event-names.py | 17 +- 2 files changed, 20 insertions(+), 826 deletions(-) diff --git a/src/enums.rs b/src/enums.rs index 5fcae7a2..f940f1ba 100644 --- a/src/enums.rs +++ b/src/enums.rs @@ -65,26 +65,6 @@ impl std::str::FromStr for EventType { } } -impl std::fmt::Display for EventType { - fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - EventType::EV_SYN => write!(f, "EV_SYN"), - EventType::EV_KEY => write!(f, "EV_KEY"), - EventType::EV_REL => write!(f, "EV_REL"), - EventType::EV_ABS => write!(f, "EV_ABS"), - EventType::EV_MSC => write!(f, "EV_MSC"), - EventType::EV_SW => write!(f, "EV_SW"), - EventType::EV_LED => write!(f, "EV_LED"), - EventType::EV_SND => write!(f, "EV_SND"), - EventType::EV_REP => write!(f, "EV_REP"), - EventType::EV_FF => write!(f, "EV_FF"), - EventType::EV_PWR => write!(f, "EV_PWR"), - EventType::EV_FF_STATUS => write!(f, "EV_FF_STATUS"), - EventType::EV_MAX => write!(f, "EV_MAX"), - } - } -} - #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)] @@ -170,22 +150,7 @@ impl std::str::FromStr for EV_REL { impl std::fmt::Display for EV_REL { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - EV_REL::REL_X => write!(f, "REL_X"), - EV_REL::REL_Y => write!(f, "REL_Y"), - EV_REL::REL_Z => write!(f, "REL_Z"), - EV_REL::REL_RX => write!(f, "REL_RX"), - EV_REL::REL_RY => write!(f, "REL_RY"), - EV_REL::REL_RZ => write!(f, "REL_RZ"), - EV_REL::REL_HWHEEL => write!(f, "REL_HWHEEL"), - EV_REL::REL_DIAL => write!(f, "REL_DIAL"), - EV_REL::REL_WHEEL => write!(f, "REL_WHEEL"), - EV_REL::REL_MISC => write!(f, "REL_MISC"), - EV_REL::REL_RESERVED => write!(f, "REL_RESERVED"), - EV_REL::REL_WHEEL_HI_RES => write!(f, "REL_WHEEL_HI_RES"), - EV_REL::REL_HWHEEL_HI_RES => write!(f, "REL_HWHEEL_HI_RES"), - EV_REL::REL_MAX => write!(f, "REL_MAX"), - } + write!(f, "{:?}", self) } } @@ -344,52 +309,7 @@ impl std::str::FromStr for EV_ABS { impl std::fmt::Display for EV_ABS { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - EV_ABS::ABS_X => write!(f, "ABS_X"), - EV_ABS::ABS_Y => write!(f, "ABS_Y"), - EV_ABS::ABS_Z => write!(f, "ABS_Z"), - EV_ABS::ABS_RX => write!(f, "ABS_RX"), - EV_ABS::ABS_RY => write!(f, "ABS_RY"), - EV_ABS::ABS_RZ => write!(f, "ABS_RZ"), - EV_ABS::ABS_THROTTLE => write!(f, "ABS_THROTTLE"), - EV_ABS::ABS_RUDDER => write!(f, "ABS_RUDDER"), - EV_ABS::ABS_WHEEL => write!(f, "ABS_WHEEL"), - EV_ABS::ABS_GAS => write!(f, "ABS_GAS"), - EV_ABS::ABS_BRAKE => write!(f, "ABS_BRAKE"), - EV_ABS::ABS_HAT0X => write!(f, "ABS_HAT0X"), - EV_ABS::ABS_HAT0Y => write!(f, "ABS_HAT0Y"), - EV_ABS::ABS_HAT1X => write!(f, "ABS_HAT1X"), - EV_ABS::ABS_HAT1Y => write!(f, "ABS_HAT1Y"), - EV_ABS::ABS_HAT2X => write!(f, "ABS_HAT2X"), - EV_ABS::ABS_HAT2Y => write!(f, "ABS_HAT2Y"), - EV_ABS::ABS_HAT3X => write!(f, "ABS_HAT3X"), - EV_ABS::ABS_HAT3Y => write!(f, "ABS_HAT3Y"), - EV_ABS::ABS_PRESSURE => write!(f, "ABS_PRESSURE"), - EV_ABS::ABS_DISTANCE => write!(f, "ABS_DISTANCE"), - EV_ABS::ABS_TILT_X => write!(f, "ABS_TILT_X"), - EV_ABS::ABS_TILT_Y => write!(f, "ABS_TILT_Y"), - EV_ABS::ABS_TOOL_WIDTH => write!(f, "ABS_TOOL_WIDTH"), - EV_ABS::ABS_VOLUME => write!(f, "ABS_VOLUME"), - EV_ABS::ABS_PROFILE => write!(f, "ABS_PROFILE"), - EV_ABS::ABS_MISC => write!(f, "ABS_MISC"), - EV_ABS::ABS_RESERVED => write!(f, "ABS_RESERVED"), - EV_ABS::ABS_MT_SLOT => write!(f, "ABS_MT_SLOT"), - EV_ABS::ABS_MT_TOUCH_MAJOR => write!(f, "ABS_MT_TOUCH_MAJOR"), - EV_ABS::ABS_MT_TOUCH_MINOR => write!(f, "ABS_MT_TOUCH_MINOR"), - EV_ABS::ABS_MT_WIDTH_MAJOR => write!(f, "ABS_MT_WIDTH_MAJOR"), - EV_ABS::ABS_MT_WIDTH_MINOR => write!(f, "ABS_MT_WIDTH_MINOR"), - EV_ABS::ABS_MT_ORIENTATION => write!(f, "ABS_MT_ORIENTATION"), - EV_ABS::ABS_MT_POSITION_X => write!(f, "ABS_MT_POSITION_X"), - EV_ABS::ABS_MT_POSITION_Y => write!(f, "ABS_MT_POSITION_Y"), - EV_ABS::ABS_MT_TOOL_TYPE => write!(f, "ABS_MT_TOOL_TYPE"), - EV_ABS::ABS_MT_BLOB_ID => write!(f, "ABS_MT_BLOB_ID"), - EV_ABS::ABS_MT_TRACKING_ID => write!(f, "ABS_MT_TRACKING_ID"), - EV_ABS::ABS_MT_PRESSURE => write!(f, "ABS_MT_PRESSURE"), - EV_ABS::ABS_MT_DISTANCE => write!(f, "ABS_MT_DISTANCE"), - EV_ABS::ABS_MT_TOOL_X => write!(f, "ABS_MT_TOOL_X"), - EV_ABS::ABS_MT_TOOL_Y => write!(f, "ABS_MT_TOOL_Y"), - EV_ABS::ABS_MAX => write!(f, "ABS_MAX"), - } + write!(f, "{:?}", self) } } @@ -2258,622 +2178,7 @@ impl std::str::FromStr for EV_KEY { impl std::fmt::Display for EV_KEY { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - EV_KEY::KEY_RESERVED => write!(f, "KEY_RESERVED"), - EV_KEY::KEY_ESC => write!(f, "KEY_ESC"), - EV_KEY::KEY_1 => write!(f, "KEY_1"), - EV_KEY::KEY_2 => write!(f, "KEY_2"), - EV_KEY::KEY_3 => write!(f, "KEY_3"), - EV_KEY::KEY_4 => write!(f, "KEY_4"), - EV_KEY::KEY_5 => write!(f, "KEY_5"), - EV_KEY::KEY_6 => write!(f, "KEY_6"), - EV_KEY::KEY_7 => write!(f, "KEY_7"), - EV_KEY::KEY_8 => write!(f, "KEY_8"), - EV_KEY::KEY_9 => write!(f, "KEY_9"), - EV_KEY::KEY_0 => write!(f, "KEY_0"), - EV_KEY::KEY_MINUS => write!(f, "KEY_MINUS"), - EV_KEY::KEY_EQUAL => write!(f, "KEY_EQUAL"), - EV_KEY::KEY_BACKSPACE => write!(f, "KEY_BACKSPACE"), - EV_KEY::KEY_TAB => write!(f, "KEY_TAB"), - EV_KEY::KEY_Q => write!(f, "KEY_Q"), - EV_KEY::KEY_W => write!(f, "KEY_W"), - EV_KEY::KEY_E => write!(f, "KEY_E"), - EV_KEY::KEY_R => write!(f, "KEY_R"), - EV_KEY::KEY_T => write!(f, "KEY_T"), - EV_KEY::KEY_Y => write!(f, "KEY_Y"), - EV_KEY::KEY_U => write!(f, "KEY_U"), - EV_KEY::KEY_I => write!(f, "KEY_I"), - EV_KEY::KEY_O => write!(f, "KEY_O"), - EV_KEY::KEY_P => write!(f, "KEY_P"), - EV_KEY::KEY_LEFTBRACE => write!(f, "KEY_LEFTBRACE"), - EV_KEY::KEY_RIGHTBRACE => write!(f, "KEY_RIGHTBRACE"), - EV_KEY::KEY_ENTER => write!(f, "KEY_ENTER"), - EV_KEY::KEY_LEFTCTRL => write!(f, "KEY_LEFTCTRL"), - EV_KEY::KEY_A => write!(f, "KEY_A"), - EV_KEY::KEY_S => write!(f, "KEY_S"), - EV_KEY::KEY_D => write!(f, "KEY_D"), - EV_KEY::KEY_F => write!(f, "KEY_F"), - EV_KEY::KEY_G => write!(f, "KEY_G"), - EV_KEY::KEY_H => write!(f, "KEY_H"), - EV_KEY::KEY_J => write!(f, "KEY_J"), - EV_KEY::KEY_K => write!(f, "KEY_K"), - EV_KEY::KEY_L => write!(f, "KEY_L"), - EV_KEY::KEY_SEMICOLON => write!(f, "KEY_SEMICOLON"), - EV_KEY::KEY_APOSTROPHE => write!(f, "KEY_APOSTROPHE"), - EV_KEY::KEY_GRAVE => write!(f, "KEY_GRAVE"), - EV_KEY::KEY_LEFTSHIFT => write!(f, "KEY_LEFTSHIFT"), - EV_KEY::KEY_BACKSLASH => write!(f, "KEY_BACKSLASH"), - EV_KEY::KEY_Z => write!(f, "KEY_Z"), - EV_KEY::KEY_X => write!(f, "KEY_X"), - EV_KEY::KEY_C => write!(f, "KEY_C"), - EV_KEY::KEY_V => write!(f, "KEY_V"), - EV_KEY::KEY_B => write!(f, "KEY_B"), - EV_KEY::KEY_N => write!(f, "KEY_N"), - EV_KEY::KEY_M => write!(f, "KEY_M"), - EV_KEY::KEY_COMMA => write!(f, "KEY_COMMA"), - EV_KEY::KEY_DOT => write!(f, "KEY_DOT"), - EV_KEY::KEY_SLASH => write!(f, "KEY_SLASH"), - EV_KEY::KEY_RIGHTSHIFT => write!(f, "KEY_RIGHTSHIFT"), - EV_KEY::KEY_KPASTERISK => write!(f, "KEY_KPASTERISK"), - EV_KEY::KEY_LEFTALT => write!(f, "KEY_LEFTALT"), - EV_KEY::KEY_SPACE => write!(f, "KEY_SPACE"), - EV_KEY::KEY_CAPSLOCK => write!(f, "KEY_CAPSLOCK"), - EV_KEY::KEY_F1 => write!(f, "KEY_F1"), - EV_KEY::KEY_F2 => write!(f, "KEY_F2"), - EV_KEY::KEY_F3 => write!(f, "KEY_F3"), - EV_KEY::KEY_F4 => write!(f, "KEY_F4"), - EV_KEY::KEY_F5 => write!(f, "KEY_F5"), - EV_KEY::KEY_F6 => write!(f, "KEY_F6"), - EV_KEY::KEY_F7 => write!(f, "KEY_F7"), - EV_KEY::KEY_F8 => write!(f, "KEY_F8"), - EV_KEY::KEY_F9 => write!(f, "KEY_F9"), - EV_KEY::KEY_F10 => write!(f, "KEY_F10"), - EV_KEY::KEY_NUMLOCK => write!(f, "KEY_NUMLOCK"), - EV_KEY::KEY_SCROLLLOCK => write!(f, "KEY_SCROLLLOCK"), - EV_KEY::KEY_KP7 => write!(f, "KEY_KP7"), - EV_KEY::KEY_KP8 => write!(f, "KEY_KP8"), - EV_KEY::KEY_KP9 => write!(f, "KEY_KP9"), - EV_KEY::KEY_KPMINUS => write!(f, "KEY_KPMINUS"), - EV_KEY::KEY_KP4 => write!(f, "KEY_KP4"), - EV_KEY::KEY_KP5 => write!(f, "KEY_KP5"), - EV_KEY::KEY_KP6 => write!(f, "KEY_KP6"), - EV_KEY::KEY_KPPLUS => write!(f, "KEY_KPPLUS"), - EV_KEY::KEY_KP1 => write!(f, "KEY_KP1"), - EV_KEY::KEY_KP2 => write!(f, "KEY_KP2"), - EV_KEY::KEY_KP3 => write!(f, "KEY_KP3"), - EV_KEY::KEY_KP0 => write!(f, "KEY_KP0"), - EV_KEY::KEY_KPDOT => write!(f, "KEY_KPDOT"), - EV_KEY::KEY_ZENKAKUHANKAKU => write!(f, "KEY_ZENKAKUHANKAKU"), - EV_KEY::KEY_102ND => write!(f, "KEY_102ND"), - EV_KEY::KEY_F11 => write!(f, "KEY_F11"), - EV_KEY::KEY_F12 => write!(f, "KEY_F12"), - EV_KEY::KEY_RO => write!(f, "KEY_RO"), - EV_KEY::KEY_KATAKANA => write!(f, "KEY_KATAKANA"), - EV_KEY::KEY_HIRAGANA => write!(f, "KEY_HIRAGANA"), - EV_KEY::KEY_HENKAN => write!(f, "KEY_HENKAN"), - EV_KEY::KEY_KATAKANAHIRAGANA => write!(f, "KEY_KATAKANAHIRAGANA"), - EV_KEY::KEY_MUHENKAN => write!(f, "KEY_MUHENKAN"), - EV_KEY::KEY_KPJPCOMMA => write!(f, "KEY_KPJPCOMMA"), - EV_KEY::KEY_KPENTER => write!(f, "KEY_KPENTER"), - EV_KEY::KEY_RIGHTCTRL => write!(f, "KEY_RIGHTCTRL"), - EV_KEY::KEY_KPSLASH => write!(f, "KEY_KPSLASH"), - EV_KEY::KEY_SYSRQ => write!(f, "KEY_SYSRQ"), - EV_KEY::KEY_RIGHTALT => write!(f, "KEY_RIGHTALT"), - EV_KEY::KEY_LINEFEED => write!(f, "KEY_LINEFEED"), - EV_KEY::KEY_HOME => write!(f, "KEY_HOME"), - EV_KEY::KEY_UP => write!(f, "KEY_UP"), - EV_KEY::KEY_PAGEUP => write!(f, "KEY_PAGEUP"), - EV_KEY::KEY_LEFT => write!(f, "KEY_LEFT"), - EV_KEY::KEY_RIGHT => write!(f, "KEY_RIGHT"), - EV_KEY::KEY_END => write!(f, "KEY_END"), - EV_KEY::KEY_DOWN => write!(f, "KEY_DOWN"), - EV_KEY::KEY_PAGEDOWN => write!(f, "KEY_PAGEDOWN"), - EV_KEY::KEY_INSERT => write!(f, "KEY_INSERT"), - EV_KEY::KEY_DELETE => write!(f, "KEY_DELETE"), - EV_KEY::KEY_MACRO => write!(f, "KEY_MACRO"), - EV_KEY::KEY_MUTE => write!(f, "KEY_MUTE"), - EV_KEY::KEY_VOLUMEDOWN => write!(f, "KEY_VOLUMEDOWN"), - EV_KEY::KEY_VOLUMEUP => write!(f, "KEY_VOLUMEUP"), - EV_KEY::KEY_POWER => write!(f, "KEY_POWER"), - EV_KEY::KEY_KPEQUAL => write!(f, "KEY_KPEQUAL"), - EV_KEY::KEY_KPPLUSMINUS => write!(f, "KEY_KPPLUSMINUS"), - EV_KEY::KEY_PAUSE => write!(f, "KEY_PAUSE"), - EV_KEY::KEY_SCALE => write!(f, "KEY_SCALE"), - EV_KEY::KEY_KPCOMMA => write!(f, "KEY_KPCOMMA"), - EV_KEY::KEY_HANGEUL => write!(f, "KEY_HANGEUL"), - EV_KEY::KEY_HANJA => write!(f, "KEY_HANJA"), - EV_KEY::KEY_YEN => write!(f, "KEY_YEN"), - EV_KEY::KEY_LEFTMETA => write!(f, "KEY_LEFTMETA"), - EV_KEY::KEY_RIGHTMETA => write!(f, "KEY_RIGHTMETA"), - EV_KEY::KEY_COMPOSE => write!(f, "KEY_COMPOSE"), - EV_KEY::KEY_STOP => write!(f, "KEY_STOP"), - EV_KEY::KEY_AGAIN => write!(f, "KEY_AGAIN"), - EV_KEY::KEY_PROPS => write!(f, "KEY_PROPS"), - EV_KEY::KEY_UNDO => write!(f, "KEY_UNDO"), - EV_KEY::KEY_FRONT => write!(f, "KEY_FRONT"), - EV_KEY::KEY_COPY => write!(f, "KEY_COPY"), - EV_KEY::KEY_OPEN => write!(f, "KEY_OPEN"), - EV_KEY::KEY_PASTE => write!(f, "KEY_PASTE"), - EV_KEY::KEY_FIND => write!(f, "KEY_FIND"), - EV_KEY::KEY_CUT => write!(f, "KEY_CUT"), - EV_KEY::KEY_HELP => write!(f, "KEY_HELP"), - EV_KEY::KEY_MENU => write!(f, "KEY_MENU"), - EV_KEY::KEY_CALC => write!(f, "KEY_CALC"), - EV_KEY::KEY_SETUP => write!(f, "KEY_SETUP"), - EV_KEY::KEY_SLEEP => write!(f, "KEY_SLEEP"), - EV_KEY::KEY_WAKEUP => write!(f, "KEY_WAKEUP"), - EV_KEY::KEY_FILE => write!(f, "KEY_FILE"), - EV_KEY::KEY_SENDFILE => write!(f, "KEY_SENDFILE"), - EV_KEY::KEY_DELETEFILE => write!(f, "KEY_DELETEFILE"), - EV_KEY::KEY_XFER => write!(f, "KEY_XFER"), - EV_KEY::KEY_PROG1 => write!(f, "KEY_PROG1"), - EV_KEY::KEY_PROG2 => write!(f, "KEY_PROG2"), - EV_KEY::KEY_WWW => write!(f, "KEY_WWW"), - EV_KEY::KEY_MSDOS => write!(f, "KEY_MSDOS"), - EV_KEY::KEY_COFFEE => write!(f, "KEY_COFFEE"), - EV_KEY::KEY_ROTATE_DISPLAY => write!(f, "KEY_ROTATE_DISPLAY"), - EV_KEY::KEY_CYCLEWINDOWS => write!(f, "KEY_CYCLEWINDOWS"), - EV_KEY::KEY_MAIL => write!(f, "KEY_MAIL"), - EV_KEY::KEY_BOOKMARKS => write!(f, "KEY_BOOKMARKS"), - EV_KEY::KEY_COMPUTER => write!(f, "KEY_COMPUTER"), - EV_KEY::KEY_BACK => write!(f, "KEY_BACK"), - EV_KEY::KEY_FORWARD => write!(f, "KEY_FORWARD"), - EV_KEY::KEY_CLOSECD => write!(f, "KEY_CLOSECD"), - EV_KEY::KEY_EJECTCD => write!(f, "KEY_EJECTCD"), - EV_KEY::KEY_EJECTCLOSECD => write!(f, "KEY_EJECTCLOSECD"), - EV_KEY::KEY_NEXTSONG => write!(f, "KEY_NEXTSONG"), - EV_KEY::KEY_PLAYPAUSE => write!(f, "KEY_PLAYPAUSE"), - EV_KEY::KEY_PREVIOUSSONG => write!(f, "KEY_PREVIOUSSONG"), - EV_KEY::KEY_STOPCD => write!(f, "KEY_STOPCD"), - EV_KEY::KEY_RECORD => write!(f, "KEY_RECORD"), - EV_KEY::KEY_REWIND => write!(f, "KEY_REWIND"), - EV_KEY::KEY_PHONE => write!(f, "KEY_PHONE"), - EV_KEY::KEY_ISO => write!(f, "KEY_ISO"), - EV_KEY::KEY_CONFIG => write!(f, "KEY_CONFIG"), - EV_KEY::KEY_HOMEPAGE => write!(f, "KEY_HOMEPAGE"), - EV_KEY::KEY_REFRESH => write!(f, "KEY_REFRESH"), - EV_KEY::KEY_EXIT => write!(f, "KEY_EXIT"), - EV_KEY::KEY_MOVE => write!(f, "KEY_MOVE"), - EV_KEY::KEY_EDIT => write!(f, "KEY_EDIT"), - EV_KEY::KEY_SCROLLUP => write!(f, "KEY_SCROLLUP"), - EV_KEY::KEY_SCROLLDOWN => write!(f, "KEY_SCROLLDOWN"), - EV_KEY::KEY_KPLEFTPAREN => write!(f, "KEY_KPLEFTPAREN"), - EV_KEY::KEY_KPRIGHTPAREN => write!(f, "KEY_KPRIGHTPAREN"), - EV_KEY::KEY_NEW => write!(f, "KEY_NEW"), - EV_KEY::KEY_REDO => write!(f, "KEY_REDO"), - EV_KEY::KEY_F13 => write!(f, "KEY_F13"), - EV_KEY::KEY_F14 => write!(f, "KEY_F14"), - EV_KEY::KEY_F15 => write!(f, "KEY_F15"), - EV_KEY::KEY_F16 => write!(f, "KEY_F16"), - EV_KEY::KEY_F17 => write!(f, "KEY_F17"), - EV_KEY::KEY_F18 => write!(f, "KEY_F18"), - EV_KEY::KEY_F19 => write!(f, "KEY_F19"), - EV_KEY::KEY_F20 => write!(f, "KEY_F20"), - EV_KEY::KEY_F21 => write!(f, "KEY_F21"), - EV_KEY::KEY_F22 => write!(f, "KEY_F22"), - EV_KEY::KEY_F23 => write!(f, "KEY_F23"), - EV_KEY::KEY_F24 => write!(f, "KEY_F24"), - EV_KEY::KEY_PLAYCD => write!(f, "KEY_PLAYCD"), - EV_KEY::KEY_PAUSECD => write!(f, "KEY_PAUSECD"), - EV_KEY::KEY_PROG3 => write!(f, "KEY_PROG3"), - EV_KEY::KEY_PROG4 => write!(f, "KEY_PROG4"), - EV_KEY::KEY_ALL_APPLICATIONS => write!(f, "KEY_ALL_APPLICATIONS"), - EV_KEY::KEY_SUSPEND => write!(f, "KEY_SUSPEND"), - EV_KEY::KEY_CLOSE => write!(f, "KEY_CLOSE"), - EV_KEY::KEY_PLAY => write!(f, "KEY_PLAY"), - EV_KEY::KEY_FASTFORWARD => write!(f, "KEY_FASTFORWARD"), - EV_KEY::KEY_BASSBOOST => write!(f, "KEY_BASSBOOST"), - EV_KEY::KEY_PRINT => write!(f, "KEY_PRINT"), - EV_KEY::KEY_HP => write!(f, "KEY_HP"), - EV_KEY::KEY_CAMERA => write!(f, "KEY_CAMERA"), - EV_KEY::KEY_SOUND => write!(f, "KEY_SOUND"), - EV_KEY::KEY_QUESTION => write!(f, "KEY_QUESTION"), - EV_KEY::KEY_EMAIL => write!(f, "KEY_EMAIL"), - EV_KEY::KEY_CHAT => write!(f, "KEY_CHAT"), - EV_KEY::KEY_SEARCH => write!(f, "KEY_SEARCH"), - EV_KEY::KEY_CONNECT => write!(f, "KEY_CONNECT"), - EV_KEY::KEY_FINANCE => write!(f, "KEY_FINANCE"), - EV_KEY::KEY_SPORT => write!(f, "KEY_SPORT"), - EV_KEY::KEY_SHOP => write!(f, "KEY_SHOP"), - EV_KEY::KEY_ALTERASE => write!(f, "KEY_ALTERASE"), - EV_KEY::KEY_CANCEL => write!(f, "KEY_CANCEL"), - EV_KEY::KEY_BRIGHTNESSDOWN => write!(f, "KEY_BRIGHTNESSDOWN"), - EV_KEY::KEY_BRIGHTNESSUP => write!(f, "KEY_BRIGHTNESSUP"), - EV_KEY::KEY_MEDIA => write!(f, "KEY_MEDIA"), - EV_KEY::KEY_SWITCHVIDEOMODE => write!(f, "KEY_SWITCHVIDEOMODE"), - EV_KEY::KEY_KBDILLUMTOGGLE => write!(f, "KEY_KBDILLUMTOGGLE"), - EV_KEY::KEY_KBDILLUMDOWN => write!(f, "KEY_KBDILLUMDOWN"), - EV_KEY::KEY_KBDILLUMUP => write!(f, "KEY_KBDILLUMUP"), - EV_KEY::KEY_SEND => write!(f, "KEY_SEND"), - EV_KEY::KEY_REPLY => write!(f, "KEY_REPLY"), - EV_KEY::KEY_FORWARDMAIL => write!(f, "KEY_FORWARDMAIL"), - EV_KEY::KEY_SAVE => write!(f, "KEY_SAVE"), - EV_KEY::KEY_DOCUMENTS => write!(f, "KEY_DOCUMENTS"), - EV_KEY::KEY_BATTERY => write!(f, "KEY_BATTERY"), - EV_KEY::KEY_BLUETOOTH => write!(f, "KEY_BLUETOOTH"), - EV_KEY::KEY_WLAN => write!(f, "KEY_WLAN"), - EV_KEY::KEY_UWB => write!(f, "KEY_UWB"), - EV_KEY::KEY_UNKNOWN => write!(f, "KEY_UNKNOWN"), - EV_KEY::KEY_VIDEO_NEXT => write!(f, "KEY_VIDEO_NEXT"), - EV_KEY::KEY_VIDEO_PREV => write!(f, "KEY_VIDEO_PREV"), - EV_KEY::KEY_BRIGHTNESS_CYCLE => write!(f, "KEY_BRIGHTNESS_CYCLE"), - EV_KEY::KEY_BRIGHTNESS_AUTO => write!(f, "KEY_BRIGHTNESS_AUTO"), - EV_KEY::KEY_DISPLAY_OFF => write!(f, "KEY_DISPLAY_OFF"), - EV_KEY::KEY_WWAN => write!(f, "KEY_WWAN"), - EV_KEY::KEY_RFKILL => write!(f, "KEY_RFKILL"), - EV_KEY::KEY_MICMUTE => write!(f, "KEY_MICMUTE"), - EV_KEY::KEY_OK => write!(f, "KEY_OK"), - EV_KEY::KEY_SELECT => write!(f, "KEY_SELECT"), - EV_KEY::KEY_GOTO => write!(f, "KEY_GOTO"), - EV_KEY::KEY_CLEAR => write!(f, "KEY_CLEAR"), - EV_KEY::KEY_POWER2 => write!(f, "KEY_POWER2"), - EV_KEY::KEY_OPTION => write!(f, "KEY_OPTION"), - EV_KEY::KEY_INFO => write!(f, "KEY_INFO"), - EV_KEY::KEY_TIME => write!(f, "KEY_TIME"), - EV_KEY::KEY_VENDOR => write!(f, "KEY_VENDOR"), - EV_KEY::KEY_ARCHIVE => write!(f, "KEY_ARCHIVE"), - EV_KEY::KEY_PROGRAM => write!(f, "KEY_PROGRAM"), - EV_KEY::KEY_CHANNEL => write!(f, "KEY_CHANNEL"), - EV_KEY::KEY_FAVORITES => write!(f, "KEY_FAVORITES"), - EV_KEY::KEY_EPG => write!(f, "KEY_EPG"), - EV_KEY::KEY_PVR => write!(f, "KEY_PVR"), - EV_KEY::KEY_MHP => write!(f, "KEY_MHP"), - EV_KEY::KEY_LANGUAGE => write!(f, "KEY_LANGUAGE"), - EV_KEY::KEY_TITLE => write!(f, "KEY_TITLE"), - EV_KEY::KEY_SUBTITLE => write!(f, "KEY_SUBTITLE"), - EV_KEY::KEY_ANGLE => write!(f, "KEY_ANGLE"), - EV_KEY::KEY_FULL_SCREEN => write!(f, "KEY_FULL_SCREEN"), - EV_KEY::KEY_MODE => write!(f, "KEY_MODE"), - EV_KEY::KEY_KEYBOARD => write!(f, "KEY_KEYBOARD"), - EV_KEY::KEY_ASPECT_RATIO => write!(f, "KEY_ASPECT_RATIO"), - EV_KEY::KEY_PC => write!(f, "KEY_PC"), - EV_KEY::KEY_TV => write!(f, "KEY_TV"), - EV_KEY::KEY_TV2 => write!(f, "KEY_TV2"), - EV_KEY::KEY_VCR => write!(f, "KEY_VCR"), - EV_KEY::KEY_VCR2 => write!(f, "KEY_VCR2"), - EV_KEY::KEY_SAT => write!(f, "KEY_SAT"), - EV_KEY::KEY_SAT2 => write!(f, "KEY_SAT2"), - EV_KEY::KEY_CD => write!(f, "KEY_CD"), - EV_KEY::KEY_TAPE => write!(f, "KEY_TAPE"), - EV_KEY::KEY_RADIO => write!(f, "KEY_RADIO"), - EV_KEY::KEY_TUNER => write!(f, "KEY_TUNER"), - EV_KEY::KEY_PLAYER => write!(f, "KEY_PLAYER"), - EV_KEY::KEY_TEXT => write!(f, "KEY_TEXT"), - EV_KEY::KEY_DVD => write!(f, "KEY_DVD"), - EV_KEY::KEY_AUX => write!(f, "KEY_AUX"), - EV_KEY::KEY_MP3 => write!(f, "KEY_MP3"), - EV_KEY::KEY_AUDIO => write!(f, "KEY_AUDIO"), - EV_KEY::KEY_VIDEO => write!(f, "KEY_VIDEO"), - EV_KEY::KEY_DIRECTORY => write!(f, "KEY_DIRECTORY"), - EV_KEY::KEY_LIST => write!(f, "KEY_LIST"), - EV_KEY::KEY_MEMO => write!(f, "KEY_MEMO"), - EV_KEY::KEY_CALENDAR => write!(f, "KEY_CALENDAR"), - EV_KEY::KEY_RED => write!(f, "KEY_RED"), - EV_KEY::KEY_GREEN => write!(f, "KEY_GREEN"), - EV_KEY::KEY_YELLOW => write!(f, "KEY_YELLOW"), - EV_KEY::KEY_BLUE => write!(f, "KEY_BLUE"), - EV_KEY::KEY_CHANNELUP => write!(f, "KEY_CHANNELUP"), - EV_KEY::KEY_CHANNELDOWN => write!(f, "KEY_CHANNELDOWN"), - EV_KEY::KEY_FIRST => write!(f, "KEY_FIRST"), - EV_KEY::KEY_LAST => write!(f, "KEY_LAST"), - EV_KEY::KEY_AB => write!(f, "KEY_AB"), - EV_KEY::KEY_NEXT => write!(f, "KEY_NEXT"), - EV_KEY::KEY_RESTART => write!(f, "KEY_RESTART"), - EV_KEY::KEY_SLOW => write!(f, "KEY_SLOW"), - EV_KEY::KEY_SHUFFLE => write!(f, "KEY_SHUFFLE"), - EV_KEY::KEY_BREAK => write!(f, "KEY_BREAK"), - EV_KEY::KEY_PREVIOUS => write!(f, "KEY_PREVIOUS"), - EV_KEY::KEY_DIGITS => write!(f, "KEY_DIGITS"), - EV_KEY::KEY_TEEN => write!(f, "KEY_TEEN"), - EV_KEY::KEY_TWEN => write!(f, "KEY_TWEN"), - EV_KEY::KEY_VIDEOPHONE => write!(f, "KEY_VIDEOPHONE"), - EV_KEY::KEY_GAMES => write!(f, "KEY_GAMES"), - EV_KEY::KEY_ZOOMIN => write!(f, "KEY_ZOOMIN"), - EV_KEY::KEY_ZOOMOUT => write!(f, "KEY_ZOOMOUT"), - EV_KEY::KEY_ZOOMRESET => write!(f, "KEY_ZOOMRESET"), - EV_KEY::KEY_WORDPROCESSOR => write!(f, "KEY_WORDPROCESSOR"), - EV_KEY::KEY_EDITOR => write!(f, "KEY_EDITOR"), - EV_KEY::KEY_SPREADSHEET => write!(f, "KEY_SPREADSHEET"), - EV_KEY::KEY_GRAPHICSEDITOR => write!(f, "KEY_GRAPHICSEDITOR"), - EV_KEY::KEY_PRESENTATION => write!(f, "KEY_PRESENTATION"), - EV_KEY::KEY_DATABASE => write!(f, "KEY_DATABASE"), - EV_KEY::KEY_NEWS => write!(f, "KEY_NEWS"), - EV_KEY::KEY_VOICEMAIL => write!(f, "KEY_VOICEMAIL"), - EV_KEY::KEY_ADDRESSBOOK => write!(f, "KEY_ADDRESSBOOK"), - EV_KEY::KEY_MESSENGER => write!(f, "KEY_MESSENGER"), - EV_KEY::KEY_DISPLAYTOGGLE => write!(f, "KEY_DISPLAYTOGGLE"), - EV_KEY::KEY_SPELLCHECK => write!(f, "KEY_SPELLCHECK"), - EV_KEY::KEY_LOGOFF => write!(f, "KEY_LOGOFF"), - EV_KEY::KEY_DOLLAR => write!(f, "KEY_DOLLAR"), - EV_KEY::KEY_EURO => write!(f, "KEY_EURO"), - EV_KEY::KEY_FRAMEBACK => write!(f, "KEY_FRAMEBACK"), - EV_KEY::KEY_FRAMEFORWARD => write!(f, "KEY_FRAMEFORWARD"), - EV_KEY::KEY_CONTEXT_MENU => write!(f, "KEY_CONTEXT_MENU"), - EV_KEY::KEY_MEDIA_REPEAT => write!(f, "KEY_MEDIA_REPEAT"), - EV_KEY::KEY_10CHANNELSUP => write!(f, "KEY_10CHANNELSUP"), - EV_KEY::KEY_10CHANNELSDOWN => write!(f, "KEY_10CHANNELSDOWN"), - EV_KEY::KEY_IMAGES => write!(f, "KEY_IMAGES"), - EV_KEY::KEY_NOTIFICATION_CENTER => write!(f, "KEY_NOTIFICATION_CENTER"), - EV_KEY::KEY_PICKUP_PHONE => write!(f, "KEY_PICKUP_PHONE"), - EV_KEY::KEY_HANGUP_PHONE => write!(f, "KEY_HANGUP_PHONE"), - EV_KEY::KEY_DEL_EOL => write!(f, "KEY_DEL_EOL"), - EV_KEY::KEY_DEL_EOS => write!(f, "KEY_DEL_EOS"), - EV_KEY::KEY_INS_LINE => write!(f, "KEY_INS_LINE"), - EV_KEY::KEY_DEL_LINE => write!(f, "KEY_DEL_LINE"), - EV_KEY::KEY_FN => write!(f, "KEY_FN"), - EV_KEY::KEY_FN_ESC => write!(f, "KEY_FN_ESC"), - EV_KEY::KEY_FN_F1 => write!(f, "KEY_FN_F1"), - EV_KEY::KEY_FN_F2 => write!(f, "KEY_FN_F2"), - EV_KEY::KEY_FN_F3 => write!(f, "KEY_FN_F3"), - EV_KEY::KEY_FN_F4 => write!(f, "KEY_FN_F4"), - EV_KEY::KEY_FN_F5 => write!(f, "KEY_FN_F5"), - EV_KEY::KEY_FN_F6 => write!(f, "KEY_FN_F6"), - EV_KEY::KEY_FN_F7 => write!(f, "KEY_FN_F7"), - EV_KEY::KEY_FN_F8 => write!(f, "KEY_FN_F8"), - EV_KEY::KEY_FN_F9 => write!(f, "KEY_FN_F9"), - EV_KEY::KEY_FN_F10 => write!(f, "KEY_FN_F10"), - EV_KEY::KEY_FN_F11 => write!(f, "KEY_FN_F11"), - EV_KEY::KEY_FN_F12 => write!(f, "KEY_FN_F12"), - EV_KEY::KEY_FN_1 => write!(f, "KEY_FN_1"), - EV_KEY::KEY_FN_2 => write!(f, "KEY_FN_2"), - EV_KEY::KEY_FN_D => write!(f, "KEY_FN_D"), - EV_KEY::KEY_FN_E => write!(f, "KEY_FN_E"), - EV_KEY::KEY_FN_F => write!(f, "KEY_FN_F"), - EV_KEY::KEY_FN_S => write!(f, "KEY_FN_S"), - EV_KEY::KEY_FN_B => write!(f, "KEY_FN_B"), - EV_KEY::KEY_FN_RIGHT_SHIFT => write!(f, "KEY_FN_RIGHT_SHIFT"), - EV_KEY::KEY_BRL_DOT1 => write!(f, "KEY_BRL_DOT1"), - EV_KEY::KEY_BRL_DOT2 => write!(f, "KEY_BRL_DOT2"), - EV_KEY::KEY_BRL_DOT3 => write!(f, "KEY_BRL_DOT3"), - EV_KEY::KEY_BRL_DOT4 => write!(f, "KEY_BRL_DOT4"), - EV_KEY::KEY_BRL_DOT5 => write!(f, "KEY_BRL_DOT5"), - EV_KEY::KEY_BRL_DOT6 => write!(f, "KEY_BRL_DOT6"), - EV_KEY::KEY_BRL_DOT7 => write!(f, "KEY_BRL_DOT7"), - EV_KEY::KEY_BRL_DOT8 => write!(f, "KEY_BRL_DOT8"), - EV_KEY::KEY_BRL_DOT9 => write!(f, "KEY_BRL_DOT9"), - EV_KEY::KEY_BRL_DOT10 => write!(f, "KEY_BRL_DOT10"), - EV_KEY::KEY_NUMERIC_0 => write!(f, "KEY_NUMERIC_0"), - EV_KEY::KEY_NUMERIC_1 => write!(f, "KEY_NUMERIC_1"), - EV_KEY::KEY_NUMERIC_2 => write!(f, "KEY_NUMERIC_2"), - EV_KEY::KEY_NUMERIC_3 => write!(f, "KEY_NUMERIC_3"), - EV_KEY::KEY_NUMERIC_4 => write!(f, "KEY_NUMERIC_4"), - EV_KEY::KEY_NUMERIC_5 => write!(f, "KEY_NUMERIC_5"), - EV_KEY::KEY_NUMERIC_6 => write!(f, "KEY_NUMERIC_6"), - EV_KEY::KEY_NUMERIC_7 => write!(f, "KEY_NUMERIC_7"), - EV_KEY::KEY_NUMERIC_8 => write!(f, "KEY_NUMERIC_8"), - EV_KEY::KEY_NUMERIC_9 => write!(f, "KEY_NUMERIC_9"), - EV_KEY::KEY_NUMERIC_STAR => write!(f, "KEY_NUMERIC_STAR"), - EV_KEY::KEY_NUMERIC_POUND => write!(f, "KEY_NUMERIC_POUND"), - EV_KEY::KEY_NUMERIC_A => write!(f, "KEY_NUMERIC_A"), - EV_KEY::KEY_NUMERIC_B => write!(f, "KEY_NUMERIC_B"), - EV_KEY::KEY_NUMERIC_C => write!(f, "KEY_NUMERIC_C"), - EV_KEY::KEY_NUMERIC_D => write!(f, "KEY_NUMERIC_D"), - EV_KEY::KEY_CAMERA_FOCUS => write!(f, "KEY_CAMERA_FOCUS"), - EV_KEY::KEY_WPS_BUTTON => write!(f, "KEY_WPS_BUTTON"), - EV_KEY::KEY_TOUCHPAD_TOGGLE => write!(f, "KEY_TOUCHPAD_TOGGLE"), - EV_KEY::KEY_TOUCHPAD_ON => write!(f, "KEY_TOUCHPAD_ON"), - EV_KEY::KEY_TOUCHPAD_OFF => write!(f, "KEY_TOUCHPAD_OFF"), - EV_KEY::KEY_CAMERA_ZOOMIN => write!(f, "KEY_CAMERA_ZOOMIN"), - EV_KEY::KEY_CAMERA_ZOOMOUT => write!(f, "KEY_CAMERA_ZOOMOUT"), - EV_KEY::KEY_CAMERA_UP => write!(f, "KEY_CAMERA_UP"), - EV_KEY::KEY_CAMERA_DOWN => write!(f, "KEY_CAMERA_DOWN"), - EV_KEY::KEY_CAMERA_LEFT => write!(f, "KEY_CAMERA_LEFT"), - EV_KEY::KEY_CAMERA_RIGHT => write!(f, "KEY_CAMERA_RIGHT"), - EV_KEY::KEY_ATTENDANT_ON => write!(f, "KEY_ATTENDANT_ON"), - EV_KEY::KEY_ATTENDANT_OFF => write!(f, "KEY_ATTENDANT_OFF"), - EV_KEY::KEY_ATTENDANT_TOGGLE => write!(f, "KEY_ATTENDANT_TOGGLE"), - EV_KEY::KEY_LIGHTS_TOGGLE => write!(f, "KEY_LIGHTS_TOGGLE"), - EV_KEY::KEY_ALS_TOGGLE => write!(f, "KEY_ALS_TOGGLE"), - EV_KEY::KEY_ROTATE_LOCK_TOGGLE => write!(f, "KEY_ROTATE_LOCK_TOGGLE"), - EV_KEY::KEY_BUTTONCONFIG => write!(f, "KEY_BUTTONCONFIG"), - EV_KEY::KEY_TASKMANAGER => write!(f, "KEY_TASKMANAGER"), - EV_KEY::KEY_JOURNAL => write!(f, "KEY_JOURNAL"), - EV_KEY::KEY_CONTROLPANEL => write!(f, "KEY_CONTROLPANEL"), - EV_KEY::KEY_APPSELECT => write!(f, "KEY_APPSELECT"), - EV_KEY::KEY_SCREENSAVER => write!(f, "KEY_SCREENSAVER"), - EV_KEY::KEY_VOICECOMMAND => write!(f, "KEY_VOICECOMMAND"), - EV_KEY::KEY_ASSISTANT => write!(f, "KEY_ASSISTANT"), - EV_KEY::KEY_KBD_LAYOUT_NEXT => write!(f, "KEY_KBD_LAYOUT_NEXT"), - EV_KEY::KEY_EMOJI_PICKER => write!(f, "KEY_EMOJI_PICKER"), - EV_KEY::KEY_DICTATE => write!(f, "KEY_DICTATE"), - EV_KEY::KEY_CAMERA_ACCESS_ENABLE => write!(f, "KEY_CAMERA_ACCESS_ENABLE"), - EV_KEY::KEY_CAMERA_ACCESS_DISABLE => write!(f, "KEY_CAMERA_ACCESS_DISABLE"), - EV_KEY::KEY_CAMERA_ACCESS_TOGGLE => write!(f, "KEY_CAMERA_ACCESS_TOGGLE"), - EV_KEY::KEY_BRIGHTNESS_MIN => write!(f, "KEY_BRIGHTNESS_MIN"), - EV_KEY::KEY_BRIGHTNESS_MAX => write!(f, "KEY_BRIGHTNESS_MAX"), - EV_KEY::KEY_KBDINPUTASSIST_PREV => write!(f, "KEY_KBDINPUTASSIST_PREV"), - EV_KEY::KEY_KBDINPUTASSIST_NEXT => write!(f, "KEY_KBDINPUTASSIST_NEXT"), - EV_KEY::KEY_KBDINPUTASSIST_PREVGROUP => write!(f, "KEY_KBDINPUTASSIST_PREVGROUP"), - EV_KEY::KEY_KBDINPUTASSIST_NEXTGROUP => write!(f, "KEY_KBDINPUTASSIST_NEXTGROUP"), - EV_KEY::KEY_KBDINPUTASSIST_ACCEPT => write!(f, "KEY_KBDINPUTASSIST_ACCEPT"), - EV_KEY::KEY_KBDINPUTASSIST_CANCEL => write!(f, "KEY_KBDINPUTASSIST_CANCEL"), - EV_KEY::KEY_RIGHT_UP => write!(f, "KEY_RIGHT_UP"), - EV_KEY::KEY_RIGHT_DOWN => write!(f, "KEY_RIGHT_DOWN"), - EV_KEY::KEY_LEFT_UP => write!(f, "KEY_LEFT_UP"), - EV_KEY::KEY_LEFT_DOWN => write!(f, "KEY_LEFT_DOWN"), - EV_KEY::KEY_ROOT_MENU => write!(f, "KEY_ROOT_MENU"), - EV_KEY::KEY_MEDIA_TOP_MENU => write!(f, "KEY_MEDIA_TOP_MENU"), - EV_KEY::KEY_NUMERIC_11 => write!(f, "KEY_NUMERIC_11"), - EV_KEY::KEY_NUMERIC_12 => write!(f, "KEY_NUMERIC_12"), - EV_KEY::KEY_AUDIO_DESC => write!(f, "KEY_AUDIO_DESC"), - EV_KEY::KEY_3D_MODE => write!(f, "KEY_3D_MODE"), - EV_KEY::KEY_NEXT_FAVORITE => write!(f, "KEY_NEXT_FAVORITE"), - EV_KEY::KEY_STOP_RECORD => write!(f, "KEY_STOP_RECORD"), - EV_KEY::KEY_PAUSE_RECORD => write!(f, "KEY_PAUSE_RECORD"), - EV_KEY::KEY_VOD => write!(f, "KEY_VOD"), - EV_KEY::KEY_UNMUTE => write!(f, "KEY_UNMUTE"), - EV_KEY::KEY_FASTREVERSE => write!(f, "KEY_FASTREVERSE"), - EV_KEY::KEY_SLOWREVERSE => write!(f, "KEY_SLOWREVERSE"), - EV_KEY::KEY_DATA => write!(f, "KEY_DATA"), - EV_KEY::KEY_ONSCREEN_KEYBOARD => write!(f, "KEY_ONSCREEN_KEYBOARD"), - EV_KEY::KEY_PRIVACY_SCREEN_TOGGLE => write!(f, "KEY_PRIVACY_SCREEN_TOGGLE"), - EV_KEY::KEY_SELECTIVE_SCREENSHOT => write!(f, "KEY_SELECTIVE_SCREENSHOT"), - EV_KEY::KEY_NEXT_ELEMENT => write!(f, "KEY_NEXT_ELEMENT"), - EV_KEY::KEY_PREVIOUS_ELEMENT => write!(f, "KEY_PREVIOUS_ELEMENT"), - EV_KEY::KEY_AUTOPILOT_ENGAGE_TOGGLE => write!(f, "KEY_AUTOPILOT_ENGAGE_TOGGLE"), - EV_KEY::KEY_MARK_WAYPOINT => write!(f, "KEY_MARK_WAYPOINT"), - EV_KEY::KEY_SOS => write!(f, "KEY_SOS"), - EV_KEY::KEY_NAV_CHART => write!(f, "KEY_NAV_CHART"), - EV_KEY::KEY_FISHING_CHART => write!(f, "KEY_FISHING_CHART"), - EV_KEY::KEY_SINGLE_RANGE_RADAR => write!(f, "KEY_SINGLE_RANGE_RADAR"), - EV_KEY::KEY_DUAL_RANGE_RADAR => write!(f, "KEY_DUAL_RANGE_RADAR"), - EV_KEY::KEY_RADAR_OVERLAY => write!(f, "KEY_RADAR_OVERLAY"), - EV_KEY::KEY_TRADITIONAL_SONAR => write!(f, "KEY_TRADITIONAL_SONAR"), - EV_KEY::KEY_CLEARVU_SONAR => write!(f, "KEY_CLEARVU_SONAR"), - EV_KEY::KEY_SIDEVU_SONAR => write!(f, "KEY_SIDEVU_SONAR"), - EV_KEY::KEY_NAV_INFO => write!(f, "KEY_NAV_INFO"), - EV_KEY::KEY_BRIGHTNESS_MENU => write!(f, "KEY_BRIGHTNESS_MENU"), - EV_KEY::KEY_MACRO1 => write!(f, "KEY_MACRO1"), - EV_KEY::KEY_MACRO2 => write!(f, "KEY_MACRO2"), - EV_KEY::KEY_MACRO3 => write!(f, "KEY_MACRO3"), - EV_KEY::KEY_MACRO4 => write!(f, "KEY_MACRO4"), - EV_KEY::KEY_MACRO5 => write!(f, "KEY_MACRO5"), - EV_KEY::KEY_MACRO6 => write!(f, "KEY_MACRO6"), - EV_KEY::KEY_MACRO7 => write!(f, "KEY_MACRO7"), - EV_KEY::KEY_MACRO8 => write!(f, "KEY_MACRO8"), - EV_KEY::KEY_MACRO9 => write!(f, "KEY_MACRO9"), - EV_KEY::KEY_MACRO10 => write!(f, "KEY_MACRO10"), - EV_KEY::KEY_MACRO11 => write!(f, "KEY_MACRO11"), - EV_KEY::KEY_MACRO12 => write!(f, "KEY_MACRO12"), - EV_KEY::KEY_MACRO13 => write!(f, "KEY_MACRO13"), - EV_KEY::KEY_MACRO14 => write!(f, "KEY_MACRO14"), - EV_KEY::KEY_MACRO15 => write!(f, "KEY_MACRO15"), - EV_KEY::KEY_MACRO16 => write!(f, "KEY_MACRO16"), - EV_KEY::KEY_MACRO17 => write!(f, "KEY_MACRO17"), - EV_KEY::KEY_MACRO18 => write!(f, "KEY_MACRO18"), - EV_KEY::KEY_MACRO19 => write!(f, "KEY_MACRO19"), - EV_KEY::KEY_MACRO20 => write!(f, "KEY_MACRO20"), - EV_KEY::KEY_MACRO21 => write!(f, "KEY_MACRO21"), - EV_KEY::KEY_MACRO22 => write!(f, "KEY_MACRO22"), - EV_KEY::KEY_MACRO23 => write!(f, "KEY_MACRO23"), - EV_KEY::KEY_MACRO24 => write!(f, "KEY_MACRO24"), - EV_KEY::KEY_MACRO25 => write!(f, "KEY_MACRO25"), - EV_KEY::KEY_MACRO26 => write!(f, "KEY_MACRO26"), - EV_KEY::KEY_MACRO27 => write!(f, "KEY_MACRO27"), - EV_KEY::KEY_MACRO28 => write!(f, "KEY_MACRO28"), - EV_KEY::KEY_MACRO29 => write!(f, "KEY_MACRO29"), - EV_KEY::KEY_MACRO30 => write!(f, "KEY_MACRO30"), - EV_KEY::KEY_MACRO_RECORD_START => write!(f, "KEY_MACRO_RECORD_START"), - EV_KEY::KEY_MACRO_RECORD_STOP => write!(f, "KEY_MACRO_RECORD_STOP"), - EV_KEY::KEY_MACRO_PRESET_CYCLE => write!(f, "KEY_MACRO_PRESET_CYCLE"), - EV_KEY::KEY_MACRO_PRESET1 => write!(f, "KEY_MACRO_PRESET1"), - EV_KEY::KEY_MACRO_PRESET2 => write!(f, "KEY_MACRO_PRESET2"), - EV_KEY::KEY_MACRO_PRESET3 => write!(f, "KEY_MACRO_PRESET3"), - EV_KEY::KEY_KBD_LCD_MENU1 => write!(f, "KEY_KBD_LCD_MENU1"), - EV_KEY::KEY_KBD_LCD_MENU2 => write!(f, "KEY_KBD_LCD_MENU2"), - EV_KEY::KEY_KBD_LCD_MENU3 => write!(f, "KEY_KBD_LCD_MENU3"), - EV_KEY::KEY_KBD_LCD_MENU4 => write!(f, "KEY_KBD_LCD_MENU4"), - EV_KEY::KEY_KBD_LCD_MENU5 => write!(f, "KEY_KBD_LCD_MENU5"), - EV_KEY::KEY_MAX => write!(f, "KEY_MAX"), - EV_KEY::BTN_0 => write!(f, "BTN_0"), - EV_KEY::BTN_1 => write!(f, "BTN_1"), - EV_KEY::BTN_2 => write!(f, "BTN_2"), - EV_KEY::BTN_3 => write!(f, "BTN_3"), - EV_KEY::BTN_4 => write!(f, "BTN_4"), - EV_KEY::BTN_5 => write!(f, "BTN_5"), - EV_KEY::BTN_6 => write!(f, "BTN_6"), - EV_KEY::BTN_7 => write!(f, "BTN_7"), - EV_KEY::BTN_8 => write!(f, "BTN_8"), - EV_KEY::BTN_9 => write!(f, "BTN_9"), - EV_KEY::BTN_LEFT => write!(f, "BTN_LEFT"), - EV_KEY::BTN_RIGHT => write!(f, "BTN_RIGHT"), - EV_KEY::BTN_MIDDLE => write!(f, "BTN_MIDDLE"), - EV_KEY::BTN_SIDE => write!(f, "BTN_SIDE"), - EV_KEY::BTN_EXTRA => write!(f, "BTN_EXTRA"), - EV_KEY::BTN_FORWARD => write!(f, "BTN_FORWARD"), - EV_KEY::BTN_BACK => write!(f, "BTN_BACK"), - EV_KEY::BTN_TASK => write!(f, "BTN_TASK"), - EV_KEY::BTN_TRIGGER => write!(f, "BTN_TRIGGER"), - EV_KEY::BTN_THUMB => write!(f, "BTN_THUMB"), - EV_KEY::BTN_THUMB2 => write!(f, "BTN_THUMB2"), - EV_KEY::BTN_TOP => write!(f, "BTN_TOP"), - EV_KEY::BTN_TOP2 => write!(f, "BTN_TOP2"), - EV_KEY::BTN_PINKIE => write!(f, "BTN_PINKIE"), - EV_KEY::BTN_BASE => write!(f, "BTN_BASE"), - EV_KEY::BTN_BASE2 => write!(f, "BTN_BASE2"), - EV_KEY::BTN_BASE3 => write!(f, "BTN_BASE3"), - EV_KEY::BTN_BASE4 => write!(f, "BTN_BASE4"), - EV_KEY::BTN_BASE5 => write!(f, "BTN_BASE5"), - EV_KEY::BTN_BASE6 => write!(f, "BTN_BASE6"), - EV_KEY::BTN_DEAD => write!(f, "BTN_DEAD"), - EV_KEY::BTN_SOUTH => write!(f, "BTN_SOUTH"), - EV_KEY::BTN_EAST => write!(f, "BTN_EAST"), - EV_KEY::BTN_C => write!(f, "BTN_C"), - EV_KEY::BTN_NORTH => write!(f, "BTN_NORTH"), - EV_KEY::BTN_WEST => write!(f, "BTN_WEST"), - EV_KEY::BTN_Z => write!(f, "BTN_Z"), - EV_KEY::BTN_TL => write!(f, "BTN_TL"), - EV_KEY::BTN_TR => write!(f, "BTN_TR"), - EV_KEY::BTN_TL2 => write!(f, "BTN_TL2"), - EV_KEY::BTN_TR2 => write!(f, "BTN_TR2"), - EV_KEY::BTN_SELECT => write!(f, "BTN_SELECT"), - EV_KEY::BTN_START => write!(f, "BTN_START"), - EV_KEY::BTN_MODE => write!(f, "BTN_MODE"), - EV_KEY::BTN_THUMBL => write!(f, "BTN_THUMBL"), - EV_KEY::BTN_THUMBR => write!(f, "BTN_THUMBR"), - EV_KEY::BTN_TOOL_PEN => write!(f, "BTN_TOOL_PEN"), - EV_KEY::BTN_TOOL_RUBBER => write!(f, "BTN_TOOL_RUBBER"), - EV_KEY::BTN_TOOL_BRUSH => write!(f, "BTN_TOOL_BRUSH"), - EV_KEY::BTN_TOOL_PENCIL => write!(f, "BTN_TOOL_PENCIL"), - EV_KEY::BTN_TOOL_AIRBRUSH => write!(f, "BTN_TOOL_AIRBRUSH"), - EV_KEY::BTN_TOOL_FINGER => write!(f, "BTN_TOOL_FINGER"), - EV_KEY::BTN_TOOL_MOUSE => write!(f, "BTN_TOOL_MOUSE"), - EV_KEY::BTN_TOOL_LENS => write!(f, "BTN_TOOL_LENS"), - EV_KEY::BTN_TOOL_QUINTTAP => write!(f, "BTN_TOOL_QUINTTAP"), - EV_KEY::BTN_STYLUS3 => write!(f, "BTN_STYLUS3"), - EV_KEY::BTN_TOUCH => write!(f, "BTN_TOUCH"), - EV_KEY::BTN_STYLUS => write!(f, "BTN_STYLUS"), - EV_KEY::BTN_STYLUS2 => write!(f, "BTN_STYLUS2"), - EV_KEY::BTN_TOOL_DOUBLETAP => write!(f, "BTN_TOOL_DOUBLETAP"), - EV_KEY::BTN_TOOL_TRIPLETAP => write!(f, "BTN_TOOL_TRIPLETAP"), - EV_KEY::BTN_TOOL_QUADTAP => write!(f, "BTN_TOOL_QUADTAP"), - EV_KEY::BTN_GEAR_DOWN => write!(f, "BTN_GEAR_DOWN"), - EV_KEY::BTN_GEAR_UP => write!(f, "BTN_GEAR_UP"), - EV_KEY::BTN_DPAD_UP => write!(f, "BTN_DPAD_UP"), - EV_KEY::BTN_DPAD_DOWN => write!(f, "BTN_DPAD_DOWN"), - EV_KEY::BTN_DPAD_LEFT => write!(f, "BTN_DPAD_LEFT"), - EV_KEY::BTN_DPAD_RIGHT => write!(f, "BTN_DPAD_RIGHT"), - EV_KEY::BTN_TRIGGER_HAPPY1 => write!(f, "BTN_TRIGGER_HAPPY1"), - EV_KEY::BTN_TRIGGER_HAPPY2 => write!(f, "BTN_TRIGGER_HAPPY2"), - EV_KEY::BTN_TRIGGER_HAPPY3 => write!(f, "BTN_TRIGGER_HAPPY3"), - EV_KEY::BTN_TRIGGER_HAPPY4 => write!(f, "BTN_TRIGGER_HAPPY4"), - EV_KEY::BTN_TRIGGER_HAPPY5 => write!(f, "BTN_TRIGGER_HAPPY5"), - EV_KEY::BTN_TRIGGER_HAPPY6 => write!(f, "BTN_TRIGGER_HAPPY6"), - EV_KEY::BTN_TRIGGER_HAPPY7 => write!(f, "BTN_TRIGGER_HAPPY7"), - EV_KEY::BTN_TRIGGER_HAPPY8 => write!(f, "BTN_TRIGGER_HAPPY8"), - EV_KEY::BTN_TRIGGER_HAPPY9 => write!(f, "BTN_TRIGGER_HAPPY9"), - EV_KEY::BTN_TRIGGER_HAPPY10 => write!(f, "BTN_TRIGGER_HAPPY10"), - EV_KEY::BTN_TRIGGER_HAPPY11 => write!(f, "BTN_TRIGGER_HAPPY11"), - EV_KEY::BTN_TRIGGER_HAPPY12 => write!(f, "BTN_TRIGGER_HAPPY12"), - EV_KEY::BTN_TRIGGER_HAPPY13 => write!(f, "BTN_TRIGGER_HAPPY13"), - EV_KEY::BTN_TRIGGER_HAPPY14 => write!(f, "BTN_TRIGGER_HAPPY14"), - EV_KEY::BTN_TRIGGER_HAPPY15 => write!(f, "BTN_TRIGGER_HAPPY15"), - EV_KEY::BTN_TRIGGER_HAPPY16 => write!(f, "BTN_TRIGGER_HAPPY16"), - EV_KEY::BTN_TRIGGER_HAPPY17 => write!(f, "BTN_TRIGGER_HAPPY17"), - EV_KEY::BTN_TRIGGER_HAPPY18 => write!(f, "BTN_TRIGGER_HAPPY18"), - EV_KEY::BTN_TRIGGER_HAPPY19 => write!(f, "BTN_TRIGGER_HAPPY19"), - EV_KEY::BTN_TRIGGER_HAPPY20 => write!(f, "BTN_TRIGGER_HAPPY20"), - EV_KEY::BTN_TRIGGER_HAPPY21 => write!(f, "BTN_TRIGGER_HAPPY21"), - EV_KEY::BTN_TRIGGER_HAPPY22 => write!(f, "BTN_TRIGGER_HAPPY22"), - EV_KEY::BTN_TRIGGER_HAPPY23 => write!(f, "BTN_TRIGGER_HAPPY23"), - EV_KEY::BTN_TRIGGER_HAPPY24 => write!(f, "BTN_TRIGGER_HAPPY24"), - EV_KEY::BTN_TRIGGER_HAPPY25 => write!(f, "BTN_TRIGGER_HAPPY25"), - EV_KEY::BTN_TRIGGER_HAPPY26 => write!(f, "BTN_TRIGGER_HAPPY26"), - EV_KEY::BTN_TRIGGER_HAPPY27 => write!(f, "BTN_TRIGGER_HAPPY27"), - EV_KEY::BTN_TRIGGER_HAPPY28 => write!(f, "BTN_TRIGGER_HAPPY28"), - EV_KEY::BTN_TRIGGER_HAPPY29 => write!(f, "BTN_TRIGGER_HAPPY29"), - EV_KEY::BTN_TRIGGER_HAPPY30 => write!(f, "BTN_TRIGGER_HAPPY30"), - EV_KEY::BTN_TRIGGER_HAPPY31 => write!(f, "BTN_TRIGGER_HAPPY31"), - EV_KEY::BTN_TRIGGER_HAPPY32 => write!(f, "BTN_TRIGGER_HAPPY32"), - EV_KEY::BTN_TRIGGER_HAPPY33 => write!(f, "BTN_TRIGGER_HAPPY33"), - EV_KEY::BTN_TRIGGER_HAPPY34 => write!(f, "BTN_TRIGGER_HAPPY34"), - EV_KEY::BTN_TRIGGER_HAPPY35 => write!(f, "BTN_TRIGGER_HAPPY35"), - EV_KEY::BTN_TRIGGER_HAPPY36 => write!(f, "BTN_TRIGGER_HAPPY36"), - EV_KEY::BTN_TRIGGER_HAPPY37 => write!(f, "BTN_TRIGGER_HAPPY37"), - EV_KEY::BTN_TRIGGER_HAPPY38 => write!(f, "BTN_TRIGGER_HAPPY38"), - EV_KEY::BTN_TRIGGER_HAPPY39 => write!(f, "BTN_TRIGGER_HAPPY39"), - EV_KEY::BTN_TRIGGER_HAPPY40 => write!(f, "BTN_TRIGGER_HAPPY40"), - } + write!(f, "{:?}", self) } } @@ -2936,20 +2241,7 @@ impl std::str::FromStr for EV_LED { impl std::fmt::Display for EV_LED { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - EV_LED::LED_NUML => write!(f, "LED_NUML"), - EV_LED::LED_CAPSL => write!(f, "LED_CAPSL"), - EV_LED::LED_SCROLLL => write!(f, "LED_SCROLLL"), - EV_LED::LED_COMPOSE => write!(f, "LED_COMPOSE"), - EV_LED::LED_KANA => write!(f, "LED_KANA"), - EV_LED::LED_SLEEP => write!(f, "LED_SLEEP"), - EV_LED::LED_SUSPEND => write!(f, "LED_SUSPEND"), - EV_LED::LED_MUTE => write!(f, "LED_MUTE"), - EV_LED::LED_MISC => write!(f, "LED_MISC"), - EV_LED::LED_MAIL => write!(f, "LED_MAIL"), - EV_LED::LED_CHARGING => write!(f, "LED_CHARGING"), - EV_LED::LED_MAX => write!(f, "LED_MAX"), - } + write!(f, "{:?}", self) } } @@ -2988,12 +2280,7 @@ impl std::str::FromStr for EV_SND { impl std::fmt::Display for EV_SND { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - EV_SND::SND_CLICK => write!(f, "SND_CLICK"), - EV_SND::SND_BELL => write!(f, "SND_BELL"), - EV_SND::SND_TONE => write!(f, "SND_TONE"), - EV_SND::SND_MAX => write!(f, "SND_MAX"), - } + write!(f, "{:?}", self) } } @@ -3041,15 +2328,7 @@ impl std::str::FromStr for EV_MSC { impl std::fmt::Display for EV_MSC { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - EV_MSC::MSC_SERIAL => write!(f, "MSC_SERIAL"), - EV_MSC::MSC_PULSELED => write!(f, "MSC_PULSELED"), - EV_MSC::MSC_GESTURE => write!(f, "MSC_GESTURE"), - EV_MSC::MSC_RAW => write!(f, "MSC_RAW"), - EV_MSC::MSC_SCAN => write!(f, "MSC_SCAN"), - EV_MSC::MSC_TIMESTAMP => write!(f, "MSC_TIMESTAMP"), - EV_MSC::MSC_MAX => write!(f, "MSC_MAX"), - } + write!(f, "{:?}", self) } } @@ -3131,25 +2410,7 @@ impl std::str::FromStr for EV_SW { impl std::fmt::Display for EV_SW { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - EV_SW::SW_LID => write!(f, "SW_LID"), - EV_SW::SW_TABLET_MODE => write!(f, "SW_TABLET_MODE"), - EV_SW::SW_HEADPHONE_INSERT => write!(f, "SW_HEADPHONE_INSERT"), - EV_SW::SW_RFKILL_ALL => write!(f, "SW_RFKILL_ALL"), - EV_SW::SW_MICROPHONE_INSERT => write!(f, "SW_MICROPHONE_INSERT"), - EV_SW::SW_DOCK => write!(f, "SW_DOCK"), - EV_SW::SW_LINEOUT_INSERT => write!(f, "SW_LINEOUT_INSERT"), - EV_SW::SW_JACK_PHYSICAL_INSERT => write!(f, "SW_JACK_PHYSICAL_INSERT"), - EV_SW::SW_VIDEOOUT_INSERT => write!(f, "SW_VIDEOOUT_INSERT"), - EV_SW::SW_CAMERA_LENS_COVER => write!(f, "SW_CAMERA_LENS_COVER"), - EV_SW::SW_KEYPAD_SLIDE => write!(f, "SW_KEYPAD_SLIDE"), - EV_SW::SW_FRONT_PROXIMITY => write!(f, "SW_FRONT_PROXIMITY"), - EV_SW::SW_ROTATE_LOCK => write!(f, "SW_ROTATE_LOCK"), - EV_SW::SW_LINEIN_INSERT => write!(f, "SW_LINEIN_INSERT"), - EV_SW::SW_MUTE_DEVICE => write!(f, "SW_MUTE_DEVICE"), - EV_SW::SW_PEN_INSERTED => write!(f, "SW_PEN_INSERTED"), - EV_SW::SW_MACHINE_COVER => write!(f, "SW_MACHINE_COVER"), - } + write!(f, "{:?}", self) } } @@ -3191,13 +2452,7 @@ impl std::str::FromStr for EV_SYN { impl std::fmt::Display for EV_SYN { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - EV_SYN::SYN_REPORT => write!(f, "SYN_REPORT"), - EV_SYN::SYN_CONFIG => write!(f, "SYN_CONFIG"), - EV_SYN::SYN_MT_REPORT => write!(f, "SYN_MT_REPORT"), - EV_SYN::SYN_DROPPED => write!(f, "SYN_DROPPED"), - EV_SYN::SYN_MAX => write!(f, "SYN_MAX"), - } + write!(f, "{:?}", self) } } @@ -3234,10 +2489,7 @@ impl std::str::FromStr for EV_REP { impl std::fmt::Display for EV_REP { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - EV_REP::REP_DELAY => write!(f, "REP_DELAY"), - EV_REP::REP_PERIOD => write!(f, "REP_PERIOD"), - } + write!(f, "{:?}", self) } } @@ -3286,21 +2538,6 @@ impl std::str::FromStr for InputProp { } } -impl std::fmt::Display for InputProp { - fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - InputProp::INPUT_PROP_POINTER => write!(f, "INPUT_PROP_POINTER"), - InputProp::INPUT_PROP_DIRECT => write!(f, "INPUT_PROP_DIRECT"), - InputProp::INPUT_PROP_BUTTONPAD => write!(f, "INPUT_PROP_BUTTONPAD"), - InputProp::INPUT_PROP_SEMI_MT => write!(f, "INPUT_PROP_SEMI_MT"), - InputProp::INPUT_PROP_TOPBUTTONPAD => write!(f, "INPUT_PROP_TOPBUTTONPAD"), - InputProp::INPUT_PROP_POINTING_STICK => write!(f, "INPUT_PROP_POINTING_STICK"), - InputProp::INPUT_PROP_ACCELEROMETER => write!(f, "INPUT_PROP_ACCELEROMETER"), - InputProp::INPUT_PROP_MAX => write!(f, "INPUT_PROP_MAX"), - } - } -} - #[allow(non_camel_case_types)] #[cfg_attr(feature = "serde", derive(Serialize), derive(Deserialize))] #[derive(Copy, Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)] @@ -3385,27 +2622,7 @@ impl std::str::FromStr for EV_FF { impl std::fmt::Display for EV_FF { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - EV_FF::FF_STATUS_STOPPED => write!(f, "FF_STATUS_STOPPED"), - EV_FF::FF_STATUS_PLAYING => write!(f, "FF_STATUS_PLAYING"), - EV_FF::FF_RUMBLE => write!(f, "FF_RUMBLE"), - EV_FF::FF_PERIODIC => write!(f, "FF_PERIODIC"), - EV_FF::FF_CONSTANT => write!(f, "FF_CONSTANT"), - EV_FF::FF_SPRING => write!(f, "FF_SPRING"), - EV_FF::FF_FRICTION => write!(f, "FF_FRICTION"), - EV_FF::FF_DAMPER => write!(f, "FF_DAMPER"), - EV_FF::FF_INERTIA => write!(f, "FF_INERTIA"), - EV_FF::FF_RAMP => write!(f, "FF_RAMP"), - EV_FF::FF_SQUARE => write!(f, "FF_SQUARE"), - EV_FF::FF_TRIANGLE => write!(f, "FF_TRIANGLE"), - EV_FF::FF_SINE => write!(f, "FF_SINE"), - EV_FF::FF_SAW_UP => write!(f, "FF_SAW_UP"), - EV_FF::FF_SAW_DOWN => write!(f, "FF_SAW_DOWN"), - EV_FF::FF_CUSTOM => write!(f, "FF_CUSTOM"), - EV_FF::FF_GAIN => write!(f, "FF_GAIN"), - EV_FF::FF_AUTOCENTER => write!(f, "FF_AUTOCENTER"), - EV_FF::FF_MAX => write!(f, "FF_MAX"), - } + write!(f, "{:?}", self) } } @@ -3501,30 +2718,6 @@ impl std::str::FromStr for BusType { impl std::fmt::Display for BusType { fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result { - match *self { - BusType::BUS_PCI => write!(f, "BUS_PCI"), - BusType::BUS_ISAPNP => write!(f, "BUS_ISAPNP"), - BusType::BUS_USB => write!(f, "BUS_USB"), - BusType::BUS_HIL => write!(f, "BUS_HIL"), - BusType::BUS_BLUETOOTH => write!(f, "BUS_BLUETOOTH"), - BusType::BUS_VIRTUAL => write!(f, "BUS_VIRTUAL"), - BusType::BUS_ISA => write!(f, "BUS_ISA"), - BusType::BUS_I8042 => write!(f, "BUS_I8042"), - BusType::BUS_XTKBD => write!(f, "BUS_XTKBD"), - BusType::BUS_RS232 => write!(f, "BUS_RS232"), - BusType::BUS_GAMEPORT => write!(f, "BUS_GAMEPORT"), - BusType::BUS_PARPORT => write!(f, "BUS_PARPORT"), - BusType::BUS_AMIGA => write!(f, "BUS_AMIGA"), - BusType::BUS_ADB => write!(f, "BUS_ADB"), - BusType::BUS_I2C => write!(f, "BUS_I2C"), - BusType::BUS_HOST => write!(f, "BUS_HOST"), - BusType::BUS_GSC => write!(f, "BUS_GSC"), - BusType::BUS_ATARI => write!(f, "BUS_ATARI"), - BusType::BUS_SPI => write!(f, "BUS_SPI"), - BusType::BUS_RMI => write!(f, "BUS_RMI"), - BusType::BUS_CEC => write!(f, "BUS_CEC"), - BusType::BUS_INTEL_ISHTP => write!(f, "BUS_INTEL_ISHTP"), - BusType::BUS_AMD_SFH => write!(f, "BUS_AMD_SFH"), - } + write!(f, "{:?}", self) } } diff --git a/tools/make-event-names.py b/tools/make-event-names.py index bb870ac7..03c05aa1 100755 --- a/tools/make-event-names.py +++ b/tools/make-event-names.py @@ -65,6 +65,11 @@ class Bits(object): "REP_", ] +fmt_blacklist = [ + "EventType", + "InputProp", +] + def convert(name): s1 = re.sub("(.)([A-Z][a-z]+)", r"\1_\2", name) @@ -180,16 +185,12 @@ def print_enums_fmt(bits, prefix): enum_name = get_enum_name(prefix) + if enum_name in fmt_blacklist: + return + print("impl std::fmt::Display for %s {" % enum_name) print(" fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {") - print(" match *self {") - - for p in (prefix, *prefix_additional.get(prefix, ())): - for _val, names in list(getattr(bits, p).items()): - name = names[0] - print(' %s::%s => write!(f, "%s"),' % (enum_name, name, name)) - - print(" }") + print(' write!(f, "{:?}", self)') print(" }") print("}") print("")