package linux import "fmt" func EvToString(e uint) string { switch e { case EV_SYN: return "EV_SYN" case EV_KEY: return "EV_KEY" case EV_REL: return "EV_REL" case EV_ABS: return "EV_ABS" case EV_MSC: return "EV_MSC" case EV_SW : return "EV_SW" case EV_LED: return "EV_LED" case EV_SND: return "EV_SND" case EV_REP: return "EV_REP" case EV_FF : return "EV_FF" case EV_PWR: return "EV_PWR" case EV_FF_STATUS: return "EV_FF_STATUS" case EV_MAX: return "EV_MAX" case EV_CNT: return "EV_CNT" default: return fmt.Sprintf("Unknown event %d", e) } } func AbsToString(e uint) string { switch e { case ABS_X: return "ABS_X" case ABS_Y: return "ABS_Y" case ABS_Z: return "ABS_Z" case ABS_RX: return "ABS_RX" case ABS_RY: return "ABS_RY" case ABS_RZ: return "ABS_RZ" case ABS_THROTTLE: return "ABS_THROTTLE" case ABS_RUDDER: return "ABS_RUDDER" case ABS_WHEEL: return "ABS_WHEEL" case ABS_GAS: return "ABS_GAS" case ABS_BRAKE: return "ABS_BRAKE" case ABS_HAT0X: return "ABS_HAT0X" case ABS_HAT0Y: return "ABS_HAT0Y" case ABS_HAT1X: return "ABS_HAT1X" case ABS_HAT1Y: return "ABS_HAT1Y" case ABS_HAT2X: return "ABS_HAT2X" case ABS_HAT2Y: return "ABS_HAT2Y" case ABS_HAT3X: return "ABS_HAT3X" case ABS_HAT3Y: return "ABS_HAT3Y" case ABS_PRESSURE: return "ABS_PRESSURE" case ABS_DISTANCE: return "ABS_DISTANCE" case ABS_TILT_X: return "ABS_TILT_X" case ABS_TILT_Y: return "ABS_TILT_Y" case ABS_TOOL_WIDTH: return "ABS_TOOL_WIDTH" case ABS_VOLUME: return "ABS_VOLUME" case ABS_MISC: return "ABS_MISC" case ABS_MT_SLOT: return "ABS_MT_SLOT" case ABS_MT_TOUCH_MAJOR: return "ABS_MT_TOUCH_MAJOR" case ABS_MT_TOUCH_MINOR: return "ABS_MT_TOUCH_MINOR" case ABS_MT_WIDTH_MAJOR: return "ABS_MT_WIDTH_MAJOR" case ABS_MT_WIDTH_MINOR: return "ABS_MT_WIDTH_MINOR" case ABS_MT_ORIENTATION: return "ABS_MT_ORIENTATION" case ABS_MT_POSITION_X: return "ABS_MT_POSITION_X" case ABS_MT_POSITION_Y: return "ABS_MT_POSITION_Y" case ABS_MT_TOOL_TYPE: return "ABS_MT_TOOL_TYPE" case ABS_MT_BLOB_ID: return "ABS_MT_BLOB_ID" case ABS_MT_TRACKING_ID: return "ABS_MT_TRACKING_ID" case ABS_MT_PRESSURE: return "ABS_MT_PRESSURE" case ABS_MT_DISTANCE: return "ABS_MT_DISTANCE" case ABS_MT_TOOL_X: return "ABS_MT_TOOL_X" case ABS_MT_TOOL_Y: return "ABS_MT_TOOL_Y" case ABS_MAX: return "ABS_MAX" case ABS_CNT: return "ABS_CNT" default: return fmt.Sprintf("Unknown absolute axis %d", e) } } /* * Input event codes to string */ /* * Device properties and quirks */ func InputPropString(e uint) string { switch e { case INPUT_PROP_POINTER: return "INPUT_PROP_POINTER" case INPUT_PROP_DIRECT: return "INPUT_PROP_DIRECT" case INPUT_PROP_BUTTONPAD: return "INPUT_PROP_BUTTONPAD" case INPUT_PROP_SEMI_MT: return "INPUT_PROP_SEMI_MT" case INPUT_PROP_TOPBUTTONPAD: return "INPUT_PROP_TOPBUTTONPAD" case INPUT_PROP_POINTING_STICK: return "INPUT_PROP_POINTING_STICK" case INPUT_PROP_ACCELEROMETER: return "INPUT_PROP_ACCELEROMETER" case INPUT_PROP_MAX: return "INPUT_PROP_MAX" case INPUT_PROP_CNT: return "INPUT_PROP_CNT" default: return fmt.Sprintf("Unknown INPUT_PROP %d", e) } } /* * Synchronization events. */ func SynString(e uint) string { switch e { case SYN_REPORT: return "SYN_REPORT" case SYN_CONFIG: return "SYN_CONFIG" case SYN_MT_REPORT: return "SYN_MT_REPORT" case SYN_DROPPED: return "SYN_DROPPED" case SYN_MAX: return "SYN_MAX" case SYN_CNT: return "SYN_CNT" default: return fmt.Sprintf("Unknown SYN %d", e) } } /* * Keys and buttons * */ func KeyString(e uint) string { switch e { case KEY_RESERVED: return "KEY_RESERVED" case KEY_ESC: return "KEY_ESC" case KEY_1: return "KEY_1" case KEY_2: return "KEY_2" case KEY_3: return "KEY_3" case KEY_4: return "KEY_4" case KEY_5: return "KEY_5" case KEY_6: return "KEY_6" case KEY_7: return "KEY_7" case KEY_8: return "KEY_8" case KEY_9: return "KEY_9" case KEY_0: return "KEY_0" case KEY_MINUS: return "KEY_MINUS" case KEY_EQUAL: return "KEY_EQUAL" case KEY_BACKSPACE: return "KEY_BACKSPACE" case KEY_TAB: return "KEY_TAB" case KEY_Q: return "KEY_Q" case KEY_W: return "KEY_W" case KEY_E: return "KEY_E" case KEY_R: return "KEY_R" case KEY_T: return "KEY_T" case KEY_Y: return "KEY_Y" case KEY_U: return "KEY_U" case KEY_I: return "KEY_I" case KEY_O: return "KEY_O" case KEY_P: return "KEY_P" case KEY_LEFTBRACE: return "KEY_LEFTBRACE" case KEY_RIGHTBRACE: return "KEY_RIGHTBRACE" case KEY_ENTER: return "KEY_ENTER" case KEY_LEFTCTRL: return "KEY_LEFTCTRL" case KEY_A: return "KEY_A" case KEY_S: return "KEY_S" case KEY_D: return "KEY_D" case KEY_F: return "KEY_F" case KEY_G: return "KEY_G" case KEY_H: return "KEY_H" case KEY_J: return "KEY_J" case KEY_K: return "KEY_K" case KEY_L: return "KEY_L" case KEY_SEMICOLON: return "KEY_SEMICOLON" case KEY_APOSTROPHE: return "KEY_APOSTROPHE" case KEY_GRAVE: return "KEY_GRAVE" case KEY_LEFTSHIFT: return "KEY_LEFTSHIFT" case KEY_BACKSLASH: return "KEY_BACKSLASH" case KEY_Z: return "KEY_Z" case KEY_X: return "KEY_X" case KEY_C: return "KEY_C" case KEY_V: return "KEY_V" case KEY_B: return "KEY_B" case KEY_N: return "KEY_N" case KEY_M: return "KEY_M" case KEY_COMMA: return "KEY_COMMA" case KEY_DOT: return "KEY_DOT" case KEY_SLASH: return "KEY_SLASH" case KEY_RIGHTSHIFT: return "KEY_RIGHTSHIFT" case KEY_KPASTERISK: return "KEY_KPASTERISK" case KEY_LEFTALT: return "KEY_LEFTALT" case KEY_SPACE: return "KEY_SPACE" case KEY_CAPSLOCK: return "KEY_CAPSLOCK" case KEY_F1: return "KEY_F1" case KEY_F2: return "KEY_F2" case KEY_F3: return "KEY_F3" case KEY_F4: return "KEY_F4" case KEY_F5: return "KEY_F5" case KEY_F6: return "KEY_F6" case KEY_F7: return "KEY_F7" case KEY_F8: return "KEY_F8" case KEY_F9: return "KEY_F9" case KEY_F10: return "KEY_F10" case KEY_NUMLOCK: return "KEY_NUMLOCK" case KEY_SCROLLLOCK: return "KEY_SCROLLLOCK" case KEY_KP7: return "KEY_KP7" case KEY_KP8: return "KEY_KP8" case KEY_KP9: return "KEY_KP9" case KEY_KPMINUS: return "KEY_KPMINUS" case KEY_KP4: return "KEY_KP4" case KEY_KP5: return "KEY_KP5" case KEY_KP6: return "KEY_KP6" case KEY_KPPLUS: return "KEY_KPPLUS" case KEY_KP1: return "KEY_KP1" case KEY_KP2: return "KEY_KP2" case KEY_KP3: return "KEY_KP3" case KEY_KP0: return "KEY_KP0" case KEY_KPDOT: return "KEY_KPDOT" case KEY_ZENKAKUHANKAKU: return "KEY_ZENKAKUHANKAKU" case KEY_102ND: return "KEY_102ND" case KEY_F11: return "KEY_F11" case KEY_F12: return "KEY_F12" case KEY_RO: return "KEY_RO" case KEY_KATAKANA: return "KEY_KATAKANA" case KEY_HIRAGANA: return "KEY_HIRAGANA" case KEY_HENKAN: return "KEY_HENKAN" case KEY_KATAKANAHIRAGANA: return "KEY_KATAKANAHIRAGANA" case KEY_MUHENKAN: return "KEY_MUHENKAN" case KEY_KPJPCOMMA: return "KEY_KPJPCOMMA" case KEY_KPENTER: return "KEY_KPENTER" case KEY_RIGHTCTRL: return "KEY_RIGHTCTRL" case KEY_KPSLASH: return "KEY_KPSLASH" case KEY_SYSRQ: return "KEY_SYSRQ" case KEY_RIGHTALT: return "KEY_RIGHTALT" case KEY_LINEFEED: return "KEY_LINEFEED" case KEY_HOME: return "KEY_HOME" case KEY_UP: return "KEY_UP" case KEY_PAGEUP: return "KEY_PAGEUP" case KEY_LEFT: return "KEY_LEFT" case KEY_RIGHT: return "KEY_RIGHT" case KEY_END: return "KEY_END" case KEY_DOWN: return "KEY_DOWN" case KEY_PAGEDOWN: return "KEY_PAGEDOWN" case KEY_INSERT: return "KEY_INSERT" case KEY_DELETE: return "KEY_DELETE" case KEY_MACRO: return "KEY_MACRO" case KEY_MUTE: return "KEY_MUTE" case KEY_VOLUMEDOWN: return "KEY_VOLUMEDOWN" case KEY_VOLUMEUP: return "KEY_VOLUMEUP" case KEY_POWER: return "KEY_POWER" case KEY_KPEQUAL: return "KEY_KPEQUAL" case KEY_KPPLUSMINUS: return "KEY_KPPLUSMINUS" case KEY_PAUSE: return "KEY_PAUSE" case KEY_SCALE: return "KEY_SCALE" case KEY_KPCOMMA: return "KEY_KPCOMMA" case KEY_HANGEUL: return "KEY_HANGEUL" case KEY_HANJA: return "KEY_HANJA" case KEY_YEN: return "KEY_YEN" case KEY_LEFTMETA: return "KEY_LEFTMETA" case KEY_RIGHTMETA: return "KEY_RIGHTMETA" case KEY_COMPOSE: return "KEY_COMPOSE" case KEY_STOP: return "KEY_STOP" case KEY_AGAIN: return "KEY_AGAIN" case KEY_PROPS: return "KEY_PROPS" case KEY_UNDO: return "KEY_UNDO" case KEY_FRONT: return "KEY_FRONT" case KEY_COPY: return "KEY_COPY" case KEY_OPEN: return "KEY_OPEN" case KEY_PASTE: return "KEY_PASTE" case KEY_FIND: return "KEY_FIND" case KEY_CUT: return "KEY_CUT" case KEY_HELP: return "KEY_HELP" case KEY_MENU: return "KEY_MENU" case KEY_CALC: return "KEY_CALC" case KEY_SETUP: return "KEY_SETUP" case KEY_SLEEP: return "KEY_SLEEP" case KEY_WAKEUP: return "KEY_WAKEUP" case KEY_FILE: return "KEY_FILE" case KEY_SENDFILE: return "KEY_SENDFILE" case KEY_DELETEFILE: return "KEY_DELETEFILE" case KEY_XFER: return "KEY_XFER" case KEY_PROG1: return "KEY_PROG1" case KEY_PROG2: return "KEY_PROG2" case KEY_WWW: return "KEY_WWW" case KEY_MSDOS: return "KEY_MSDOS" case KEY_SCREENLOCK: return "KEY_SCREENLOCK" case KEY_ROTATE_DISPLAY: return "KEY_ROTATE_DISPLAY" case KEY_CYCLEWINDOWS: return "KEY_CYCLEWINDOWS" case KEY_MAIL: return "KEY_MAIL" case KEY_BOOKMARKS: return "KEY_BOOKMARKS" case KEY_COMPUTER: return "KEY_COMPUTER" case KEY_BACK: return "KEY_BACK" case KEY_FORWARD: return "KEY_FORWARD" case KEY_CLOSECD: return "KEY_CLOSECD" case KEY_EJECTCD: return "KEY_EJECTCD" case KEY_EJECTCLOSECD: return "KEY_EJECTCLOSECD" case KEY_NEXTSONG: return "KEY_NEXTSONG" case KEY_PLAYPAUSE: return "KEY_PLAYPAUSE" case KEY_PREVIOUSSONG: return "KEY_PREVIOUSSONG" case KEY_STOPCD: return "KEY_STOPCD" case KEY_RECORD: return "KEY_RECORD" case KEY_REWIND: return "KEY_REWIND" case KEY_PHONE: return "KEY_PHONE" case KEY_ISO: return "KEY_ISO" case KEY_CONFIG: return "KEY_CONFIG" case KEY_HOMEPAGE: return "KEY_HOMEPAGE" case KEY_REFRESH: return "KEY_REFRESH" case KEY_EXIT: return "KEY_EXIT" case KEY_MOVE: return "KEY_MOVE" case KEY_EDIT: return "KEY_EDIT" case KEY_SCROLLUP: return "KEY_SCROLLUP" case KEY_SCROLLDOWN: return "KEY_SCROLLDOWN" case KEY_KPLEFTPAREN: return "KEY_KPLEFTPAREN" case KEY_KPRIGHTPAREN: return "KEY_KPRIGHTPAREN" case KEY_NEW: return "KEY_NEW" case KEY_REDO: return "KEY_REDO" case KEY_F13: return "KEY_F13" case KEY_F14: return "KEY_F14" case KEY_F15: return "KEY_F15" case KEY_F16: return "KEY_F16" case KEY_F17: return "KEY_F17" case KEY_F18: return "KEY_F18" case KEY_F19: return "KEY_F19" case KEY_F20: return "KEY_F20" case KEY_F21: return "KEY_F21" case KEY_F22: return "KEY_F22" case KEY_F23: return "KEY_F23" case KEY_F24: return "KEY_F24" case KEY_PLAYCD: return "KEY_PLAYCD" case KEY_PAUSECD: return "KEY_PAUSECD" case KEY_PROG3: return "KEY_PROG3" case KEY_PROG4: return "KEY_PROG4" case KEY_DASHBOARD: return "KEY_DASHBOARD" case KEY_SUSPEND: return "KEY_SUSPEND" case KEY_CLOSE: return "KEY_CLOSE" case KEY_PLAY: return "KEY_PLAY" case KEY_FASTFORWARD: return "KEY_FASTFORWARD" case KEY_BASSBOOST: return "KEY_BASSBOOST" case KEY_PRINT: return "KEY_PRINT" case KEY_HP: return "KEY_HP" case KEY_CAMERA: return "KEY_CAMERA" case KEY_SOUND: return "KEY_SOUND" case KEY_QUESTION: return "KEY_QUESTION" case KEY_EMAIL: return "KEY_EMAIL" case KEY_CHAT: return "KEY_CHAT" case KEY_SEARCH: return "KEY_SEARCH" case KEY_CONNECT: return "KEY_CONNECT" case KEY_FINANCE: return "KEY_FINANCE" case KEY_SPORT: return "KEY_SPORT" case KEY_SHOP: return "KEY_SHOP" case KEY_ALTERASE: return "KEY_ALTERASE" case KEY_CANCEL: return "KEY_CANCEL" case KEY_BRIGHTNESSDOWN: return "KEY_BRIGHTNESSDOWN" case KEY_BRIGHTNESSUP: return "KEY_BRIGHTNESSUP" case KEY_MEDIA: return "KEY_MEDIA" case KEY_SWITCHVIDEOMODE: return "KEY_SWITCHVIDEOMODE" case KEY_KBDILLUMTOGGLE: return "KEY_KBDILLUMTOGGLE" case KEY_KBDILLUMDOWN: return "KEY_KBDILLUMDOWN" case KEY_KBDILLUMUP: return "KEY_KBDILLUMUP" case KEY_SEND: return "KEY_SEND" case KEY_REPLY: return "KEY_REPLY" case KEY_FORWARDMAIL: return "KEY_FORWARDMAIL" case KEY_SAVE: return "KEY_SAVE" case KEY_DOCUMENTS: return "KEY_DOCUMENTS" case KEY_BATTERY: return "KEY_BATTERY" case KEY_BLUETOOTH: return "KEY_BLUETOOTH" case KEY_WLAN: return "KEY_WLAN" case KEY_UWB: return "KEY_UWB" case KEY_UNKNOWN: return "KEY_UNKNOWN" case KEY_VIDEO_NEXT: return "KEY_VIDEO_NEXT" case KEY_VIDEO_PREV: return "KEY_VIDEO_PREV" case KEY_BRIGHTNESS_CYCLE: return "KEY_BRIGHTNESS_CYCLE" case KEY_BRIGHTNESS_AUTO: return "KEY_BRIGHTNESS_AUTO" case KEY_DISPLAY_OFF: return "KEY_DISPLAY_OFF" case KEY_WWAN: return "KEY_WWAN" case KEY_RFKILL: return "KEY_RFKILL" case KEY_MICMUTE: return "KEY_MICMUTE" /* Code 255 is reserved for special needs of AT keyboard driver */ case BTN_0: return "BTN_0" case BTN_1: return "BTN_1" case BTN_2: return "BTN_2" case BTN_3: return "BTN_3" case BTN_4: return "BTN_4" case BTN_5: return "BTN_5" case BTN_6: return "BTN_6" case BTN_7: return "BTN_7" case BTN_8: return "BTN_8" case BTN_9: return "BTN_9" case BTN_LEFT: return "BTN_LEFT" case BTN_RIGHT: return "BTN_RIGHT" case BTN_MIDDLE: return "BTN_MIDDLE" case BTN_SIDE: return "BTN_SIDE" case BTN_EXTRA: return "BTN_EXTRA" case BTN_FORWARD: return "BTN_FORWARD" case BTN_BACK: return "BTN_BACK" case BTN_TASK: return "BTN_TASK" case BTN_JOYSTICK: return "BTN_JOYSTICK" case BTN_THUMB: return "BTN_THUMB" case BTN_THUMB2: return "BTN_THUMB2" case BTN_TOP: return "BTN_TOP" case BTN_TOP2: return "BTN_TOP2" case BTN_PINKIE: return "BTN_PINKIE" case BTN_BASE: return "BTN_BASE" case BTN_BASE2: return "BTN_BASE2" case BTN_BASE3: return "BTN_BASE3" case BTN_BASE4: return "BTN_BASE4" case BTN_BASE5: return "BTN_BASE5" case BTN_BASE6: return "BTN_BASE6" case BTN_DEAD: return "BTN_DEAD" case BTN_A: return "BTN_A" case BTN_B: return "BTN_B" case BTN_C: return "BTN_C" case BTN_X: return "BTN_X" case BTN_Y: return "BTN_Y" case BTN_Z: return "BTN_Z" case BTN_TL: return "BTN_TL" case BTN_TR: return "BTN_TR" case BTN_TL2: return "BTN_TL2" case BTN_TR2: return "BTN_TR2" case BTN_SELECT: return "BTN_SELECT" case BTN_START: return "BTN_START" case BTN_MODE: return "BTN_MODE" case BTN_THUMBL: return "BTN_THUMBL" case BTN_THUMBR: return "BTN_THUMBR" case BTN_TOOL_PEN: return "BTN_TOOL_PEN" case BTN_TOOL_RUBBER: return "BTN_TOOL_RUBBER" case BTN_TOOL_BRUSH: return "BTN_TOOL_BRUSH" case BTN_TOOL_PENCIL: return "BTN_TOOL_PENCIL" case BTN_TOOL_AIRBRUSH: return "BTN_TOOL_AIRBRUSH" case BTN_TOOL_FINGER: return "BTN_TOOL_FINGER" case BTN_TOOL_MOUSE: return "BTN_TOOL_MOUSE" case BTN_TOOL_LENS: return "BTN_TOOL_LENS" case BTN_TOOL_QUINTTAP: return "BTN_TOOL_QUINTTAP" case BTN_TOUCH: return "BTN_TOUCH" case BTN_STYLUS: return "BTN_STYLUS" case BTN_STYLUS2: return "BTN_STYLUS2" case BTN_TOOL_DOUBLETAP: return "BTN_TOOL_DOUBLETAP" case BTN_TOOL_TRIPLETAP: return "BTN_TOOL_TRIPLETAP" case BTN_TOOL_QUADTAP: return "BTN_TOOL_QUADTAP" case BTN_GEAR_DOWN: return "BTN_GEAR_DOWN" case BTN_GEAR_UP: return "BTN_GEAR_UP" case KEY_OK: return "KEY_OK" case KEY_SELECT: return "KEY_SELECT" case KEY_GOTO: return "KEY_GOTO" case KEY_CLEAR: return "KEY_CLEAR" case KEY_POWER2: return "KEY_POWER2" case KEY_OPTION: return "KEY_OPTION" case KEY_INFO: return "KEY_INFO" case KEY_TIME: return "KEY_TIME" case KEY_VENDOR: return "KEY_VENDOR" case KEY_ARCHIVE: return "KEY_ARCHIVE" case KEY_PROGRAM: return "KEY_PROGRAM" case KEY_CHANNEL: return "KEY_CHANNEL" case KEY_FAVORITES: return "KEY_FAVORITES" case KEY_EPG: return "KEY_EPG" case KEY_PVR: return "KEY_PVR" case KEY_MHP: return "KEY_MHP" case KEY_LANGUAGE: return "KEY_LANGUAGE" case KEY_TITLE: return "KEY_TITLE" case KEY_SUBTITLE: return "KEY_SUBTITLE" case KEY_ANGLE: return "KEY_ANGLE" case KEY_ZOOM: return "KEY_ZOOM" case KEY_MODE: return "KEY_MODE" case KEY_KEYBOARD: return "KEY_KEYBOARD" case KEY_SCREEN: return "KEY_SCREEN" case KEY_PC: return "KEY_PC" case KEY_TV: return "KEY_TV" case KEY_TV2: return "KEY_TV2" case KEY_VCR: return "KEY_VCR" case KEY_VCR2: return "KEY_VCR2" case KEY_SAT: return "KEY_SAT" case KEY_SAT2: return "KEY_SAT2" case KEY_CD: return "KEY_CD" case KEY_TAPE: return "KEY_TAPE" case KEY_RADIO: return "KEY_RADIO" case KEY_TUNER: return "KEY_TUNER" case KEY_PLAYER: return "KEY_PLAYER" case KEY_TEXT: return "KEY_TEXT" case KEY_DVD: return "KEY_DVD" case KEY_AUX: return "KEY_AUX" case KEY_MP3: return "KEY_MP3" case KEY_AUDIO: return "KEY_AUDIO" case KEY_VIDEO: return "KEY_VIDEO" case KEY_DIRECTORY: return "KEY_DIRECTORY" case KEY_LIST: return "KEY_LIST" case KEY_MEMO: return "KEY_MEMO" case KEY_CALENDAR: return "KEY_CALENDAR" case KEY_RED: return "KEY_RED" case KEY_GREEN: return "KEY_GREEN" case KEY_YELLOW: return "KEY_YELLOW" case KEY_BLUE: return "KEY_BLUE" case KEY_CHANNELUP: return "KEY_CHANNELUP" case KEY_CHANNELDOWN: return "KEY_CHANNELDOWN" case KEY_FIRST: return "KEY_FIRST" case KEY_LAST: return "KEY_LAST" case KEY_AB: return "KEY_AB" case KEY_NEXT: return "KEY_NEXT" case KEY_RESTART: return "KEY_RESTART" case KEY_SLOW: return "KEY_SLOW" case KEY_SHUFFLE: return "KEY_SHUFFLE" case KEY_BREAK: return "KEY_BREAK" case KEY_PREVIOUS: return "KEY_PREVIOUS" case KEY_DIGITS: return "KEY_DIGITS" case KEY_TEEN: return "KEY_TEEN" case KEY_TWEN: return "KEY_TWEN" case KEY_VIDEOPHONE: return "KEY_VIDEOPHONE" case KEY_GAMES: return "KEY_GAMES" case KEY_ZOOMIN: return "KEY_ZOOMIN" case KEY_ZOOMOUT: return "KEY_ZOOMOUT" case KEY_ZOOMRESET: return "KEY_ZOOMRESET" case KEY_WORDPROCESSOR: return "KEY_WORDPROCESSOR" case KEY_EDITOR: return "KEY_EDITOR" case KEY_SPREADSHEET: return "KEY_SPREADSHEET" case KEY_GRAPHICSEDITOR: return "KEY_GRAPHICSEDITOR" case KEY_PRESENTATION: return "KEY_PRESENTATION" case KEY_DATABASE: return "KEY_DATABASE" case KEY_NEWS: return "KEY_NEWS" case KEY_VOICEMAIL: return "KEY_VOICEMAIL" case KEY_ADDRESSBOOK: return "KEY_ADDRESSBOOK" case KEY_MESSENGER: return "KEY_MESSENGER" case KEY_DISPLAYTOGGLE: return "KEY_DISPLAYTOGGLE" case KEY_SPELLCHECK: return "KEY_SPELLCHECK" case KEY_LOGOFF: return "KEY_LOGOFF" case KEY_DOLLAR: return "KEY_DOLLAR" case KEY_EURO: return "KEY_EURO" case KEY_FRAMEBACK: return "KEY_FRAMEBACK" case KEY_FRAMEFORWARD: return "KEY_FRAMEFORWARD" case KEY_CONTEXT_MENU: return "KEY_CONTEXT_MENU" case KEY_MEDIA_REPEAT: return "KEY_MEDIA_REPEAT" case KEY_10CHANNELSUP: return "KEY_10CHANNELSUP" case KEY_10CHANNELSDOWN: return "KEY_10CHANNELSDOWN" case KEY_IMAGES: return "KEY_IMAGES" case KEY_DEL_EOL: return "KEY_DEL_EOL" case KEY_DEL_EOS: return "KEY_DEL_EOS" case KEY_INS_LINE: return "KEY_INS_LINE" case KEY_DEL_LINE: return "KEY_DEL_LINE" case KEY_FN: return "KEY_FN" case KEY_FN_ESC: return "KEY_FN_ESC" case KEY_FN_F1: return "KEY_FN_F1" case KEY_FN_F2: return "KEY_FN_F2" case KEY_FN_F3: return "KEY_FN_F3" case KEY_FN_F4: return "KEY_FN_F4" case KEY_FN_F5: return "KEY_FN_F5" case KEY_FN_F6: return "KEY_FN_F6" case KEY_FN_F7: return "KEY_FN_F7" case KEY_FN_F8: return "KEY_FN_F8" case KEY_FN_F9: return "KEY_FN_F9" case KEY_FN_F10: return "KEY_FN_F10" case KEY_FN_F11: return "KEY_FN_F11" case KEY_FN_F12: return "KEY_FN_F12" case KEY_FN_1: return "KEY_FN_1" case KEY_FN_2: return "KEY_FN_2" case KEY_FN_D: return "KEY_FN_D" case KEY_FN_E: return "KEY_FN_E" case KEY_FN_F: return "KEY_FN_F" case KEY_FN_S: return "KEY_FN_S" case KEY_FN_B: return "KEY_FN_B" case KEY_BRL_DOT1: return "KEY_BRL_DOT1" case KEY_BRL_DOT2: return "KEY_BRL_DOT2" case KEY_BRL_DOT3: return "KEY_BRL_DOT3" case KEY_BRL_DOT4: return "KEY_BRL_DOT4" case KEY_BRL_DOT5: return "KEY_BRL_DOT5" case KEY_BRL_DOT6: return "KEY_BRL_DOT6" case KEY_BRL_DOT7: return "KEY_BRL_DOT7" case KEY_BRL_DOT8: return "KEY_BRL_DOT8" case KEY_BRL_DOT9: return "KEY_BRL_DOT9" case KEY_BRL_DOT10: return "KEY_BRL_DOT10" case KEY_NUMERIC_0: return "KEY_NUMERIC_0" case KEY_NUMERIC_1: return "KEY_NUMERIC_1" case KEY_NUMERIC_2: return "KEY_NUMERIC_2" case KEY_NUMERIC_3: return "KEY_NUMERIC_3" case KEY_NUMERIC_4: return "KEY_NUMERIC_4" case KEY_NUMERIC_5: return "KEY_NUMERIC_5" case KEY_NUMERIC_6: return "KEY_NUMERIC_6" case KEY_NUMERIC_7: return "KEY_NUMERIC_7" case KEY_NUMERIC_8: return "KEY_NUMERIC_8" case KEY_NUMERIC_9: return "KEY_NUMERIC_9" case KEY_NUMERIC_STAR: return "KEY_NUMERIC_STAR" case KEY_NUMERIC_POUND: return "KEY_NUMERIC_POUND" case KEY_NUMERIC_A: return "KEY_NUMERIC_A" case KEY_NUMERIC_B: return "KEY_NUMERIC_B" case KEY_NUMERIC_C: return "KEY_NUMERIC_C" case KEY_NUMERIC_D: return "KEY_NUMERIC_D" case KEY_CAMERA_FOCUS: return "KEY_CAMERA_FOCUS" case KEY_WPS_BUTTON: return "KEY_WPS_BUTTON" case KEY_TOUCHPAD_TOGGLE: return "KEY_TOUCHPAD_TOGGLE" case KEY_TOUCHPAD_ON: return "KEY_TOUCHPAD_ON" case KEY_TOUCHPAD_OFF: return "KEY_TOUCHPAD_OFF" case KEY_CAMERA_ZOOMIN: return "KEY_CAMERA_ZOOMIN" case KEY_CAMERA_ZOOMOUT: return "KEY_CAMERA_ZOOMOUT" case KEY_CAMERA_UP: return "KEY_CAMERA_UP" case KEY_CAMERA_DOWN: return "KEY_CAMERA_DOWN" case KEY_CAMERA_LEFT: return "KEY_CAMERA_LEFT" case KEY_CAMERA_RIGHT: return "KEY_CAMERA_RIGHT" case KEY_ATTENDANT_ON: return "KEY_ATTENDANT_ON" case KEY_ATTENDANT_OFF: return "KEY_ATTENDANT_OFF" case KEY_ATTENDANT_TOGGLE: return "KEY_ATTENDANT_TOGGLE" case KEY_LIGHTS_TOGGLE: return "KEY_LIGHTS_TOGGLE" case BTN_DPAD_UP: return "BTN_DPAD_UP" case BTN_DPAD_DOWN: return "BTN_DPAD_DOWN" case BTN_DPAD_LEFT: return "BTN_DPAD_LEFT" case BTN_DPAD_RIGHT: return "BTN_DPAD_RIGHT" case KEY_ALS_TOGGLE: return "KEY_ALS_TOGGLE" case KEY_BUTTONCONFIG: return "KEY_BUTTONCONFIG" case KEY_TASKMANAGER: return "KEY_TASKMANAGER" case KEY_JOURNAL: return "KEY_JOURNAL" case KEY_CONTROLPANEL: return "KEY_CONTROLPANEL" case KEY_APPSELECT: return "KEY_APPSELECT" case KEY_SCREENSAVER: return "KEY_SCREENSAVER" case KEY_VOICECOMMAND: return "KEY_VOICECOMMAND" case KEY_BRIGHTNESS_MIN: return "KEY_BRIGHTNESS_MIN" case KEY_BRIGHTNESS_MAX: return "KEY_BRIGHTNESS_MAX" case KEY_KBDINPUTASSIST_PREV: return "KEY_KBDINPUTASSIST_PREV" case KEY_KBDINPUTASSIST_NEXT: return "KEY_KBDINPUTASSIST_NEXT" case KEY_KBDINPUTASSIST_PREVGROUP: return "KEY_KBDINPUTASSIST_PREVGROUP" case KEY_KBDINPUTASSIST_NEXTGROUP: return "KEY_KBDINPUTASSIST_NEXTGROUP" case KEY_KBDINPUTASSIST_ACCEPT: return "KEY_KBDINPUTASSIST_ACCEPT" case KEY_KBDINPUTASSIST_CANCEL: return "KEY_KBDINPUTASSIST_CANCEL" case BTN_TRIGGER_HAPPY1: return "BTN_TRIGGER_HAPPY1" case BTN_TRIGGER_HAPPY2: return "BTN_TRIGGER_HAPPY2" case BTN_TRIGGER_HAPPY3: return "BTN_TRIGGER_HAPPY3" case BTN_TRIGGER_HAPPY4: return "BTN_TRIGGER_HAPPY4" case BTN_TRIGGER_HAPPY5: return "BTN_TRIGGER_HAPPY5" case BTN_TRIGGER_HAPPY6: return "BTN_TRIGGER_HAPPY6" case BTN_TRIGGER_HAPPY7: return "BTN_TRIGGER_HAPPY7" case BTN_TRIGGER_HAPPY8: return "BTN_TRIGGER_HAPPY8" case BTN_TRIGGER_HAPPY9: return "BTN_TRIGGER_HAPPY9" case BTN_TRIGGER_HAPPY10: return "BTN_TRIGGER_HAPPY10" case BTN_TRIGGER_HAPPY11: return "BTN_TRIGGER_HAPPY11" case BTN_TRIGGER_HAPPY12: return "BTN_TRIGGER_HAPPY12" case BTN_TRIGGER_HAPPY13: return "BTN_TRIGGER_HAPPY13" case BTN_TRIGGER_HAPPY14: return "BTN_TRIGGER_HAPPY14" case BTN_TRIGGER_HAPPY15: return "BTN_TRIGGER_HAPPY15" case BTN_TRIGGER_HAPPY16: return "BTN_TRIGGER_HAPPY16" case BTN_TRIGGER_HAPPY17: return "BTN_TRIGGER_HAPPY17" case BTN_TRIGGER_HAPPY18: return "BTN_TRIGGER_HAPPY18" case BTN_TRIGGER_HAPPY19: return "BTN_TRIGGER_HAPPY19" case BTN_TRIGGER_HAPPY20: return "BTN_TRIGGER_HAPPY20" case BTN_TRIGGER_HAPPY21: return "BTN_TRIGGER_HAPPY21" case BTN_TRIGGER_HAPPY22: return "BTN_TRIGGER_HAPPY22" case BTN_TRIGGER_HAPPY23: return "BTN_TRIGGER_HAPPY23" case BTN_TRIGGER_HAPPY24: return "BTN_TRIGGER_HAPPY24" case BTN_TRIGGER_HAPPY25: return "BTN_TRIGGER_HAPPY25" case BTN_TRIGGER_HAPPY26: return "BTN_TRIGGER_HAPPY26" case BTN_TRIGGER_HAPPY27: return "BTN_TRIGGER_HAPPY27" case BTN_TRIGGER_HAPPY28: return "BTN_TRIGGER_HAPPY28" case BTN_TRIGGER_HAPPY29: return "BTN_TRIGGER_HAPPY29" case BTN_TRIGGER_HAPPY30: return "BTN_TRIGGER_HAPPY30" case BTN_TRIGGER_HAPPY31: return "BTN_TRIGGER_HAPPY31" case BTN_TRIGGER_HAPPY32: return "BTN_TRIGGER_HAPPY32" case BTN_TRIGGER_HAPPY33: return "BTN_TRIGGER_HAPPY33" case BTN_TRIGGER_HAPPY34: return "BTN_TRIGGER_HAPPY34" case BTN_TRIGGER_HAPPY35: return "BTN_TRIGGER_HAPPY35" case BTN_TRIGGER_HAPPY36: return "BTN_TRIGGER_HAPPY36" case BTN_TRIGGER_HAPPY37: return "BTN_TRIGGER_HAPPY37" case BTN_TRIGGER_HAPPY38: return "BTN_TRIGGER_HAPPY38" case BTN_TRIGGER_HAPPY39: return "BTN_TRIGGER_HAPPY39" case BTN_TRIGGER_HAPPY40: return "BTN_TRIGGER_HAPPY40" /* We avoid low common keys in module aliases so they don't get huge. */ case KEY_MAX: return "KEY_MAX" case KEY_CNT: return "KEY_CNT" default: return fmt.Sprintf("Unknown KEY or BUTTON %d", e) } } /* * Relative axes */ func RelString(e uint) string { switch e { case REL_X: return "REL_X" case REL_Y: return "REL_Y" case REL_Z: return "REL_Z" case REL_RX: return "REL_RX" case REL_RY: return "REL_RY" case REL_RZ: return "REL_RZ" case REL_HWHEEL: return "REL_HWHEEL" case REL_DIAL: return "REL_DIAL" case REL_WHEEL: return "REL_WHEEL" case REL_MISC: return "REL_MISC" case REL_MAX: return "REL_MAX" case REL_CNT: return "REL_CNT" default: return fmt.Sprintf("Unknown REL %d", e) } } /* * Switch events */ func SwitchString(e uint) string { switch e { case SW_LID: return "SW_LID" case SW_TABLET_MODE: return "SW_TABLET_MODE" case SW_HEADPHONE_INSERT: return "SW_HEADPHONE_INSERT" case SW_RADIO: return "SW_RADIO" case SW_MICROPHONE_INSERT: return "SW_MICROPHONE_INSERT" case SW_DOCK: return "SW_DOCK" case SW_LINEOUT_INSERT: return "SW_LINEOUT_INSERT" case SW_JACK_PHYSICAL_INSERT: return "SW_JACK_PHYSICAL_INSERT" case SW_VIDEOOUT_INSERT: return "SW_VIDEOOUT_INSERT" case SW_CAMERA_LENS_COVER: return "SW_CAMERA_LENS_COVER" case SW_KEYPAD_SLIDE: return "SW_KEYPAD_SLIDE" case SW_FRONT_PROXIMITY: return "SW_FRONT_PROXIMITY" case SW_ROTATE_LOCK: return "SW_ROTATE_LOCK" case SW_LINEIN_INSERT: return "SW_LINEIN_INSERT" case SW_MUTE_DEVICE: return "SW_MUTE_DEVICE" case SW_MAX: return "SW_MAX" case SW_CNT: return "SW_CNT" default: return fmt.Sprintf("Unknown SW %d", e) } } /* * Misc events */ func MscString(e uint) string { switch e { case MSC_SERIAL: return "MSC_SERIAL" case MSC_PULSELED: return "MSC_PULSELED" case MSC_GESTURE: return "MSC_GESTURE" case MSC_RAW: return "MSC_RAW" case MSC_SCAN: return "MSC_SCAN" case MSC_TIMESTAMP: return "MSC_TIMESTAMP" case MSC_MAX: return "MSC_MAX" case MSC_CNT: return "MSC_CNT" default: return fmt.Sprintf("Unknown MSC %d", e) } } /* * LEDs */ func LedString(e uint) string { switch e { case LED_NUML: return "LED_NUML" case LED_CAPSL: return "LED_CAPSL" case LED_SCROLLL: return "LED_SCROLLL" case LED_COMPOSE: return "LED_COMPOSE" case LED_KANA: return "LED_KANA" case LED_SLEEP: return "LED_SLEEP" case LED_SUSPEND: return "LED_SUSPEND" case LED_MUTE: return "LED_MUTE" case LED_MISC: return "LED_MISC" case LED_MAIL: return "LED_MAIL" case LED_CHARGING: return "LED_CHARGING" case LED_MAX: return "LED_MAX" case LED_CNT: return "LED_CNT" default: return fmt.Sprintf("Unknown LED %d", e) } } /* * Autorepeat values */ func RepString(e uint) string { switch e { case REP_DELAY: return "REP_DELAY" case REP_PERIOD: return "REP_PERIOD" case REP_CNT: return "REP_CNT" default: return fmt.Sprintf("Unknown REP %d", e) } } /* * Sounds */ func SndString(e uint) string { switch e { case SND_CLICK: return "SND_CLICK" case SND_BELL: return "SND_BELL" case SND_TONE: return "SND_TONE" case SND_MAX: return "SND_MAX" case SND_CNT: return "SND_CNT" default: return fmt.Sprintf("Unknown SND %d", e) } }