| 1 | /* |
| 2 | Simple DirectMedia Layer |
| 3 | Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org> |
| 4 | |
| 5 | This software is provided 'as-is', without any express or implied |
| 6 | warranty. In no event will the authors be held liable for any damages |
| 7 | arising from the use of this software. |
| 8 | |
| 9 | Permission is granted to anyone to use this software for any purpose, |
| 10 | including commercial applications, and to alter it and redistribute it |
| 11 | freely, subject to the following restrictions: |
| 12 | |
| 13 | 1. The origin of this software must not be misrepresented; you must not |
| 14 | claim that you wrote the original software. If you use this software |
| 15 | in a product, an acknowledgment in the product documentation would be |
| 16 | appreciated but is not required. |
| 17 | 2. Altered source versions must be plainly marked as such, and must not be |
| 18 | misrepresented as being the original software. |
| 19 | 3. This notice may not be removed or altered from any source distribution. |
| 20 | */ |
| 21 | #include "SDL_internal.h" |
| 22 | |
| 23 | /* Linux virtual key code to SDL_Keycode mapping table |
| 24 | Sources: |
| 25 | - Linux kernel source input.h |
| 26 | */ |
| 27 | /* *INDENT-OFF* */ // clang-format off |
| 28 | static SDL_Scancode const linux_scancode_table[] = { |
| 29 | /* 0, 0x000 */ SDL_SCANCODE_UNKNOWN, // KEY_RESERVED |
| 30 | /* 1, 0x001 */ SDL_SCANCODE_ESCAPE, // KEY_ESC |
| 31 | /* 2, 0x002 */ SDL_SCANCODE_1, // KEY_1 |
| 32 | /* 3, 0x003 */ SDL_SCANCODE_2, // KEY_2 |
| 33 | /* 4, 0x004 */ SDL_SCANCODE_3, // KEY_3 |
| 34 | /* 5, 0x005 */ SDL_SCANCODE_4, // KEY_4 |
| 35 | /* 6, 0x006 */ SDL_SCANCODE_5, // KEY_5 |
| 36 | /* 7, 0x007 */ SDL_SCANCODE_6, // KEY_6 |
| 37 | /* 8, 0x008 */ SDL_SCANCODE_7, // KEY_7 |
| 38 | /* 9, 0x009 */ SDL_SCANCODE_8, // KEY_8 |
| 39 | /* 10, 0x00a */ SDL_SCANCODE_9, // KEY_9 |
| 40 | /* 11, 0x00b */ SDL_SCANCODE_0, // KEY_0 |
| 41 | /* 12, 0x00c */ SDL_SCANCODE_MINUS, // KEY_MINUS |
| 42 | /* 13, 0x00d */ SDL_SCANCODE_EQUALS, // KEY_EQUAL |
| 43 | /* 14, 0x00e */ SDL_SCANCODE_BACKSPACE, // KEY_BACKSPACE |
| 44 | /* 15, 0x00f */ SDL_SCANCODE_TAB, // KEY_TAB |
| 45 | /* 16, 0x010 */ SDL_SCANCODE_Q, // KEY_Q |
| 46 | /* 17, 0x011 */ SDL_SCANCODE_W, // KEY_W |
| 47 | /* 18, 0x012 */ SDL_SCANCODE_E, // KEY_E |
| 48 | /* 19, 0x013 */ SDL_SCANCODE_R, // KEY_R |
| 49 | /* 20, 0x014 */ SDL_SCANCODE_T, // KEY_T |
| 50 | /* 21, 0x015 */ SDL_SCANCODE_Y, // KEY_Y |
| 51 | /* 22, 0x016 */ SDL_SCANCODE_U, // KEY_U |
| 52 | /* 23, 0x017 */ SDL_SCANCODE_I, // KEY_I |
| 53 | /* 24, 0x018 */ SDL_SCANCODE_O, // KEY_O |
| 54 | /* 25, 0x019 */ SDL_SCANCODE_P, // KEY_P |
| 55 | /* 26, 0x01a */ SDL_SCANCODE_LEFTBRACKET, // KEY_LEFTBRACE |
| 56 | /* 27, 0x01b */ SDL_SCANCODE_RIGHTBRACKET, // KEY_RIGHTBRACE |
| 57 | /* 28, 0x01c */ SDL_SCANCODE_RETURN, // KEY_ENTER |
| 58 | /* 29, 0x01d */ SDL_SCANCODE_LCTRL, // KEY_LEFTCTRL |
| 59 | /* 30, 0x01e */ SDL_SCANCODE_A, // KEY_A |
| 60 | /* 31, 0x01f */ SDL_SCANCODE_S, // KEY_S |
| 61 | /* 32, 0x020 */ SDL_SCANCODE_D, // KEY_D |
| 62 | /* 33, 0x021 */ SDL_SCANCODE_F, // KEY_F |
| 63 | /* 34, 0x022 */ SDL_SCANCODE_G, // KEY_G |
| 64 | /* 35, 0x023 */ SDL_SCANCODE_H, // KEY_H |
| 65 | /* 36, 0x024 */ SDL_SCANCODE_J, // KEY_J |
| 66 | /* 37, 0x025 */ SDL_SCANCODE_K, // KEY_K |
| 67 | /* 38, 0x026 */ SDL_SCANCODE_L, // KEY_L |
| 68 | /* 39, 0x027 */ SDL_SCANCODE_SEMICOLON, // KEY_SEMICOLON |
| 69 | /* 40, 0x028 */ SDL_SCANCODE_APOSTROPHE, // KEY_APOSTROPHE |
| 70 | /* 41, 0x029 */ SDL_SCANCODE_GRAVE, // KEY_GRAVE |
| 71 | /* 42, 0x02a */ SDL_SCANCODE_LSHIFT, // KEY_LEFTSHIFT |
| 72 | /* 43, 0x02b */ SDL_SCANCODE_BACKSLASH, // KEY_BACKSLASH |
| 73 | /* 44, 0x02c */ SDL_SCANCODE_Z, // KEY_Z |
| 74 | /* 45, 0x02d */ SDL_SCANCODE_X, // KEY_X |
| 75 | /* 46, 0x02e */ SDL_SCANCODE_C, // KEY_C |
| 76 | /* 47, 0x02f */ SDL_SCANCODE_V, // KEY_V |
| 77 | /* 48, 0x030 */ SDL_SCANCODE_B, // KEY_B |
| 78 | /* 49, 0x031 */ SDL_SCANCODE_N, // KEY_N |
| 79 | /* 50, 0x032 */ SDL_SCANCODE_M, // KEY_M |
| 80 | /* 51, 0x033 */ SDL_SCANCODE_COMMA, // KEY_COMMA |
| 81 | /* 52, 0x034 */ SDL_SCANCODE_PERIOD, // KEY_DOT |
| 82 | /* 53, 0x035 */ SDL_SCANCODE_SLASH, // KEY_SLASH |
| 83 | /* 54, 0x036 */ SDL_SCANCODE_RSHIFT, // KEY_RIGHTSHIFT |
| 84 | /* 55, 0x037 */ SDL_SCANCODE_KP_MULTIPLY, // KEY_KPASTERISK |
| 85 | /* 56, 0x038 */ SDL_SCANCODE_LALT, // KEY_LEFTALT |
| 86 | /* 57, 0x039 */ SDL_SCANCODE_SPACE, // KEY_SPACE |
| 87 | /* 58, 0x03a */ SDL_SCANCODE_CAPSLOCK, // KEY_CAPSLOCK |
| 88 | /* 59, 0x03b */ SDL_SCANCODE_F1, // KEY_F1 |
| 89 | /* 60, 0x03c */ SDL_SCANCODE_F2, // KEY_F2 |
| 90 | /* 61, 0x03d */ SDL_SCANCODE_F3, // KEY_F3 |
| 91 | /* 62, 0x03e */ SDL_SCANCODE_F4, // KEY_F4 |
| 92 | /* 63, 0x03f */ SDL_SCANCODE_F5, // KEY_F5 |
| 93 | /* 64, 0x040 */ SDL_SCANCODE_F6, // KEY_F6 |
| 94 | /* 65, 0x041 */ SDL_SCANCODE_F7, // KEY_F7 |
| 95 | /* 66, 0x042 */ SDL_SCANCODE_F8, // KEY_F8 |
| 96 | /* 67, 0x043 */ SDL_SCANCODE_F9, // KEY_F9 |
| 97 | /* 68, 0x044 */ SDL_SCANCODE_F10, // KEY_F10 |
| 98 | /* 69, 0x045 */ SDL_SCANCODE_NUMLOCKCLEAR, // KEY_NUMLOCK |
| 99 | /* 70, 0x046 */ SDL_SCANCODE_SCROLLLOCK, // KEY_SCROLLLOCK |
| 100 | /* 71, 0x047 */ SDL_SCANCODE_KP_7, // KEY_KP7 |
| 101 | /* 72, 0x048 */ SDL_SCANCODE_KP_8, // KEY_KP8 |
| 102 | /* 73, 0x049 */ SDL_SCANCODE_KP_9, // KEY_KP9 |
| 103 | /* 74, 0x04a */ SDL_SCANCODE_KP_MINUS, // KEY_KPMINUS |
| 104 | /* 75, 0x04b */ SDL_SCANCODE_KP_4, // KEY_KP4 |
| 105 | /* 76, 0x04c */ SDL_SCANCODE_KP_5, // KEY_KP5 |
| 106 | /* 77, 0x04d */ SDL_SCANCODE_KP_6, // KEY_KP6 |
| 107 | /* 78, 0x04e */ SDL_SCANCODE_KP_PLUS, // KEY_KPPLUS |
| 108 | /* 79, 0x04f */ SDL_SCANCODE_KP_1, // KEY_KP1 |
| 109 | /* 80, 0x050 */ SDL_SCANCODE_KP_2, // KEY_KP2 |
| 110 | /* 81, 0x051 */ SDL_SCANCODE_KP_3, // KEY_KP3 |
| 111 | /* 82, 0x052 */ SDL_SCANCODE_KP_0, // KEY_KP0 |
| 112 | /* 83, 0x053 */ SDL_SCANCODE_KP_PERIOD, // KEY_KPDOT |
| 113 | /* 84, 0x054 */ SDL_SCANCODE_UNKNOWN, |
| 114 | /* 85, 0x055 */ SDL_SCANCODE_LANG5, // KEY_ZENKAKUHANKAKU |
| 115 | /* 86, 0x056 */ SDL_SCANCODE_NONUSBACKSLASH, // KEY_102ND |
| 116 | /* 87, 0x057 */ SDL_SCANCODE_F11, // KEY_F11 |
| 117 | /* 88, 0x058 */ SDL_SCANCODE_F12, // KEY_F12 |
| 118 | /* 89, 0x059 */ SDL_SCANCODE_INTERNATIONAL1, // KEY_RO |
| 119 | /* 90, 0x05a */ SDL_SCANCODE_LANG3, // KEY_KATAKANA |
| 120 | /* 91, 0x05b */ SDL_SCANCODE_LANG4, // KEY_HIRAGANA |
| 121 | /* 92, 0x05c */ SDL_SCANCODE_INTERNATIONAL4, // KEY_HENKAN |
| 122 | /* 93, 0x05d */ SDL_SCANCODE_INTERNATIONAL2, // KEY_KATAKANAHIRAGANA |
| 123 | /* 94, 0x05e */ SDL_SCANCODE_INTERNATIONAL5, // KEY_MUHENKAN |
| 124 | /* 95, 0x05f */ SDL_SCANCODE_INTERNATIONAL5, // KEY_KPJPCOMMA |
| 125 | /* 96, 0x060 */ SDL_SCANCODE_KP_ENTER, // KEY_KPENTER |
| 126 | /* 97, 0x061 */ SDL_SCANCODE_RCTRL, // KEY_RIGHTCTRL |
| 127 | /* 98, 0x062 */ SDL_SCANCODE_KP_DIVIDE, // KEY_KPSLASH |
| 128 | /* 99, 0x063 */ SDL_SCANCODE_SYSREQ, // KEY_SYSRQ |
| 129 | /* 100, 0x064 */ SDL_SCANCODE_RALT, // KEY_RIGHTALT |
| 130 | /* 101, 0x065 */ SDL_SCANCODE_UNKNOWN, // KEY_LINEFEED |
| 131 | /* 102, 0x066 */ SDL_SCANCODE_HOME, // KEY_HOME |
| 132 | /* 103, 0x067 */ SDL_SCANCODE_UP, // KEY_UP |
| 133 | /* 104, 0x068 */ SDL_SCANCODE_PAGEUP, // KEY_PAGEUP |
| 134 | /* 105, 0x069 */ SDL_SCANCODE_LEFT, // KEY_LEFT |
| 135 | /* 106, 0x06a */ SDL_SCANCODE_RIGHT, // KEY_RIGHT |
| 136 | /* 107, 0x06b */ SDL_SCANCODE_END, // KEY_END |
| 137 | /* 108, 0x06c */ SDL_SCANCODE_DOWN, // KEY_DOWN |
| 138 | /* 109, 0x06d */ SDL_SCANCODE_PAGEDOWN, // KEY_PAGEDOWN |
| 139 | /* 110, 0x06e */ SDL_SCANCODE_INSERT, // KEY_INSERT |
| 140 | /* 111, 0x06f */ SDL_SCANCODE_DELETE, // KEY_DELETE |
| 141 | /* 112, 0x070 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO |
| 142 | /* 113, 0x071 */ SDL_SCANCODE_MUTE, // KEY_MUTE |
| 143 | /* 114, 0x072 */ SDL_SCANCODE_VOLUMEDOWN, // KEY_VOLUMEDOWN |
| 144 | /* 115, 0x073 */ SDL_SCANCODE_VOLUMEUP, // KEY_VOLUMEUP |
| 145 | /* 116, 0x074 */ SDL_SCANCODE_POWER, // KEY_POWER |
| 146 | /* 117, 0x075 */ SDL_SCANCODE_KP_EQUALS, // KEY_KPEQUAL |
| 147 | /* 118, 0x076 */ SDL_SCANCODE_KP_PLUSMINUS, // KEY_KPPLUSMINUS |
| 148 | /* 119, 0x077 */ SDL_SCANCODE_PAUSE, // KEY_PAUSE |
| 149 | /* 120, 0x078 */ SDL_SCANCODE_UNKNOWN, // KEY_SCALE |
| 150 | /* 121, 0x079 */ SDL_SCANCODE_KP_COMMA, // KEY_KPCOMMA |
| 151 | /* 122, 0x07a */ SDL_SCANCODE_LANG1, // KEY_HANGEUL |
| 152 | /* 123, 0x07b */ SDL_SCANCODE_LANG2, // KEY_HANJA |
| 153 | /* 124, 0x07c */ SDL_SCANCODE_INTERNATIONAL3, // KEY_YEN |
| 154 | /* 125, 0x07d */ SDL_SCANCODE_LGUI, // KEY_LEFTMETA |
| 155 | /* 126, 0x07e */ SDL_SCANCODE_RGUI, // KEY_RIGHTMETA |
| 156 | /* 127, 0x07f */ SDL_SCANCODE_APPLICATION, // KEY_COMPOSE |
| 157 | /* 128, 0x080 */ SDL_SCANCODE_STOP, // KEY_STOP |
| 158 | /* 129, 0x081 */ SDL_SCANCODE_AGAIN, // KEY_AGAIN |
| 159 | /* 130, 0x082 */ SDL_SCANCODE_AC_PROPERTIES, // KEY_PROPS |
| 160 | /* 131, 0x083 */ SDL_SCANCODE_UNDO, // KEY_UNDO |
| 161 | /* 132, 0x084 */ SDL_SCANCODE_UNKNOWN, // KEY_FRONT |
| 162 | /* 133, 0x085 */ SDL_SCANCODE_COPY, // KEY_COPY |
| 163 | /* 134, 0x086 */ SDL_SCANCODE_AC_OPEN, // KEY_OPEN |
| 164 | /* 135, 0x087 */ SDL_SCANCODE_PASTE, // KEY_PASTE |
| 165 | /* 136, 0x088 */ SDL_SCANCODE_FIND, // KEY_FIND |
| 166 | /* 137, 0x089 */ SDL_SCANCODE_CUT, // KEY_CUT |
| 167 | /* 138, 0x08a */ SDL_SCANCODE_HELP, // KEY_HELP |
| 168 | /* 139, 0x08b */ SDL_SCANCODE_MENU, // KEY_MENU |
| 169 | /* 140, 0x08c */ SDL_SCANCODE_UNKNOWN, // KEY_CALC |
| 170 | /* 141, 0x08d */ SDL_SCANCODE_UNKNOWN, // KEY_SETUP |
| 171 | /* 142, 0x08e */ SDL_SCANCODE_SLEEP, // KEY_SLEEP |
| 172 | /* 143, 0x08f */ SDL_SCANCODE_WAKE, // KEY_WAKEUP |
| 173 | /* 144, 0x090 */ SDL_SCANCODE_UNKNOWN, // KEY_FILE |
| 174 | /* 145, 0x091 */ SDL_SCANCODE_UNKNOWN, // KEY_SENDFILE |
| 175 | /* 146, 0x092 */ SDL_SCANCODE_UNKNOWN, // KEY_DELETEFILE |
| 176 | /* 147, 0x093 */ SDL_SCANCODE_UNKNOWN, // KEY_XFER |
| 177 | /* 148, 0x094 */ SDL_SCANCODE_UNKNOWN, // KEY_PROG1 |
| 178 | /* 149, 0x095 */ SDL_SCANCODE_UNKNOWN, // KEY_PROG2 |
| 179 | /* 150, 0x096 */ SDL_SCANCODE_UNKNOWN, // KEY_WWW |
| 180 | /* 151, 0x097 */ SDL_SCANCODE_UNKNOWN, // KEY_MSDOS |
| 181 | /* 152, 0x098 */ SDL_SCANCODE_UNKNOWN, // KEY_COFFEE |
| 182 | /* 153, 0x099 */ SDL_SCANCODE_UNKNOWN, // KEY_ROTATE_DISPLAY |
| 183 | /* 154, 0x09a */ SDL_SCANCODE_UNKNOWN, // KEY_CYCLEWINDOWS |
| 184 | /* 155, 0x09b */ SDL_SCANCODE_UNKNOWN, // KEY_MAIL |
| 185 | /* 156, 0x09c */ SDL_SCANCODE_AC_BOOKMARKS, // KEY_BOOKMARKS |
| 186 | /* 157, 0x09d */ SDL_SCANCODE_UNKNOWN, // KEY_COMPUTER |
| 187 | /* 158, 0x09e */ SDL_SCANCODE_AC_BACK, // KEY_BACK |
| 188 | /* 159, 0x09f */ SDL_SCANCODE_AC_FORWARD, // KEY_FORWARD |
| 189 | /* 160, 0x0a0 */ SDL_SCANCODE_UNKNOWN, // KEY_CLOSECD |
| 190 | /* 161, 0x0a1 */ SDL_SCANCODE_MEDIA_EJECT, // KEY_EJECTCD |
| 191 | /* 162, 0x0a2 */ SDL_SCANCODE_MEDIA_EJECT, // KEY_EJECTCLOSECD |
| 192 | /* 163, 0x0a3 */ SDL_SCANCODE_MEDIA_NEXT_TRACK, // KEY_NEXTSONG |
| 193 | /* 164, 0x0a4 */ SDL_SCANCODE_MEDIA_PLAY_PAUSE, // KEY_PLAYPAUSE |
| 194 | /* 165, 0x0a5 */ SDL_SCANCODE_MEDIA_PREVIOUS_TRACK, // KEY_PREVIOUSSONG |
| 195 | /* 166, 0x0a6 */ SDL_SCANCODE_MEDIA_STOP, // KEY_STOPCD |
| 196 | /* 167, 0x0a7 */ SDL_SCANCODE_MEDIA_RECORD, // KEY_RECORD |
| 197 | /* 168, 0x0a8 */ SDL_SCANCODE_MEDIA_REWIND, // KEY_REWIND |
| 198 | /* 169, 0x0a9 */ SDL_SCANCODE_UNKNOWN, // KEY_PHONE |
| 199 | /* 170, 0x0aa */ SDL_SCANCODE_UNKNOWN, // KEY_ISO |
| 200 | /* 171, 0x0ab */ SDL_SCANCODE_UNKNOWN, // KEY_CONFIG |
| 201 | /* 172, 0x0ac */ SDL_SCANCODE_AC_HOME, // KEY_HOMEPAGE |
| 202 | /* 173, 0x0ad */ SDL_SCANCODE_AC_REFRESH, // KEY_REFRESH |
| 203 | /* 174, 0x0ae */ SDL_SCANCODE_AC_EXIT, // KEY_EXIT |
| 204 | /* 175, 0x0af */ SDL_SCANCODE_UNKNOWN, // KEY_MOVE |
| 205 | /* 176, 0x0b0 */ SDL_SCANCODE_UNKNOWN, // KEY_EDIT |
| 206 | /* 177, 0x0b1 */ SDL_SCANCODE_UNKNOWN, // KEY_SCROLLUP |
| 207 | /* 178, 0x0b2 */ SDL_SCANCODE_UNKNOWN, // KEY_SCROLLDOWN |
| 208 | /* 179, 0x0b3 */ SDL_SCANCODE_KP_LEFTPAREN, // KEY_KPLEFTPAREN |
| 209 | /* 180, 0x0b4 */ SDL_SCANCODE_KP_RIGHTPAREN, // KEY_KPRIGHTPAREN |
| 210 | /* 181, 0x0b5 */ SDL_SCANCODE_AC_NEW, // KEY_NEW |
| 211 | /* 182, 0x0b6 */ SDL_SCANCODE_AGAIN, // KEY_REDO |
| 212 | /* 183, 0x0b7 */ SDL_SCANCODE_F13, // KEY_F13 |
| 213 | /* 184, 0x0b8 */ SDL_SCANCODE_F14, // KEY_F14 |
| 214 | /* 185, 0x0b9 */ SDL_SCANCODE_F15, // KEY_F15 |
| 215 | /* 186, 0x0ba */ SDL_SCANCODE_F16, // KEY_F16 |
| 216 | /* 187, 0x0bb */ SDL_SCANCODE_F17, // KEY_F17 |
| 217 | /* 188, 0x0bc */ SDL_SCANCODE_F18, // KEY_F18 |
| 218 | /* 189, 0x0bd */ SDL_SCANCODE_F19, // KEY_F19 |
| 219 | /* 190, 0x0be */ SDL_SCANCODE_F20, // KEY_F20 |
| 220 | /* 191, 0x0bf */ SDL_SCANCODE_F21, // KEY_F21 |
| 221 | /* 192, 0x0c0 */ SDL_SCANCODE_F22, // KEY_F22 |
| 222 | /* 193, 0x0c1 */ SDL_SCANCODE_F23, // KEY_F23 |
| 223 | /* 194, 0x0c2 */ SDL_SCANCODE_F24, // KEY_F24 |
| 224 | /* 195, 0x0c3 */ SDL_SCANCODE_UNKNOWN, |
| 225 | /* 196, 0x0c4 */ SDL_SCANCODE_UNKNOWN, |
| 226 | /* 197, 0x0c5 */ SDL_SCANCODE_UNKNOWN, |
| 227 | /* 198, 0x0c6 */ SDL_SCANCODE_UNKNOWN, |
| 228 | /* 199, 0x0c7 */ SDL_SCANCODE_UNKNOWN, |
| 229 | /* 200, 0x0c8 */ SDL_SCANCODE_MEDIA_PLAY, // KEY_PLAYCD |
| 230 | /* 201, 0x0c9 */ SDL_SCANCODE_MEDIA_PAUSE, // KEY_PAUSECD |
| 231 | /* 202, 0x0ca */ SDL_SCANCODE_UNKNOWN, // KEY_PROG3 |
| 232 | /* 203, 0x0cb */ SDL_SCANCODE_UNKNOWN, // KEY_PROG4 |
| 233 | /* 204, 0x0cc */ SDL_SCANCODE_UNKNOWN, // KEY_ALL_APPLICATIONS |
| 234 | /* 205, 0x0cd */ SDL_SCANCODE_UNKNOWN, // KEY_SUSPEND |
| 235 | /* 206, 0x0ce */ SDL_SCANCODE_AC_CLOSE, // KEY_CLOSE |
| 236 | /* 207, 0x0cf */ SDL_SCANCODE_MEDIA_PLAY, // KEY_PLAY |
| 237 | /* 208, 0x0d0 */ SDL_SCANCODE_MEDIA_FAST_FORWARD, // KEY_FASTFORWARD |
| 238 | /* 209, 0x0d1 */ SDL_SCANCODE_UNKNOWN, // KEY_BASSBOOST |
| 239 | /* 210, 0x0d2 */ SDL_SCANCODE_PRINTSCREEN, // KEY_PRINT |
| 240 | /* 211, 0x0d3 */ SDL_SCANCODE_UNKNOWN, // KEY_HP |
| 241 | /* 212, 0x0d4 */ SDL_SCANCODE_UNKNOWN, // KEY_CAMERA |
| 242 | /* 213, 0x0d5 */ SDL_SCANCODE_UNKNOWN, // KEY_SOUND |
| 243 | /* 214, 0x0d6 */ SDL_SCANCODE_UNKNOWN, // KEY_QUESTION |
| 244 | /* 215, 0x0d7 */ SDL_SCANCODE_UNKNOWN, // KEY_EMAIL |
| 245 | /* 216, 0x0d8 */ SDL_SCANCODE_UNKNOWN, // KEY_CHAT |
| 246 | /* 217, 0x0d9 */ SDL_SCANCODE_AC_SEARCH, // KEY_SEARCH |
| 247 | /* 218, 0x0da */ SDL_SCANCODE_UNKNOWN, // KEY_CONNECT |
| 248 | /* 219, 0x0db */ SDL_SCANCODE_UNKNOWN, // KEY_FINANCE |
| 249 | /* 220, 0x0dc */ SDL_SCANCODE_UNKNOWN, // KEY_SPORT |
| 250 | /* 221, 0x0dd */ SDL_SCANCODE_UNKNOWN, // KEY_SHOP |
| 251 | /* 222, 0x0de */ SDL_SCANCODE_ALTERASE, // KEY_ALTERASE |
| 252 | /* 223, 0x0df */ SDL_SCANCODE_CANCEL, // KEY_CANCEL |
| 253 | /* 224, 0x0e0 */ SDL_SCANCODE_UNKNOWN, // KEY_BRIGHTNESSDOWN |
| 254 | /* 225, 0x0e1 */ SDL_SCANCODE_UNKNOWN, // KEY_BRIGHTNESSUP |
| 255 | /* 226, 0x0e2 */ SDL_SCANCODE_MEDIA_SELECT, // KEY_MEDIA |
| 256 | /* 227, 0x0e3 */ SDL_SCANCODE_UNKNOWN, // KEY_SWITCHVIDEOMODE |
| 257 | /* 228, 0x0e4 */ SDL_SCANCODE_UNKNOWN, // KEY_KBDILLUMTOGGLE |
| 258 | /* 229, 0x0e5 */ SDL_SCANCODE_UNKNOWN, // KEY_KBDILLUMDOWN |
| 259 | /* 230, 0x0e6 */ SDL_SCANCODE_UNKNOWN, // KEY_KBDILLUMUP |
| 260 | /* 231, 0x0e7 */ SDL_SCANCODE_UNKNOWN, // KEY_SEND |
| 261 | /* 232, 0x0e8 */ SDL_SCANCODE_UNKNOWN, // KEY_REPLY |
| 262 | /* 233, 0x0e9 */ SDL_SCANCODE_UNKNOWN, // KEY_FORWARDMAIL |
| 263 | /* 234, 0x0ea */ SDL_SCANCODE_AC_SAVE, // KEY_SAVE |
| 264 | /* 235, 0x0eb */ SDL_SCANCODE_UNKNOWN, // KEY_DOCUMENTS |
| 265 | /* 236, 0x0ec */ SDL_SCANCODE_UNKNOWN, // KEY_BATTERY |
| 266 | /* 237, 0x0ed */ SDL_SCANCODE_UNKNOWN, // KEY_BLUETOOTH |
| 267 | /* 238, 0x0ee */ SDL_SCANCODE_UNKNOWN, // KEY_WLAN |
| 268 | /* 239, 0x0ef */ SDL_SCANCODE_UNKNOWN, // KEY_UWB |
| 269 | /* 240, 0x0f0 */ SDL_SCANCODE_UNKNOWN, // KEY_UNKNOWN |
| 270 | /* 241, 0x0f1 */ SDL_SCANCODE_UNKNOWN, // KEY_VIDEO_NEXT |
| 271 | /* 242, 0x0f2 */ SDL_SCANCODE_UNKNOWN, // KEY_VIDEO_PREV |
| 272 | /* 243, 0x0f3 */ SDL_SCANCODE_UNKNOWN, // KEY_BRIGHTNESS_CYCLE |
| 273 | /* 244, 0x0f4 */ SDL_SCANCODE_UNKNOWN, // KEY_BRIGHTNESS_AUTO |
| 274 | /* 245, 0x0f5 */ SDL_SCANCODE_UNKNOWN, // KEY_DISPLAY_OFF |
| 275 | /* 246, 0x0f6 */ SDL_SCANCODE_UNKNOWN, // KEY_WWAN |
| 276 | /* 247, 0x0f7 */ SDL_SCANCODE_UNKNOWN, // KEY_RFKILL |
| 277 | /* 248, 0x0f8 */ SDL_SCANCODE_UNKNOWN, // KEY_MICMUTE |
| 278 | /* 249, 0x0f9 */ SDL_SCANCODE_UNKNOWN, |
| 279 | /* 250, 0x0fa */ SDL_SCANCODE_UNKNOWN, |
| 280 | /* 251, 0x0fb */ SDL_SCANCODE_UNKNOWN, |
| 281 | /* 252, 0x0fc */ SDL_SCANCODE_UNKNOWN, |
| 282 | /* 253, 0x0fd */ SDL_SCANCODE_UNKNOWN, |
| 283 | /* 254, 0x0fe */ SDL_SCANCODE_UNKNOWN, |
| 284 | /* 255, 0x0ff */ SDL_SCANCODE_UNKNOWN, |
| 285 | /* 256, 0x100 */ SDL_SCANCODE_UNKNOWN, |
| 286 | /* 257, 0x101 */ SDL_SCANCODE_UNKNOWN, |
| 287 | /* 258, 0x102 */ SDL_SCANCODE_UNKNOWN, |
| 288 | /* 259, 0x103 */ SDL_SCANCODE_UNKNOWN, |
| 289 | /* 260, 0x104 */ SDL_SCANCODE_UNKNOWN, |
| 290 | /* 261, 0x105 */ SDL_SCANCODE_UNKNOWN, |
| 291 | /* 262, 0x106 */ SDL_SCANCODE_UNKNOWN, |
| 292 | /* 263, 0x107 */ SDL_SCANCODE_UNKNOWN, |
| 293 | /* 264, 0x108 */ SDL_SCANCODE_UNKNOWN, |
| 294 | /* 265, 0x109 */ SDL_SCANCODE_UNKNOWN, |
| 295 | /* 266, 0x10a */ SDL_SCANCODE_UNKNOWN, |
| 296 | /* 267, 0x10b */ SDL_SCANCODE_UNKNOWN, |
| 297 | /* 268, 0x10c */ SDL_SCANCODE_UNKNOWN, |
| 298 | /* 269, 0x10d */ SDL_SCANCODE_UNKNOWN, |
| 299 | /* 270, 0x10e */ SDL_SCANCODE_UNKNOWN, |
| 300 | /* 271, 0x10f */ SDL_SCANCODE_UNKNOWN, |
| 301 | /* 272, 0x110 */ SDL_SCANCODE_UNKNOWN, |
| 302 | /* 273, 0x111 */ SDL_SCANCODE_UNKNOWN, |
| 303 | /* 274, 0x112 */ SDL_SCANCODE_UNKNOWN, |
| 304 | /* 275, 0x113 */ SDL_SCANCODE_UNKNOWN, |
| 305 | /* 276, 0x114 */ SDL_SCANCODE_UNKNOWN, |
| 306 | /* 277, 0x115 */ SDL_SCANCODE_UNKNOWN, |
| 307 | /* 278, 0x116 */ SDL_SCANCODE_UNKNOWN, |
| 308 | /* 279, 0x117 */ SDL_SCANCODE_UNKNOWN, |
| 309 | /* 280, 0x118 */ SDL_SCANCODE_UNKNOWN, |
| 310 | /* 281, 0x119 */ SDL_SCANCODE_UNKNOWN, |
| 311 | /* 282, 0x11a */ SDL_SCANCODE_UNKNOWN, |
| 312 | /* 283, 0x11b */ SDL_SCANCODE_UNKNOWN, |
| 313 | /* 284, 0x11c */ SDL_SCANCODE_UNKNOWN, |
| 314 | /* 285, 0x11d */ SDL_SCANCODE_UNKNOWN, |
| 315 | /* 286, 0x11e */ SDL_SCANCODE_UNKNOWN, |
| 316 | /* 287, 0x11f */ SDL_SCANCODE_UNKNOWN, |
| 317 | /* 288, 0x120 */ SDL_SCANCODE_UNKNOWN, |
| 318 | /* 289, 0x121 */ SDL_SCANCODE_UNKNOWN, |
| 319 | /* 290, 0x122 */ SDL_SCANCODE_UNKNOWN, |
| 320 | /* 291, 0x123 */ SDL_SCANCODE_UNKNOWN, |
| 321 | /* 292, 0x124 */ SDL_SCANCODE_UNKNOWN, |
| 322 | /* 293, 0x125 */ SDL_SCANCODE_UNKNOWN, |
| 323 | /* 294, 0x126 */ SDL_SCANCODE_UNKNOWN, |
| 324 | /* 295, 0x127 */ SDL_SCANCODE_UNKNOWN, |
| 325 | /* 296, 0x128 */ SDL_SCANCODE_UNKNOWN, |
| 326 | /* 297, 0x129 */ SDL_SCANCODE_UNKNOWN, |
| 327 | /* 298, 0x12a */ SDL_SCANCODE_UNKNOWN, |
| 328 | /* 299, 0x12b */ SDL_SCANCODE_UNKNOWN, |
| 329 | /* 300, 0x12c */ SDL_SCANCODE_UNKNOWN, |
| 330 | /* 301, 0x12d */ SDL_SCANCODE_UNKNOWN, |
| 331 | /* 302, 0x12e */ SDL_SCANCODE_UNKNOWN, |
| 332 | /* 303, 0x12f */ SDL_SCANCODE_UNKNOWN, |
| 333 | /* 304, 0x130 */ SDL_SCANCODE_UNKNOWN, |
| 334 | /* 305, 0x131 */ SDL_SCANCODE_UNKNOWN, |
| 335 | /* 306, 0x132 */ SDL_SCANCODE_UNKNOWN, |
| 336 | /* 307, 0x133 */ SDL_SCANCODE_UNKNOWN, |
| 337 | /* 308, 0x134 */ SDL_SCANCODE_UNKNOWN, |
| 338 | /* 309, 0x135 */ SDL_SCANCODE_UNKNOWN, |
| 339 | /* 310, 0x136 */ SDL_SCANCODE_UNKNOWN, |
| 340 | /* 311, 0x137 */ SDL_SCANCODE_UNKNOWN, |
| 341 | /* 312, 0x138 */ SDL_SCANCODE_UNKNOWN, |
| 342 | /* 313, 0x139 */ SDL_SCANCODE_UNKNOWN, |
| 343 | /* 314, 0x13a */ SDL_SCANCODE_UNKNOWN, |
| 344 | /* 315, 0x13b */ SDL_SCANCODE_UNKNOWN, |
| 345 | /* 316, 0x13c */ SDL_SCANCODE_UNKNOWN, |
| 346 | /* 317, 0x13d */ SDL_SCANCODE_UNKNOWN, |
| 347 | /* 318, 0x13e */ SDL_SCANCODE_UNKNOWN, |
| 348 | /* 319, 0x13f */ SDL_SCANCODE_UNKNOWN, |
| 349 | /* 320, 0x140 */ SDL_SCANCODE_UNKNOWN, |
| 350 | /* 321, 0x141 */ SDL_SCANCODE_UNKNOWN, |
| 351 | /* 322, 0x142 */ SDL_SCANCODE_UNKNOWN, |
| 352 | /* 323, 0x143 */ SDL_SCANCODE_UNKNOWN, |
| 353 | /* 324, 0x144 */ SDL_SCANCODE_UNKNOWN, |
| 354 | /* 325, 0x145 */ SDL_SCANCODE_UNKNOWN, |
| 355 | /* 326, 0x146 */ SDL_SCANCODE_UNKNOWN, |
| 356 | /* 327, 0x147 */ SDL_SCANCODE_UNKNOWN, |
| 357 | /* 328, 0x148 */ SDL_SCANCODE_UNKNOWN, |
| 358 | /* 329, 0x149 */ SDL_SCANCODE_UNKNOWN, |
| 359 | /* 330, 0x14a */ SDL_SCANCODE_UNKNOWN, |
| 360 | /* 331, 0x14b */ SDL_SCANCODE_UNKNOWN, |
| 361 | /* 332, 0x14c */ SDL_SCANCODE_UNKNOWN, |
| 362 | /* 333, 0x14d */ SDL_SCANCODE_UNKNOWN, |
| 363 | /* 334, 0x14e */ SDL_SCANCODE_UNKNOWN, |
| 364 | /* 335, 0x14f */ SDL_SCANCODE_UNKNOWN, |
| 365 | /* 336, 0x150 */ SDL_SCANCODE_UNKNOWN, |
| 366 | /* 337, 0x151 */ SDL_SCANCODE_UNKNOWN, |
| 367 | /* 338, 0x152 */ SDL_SCANCODE_UNKNOWN, |
| 368 | /* 339, 0x153 */ SDL_SCANCODE_UNKNOWN, |
| 369 | /* 340, 0x154 */ SDL_SCANCODE_UNKNOWN, |
| 370 | /* 341, 0x155 */ SDL_SCANCODE_UNKNOWN, |
| 371 | /* 342, 0x156 */ SDL_SCANCODE_UNKNOWN, |
| 372 | /* 343, 0x157 */ SDL_SCANCODE_UNKNOWN, |
| 373 | /* 344, 0x158 */ SDL_SCANCODE_UNKNOWN, |
| 374 | /* 345, 0x159 */ SDL_SCANCODE_UNKNOWN, |
| 375 | /* 346, 0x15a */ SDL_SCANCODE_UNKNOWN, |
| 376 | /* 347, 0x15b */ SDL_SCANCODE_UNKNOWN, |
| 377 | /* 348, 0x15c */ SDL_SCANCODE_UNKNOWN, |
| 378 | /* 349, 0x15d */ SDL_SCANCODE_UNKNOWN, |
| 379 | /* 350, 0x15e */ SDL_SCANCODE_UNKNOWN, |
| 380 | /* 351, 0x15f */ SDL_SCANCODE_UNKNOWN, |
| 381 | /* 352, 0x160 */ SDL_SCANCODE_UNKNOWN, // KEY_OK |
| 382 | /* 353, 0x161 */ SDL_SCANCODE_SELECT, // KEY_SELECT |
| 383 | /* 354, 0x162 */ SDL_SCANCODE_UNKNOWN, // KEY_GOTO |
| 384 | /* 355, 0x163 */ SDL_SCANCODE_CLEAR, // KEY_CLEAR |
| 385 | /* 356, 0x164 */ SDL_SCANCODE_UNKNOWN, // KEY_POWER2 |
| 386 | /* 357, 0x165 */ SDL_SCANCODE_UNKNOWN, // KEY_OPTION |
| 387 | /* 358, 0x166 */ SDL_SCANCODE_UNKNOWN, // KEY_INFO |
| 388 | /* 359, 0x167 */ SDL_SCANCODE_UNKNOWN, // KEY_TIME |
| 389 | /* 360, 0x168 */ SDL_SCANCODE_UNKNOWN, // KEY_VENDOR |
| 390 | /* 361, 0x169 */ SDL_SCANCODE_UNKNOWN, // KEY_ARCHIVE |
| 391 | /* 362, 0x16a */ SDL_SCANCODE_UNKNOWN, // KEY_PROGRAM |
| 392 | /* 363, 0x16b */ SDL_SCANCODE_UNKNOWN, // KEY_CHANNEL |
| 393 | /* 364, 0x16c */ SDL_SCANCODE_UNKNOWN, // KEY_FAVORITES |
| 394 | /* 365, 0x16d */ SDL_SCANCODE_UNKNOWN, // KEY_EPG |
| 395 | /* 366, 0x16e */ SDL_SCANCODE_UNKNOWN, // KEY_PVR |
| 396 | /* 367, 0x16f */ SDL_SCANCODE_UNKNOWN, // KEY_MHP |
| 397 | /* 368, 0x170 */ SDL_SCANCODE_UNKNOWN, // KEY_LANGUAGE |
| 398 | /* 369, 0x171 */ SDL_SCANCODE_UNKNOWN, // KEY_TITLE |
| 399 | /* 370, 0x172 */ SDL_SCANCODE_UNKNOWN, // KEY_SUBTITLE |
| 400 | /* 371, 0x173 */ SDL_SCANCODE_UNKNOWN, // KEY_ANGLE |
| 401 | /* 372, 0x174 */ SDL_SCANCODE_UNKNOWN, // KEY_FULL_SCREEN |
| 402 | /* 373, 0x175 */ SDL_SCANCODE_MODE, // KEY_MODE |
| 403 | /* 374, 0x176 */ SDL_SCANCODE_UNKNOWN, // KEY_KEYBOARD |
| 404 | /* 375, 0x177 */ SDL_SCANCODE_UNKNOWN, // KEY_ASPECT_RATIO |
| 405 | /* 376, 0x178 */ SDL_SCANCODE_UNKNOWN, // KEY_PC |
| 406 | /* 377, 0x179 */ SDL_SCANCODE_UNKNOWN, // KEY_TV |
| 407 | /* 378, 0x17a */ SDL_SCANCODE_UNKNOWN, // KEY_TV2 |
| 408 | /* 379, 0x17b */ SDL_SCANCODE_UNKNOWN, // KEY_VCR |
| 409 | /* 380, 0x17c */ SDL_SCANCODE_UNKNOWN, // KEY_VCR2 |
| 410 | /* 381, 0x17d */ SDL_SCANCODE_UNKNOWN, // KEY_SAT |
| 411 | /* 382, 0x17e */ SDL_SCANCODE_UNKNOWN, // KEY_SAT2 |
| 412 | /* 383, 0x17f */ SDL_SCANCODE_UNKNOWN, // KEY_CD |
| 413 | /* 384, 0x180 */ SDL_SCANCODE_UNKNOWN, // KEY_TAPE |
| 414 | /* 385, 0x181 */ SDL_SCANCODE_UNKNOWN, // KEY_RADIO |
| 415 | /* 386, 0x182 */ SDL_SCANCODE_UNKNOWN, // KEY_TUNER |
| 416 | /* 387, 0x183 */ SDL_SCANCODE_UNKNOWN, // KEY_PLAYER |
| 417 | /* 388, 0x184 */ SDL_SCANCODE_UNKNOWN, // KEY_TEXT |
| 418 | /* 389, 0x185 */ SDL_SCANCODE_UNKNOWN, // KEY_DVD |
| 419 | /* 390, 0x186 */ SDL_SCANCODE_UNKNOWN, // KEY_AUX |
| 420 | /* 391, 0x187 */ SDL_SCANCODE_UNKNOWN, // KEY_MP3 |
| 421 | /* 392, 0x188 */ SDL_SCANCODE_UNKNOWN, // KEY_AUDIO |
| 422 | /* 393, 0x189 */ SDL_SCANCODE_UNKNOWN, // KEY_VIDEO |
| 423 | /* 394, 0x18a */ SDL_SCANCODE_UNKNOWN, // KEY_DIRECTORY |
| 424 | /* 395, 0x18b */ SDL_SCANCODE_UNKNOWN, // KEY_LIST |
| 425 | /* 396, 0x18c */ SDL_SCANCODE_UNKNOWN, // KEY_MEMO |
| 426 | /* 397, 0x18d */ SDL_SCANCODE_UNKNOWN, // KEY_CALENDAR |
| 427 | /* 398, 0x18e */ SDL_SCANCODE_UNKNOWN, // KEY_RED |
| 428 | /* 399, 0x18f */ SDL_SCANCODE_UNKNOWN, // KEY_GREEN |
| 429 | /* 400, 0x190 */ SDL_SCANCODE_UNKNOWN, // KEY_YELLOW |
| 430 | /* 401, 0x191 */ SDL_SCANCODE_UNKNOWN, // KEY_BLUE |
| 431 | /* 402, 0x192 */ SDL_SCANCODE_CHANNEL_INCREMENT, // KEY_CHANNELUP |
| 432 | /* 403, 0x193 */ SDL_SCANCODE_CHANNEL_DECREMENT, // KEY_CHANNELDOWN |
| 433 | #if 0 // We don't have any mapped scancodes after this point (yet) |
| 434 | /* 404, 0x194 */ SDL_SCANCODE_UNKNOWN, // KEY_FIRST |
| 435 | /* 405, 0x195 */ SDL_SCANCODE_UNKNOWN, // KEY_LAST |
| 436 | /* 406, 0x196 */ SDL_SCANCODE_UNKNOWN, // KEY_AB |
| 437 | /* 407, 0x197 */ SDL_SCANCODE_UNKNOWN, // KEY_NEXT |
| 438 | /* 408, 0x198 */ SDL_SCANCODE_UNKNOWN, // KEY_RESTART |
| 439 | /* 409, 0x199 */ SDL_SCANCODE_UNKNOWN, // KEY_SLOW |
| 440 | /* 410, 0x19a */ SDL_SCANCODE_UNKNOWN, // KEY_SHUFFLE |
| 441 | /* 411, 0x19b */ SDL_SCANCODE_UNKNOWN, // KEY_BREAK |
| 442 | /* 412, 0x19c */ SDL_SCANCODE_UNKNOWN, // KEY_PREVIOUS |
| 443 | /* 413, 0x19d */ SDL_SCANCODE_UNKNOWN, // KEY_DIGITS |
| 444 | /* 414, 0x19e */ SDL_SCANCODE_UNKNOWN, // KEY_TEEN |
| 445 | /* 415, 0x19f */ SDL_SCANCODE_UNKNOWN, // KEY_TWEN |
| 446 | /* 416, 0x1a0 */ SDL_SCANCODE_UNKNOWN, // KEY_VIDEOPHONE |
| 447 | /* 417, 0x1a1 */ SDL_SCANCODE_UNKNOWN, // KEY_GAMES |
| 448 | /* 418, 0x1a2 */ SDL_SCANCODE_UNKNOWN, // KEY_ZOOMIN |
| 449 | /* 419, 0x1a3 */ SDL_SCANCODE_UNKNOWN, // KEY_ZOOMOUT |
| 450 | /* 420, 0x1a4 */ SDL_SCANCODE_UNKNOWN, // KEY_ZOOMRESET |
| 451 | /* 421, 0x1a5 */ SDL_SCANCODE_UNKNOWN, // KEY_WORDPROCESSOR |
| 452 | /* 422, 0x1a6 */ SDL_SCANCODE_UNKNOWN, // KEY_EDITOR |
| 453 | /* 423, 0x1a7 */ SDL_SCANCODE_UNKNOWN, // KEY_SPREADSHEET |
| 454 | /* 424, 0x1a8 */ SDL_SCANCODE_UNKNOWN, // KEY_GRAPHICSEDITOR |
| 455 | /* 425, 0x1a9 */ SDL_SCANCODE_UNKNOWN, // KEY_PRESENTATION |
| 456 | /* 426, 0x1aa */ SDL_SCANCODE_UNKNOWN, // KEY_DATABASE |
| 457 | /* 427, 0x1ab */ SDL_SCANCODE_UNKNOWN, // KEY_NEWS |
| 458 | /* 428, 0x1ac */ SDL_SCANCODE_UNKNOWN, // KEY_VOICEMAIL |
| 459 | /* 429, 0x1ad */ SDL_SCANCODE_UNKNOWN, // KEY_ADDRESSBOOK |
| 460 | /* 430, 0x1ae */ SDL_SCANCODE_UNKNOWN, // KEY_MESSENGER |
| 461 | /* 431, 0x1af */ SDL_SCANCODE_UNKNOWN, // KEY_DISPLAYTOGGLE |
| 462 | /* 432, 0x1b0 */ SDL_SCANCODE_UNKNOWN, // KEY_SPELLCHECK |
| 463 | /* 433, 0x1b1 */ SDL_SCANCODE_UNKNOWN, // KEY_LOGOFF |
| 464 | /* 434, 0x1b2 */ SDL_SCANCODE_UNKNOWN, // KEY_DOLLAR |
| 465 | /* 435, 0x1b3 */ SDL_SCANCODE_UNKNOWN, // KEY_EURO |
| 466 | /* 436, 0x1b4 */ SDL_SCANCODE_UNKNOWN, // KEY_FRAMEBACK |
| 467 | /* 437, 0x1b5 */ SDL_SCANCODE_UNKNOWN, // KEY_FRAMEFORWARD |
| 468 | /* 438, 0x1b6 */ SDL_SCANCODE_UNKNOWN, // KEY_CONTEXT_MENU |
| 469 | /* 439, 0x1b7 */ SDL_SCANCODE_UNKNOWN, // KEY_MEDIA_REPEAT |
| 470 | /* 440, 0x1b8 */ SDL_SCANCODE_UNKNOWN, // KEY_10CHANNELSUP |
| 471 | /* 441, 0x1b9 */ SDL_SCANCODE_UNKNOWN, // KEY_10CHANNELSDOWN |
| 472 | /* 442, 0x1ba */ SDL_SCANCODE_UNKNOWN, // KEY_IMAGES |
| 473 | /* 443, 0x1bb */ SDL_SCANCODE_UNKNOWN, |
| 474 | /* 444, 0x1bc */ SDL_SCANCODE_UNKNOWN, // KEY_NOTIFICATION_CENTER |
| 475 | /* 445, 0x1bd */ SDL_SCANCODE_UNKNOWN, // KEY_PICKUP_PHONE |
| 476 | /* 446, 0x1be */ SDL_SCANCODE_UNKNOWN, // KEY_HANGUP_PHONE |
| 477 | /* 447, 0x1bf */ SDL_SCANCODE_UNKNOWN, |
| 478 | /* 448, 0x1c0 */ SDL_SCANCODE_UNKNOWN, // KEY_DEL_EOL |
| 479 | /* 449, 0x1c1 */ SDL_SCANCODE_UNKNOWN, // KEY_DEL_EOS |
| 480 | /* 450, 0x1c2 */ SDL_SCANCODE_UNKNOWN, // KEY_INS_LINE |
| 481 | /* 451, 0x1c3 */ SDL_SCANCODE_UNKNOWN, // KEY_DEL_LINE |
| 482 | /* 452, 0x1c4 */ SDL_SCANCODE_UNKNOWN, |
| 483 | /* 453, 0x1c5 */ SDL_SCANCODE_UNKNOWN, |
| 484 | /* 454, 0x1c6 */ SDL_SCANCODE_UNKNOWN, |
| 485 | /* 455, 0x1c7 */ SDL_SCANCODE_UNKNOWN, |
| 486 | /* 456, 0x1c8 */ SDL_SCANCODE_UNKNOWN, |
| 487 | /* 457, 0x1c9 */ SDL_SCANCODE_UNKNOWN, |
| 488 | /* 458, 0x1ca */ SDL_SCANCODE_UNKNOWN, |
| 489 | /* 459, 0x1cb */ SDL_SCANCODE_UNKNOWN, |
| 490 | /* 460, 0x1cc */ SDL_SCANCODE_UNKNOWN, |
| 491 | /* 461, 0x1cd */ SDL_SCANCODE_UNKNOWN, |
| 492 | /* 462, 0x1ce */ SDL_SCANCODE_UNKNOWN, |
| 493 | /* 463, 0x1cf */ SDL_SCANCODE_UNKNOWN, |
| 494 | /* 464, 0x1d0 */ SDL_SCANCODE_UNKNOWN, // KEY_FN |
| 495 | /* 465, 0x1d1 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_ESC |
| 496 | /* 466, 0x1d2 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F1 |
| 497 | /* 467, 0x1d3 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F2 |
| 498 | /* 468, 0x1d4 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F3 |
| 499 | /* 469, 0x1d5 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F4 |
| 500 | /* 470, 0x1d6 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F5 |
| 501 | /* 471, 0x1d7 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F6 |
| 502 | /* 472, 0x1d8 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F7 |
| 503 | /* 473, 0x1d9 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F8 |
| 504 | /* 474, 0x1da */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F9 |
| 505 | /* 475, 0x1db */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F10 |
| 506 | /* 476, 0x1dc */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F11 |
| 507 | /* 477, 0x1dd */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F12 |
| 508 | /* 478, 0x1de */ SDL_SCANCODE_UNKNOWN, // KEY_FN_1 |
| 509 | /* 479, 0x1df */ SDL_SCANCODE_UNKNOWN, // KEY_FN_2 |
| 510 | /* 480, 0x1e0 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_D |
| 511 | /* 481, 0x1e1 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_E |
| 512 | /* 482, 0x1e2 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_F |
| 513 | /* 483, 0x1e3 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_S |
| 514 | /* 484, 0x1e4 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_B |
| 515 | /* 485, 0x1e5 */ SDL_SCANCODE_UNKNOWN, // KEY_FN_RIGHT_SHIFT |
| 516 | /* 486, 0x1e6 */ SDL_SCANCODE_UNKNOWN, |
| 517 | /* 487, 0x1e7 */ SDL_SCANCODE_UNKNOWN, |
| 518 | /* 488, 0x1e8 */ SDL_SCANCODE_UNKNOWN, |
| 519 | /* 489, 0x1e9 */ SDL_SCANCODE_UNKNOWN, |
| 520 | /* 490, 0x1ea */ SDL_SCANCODE_UNKNOWN, |
| 521 | /* 491, 0x1eb */ SDL_SCANCODE_UNKNOWN, |
| 522 | /* 492, 0x1ec */ SDL_SCANCODE_UNKNOWN, |
| 523 | /* 493, 0x1ed */ SDL_SCANCODE_UNKNOWN, |
| 524 | /* 494, 0x1ee */ SDL_SCANCODE_UNKNOWN, |
| 525 | /* 495, 0x1ef */ SDL_SCANCODE_UNKNOWN, |
| 526 | /* 496, 0x1f0 */ SDL_SCANCODE_UNKNOWN, |
| 527 | /* 497, 0x1f1 */ SDL_SCANCODE_UNKNOWN, // KEY_BRL_DOT1 |
| 528 | /* 498, 0x1f2 */ SDL_SCANCODE_UNKNOWN, // KEY_BRL_DOT2 |
| 529 | /* 499, 0x1f3 */ SDL_SCANCODE_UNKNOWN, // KEY_BRL_DOT3 |
| 530 | /* 500, 0x1f4 */ SDL_SCANCODE_UNKNOWN, // KEY_BRL_DOT4 |
| 531 | /* 501, 0x1f5 */ SDL_SCANCODE_UNKNOWN, // KEY_BRL_DOT5 |
| 532 | /* 502, 0x1f6 */ SDL_SCANCODE_UNKNOWN, // KEY_BRL_DOT6 |
| 533 | /* 503, 0x1f7 */ SDL_SCANCODE_UNKNOWN, // KEY_BRL_DOT7 |
| 534 | /* 504, 0x1f8 */ SDL_SCANCODE_UNKNOWN, // KEY_BRL_DOT8 |
| 535 | /* 505, 0x1f9 */ SDL_SCANCODE_UNKNOWN, // KEY_BRL_DOT9 |
| 536 | /* 506, 0x1fa */ SDL_SCANCODE_UNKNOWN, // KEY_BRL_DOT10 |
| 537 | /* 507, 0x1fb */ SDL_SCANCODE_UNKNOWN, |
| 538 | /* 508, 0x1fc */ SDL_SCANCODE_UNKNOWN, |
| 539 | /* 509, 0x1fd */ SDL_SCANCODE_UNKNOWN, |
| 540 | /* 510, 0x1fe */ SDL_SCANCODE_UNKNOWN, |
| 541 | /* 511, 0x1ff */ SDL_SCANCODE_UNKNOWN, |
| 542 | /* 512, 0x200 */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_0 |
| 543 | /* 513, 0x201 */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_1 |
| 544 | /* 514, 0x202 */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_2 |
| 545 | /* 515, 0x203 */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_3 |
| 546 | /* 516, 0x204 */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_4 |
| 547 | /* 517, 0x205 */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_5 |
| 548 | /* 518, 0x206 */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_6 |
| 549 | /* 519, 0x207 */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_7 |
| 550 | /* 520, 0x208 */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_8 |
| 551 | /* 521, 0x209 */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_9 |
| 552 | /* 522, 0x20a */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_STAR |
| 553 | /* 523, 0x20b */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_POUND |
| 554 | /* 524, 0x20c */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_A |
| 555 | /* 525, 0x20d */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_B |
| 556 | /* 526, 0x20e */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_C |
| 557 | /* 527, 0x20f */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_D |
| 558 | /* 528, 0x210 */ SDL_SCANCODE_UNKNOWN, // KEY_CAMERA_FOCUS |
| 559 | /* 529, 0x211 */ SDL_SCANCODE_UNKNOWN, // KEY_WPS_BUTTON |
| 560 | /* 530, 0x212 */ SDL_SCANCODE_UNKNOWN, // KEY_TOUCHPAD_TOGGLE |
| 561 | /* 531, 0x213 */ SDL_SCANCODE_UNKNOWN, // KEY_TOUCHPAD_ON |
| 562 | /* 532, 0x214 */ SDL_SCANCODE_UNKNOWN, // KEY_TOUCHPAD_OFF |
| 563 | /* 533, 0x215 */ SDL_SCANCODE_UNKNOWN, // KEY_CAMERA_ZOOMIN |
| 564 | /* 534, 0x216 */ SDL_SCANCODE_UNKNOWN, // KEY_CAMERA_ZOOMOUT |
| 565 | /* 535, 0x217 */ SDL_SCANCODE_UNKNOWN, // KEY_CAMERA_UP |
| 566 | /* 536, 0x218 */ SDL_SCANCODE_UNKNOWN, // KEY_CAMERA_DOWN |
| 567 | /* 537, 0x219 */ SDL_SCANCODE_UNKNOWN, // KEY_CAMERA_LEFT |
| 568 | /* 538, 0x21a */ SDL_SCANCODE_UNKNOWN, // KEY_CAMERA_RIGHT |
| 569 | /* 539, 0x21b */ SDL_SCANCODE_UNKNOWN, // KEY_ATTENDANT_ON |
| 570 | /* 540, 0x21c */ SDL_SCANCODE_UNKNOWN, // KEY_ATTENDANT_OFF |
| 571 | /* 541, 0x21d */ SDL_SCANCODE_UNKNOWN, // KEY_ATTENDANT_TOGGLE |
| 572 | /* 542, 0x21e */ SDL_SCANCODE_UNKNOWN, // KEY_LIGHTS_TOGGLE |
| 573 | /* 543, 0x21f */ SDL_SCANCODE_UNKNOWN, |
| 574 | /* 544, 0x220 */ SDL_SCANCODE_UNKNOWN, |
| 575 | /* 545, 0x221 */ SDL_SCANCODE_UNKNOWN, |
| 576 | /* 546, 0x222 */ SDL_SCANCODE_UNKNOWN, |
| 577 | /* 547, 0x223 */ SDL_SCANCODE_UNKNOWN, |
| 578 | /* 548, 0x224 */ SDL_SCANCODE_UNKNOWN, |
| 579 | /* 549, 0x225 */ SDL_SCANCODE_UNKNOWN, |
| 580 | /* 550, 0x226 */ SDL_SCANCODE_UNKNOWN, |
| 581 | /* 551, 0x227 */ SDL_SCANCODE_UNKNOWN, |
| 582 | /* 552, 0x228 */ SDL_SCANCODE_UNKNOWN, |
| 583 | /* 553, 0x229 */ SDL_SCANCODE_UNKNOWN, |
| 584 | /* 554, 0x22a */ SDL_SCANCODE_UNKNOWN, |
| 585 | /* 555, 0x22b */ SDL_SCANCODE_UNKNOWN, |
| 586 | /* 556, 0x22c */ SDL_SCANCODE_UNKNOWN, |
| 587 | /* 557, 0x22d */ SDL_SCANCODE_UNKNOWN, |
| 588 | /* 558, 0x22e */ SDL_SCANCODE_UNKNOWN, |
| 589 | /* 559, 0x22f */ SDL_SCANCODE_UNKNOWN, |
| 590 | /* 560, 0x230 */ SDL_SCANCODE_UNKNOWN, // KEY_ALS_TOGGLE |
| 591 | /* 561, 0x231 */ SDL_SCANCODE_UNKNOWN, // KEY_ROTATE_LOCK_TOGGLE |
| 592 | /* 562, 0x232 */ SDL_SCANCODE_UNKNOWN, |
| 593 | /* 563, 0x233 */ SDL_SCANCODE_UNKNOWN, |
| 594 | /* 564, 0x234 */ SDL_SCANCODE_UNKNOWN, |
| 595 | /* 565, 0x235 */ SDL_SCANCODE_UNKNOWN, |
| 596 | /* 566, 0x236 */ SDL_SCANCODE_UNKNOWN, |
| 597 | /* 567, 0x237 */ SDL_SCANCODE_UNKNOWN, |
| 598 | /* 568, 0x238 */ SDL_SCANCODE_UNKNOWN, |
| 599 | /* 569, 0x239 */ SDL_SCANCODE_UNKNOWN, |
| 600 | /* 570, 0x23a */ SDL_SCANCODE_UNKNOWN, |
| 601 | /* 571, 0x23b */ SDL_SCANCODE_UNKNOWN, |
| 602 | /* 572, 0x23c */ SDL_SCANCODE_UNKNOWN, |
| 603 | /* 573, 0x23d */ SDL_SCANCODE_UNKNOWN, |
| 604 | /* 574, 0x23e */ SDL_SCANCODE_UNKNOWN, |
| 605 | /* 575, 0x23f */ SDL_SCANCODE_UNKNOWN, |
| 606 | /* 576, 0x240 */ SDL_SCANCODE_UNKNOWN, // KEY_BUTTONCONFIG |
| 607 | /* 577, 0x241 */ SDL_SCANCODE_UNKNOWN, // KEY_TASKMANAGER |
| 608 | /* 578, 0x242 */ SDL_SCANCODE_UNKNOWN, // KEY_JOURNAL |
| 609 | /* 579, 0x243 */ SDL_SCANCODE_UNKNOWN, // KEY_CONTROLPANEL |
| 610 | /* 580, 0x244 */ SDL_SCANCODE_UNKNOWN, // KEY_APPSELECT |
| 611 | /* 581, 0x245 */ SDL_SCANCODE_UNKNOWN, // KEY_SCREENSAVER |
| 612 | /* 582, 0x246 */ SDL_SCANCODE_UNKNOWN, // KEY_VOICECOMMAND |
| 613 | /* 583, 0x247 */ SDL_SCANCODE_UNKNOWN, // KEY_ASSISTANT |
| 614 | /* 584, 0x248 */ SDL_SCANCODE_UNKNOWN, // KEY_KBD_LAYOUT_NEXT |
| 615 | /* 585, 0x249 */ SDL_SCANCODE_UNKNOWN, // KEY_EMOJI_PICKER |
| 616 | /* 586, 0x24a */ SDL_SCANCODE_UNKNOWN, // KEY_DICTATE |
| 617 | /* 587, 0x24b */ SDL_SCANCODE_UNKNOWN, |
| 618 | /* 588, 0x24c */ SDL_SCANCODE_UNKNOWN, |
| 619 | /* 589, 0x24d */ SDL_SCANCODE_UNKNOWN, |
| 620 | /* 590, 0x24e */ SDL_SCANCODE_UNKNOWN, |
| 621 | /* 591, 0x24f */ SDL_SCANCODE_UNKNOWN, |
| 622 | /* 592, 0x250 */ SDL_SCANCODE_UNKNOWN, // KEY_BRIGHTNESS_MIN |
| 623 | /* 593, 0x251 */ SDL_SCANCODE_UNKNOWN, // KEY_BRIGHTNESS_MAX |
| 624 | /* 594, 0x252 */ SDL_SCANCODE_UNKNOWN, |
| 625 | /* 595, 0x253 */ SDL_SCANCODE_UNKNOWN, |
| 626 | /* 596, 0x254 */ SDL_SCANCODE_UNKNOWN, |
| 627 | /* 597, 0x255 */ SDL_SCANCODE_UNKNOWN, |
| 628 | /* 598, 0x256 */ SDL_SCANCODE_UNKNOWN, |
| 629 | /* 599, 0x257 */ SDL_SCANCODE_UNKNOWN, |
| 630 | /* 600, 0x258 */ SDL_SCANCODE_UNKNOWN, |
| 631 | /* 601, 0x259 */ SDL_SCANCODE_UNKNOWN, |
| 632 | /* 602, 0x25a */ SDL_SCANCODE_UNKNOWN, |
| 633 | /* 603, 0x25b */ SDL_SCANCODE_UNKNOWN, |
| 634 | /* 604, 0x25c */ SDL_SCANCODE_UNKNOWN, |
| 635 | /* 605, 0x25d */ SDL_SCANCODE_UNKNOWN, |
| 636 | /* 606, 0x25e */ SDL_SCANCODE_UNKNOWN, |
| 637 | /* 607, 0x25f */ SDL_SCANCODE_UNKNOWN, |
| 638 | /* 608, 0x260 */ SDL_SCANCODE_UNKNOWN, // KEY_KBDINPUTASSIST_PREV |
| 639 | /* 609, 0x261 */ SDL_SCANCODE_UNKNOWN, // KEY_KBDINPUTASSIST_NEXT |
| 640 | /* 610, 0x262 */ SDL_SCANCODE_UNKNOWN, // KEY_KBDINPUTASSIST_PREVGROUP |
| 641 | /* 611, 0x263 */ SDL_SCANCODE_UNKNOWN, // KEY_KBDINPUTASSIST_NEXTGROUP |
| 642 | /* 612, 0x264 */ SDL_SCANCODE_UNKNOWN, // KEY_KBDINPUTASSIST_ACCEPT |
| 643 | /* 613, 0x265 */ SDL_SCANCODE_UNKNOWN, // KEY_KBDINPUTASSIST_CANCEL |
| 644 | /* 614, 0x266 */ SDL_SCANCODE_UNKNOWN, // KEY_RIGHT_UP |
| 645 | /* 615, 0x267 */ SDL_SCANCODE_UNKNOWN, // KEY_RIGHT_DOWN |
| 646 | /* 616, 0x268 */ SDL_SCANCODE_UNKNOWN, // KEY_LEFT_UP |
| 647 | /* 617, 0x269 */ SDL_SCANCODE_UNKNOWN, // KEY_LEFT_DOWN |
| 648 | /* 618, 0x26a */ SDL_SCANCODE_UNKNOWN, // KEY_ROOT_MENU |
| 649 | /* 619, 0x26b */ SDL_SCANCODE_UNKNOWN, // KEY_MEDIA_TOP_MENU |
| 650 | /* 620, 0x26c */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_11 |
| 651 | /* 621, 0x26d */ SDL_SCANCODE_UNKNOWN, // KEY_NUMERIC_12 |
| 652 | /* 622, 0x26e */ SDL_SCANCODE_UNKNOWN, // KEY_AUDIO_DESC |
| 653 | /* 623, 0x26f */ SDL_SCANCODE_UNKNOWN, // KEY_3D_MODE |
| 654 | /* 624, 0x270 */ SDL_SCANCODE_UNKNOWN, // KEY_NEXT_FAVORITE |
| 655 | /* 625, 0x271 */ SDL_SCANCODE_UNKNOWN, // KEY_STOP_RECORD |
| 656 | /* 626, 0x272 */ SDL_SCANCODE_UNKNOWN, // KEY_PAUSE_RECORD |
| 657 | /* 627, 0x273 */ SDL_SCANCODE_UNKNOWN, // KEY_VOD |
| 658 | /* 628, 0x274 */ SDL_SCANCODE_UNKNOWN, // KEY_UNMUTE |
| 659 | /* 629, 0x275 */ SDL_SCANCODE_UNKNOWN, // KEY_FASTREVERSE |
| 660 | /* 630, 0x276 */ SDL_SCANCODE_UNKNOWN, // KEY_SLOWREVERSE |
| 661 | /* 631, 0x277 */ SDL_SCANCODE_UNKNOWN, // KEY_DATA |
| 662 | /* 632, 0x278 */ SDL_SCANCODE_UNKNOWN, // KEY_ONSCREEN_KEYBOARD |
| 663 | /* 633, 0x279 */ SDL_SCANCODE_UNKNOWN, // KEY_PRIVACY_SCREEN_TOGGLE |
| 664 | /* 634, 0x27a */ SDL_SCANCODE_UNKNOWN, // KEY_SELECTIVE_SCREENSHOT |
| 665 | /* 635, 0x27b */ SDL_SCANCODE_UNKNOWN, |
| 666 | /* 636, 0x27c */ SDL_SCANCODE_UNKNOWN, |
| 667 | /* 637, 0x27d */ SDL_SCANCODE_UNKNOWN, |
| 668 | /* 638, 0x27e */ SDL_SCANCODE_UNKNOWN, |
| 669 | /* 639, 0x27f */ SDL_SCANCODE_UNKNOWN, |
| 670 | /* 640, 0x280 */ SDL_SCANCODE_UNKNOWN, |
| 671 | /* 641, 0x281 */ SDL_SCANCODE_UNKNOWN, |
| 672 | /* 642, 0x282 */ SDL_SCANCODE_UNKNOWN, |
| 673 | /* 643, 0x283 */ SDL_SCANCODE_UNKNOWN, |
| 674 | /* 644, 0x284 */ SDL_SCANCODE_UNKNOWN, |
| 675 | /* 645, 0x285 */ SDL_SCANCODE_UNKNOWN, |
| 676 | /* 646, 0x286 */ SDL_SCANCODE_UNKNOWN, |
| 677 | /* 647, 0x287 */ SDL_SCANCODE_UNKNOWN, |
| 678 | /* 648, 0x288 */ SDL_SCANCODE_UNKNOWN, |
| 679 | /* 649, 0x289 */ SDL_SCANCODE_UNKNOWN, |
| 680 | /* 650, 0x28a */ SDL_SCANCODE_UNKNOWN, |
| 681 | /* 651, 0x28b */ SDL_SCANCODE_UNKNOWN, |
| 682 | /* 652, 0x28c */ SDL_SCANCODE_UNKNOWN, |
| 683 | /* 653, 0x28d */ SDL_SCANCODE_UNKNOWN, |
| 684 | /* 654, 0x28e */ SDL_SCANCODE_UNKNOWN, |
| 685 | /* 655, 0x28f */ SDL_SCANCODE_UNKNOWN, |
| 686 | /* 656, 0x290 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO1 |
| 687 | /* 657, 0x291 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO2 |
| 688 | /* 658, 0x292 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO3 |
| 689 | /* 659, 0x293 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO4 |
| 690 | /* 660, 0x294 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO5 |
| 691 | /* 661, 0x295 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO6 |
| 692 | /* 662, 0x296 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO7 |
| 693 | /* 663, 0x297 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO8 |
| 694 | /* 664, 0x298 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO9 |
| 695 | /* 665, 0x299 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO10 |
| 696 | /* 666, 0x29a */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO11 |
| 697 | /* 667, 0x29b */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO12 |
| 698 | /* 668, 0x29c */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO13 |
| 699 | /* 669, 0x29d */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO14 |
| 700 | /* 670, 0x29e */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO15 |
| 701 | /* 671, 0x29f */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO16 |
| 702 | /* 672, 0x2a0 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO17 |
| 703 | /* 673, 0x2a1 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO18 |
| 704 | /* 674, 0x2a2 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO19 |
| 705 | /* 675, 0x2a3 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO20 |
| 706 | /* 676, 0x2a4 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO21 |
| 707 | /* 677, 0x2a5 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO22 |
| 708 | /* 678, 0x2a6 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO23 |
| 709 | /* 679, 0x2a7 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO24 |
| 710 | /* 680, 0x2a8 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO25 |
| 711 | /* 681, 0x2a9 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO26 |
| 712 | /* 682, 0x2aa */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO27 |
| 713 | /* 683, 0x2ab */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO28 |
| 714 | /* 684, 0x2ac */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO29 |
| 715 | /* 685, 0x2ad */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO30 |
| 716 | /* 686, 0x2ae */ SDL_SCANCODE_UNKNOWN, |
| 717 | /* 687, 0x2af */ SDL_SCANCODE_UNKNOWN, |
| 718 | /* 688, 0x2b0 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO_RECORD_START |
| 719 | /* 689, 0x2b1 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO_RECORD_STOP |
| 720 | /* 690, 0x2b2 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO_PRESET_CYCLE |
| 721 | /* 691, 0x2b3 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO_PRESET1 |
| 722 | /* 692, 0x2b4 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO_PRESET2 |
| 723 | /* 693, 0x2b5 */ SDL_SCANCODE_UNKNOWN, // KEY_MACRO_PRESET3 |
| 724 | /* 694, 0x2b6 */ SDL_SCANCODE_UNKNOWN, |
| 725 | /* 695, 0x2b7 */ SDL_SCANCODE_UNKNOWN, |
| 726 | /* 696, 0x2b8 */ SDL_SCANCODE_UNKNOWN, // KEY_KBD_LCD_MENU1 |
| 727 | /* 697, 0x2b9 */ SDL_SCANCODE_UNKNOWN, // KEY_KBD_LCD_MENU2 |
| 728 | /* 698, 0x2ba */ SDL_SCANCODE_UNKNOWN, // KEY_KBD_LCD_MENU3 |
| 729 | /* 699, 0x2bb */ SDL_SCANCODE_UNKNOWN, // KEY_KBD_LCD_MENU4 |
| 730 | /* 700, 0x2bc */ SDL_SCANCODE_UNKNOWN, // KEY_KBD_LCD_MENU5 |
| 731 | /* 701, 0x2bd */ SDL_SCANCODE_UNKNOWN, |
| 732 | /* 702, 0x2be */ SDL_SCANCODE_UNKNOWN, |
| 733 | /* 703, 0x2bf */ SDL_SCANCODE_UNKNOWN, |
| 734 | /* 704, 0x2c0 */ SDL_SCANCODE_UNKNOWN, |
| 735 | /* 705, 0x2c1 */ SDL_SCANCODE_UNKNOWN, |
| 736 | /* 706, 0x2c2 */ SDL_SCANCODE_UNKNOWN, |
| 737 | /* 707, 0x2c3 */ SDL_SCANCODE_UNKNOWN, |
| 738 | /* 708, 0x2c4 */ SDL_SCANCODE_UNKNOWN, |
| 739 | /* 709, 0x2c5 */ SDL_SCANCODE_UNKNOWN, |
| 740 | /* 710, 0x2c6 */ SDL_SCANCODE_UNKNOWN, |
| 741 | /* 711, 0x2c7 */ SDL_SCANCODE_UNKNOWN, |
| 742 | /* 712, 0x2c8 */ SDL_SCANCODE_UNKNOWN, |
| 743 | /* 713, 0x2c9 */ SDL_SCANCODE_UNKNOWN, |
| 744 | /* 714, 0x2ca */ SDL_SCANCODE_UNKNOWN, |
| 745 | /* 715, 0x2cb */ SDL_SCANCODE_UNKNOWN, |
| 746 | /* 716, 0x2cc */ SDL_SCANCODE_UNKNOWN, |
| 747 | /* 717, 0x2cd */ SDL_SCANCODE_UNKNOWN, |
| 748 | /* 718, 0x2ce */ SDL_SCANCODE_UNKNOWN, |
| 749 | /* 719, 0x2cf */ SDL_SCANCODE_UNKNOWN, |
| 750 | /* 720, 0x2d0 */ SDL_SCANCODE_UNKNOWN, |
| 751 | /* 721, 0x2d1 */ SDL_SCANCODE_UNKNOWN, |
| 752 | /* 722, 0x2d2 */ SDL_SCANCODE_UNKNOWN, |
| 753 | /* 723, 0x2d3 */ SDL_SCANCODE_UNKNOWN, |
| 754 | /* 724, 0x2d4 */ SDL_SCANCODE_UNKNOWN, |
| 755 | /* 725, 0x2d5 */ SDL_SCANCODE_UNKNOWN, |
| 756 | /* 726, 0x2d6 */ SDL_SCANCODE_UNKNOWN, |
| 757 | /* 727, 0x2d7 */ SDL_SCANCODE_UNKNOWN, |
| 758 | /* 728, 0x2d8 */ SDL_SCANCODE_UNKNOWN, |
| 759 | /* 729, 0x2d9 */ SDL_SCANCODE_UNKNOWN, |
| 760 | /* 730, 0x2da */ SDL_SCANCODE_UNKNOWN, |
| 761 | /* 731, 0x2db */ SDL_SCANCODE_UNKNOWN, |
| 762 | /* 732, 0x2dc */ SDL_SCANCODE_UNKNOWN, |
| 763 | /* 733, 0x2dd */ SDL_SCANCODE_UNKNOWN, |
| 764 | /* 734, 0x2de */ SDL_SCANCODE_UNKNOWN, |
| 765 | /* 735, 0x2df */ SDL_SCANCODE_UNKNOWN, |
| 766 | /* 736, 0x2e0 */ SDL_SCANCODE_UNKNOWN, |
| 767 | /* 737, 0x2e1 */ SDL_SCANCODE_UNKNOWN, |
| 768 | /* 738, 0x2e2 */ SDL_SCANCODE_UNKNOWN, |
| 769 | /* 739, 0x2e3 */ SDL_SCANCODE_UNKNOWN, |
| 770 | /* 740, 0x2e4 */ SDL_SCANCODE_UNKNOWN, |
| 771 | /* 741, 0x2e5 */ SDL_SCANCODE_UNKNOWN, |
| 772 | /* 742, 0x2e6 */ SDL_SCANCODE_UNKNOWN, |
| 773 | /* 743, 0x2e7 */ SDL_SCANCODE_UNKNOWN, |
| 774 | /* 744, 0x2e8 */ SDL_SCANCODE_UNKNOWN, |
| 775 | /* 745, 0x2e9 */ SDL_SCANCODE_UNKNOWN, |
| 776 | /* 746, 0x2ea */ SDL_SCANCODE_UNKNOWN, |
| 777 | /* 747, 0x2eb */ SDL_SCANCODE_UNKNOWN, |
| 778 | /* 748, 0x2ec */ SDL_SCANCODE_UNKNOWN, |
| 779 | /* 749, 0x2ed */ SDL_SCANCODE_UNKNOWN, |
| 780 | /* 750, 0x2ee */ SDL_SCANCODE_UNKNOWN, |
| 781 | /* 751, 0x2ef */ SDL_SCANCODE_UNKNOWN, |
| 782 | /* 752, 0x2f0 */ SDL_SCANCODE_UNKNOWN, |
| 783 | /* 753, 0x2f1 */ SDL_SCANCODE_UNKNOWN, |
| 784 | /* 754, 0x2f2 */ SDL_SCANCODE_UNKNOWN, |
| 785 | /* 755, 0x2f3 */ SDL_SCANCODE_UNKNOWN, |
| 786 | /* 756, 0x2f4 */ SDL_SCANCODE_UNKNOWN, |
| 787 | /* 757, 0x2f5 */ SDL_SCANCODE_UNKNOWN, |
| 788 | /* 758, 0x2f6 */ SDL_SCANCODE_UNKNOWN, |
| 789 | /* 759, 0x2f7 */ SDL_SCANCODE_UNKNOWN, |
| 790 | /* 760, 0x2f8 */ SDL_SCANCODE_UNKNOWN, |
| 791 | /* 761, 0x2f9 */ SDL_SCANCODE_UNKNOWN, |
| 792 | /* 762, 0x2fa */ SDL_SCANCODE_UNKNOWN, |
| 793 | /* 763, 0x2fb */ SDL_SCANCODE_UNKNOWN, |
| 794 | /* 764, 0x2fc */ SDL_SCANCODE_UNKNOWN, |
| 795 | /* 765, 0x2fd */ SDL_SCANCODE_UNKNOWN, |
| 796 | /* 766, 0x2fe */ SDL_SCANCODE_UNKNOWN, |
| 797 | /* 767, 0x2ff */ SDL_SCANCODE_UNKNOWN, // KEY_MAX |
| 798 | #endif // 0 |
| 799 | }; |
| 800 | |
| 801 | #if 0 // A shell script to update the Linux key names in this file |
| 802 | #!/bin/bash |
| 803 | |
| 804 | function get_keyname |
| 805 | { |
| 806 | value=$(echo "$1" | awk '{print $3}') |
| 807 | grep -F KEY_ /usr/include/linux/input-event-codes.h | while read line; do |
| 808 | read -ra fields <<<"$line" |
| 809 | if [ "${fields[2]}" = "$value" ]; then |
| 810 | echo "${fields[1]}" |
| 811 | return |
| 812 | fi |
| 813 | done |
| 814 | } |
| 815 | |
| 816 | grep -F SDL_SCANCODE scancodes_linux.h | while read line; do |
| 817 | if [ $(echo "$line" | awk '{print NF}') -eq 5 ]; then |
| 818 | name=$(get_keyname "$line" ) |
| 819 | if [ "$name" != "" ]; then |
| 820 | echo " $line /* $name */" |
| 821 | continue |
| 822 | fi |
| 823 | fi |
| 824 | echo " $line" |
| 825 | done |
| 826 | #endif // end script |
| 827 | |
| 828 | #if 0 // A shell script to get comments from the Linux header for these keys |
| 829 | #!/bin/bash |
| 830 | |
| 831 | function get_comment |
| 832 | { |
| 833 | name=$(echo "$1" | awk '{print $7}') |
| 834 | if [ "$name" != "" ]; then |
| 835 | grep -E "$name\s" /usr/include/linux/input-event-codes.h | grep -F "/*" | sed 's,[^/]*/,/,' |
| 836 | fi |
| 837 | } |
| 838 | |
| 839 | grep -F SDL_SCANCODE scancodes_linux.h | while read line; do |
| 840 | comment=$(get_comment "$line" ) |
| 841 | if [ "$comment" != "" ]; then |
| 842 | echo " $line $comment" |
| 843 | fi |
| 844 | done |
| 845 | #endif // end script |
| 846 | |
| 847 | |
| 848 | /* *INDENT-ON* */ // clang-format on |
| 849 | |