465 lines
9.1 KiB
Go
465 lines
9.1 KiB
Go
package main
|
|
|
|
// Extracted from /usr/include/linux/input-event-codes.h
|
|
// TODO: maybe some of those should be removed
|
|
|
|
const (
|
|
KEY_ESC = 1
|
|
KEY_1 = 2
|
|
KEY_2 = 3
|
|
KEY_3 = 4
|
|
KEY_4 = 5
|
|
KEY_5 = 6
|
|
KEY_6 = 7
|
|
KEY_7 = 8
|
|
KEY_8 = 9
|
|
KEY_9 = 10
|
|
KEY_0 = 11
|
|
KEY_MINUS = 12
|
|
KEY_EQUAL = 13
|
|
KEY_BACKSPACE = 14
|
|
KEY_TAB = 15
|
|
KEY_Q = 16
|
|
KEY_W = 17
|
|
KEY_E = 18
|
|
KEY_R = 19
|
|
KEY_T = 20
|
|
KEY_Y = 21
|
|
KEY_U = 22
|
|
KEY_I = 23
|
|
KEY_O = 24
|
|
KEY_P = 25
|
|
KEY_LEFTBRACE = 26
|
|
KEY_RIGHTBRACE = 27
|
|
KEY_ENTER = 28
|
|
KEY_LEFTCTRL = 29
|
|
KEY_A = 30
|
|
KEY_S = 31
|
|
KEY_D = 32
|
|
KEY_F = 33
|
|
KEY_G = 34
|
|
KEY_H = 35
|
|
KEY_J = 36
|
|
KEY_K = 37
|
|
KEY_L = 38
|
|
KEY_SEMICOLON = 39
|
|
KEY_APOSTROPHE = 40
|
|
KEY_GRAVE = 41
|
|
KEY_LEFTSHIFT = 42
|
|
KEY_BACKSLASH = 43
|
|
KEY_Z = 44
|
|
KEY_X = 45
|
|
KEY_C = 46
|
|
KEY_V = 47
|
|
KEY_B = 48
|
|
KEY_N = 49
|
|
KEY_M = 50
|
|
KEY_COMMA = 51
|
|
KEY_DOT = 52
|
|
KEY_SLASH = 53
|
|
KEY_RIGHTSHIFT = 54
|
|
KEY_KPASTERISK = 55
|
|
KEY_LEFTALT = 56
|
|
KEY_SPACE = 57
|
|
KEY_CAPSLOCK = 58
|
|
KEY_F1 = 59
|
|
KEY_F2 = 60
|
|
KEY_F3 = 61
|
|
KEY_F4 = 62
|
|
KEY_F5 = 63
|
|
KEY_F6 = 64
|
|
KEY_F7 = 65
|
|
KEY_F8 = 66
|
|
KEY_F9 = 67
|
|
KEY_F10 = 68
|
|
KEY_NUMLOCK = 69
|
|
KEY_SCROLLLOCK = 70
|
|
KEY_KP7 = 71
|
|
KEY_KP8 = 72
|
|
KEY_KP9 = 73
|
|
KEY_KPMINUS = 74
|
|
KEY_KP4 = 75
|
|
KEY_KP5 = 76
|
|
KEY_KP6 = 77
|
|
KEY_KPPLUS = 78
|
|
KEY_KP1 = 79
|
|
KEY_KP2 = 80
|
|
KEY_KP3 = 81
|
|
KEY_KP0 = 82
|
|
KEY_KPDOT = 83
|
|
|
|
KEY_ZENKAKUHANKAKU = 85
|
|
KEY_102ND = 86
|
|
KEY_F11 = 87
|
|
KEY_F12 = 88
|
|
KEY_RO = 89
|
|
KEY_KATAKANA = 90
|
|
KEY_HIRAGANA = 91
|
|
KEY_HENKAN = 92
|
|
KEY_KATAKANAHIRAGANA = 93
|
|
KEY_MUHENKAN = 94
|
|
KEY_KPJPCOMMA = 95
|
|
KEY_KPENTER = 96
|
|
KEY_RIGHTCTRL = 97
|
|
KEY_KPSLASH = 98
|
|
KEY_SYSRQ = 99
|
|
KEY_RIGHTALT = 100
|
|
KEY_LINEFEED = 101
|
|
KEY_HOME = 102
|
|
KEY_UP = 103
|
|
KEY_PAGEUP = 104
|
|
KEY_LEFT = 105
|
|
KEY_RIGHT = 106
|
|
KEY_END = 107
|
|
KEY_DOWN = 108
|
|
KEY_PAGEDOWN = 109
|
|
KEY_INSERT = 110
|
|
KEY_DELETE = 111
|
|
KEY_MACRO = 112
|
|
KEY_MUTE = 113
|
|
KEY_VOLUMEDOWN = 114
|
|
KEY_VOLUMEUP = 115
|
|
KEY_POWER = 116 /* SC System Power Down */
|
|
KEY_KPEQUAL = 117
|
|
KEY_KPPLUSMINUS = 118
|
|
KEY_PAUSE = 119
|
|
KEY_SCALE = 120 /* AL Compiz Scale (Expose) */
|
|
|
|
KEY_KPCOMMA = 121
|
|
KEY_HANGEUL = 122
|
|
KEY_HANGUEL = KEY_HANGEUL
|
|
KEY_HANJA = 123
|
|
KEY_YEN = 124
|
|
KEY_LEFTMETA = 125
|
|
KEY_RIGHTMETA = 126
|
|
KEY_COMPOSE = 127
|
|
|
|
KEY_STOP = 128 /* AC Stop */
|
|
KEY_AGAIN = 129
|
|
KEY_PROPS = 130 /* AC Properties */
|
|
KEY_UNDO = 131 /* AC Undo */
|
|
KEY_FRONT = 132
|
|
KEY_COPY = 133 /* AC Copy */
|
|
KEY_OPEN = 134 /* AC Open */
|
|
KEY_PASTE = 135 /* AC Paste */
|
|
KEY_FIND = 136 /* AC Search */
|
|
KEY_CUT = 137 /* AC Cut */
|
|
KEY_HELP = 138 /* AL Integrated Help Center */
|
|
KEY_MENU = 139 /* Menu (show menu) */
|
|
KEY_CALC = 140 /* AL Calculator */
|
|
KEY_SETUP = 141
|
|
KEY_SLEEP = 142 /* SC System Sleep */
|
|
KEY_WAKEUP = 143 /* System Wake Up */
|
|
KEY_FILE = 144 /* AL Local Machine Browser */
|
|
KEY_SENDFILE = 145
|
|
KEY_DELETEFILE = 146
|
|
KEY_XFER = 147
|
|
KEY_PROG1 = 148
|
|
KEY_PROG2 = 149
|
|
KEY_WWW = 150 /* AL Internet Browser */
|
|
KEY_MSDOS = 151
|
|
KEY_COFFEE = 152 /* AL Terminal Lock/Screensaver */
|
|
KEY_SCREENLOCK = KEY_COFFEE
|
|
KEY_ROTATE_DISPLAY = 153 /* Display orientation for e.g. tablets */
|
|
KEY_DIRECTION = KEY_ROTATE_DISPLAY
|
|
KEY_CYCLEWINDOWS = 154
|
|
KEY_MAIL = 155
|
|
KEY_BOOKMARKS = 156 /* AC Bookmarks */
|
|
KEY_COMPUTER = 157
|
|
KEY_BACK = 158 /* AC Back */
|
|
KEY_FORWARD = 159 /* AC Forward */
|
|
KEY_CLOSECD = 160
|
|
KEY_EJECTCD = 161
|
|
KEY_EJECTCLOSECD = 162
|
|
KEY_NEXTSONG = 163
|
|
KEY_PLAYPAUSE = 164
|
|
KEY_PREVIOUSSONG = 165
|
|
KEY_STOPCD = 166
|
|
KEY_RECORD = 167
|
|
KEY_REWIND = 168
|
|
KEY_PHONE = 169 /* Media Select Telephone */
|
|
KEY_ISO = 170
|
|
KEY_CONFIG = 171 /* AL Consumer Control Configuration */
|
|
KEY_HOMEPAGE = 172 /* AC Home */
|
|
KEY_REFRESH = 173 /* AC Refresh */
|
|
KEY_EXIT = 174 /* AC Exit */
|
|
KEY_MOVE = 175
|
|
KEY_EDIT = 176
|
|
KEY_SCROLLUP = 177
|
|
KEY_SCROLLDOWN = 178
|
|
KEY_KPLEFTPAREN = 179
|
|
KEY_KPRIGHTPAREN = 180
|
|
KEY_NEW = 181 /* AC New */
|
|
KEY_REDO = 182 /* AC Redo/Repeat */
|
|
|
|
KEY_F13 = 183
|
|
KEY_F14 = 184
|
|
KEY_F15 = 185
|
|
KEY_F16 = 186
|
|
KEY_F17 = 187
|
|
KEY_F18 = 188
|
|
KEY_F19 = 189
|
|
KEY_F20 = 190
|
|
KEY_F21 = 191
|
|
KEY_F22 = 192
|
|
KEY_F23 = 193
|
|
KEY_F24 = 194
|
|
|
|
KEY_PLAYCD = 200
|
|
KEY_PAUSECD = 201
|
|
KEY_PROG3 = 202
|
|
KEY_PROG4 = 203
|
|
KEY_ALL_APPLICATIONS = 204 /* AC Desktop Show All Applications */
|
|
KEY_DASHBOARD = KEY_ALL_APPLICATIONS
|
|
KEY_SUSPEND = 205
|
|
KEY_CLOSE = 206 /* AC Close */
|
|
KEY_PLAY = 207
|
|
KEY_FASTFORWARD = 208
|
|
KEY_BASSBOOST = 209
|
|
KEY_PRINT = 210 /* AC Print */
|
|
KEY_HP = 211
|
|
KEY_CAMERA = 212
|
|
KEY_SOUND = 213
|
|
KEY_QUESTION = 214
|
|
KEY_EMAIL = 215
|
|
KEY_CHAT = 216
|
|
KEY_SEARCH = 217
|
|
KEY_CONNECT = 218
|
|
KEY_FINANCE = 219 /* AL Checkbook/Finance */
|
|
KEY_SPORT = 220
|
|
KEY_SHOP = 221
|
|
KEY_ALTERASE = 222
|
|
KEY_CANCEL = 223 /* AC Cancel */
|
|
KEY_BRIGHTNESSDOWN = 224
|
|
KEY_BRIGHTNESSUP = 225
|
|
KEY_MEDIA = 226
|
|
)
|
|
|
|
var keyCodeMap = map[uint16]string{
|
|
// 0 must not exist!
|
|
KEY_ESC: "ESC",
|
|
KEY_1: "1",
|
|
KEY_2: "2",
|
|
KEY_3: "3",
|
|
KEY_4: "4",
|
|
KEY_5: "5",
|
|
KEY_6: "6",
|
|
KEY_7: "7",
|
|
KEY_8: "8",
|
|
KEY_9: "9",
|
|
KEY_0: "0",
|
|
KEY_MINUS: "MINUS",
|
|
KEY_EQUAL: "EQUAL",
|
|
KEY_BACKSPACE: "BACKSPACE",
|
|
KEY_TAB: "TAB",
|
|
KEY_Q: "Q",
|
|
KEY_W: "W",
|
|
KEY_E: "E",
|
|
KEY_R: "R",
|
|
KEY_T: "T",
|
|
KEY_Y: "Y",
|
|
KEY_U: "U",
|
|
KEY_I: "I",
|
|
KEY_O: "O",
|
|
KEY_P: "P",
|
|
KEY_LEFTBRACE: "LEFTBRACE",
|
|
KEY_RIGHTBRACE: "RIGHTBRACE",
|
|
KEY_ENTER: "ENTER",
|
|
KEY_LEFTCTRL: "LEFTCTRL",
|
|
KEY_A: "A",
|
|
KEY_S: "S",
|
|
KEY_D: "D",
|
|
KEY_F: "F",
|
|
KEY_G: "G",
|
|
KEY_H: "H",
|
|
KEY_J: "J",
|
|
KEY_K: "K",
|
|
KEY_L: "L",
|
|
KEY_SEMICOLON: "SEMICOLON",
|
|
KEY_APOSTROPHE: "APOSTROPHE",
|
|
KEY_GRAVE: "GRAVE",
|
|
KEY_LEFTSHIFT: "LEFTSHIFT",
|
|
KEY_BACKSLASH: "BACKSLASH",
|
|
KEY_Z: "Z",
|
|
KEY_X: "X",
|
|
KEY_C: "C",
|
|
KEY_V: "V",
|
|
KEY_B: "B",
|
|
KEY_N: "N",
|
|
KEY_M: "M",
|
|
KEY_COMMA: "COMMA",
|
|
KEY_DOT: "DOT",
|
|
KEY_SLASH: "SLASH",
|
|
KEY_RIGHTSHIFT: "RIGHTSHIFT",
|
|
KEY_KPASTERISK: "KPASTERISK",
|
|
KEY_LEFTALT: "LEFTALT",
|
|
KEY_SPACE: "SPACE",
|
|
KEY_CAPSLOCK: "CAPSLOCK",
|
|
KEY_F1: "F1",
|
|
KEY_F2: "F2",
|
|
KEY_F3: "F3",
|
|
KEY_F4: "F4",
|
|
KEY_F5: "F5",
|
|
KEY_F6: "F6",
|
|
KEY_F7: "F7",
|
|
KEY_F8: "F8",
|
|
KEY_F9: "F9",
|
|
KEY_F10: "F10",
|
|
KEY_NUMLOCK: "NUMLOCK",
|
|
KEY_SCROLLLOCK: "SCROLLLOCK",
|
|
KEY_KP7: "KP7",
|
|
KEY_KP8: "KP8",
|
|
KEY_KP9: "KP9",
|
|
KEY_KPMINUS: "KPMINUS",
|
|
KEY_KP4: "KP4",
|
|
KEY_KP5: "KP5",
|
|
KEY_KP6: "KP6",
|
|
KEY_KPPLUS: "KPPLUS",
|
|
KEY_KP1: "KP1",
|
|
KEY_KP2: "KP2",
|
|
KEY_KP3: "KP3",
|
|
KEY_KP0: "KP0",
|
|
KEY_KPDOT: "KPDOT",
|
|
|
|
KEY_ZENKAKUHANKAKU: "ZENKAKUHANKAKU",
|
|
KEY_102ND: "102ND",
|
|
KEY_F11: "F11",
|
|
KEY_F12: "F12",
|
|
KEY_RO: "RO",
|
|
KEY_KATAKANA: "KATAKANA",
|
|
KEY_HIRAGANA: "HIRAGANA",
|
|
KEY_HENKAN: "HENKAN",
|
|
KEY_KATAKANAHIRAGANA: "KATAKANAHIRAGANA",
|
|
KEY_MUHENKAN: "MUHENKAN",
|
|
KEY_KPJPCOMMA: "KPJPCOMMA",
|
|
KEY_KPENTER: "KPENTER",
|
|
KEY_RIGHTCTRL: "RIGHTCTRL",
|
|
KEY_KPSLASH: "KPSLASH",
|
|
KEY_SYSRQ: "SYSRQ",
|
|
KEY_RIGHTALT: "RIGHTALT",
|
|
KEY_LINEFEED: "LINEFEED",
|
|
KEY_HOME: "HOME",
|
|
KEY_UP: "UP",
|
|
KEY_PAGEUP: "PAGEUP",
|
|
KEY_LEFT: "LEFT",
|
|
KEY_RIGHT: "RIGHT",
|
|
KEY_END: "END",
|
|
KEY_DOWN: "DOWN",
|
|
KEY_PAGEDOWN: "PAGEDOWN",
|
|
KEY_INSERT: "INSERT",
|
|
KEY_DELETE: "DELETE",
|
|
KEY_MACRO: "MACRO",
|
|
KEY_MUTE: "MUTE",
|
|
KEY_VOLUMEDOWN: "VOLUMEDOWN",
|
|
KEY_VOLUMEUP: "VOLUMEUP",
|
|
KEY_POWER: "POWER",
|
|
KEY_KPEQUAL: "KPEQUAL",
|
|
KEY_KPPLUSMINUS: "KPPLUSMINUS",
|
|
KEY_PAUSE: "PAUSE",
|
|
KEY_SCALE: "SCALE",
|
|
|
|
KEY_KPCOMMA: "KPCOMMA",
|
|
KEY_HANGEUL: "HANGEUL",
|
|
KEY_HANJA: "HANJA",
|
|
KEY_YEN: "YEN",
|
|
KEY_LEFTMETA: "LEFTMETA",
|
|
KEY_RIGHTMETA: "RIGHTMETA",
|
|
KEY_COMPOSE: "COMPOSE",
|
|
|
|
KEY_STOP: "STOP",
|
|
KEY_AGAIN: "AGAIN",
|
|
KEY_PROPS: "PROPS",
|
|
KEY_UNDO: "UNDO",
|
|
KEY_FRONT: "FRONT",
|
|
KEY_COPY: "COPY",
|
|
KEY_OPEN: "OPEN",
|
|
KEY_PASTE: "PASTE",
|
|
KEY_FIND: "FIND",
|
|
KEY_CUT: "CUT",
|
|
KEY_HELP: "HELP",
|
|
KEY_MENU: "MENU",
|
|
KEY_CALC: "CALC",
|
|
KEY_SETUP: "SETUP",
|
|
KEY_SLEEP: "SLEEP",
|
|
KEY_WAKEUP: "WAKEUP",
|
|
KEY_FILE: "FILE",
|
|
KEY_SENDFILE: "SENDFILE",
|
|
KEY_DELETEFILE: "DELETEFILE",
|
|
KEY_XFER: "XFER",
|
|
KEY_PROG1: "PROG1",
|
|
KEY_PROG2: "PROG2",
|
|
KEY_WWW: "WWW",
|
|
KEY_MSDOS: "MSDOS",
|
|
KEY_COFFEE: "COFFEE",
|
|
KEY_ROTATE_DISPLAY: "ROTATE_DISPLAY",
|
|
KEY_CYCLEWINDOWS: "CYCLEWINDOWS",
|
|
KEY_MAIL: "MAIL",
|
|
KEY_BOOKMARKS: "BOOKMARKS",
|
|
KEY_COMPUTER: "COMPUTER",
|
|
KEY_BACK: "BACK",
|
|
KEY_FORWARD: "FORWARD",
|
|
KEY_CLOSECD: "CLOSECD",
|
|
KEY_EJECTCD: "EJECTCD",
|
|
KEY_EJECTCLOSECD: "EJECTCLOSECD",
|
|
KEY_NEXTSONG: "NEXTSONG",
|
|
KEY_PLAYPAUSE: "PLAYPAUSE",
|
|
KEY_PREVIOUSSONG: "PREVIOUSSONG",
|
|
KEY_STOPCD: "STOPCD",
|
|
KEY_RECORD: "RECORD",
|
|
KEY_REWIND: "REWIND",
|
|
KEY_PHONE: "PHONE",
|
|
KEY_ISO: "ISO",
|
|
KEY_CONFIG: "CONFIG",
|
|
KEY_HOMEPAGE: "HOMEPAGE",
|
|
KEY_REFRESH: "REFRESH",
|
|
KEY_EXIT: "EXIT",
|
|
KEY_MOVE: "MOVE",
|
|
KEY_EDIT: "EDIT",
|
|
KEY_SCROLLUP: "SCROLLUP",
|
|
KEY_SCROLLDOWN: "SCROLLDOWN",
|
|
KEY_KPLEFTPAREN: "KPLEFTPAREN",
|
|
KEY_KPRIGHTPAREN: "KPRIGHTPAREN",
|
|
KEY_NEW: "NEW",
|
|
KEY_REDO: "REDO",
|
|
|
|
KEY_F13: "F13",
|
|
KEY_F14: "F14",
|
|
KEY_F15: "F15",
|
|
KEY_F16: "F16",
|
|
KEY_F17: "F17",
|
|
KEY_F18: "F18",
|
|
KEY_F19: "F19",
|
|
KEY_F20: "F20",
|
|
KEY_F21: "F21",
|
|
KEY_F22: "F22",
|
|
KEY_F23: "F23",
|
|
KEY_F24: "F24",
|
|
|
|
KEY_PLAYCD: "PLAYCD",
|
|
KEY_PAUSECD: "PAUSECD",
|
|
KEY_PROG3: "PROG3",
|
|
KEY_PROG4: "PROG4",
|
|
KEY_ALL_APPLICATIONS: "ALL_APPLICATIONS",
|
|
KEY_SUSPEND: "SUSPEND",
|
|
KEY_CLOSE: "CLOSE",
|
|
KEY_PLAY: "PLAY",
|
|
KEY_FASTFORWARD: "FASTFORWARD",
|
|
KEY_BASSBOOST: "BASSBOOST",
|
|
KEY_PRINT: "PRINT",
|
|
KEY_HP: "HP",
|
|
KEY_CAMERA: "CAMERA",
|
|
KEY_SOUND: "SOUND",
|
|
KEY_QUESTION: "QUESTION",
|
|
KEY_EMAIL: "EMAIL",
|
|
KEY_CHAT: "CHAT",
|
|
KEY_SEARCH: "SEARCH",
|
|
KEY_CONNECT: "CONNECT",
|
|
KEY_FINANCE: "FINANCE",
|
|
KEY_SPORT: "SPORT",
|
|
KEY_SHOP: "SHOP",
|
|
KEY_ALTERASE: "ALTERASE",
|
|
KEY_CANCEL: "CANCEL",
|
|
KEY_BRIGHTNESSDOWN: "BRIGHTNESSDOWN",
|
|
KEY_BRIGHTNESSUP: "BRIGHTNESSUP",
|
|
KEY_MEDIA: "MEDIA",
|
|
}
|