| /* |
| Simple DirectMedia Layer |
| Copyright (C) 1997-2022 Sam Lantinga <slouken@libsdl.org> |
| |
| This software is provided 'as-is', without any express or implied |
| warranty. In no event will the authors be held liable for any damages |
| arising from the use of this software. |
| |
| Permission is granted to anyone to use this software for any purpose, |
| including commercial applications, and to alter it and redistribute it |
| freely, subject to the following restrictions: |
| |
| 1. The origin of this software must not be misrepresented; you must not |
| claim that you wrote the original software. If you use this software |
| in a product, an acknowledgment in the product documentation would be |
| appreciated but is not required. |
| 2. Altered source versions must be plainly marked as such, and must not be |
| misrepresented as being the original software. |
| 3. This notice may not be removed or altered from any source distribution. |
| */ |
| |
| #ifndef scancodes_xfree86_h_ |
| #define scancodes_xfree86_h_ |
| |
| #include "../../include/SDL_scancode.h" |
| |
| /* XFree86 key code to SDL scancode mapping table |
| Sources: |
| - atKeyNames.h from XFree86 source code |
| */ |
| /* *INDENT-OFF* */ /* clang-format off */ |
| static const SDL_Scancode xfree86_scancode_table[] = { |
| /* 0 */ SDL_SCANCODE_UNKNOWN, |
| /* 1 */ SDL_SCANCODE_ESCAPE, |
| /* 2 */ SDL_SCANCODE_1, |
| /* 3 */ SDL_SCANCODE_2, |
| /* 4 */ SDL_SCANCODE_3, |
| /* 5 */ SDL_SCANCODE_4, |
| /* 6 */ SDL_SCANCODE_5, |
| /* 7 */ SDL_SCANCODE_6, |
| /* 8 */ SDL_SCANCODE_7, |
| /* 9 */ SDL_SCANCODE_8, |
| /* 10 */ SDL_SCANCODE_9, |
| /* 11 */ SDL_SCANCODE_0, |
| /* 12 */ SDL_SCANCODE_MINUS, |
| /* 13 */ SDL_SCANCODE_EQUALS, |
| /* 14 */ SDL_SCANCODE_BACKSPACE, |
| /* 15 */ SDL_SCANCODE_TAB, |
| /* 16 */ SDL_SCANCODE_Q, |
| /* 17 */ SDL_SCANCODE_W, |
| /* 18 */ SDL_SCANCODE_E, |
| /* 19 */ SDL_SCANCODE_R, |
| /* 20 */ SDL_SCANCODE_T, |
| /* 21 */ SDL_SCANCODE_Y, |
| /* 22 */ SDL_SCANCODE_U, |
| /* 23 */ SDL_SCANCODE_I, |
| /* 24 */ SDL_SCANCODE_O, |
| /* 25 */ SDL_SCANCODE_P, |
| /* 26 */ SDL_SCANCODE_LEFTBRACKET, |
| /* 27 */ SDL_SCANCODE_RIGHTBRACKET, |
| /* 28 */ SDL_SCANCODE_RETURN, |
| /* 29 */ SDL_SCANCODE_LCTRL, |
| /* 30 */ SDL_SCANCODE_A, |
| /* 31 */ SDL_SCANCODE_S, |
| /* 32 */ SDL_SCANCODE_D, |
| /* 33 */ SDL_SCANCODE_F, |
| /* 34 */ SDL_SCANCODE_G, |
| /* 35 */ SDL_SCANCODE_H, |
| /* 36 */ SDL_SCANCODE_J, |
| /* 37 */ SDL_SCANCODE_K, |
| /* 38 */ SDL_SCANCODE_L, |
| /* 39 */ SDL_SCANCODE_SEMICOLON, |
| /* 40 */ SDL_SCANCODE_APOSTROPHE, |
| /* 41 */ SDL_SCANCODE_GRAVE, |
| /* 42 */ SDL_SCANCODE_LSHIFT, |
| /* 43 */ SDL_SCANCODE_BACKSLASH, |
| /* 44 */ SDL_SCANCODE_Z, |
| /* 45 */ SDL_SCANCODE_X, |
| /* 46 */ SDL_SCANCODE_C, |
| /* 47 */ SDL_SCANCODE_V, |
| /* 48 */ SDL_SCANCODE_B, |
| /* 49 */ SDL_SCANCODE_N, |
| /* 50 */ SDL_SCANCODE_M, |
| /* 51 */ SDL_SCANCODE_COMMA, |
| /* 52 */ SDL_SCANCODE_PERIOD, |
| /* 53 */ SDL_SCANCODE_SLASH, |
| /* 54 */ SDL_SCANCODE_RSHIFT, |
| /* 55 */ SDL_SCANCODE_KP_MULTIPLY, |
| /* 56 */ SDL_SCANCODE_LALT, |
| /* 57 */ SDL_SCANCODE_SPACE, |
| /* 58 */ SDL_SCANCODE_CAPSLOCK, |
| /* 59 */ SDL_SCANCODE_F1, |
| /* 60 */ SDL_SCANCODE_F2, |
| /* 61 */ SDL_SCANCODE_F3, |
| /* 62 */ SDL_SCANCODE_F4, |
| /* 63 */ SDL_SCANCODE_F5, |
| /* 64 */ SDL_SCANCODE_F6, |
| /* 65 */ SDL_SCANCODE_F7, |
| /* 66 */ SDL_SCANCODE_F8, |
| /* 67 */ SDL_SCANCODE_F9, |
| /* 68 */ SDL_SCANCODE_F10, |
| /* 69 */ SDL_SCANCODE_NUMLOCKCLEAR, |
| /* 70 */ SDL_SCANCODE_SCROLLLOCK, |
| /* 71 */ SDL_SCANCODE_KP_7, |
| /* 72 */ SDL_SCANCODE_KP_8, |
| /* 73 */ SDL_SCANCODE_KP_9, |
| /* 74 */ SDL_SCANCODE_KP_MINUS, |
| /* 75 */ SDL_SCANCODE_KP_4, |
| /* 76 */ SDL_SCANCODE_KP_5, |
| /* 77 */ SDL_SCANCODE_KP_6, |
| /* 78 */ SDL_SCANCODE_KP_PLUS, |
| /* 79 */ SDL_SCANCODE_KP_1, |
| /* 80 */ SDL_SCANCODE_KP_2, |
| /* 81 */ SDL_SCANCODE_KP_3, |
| /* 82 */ SDL_SCANCODE_KP_0, |
| /* 83 */ SDL_SCANCODE_KP_PERIOD, |
| /* 84 */ SDL_SCANCODE_SYSREQ, |
| /* 85 */ SDL_SCANCODE_MODE, |
| /* 86 */ SDL_SCANCODE_NONUSBACKSLASH, |
| /* 87 */ SDL_SCANCODE_F11, |
| /* 88 */ SDL_SCANCODE_F12, |
| /* 89 */ SDL_SCANCODE_HOME, |
| /* 90 */ SDL_SCANCODE_UP, |
| /* 91 */ SDL_SCANCODE_PAGEUP, |
| /* 92 */ SDL_SCANCODE_LEFT, |
| /* 93 */ SDL_SCANCODE_BRIGHTNESSDOWN, /* on PowerBook G4 / KEY_Begin */ |
| /* 94 */ SDL_SCANCODE_RIGHT, |
| /* 95 */ SDL_SCANCODE_END, |
| /* 96 */ SDL_SCANCODE_DOWN, |
| /* 97 */ SDL_SCANCODE_PAGEDOWN, |
| /* 98 */ SDL_SCANCODE_INSERT, |
| /* 99 */ SDL_SCANCODE_DELETE, |
| /* 100 */ SDL_SCANCODE_KP_ENTER, |
| /* 101 */ SDL_SCANCODE_RCTRL, |
| /* 102 */ SDL_SCANCODE_PAUSE, |
| /* 103 */ SDL_SCANCODE_PRINTSCREEN, |
| /* 104 */ SDL_SCANCODE_KP_DIVIDE, |
| /* 105 */ SDL_SCANCODE_RALT, |
| /* 106 */ SDL_SCANCODE_UNKNOWN, /* BREAK */ |
| /* 107 */ SDL_SCANCODE_LGUI, |
| /* 108 */ SDL_SCANCODE_RGUI, |
| /* 109 */ SDL_SCANCODE_APPLICATION, |
| /* 110 */ SDL_SCANCODE_F13, |
| /* 111 */ SDL_SCANCODE_F14, |
| /* 112 */ SDL_SCANCODE_F15, |
| /* 113 */ SDL_SCANCODE_F16, |
| /* 114 */ SDL_SCANCODE_F17, |
| /* 115 */ SDL_SCANCODE_INTERNATIONAL1, /* \_ */ |
| /* 116 */ SDL_SCANCODE_UNKNOWN, /* is translated to XK_ISO_Level3_Shift by my X server, but I have no keyboard that generates this code, so I don't know what the correct SDL_SCANCODE_* for it is */ |
| /* 117 */ SDL_SCANCODE_UNKNOWN, |
| /* 118 */ SDL_SCANCODE_KP_EQUALS, |
| /* 119 */ SDL_SCANCODE_UNKNOWN, |
| /* 120 */ SDL_SCANCODE_UNKNOWN, |
| /* 121 */ SDL_SCANCODE_INTERNATIONAL4, /* Henkan_Mode */ |
| /* 122 */ SDL_SCANCODE_UNKNOWN, |
| /* 123 */ SDL_SCANCODE_INTERNATIONAL5, /* Muhenkan */ |
| /* 124 */ SDL_SCANCODE_UNKNOWN, |
| /* 125 */ SDL_SCANCODE_INTERNATIONAL3, /* Yen */ |
| /* 126 */ SDL_SCANCODE_UNKNOWN, |
| /* 127 */ SDL_SCANCODE_UNKNOWN, |
| /* 128 */ SDL_SCANCODE_UNKNOWN, |
| /* 129 */ SDL_SCANCODE_UNKNOWN, |
| /* 130 */ SDL_SCANCODE_UNKNOWN, |
| /* 131 */ SDL_SCANCODE_UNKNOWN, |
| /* 132 */ SDL_SCANCODE_POWER, |
| /* 133 */ SDL_SCANCODE_MUTE, |
| /* 134 */ SDL_SCANCODE_VOLUMEDOWN, |
| /* 135 */ SDL_SCANCODE_VOLUMEUP, |
| /* 136 */ SDL_SCANCODE_HELP, |
| /* 137 */ SDL_SCANCODE_STOP, |
| /* 138 */ SDL_SCANCODE_AGAIN, |
| /* 139 */ SDL_SCANCODE_UNKNOWN, /* PROPS */ |
| /* 140 */ SDL_SCANCODE_UNDO, |
| /* 141 */ SDL_SCANCODE_UNKNOWN, /* FRONT */ |
| /* 142 */ SDL_SCANCODE_COPY, |
| /* 143 */ SDL_SCANCODE_UNKNOWN, /* OPEN */ |
| /* 144 */ SDL_SCANCODE_PASTE, |
| /* 145 */ SDL_SCANCODE_FIND, |
| /* 146 */ SDL_SCANCODE_CUT, |
| }; |
| |
| /* This is largely identical to the Linux keycode mapping */ |
| static const SDL_Scancode xfree86_scancode_table2[] = { |
| /* 0, 0x000 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 1, 0x001 */ SDL_SCANCODE_ESCAPE, /* Escape */ |
| /* 2, 0x002 */ SDL_SCANCODE_1, /* 1 */ |
| /* 3, 0x003 */ SDL_SCANCODE_2, /* 2 */ |
| /* 4, 0x004 */ SDL_SCANCODE_3, /* 3 */ |
| /* 5, 0x005 */ SDL_SCANCODE_4, /* 4 */ |
| /* 6, 0x006 */ SDL_SCANCODE_5, /* 5 */ |
| /* 7, 0x007 */ SDL_SCANCODE_6, /* 6 */ |
| /* 8, 0x008 */ SDL_SCANCODE_7, /* 7 */ |
| /* 9, 0x009 */ SDL_SCANCODE_8, /* 8 */ |
| /* 10, 0x00a */ SDL_SCANCODE_9, /* 9 */ |
| /* 11, 0x00b */ SDL_SCANCODE_0, /* 0 */ |
| /* 12, 0x00c */ SDL_SCANCODE_MINUS, /* minus */ |
| /* 13, 0x00d */ SDL_SCANCODE_EQUALS, /* equal */ |
| /* 14, 0x00e */ SDL_SCANCODE_BACKSPACE, /* BackSpace */ |
| /* 15, 0x00f */ SDL_SCANCODE_TAB, /* Tab */ |
| /* 16, 0x010 */ SDL_SCANCODE_Q, /* q */ |
| /* 17, 0x011 */ SDL_SCANCODE_W, /* w */ |
| /* 18, 0x012 */ SDL_SCANCODE_E, /* e */ |
| /* 19, 0x013 */ SDL_SCANCODE_R, /* r */ |
| /* 20, 0x014 */ SDL_SCANCODE_T, /* t */ |
| /* 21, 0x015 */ SDL_SCANCODE_Y, /* y */ |
| /* 22, 0x016 */ SDL_SCANCODE_U, /* u */ |
| /* 23, 0x017 */ SDL_SCANCODE_I, /* i */ |
| /* 24, 0x018 */ SDL_SCANCODE_O, /* o */ |
| /* 25, 0x019 */ SDL_SCANCODE_P, /* p */ |
| /* 26, 0x01a */ SDL_SCANCODE_LEFTBRACKET, /* bracketleft */ |
| /* 27, 0x01b */ SDL_SCANCODE_RIGHTBRACKET, /* bracketright */ |
| /* 28, 0x01c */ SDL_SCANCODE_RETURN, /* Return */ |
| /* 29, 0x01d */ SDL_SCANCODE_LCTRL, /* Control_L */ |
| /* 30, 0x01e */ SDL_SCANCODE_A, /* a */ |
| /* 31, 0x01f */ SDL_SCANCODE_S, /* s */ |
| /* 32, 0x020 */ SDL_SCANCODE_D, /* d */ |
| /* 33, 0x021 */ SDL_SCANCODE_F, /* f */ |
| /* 34, 0x022 */ SDL_SCANCODE_G, /* g */ |
| /* 35, 0x023 */ SDL_SCANCODE_H, /* h */ |
| /* 36, 0x024 */ SDL_SCANCODE_J, /* j */ |
| /* 37, 0x025 */ SDL_SCANCODE_K, /* k */ |
| /* 38, 0x026 */ SDL_SCANCODE_L, /* l */ |
| /* 39, 0x027 */ SDL_SCANCODE_SEMICOLON, /* semicolon */ |
| /* 40, 0x028 */ SDL_SCANCODE_APOSTROPHE, /* apostrophe */ |
| /* 41, 0x029 */ SDL_SCANCODE_GRAVE, /* grave */ |
| /* 42, 0x02a */ SDL_SCANCODE_LSHIFT, /* Shift_L */ |
| /* 43, 0x02b */ SDL_SCANCODE_BACKSLASH, /* backslash */ |
| /* 44, 0x02c */ SDL_SCANCODE_Z, /* z */ |
| /* 45, 0x02d */ SDL_SCANCODE_X, /* x */ |
| /* 46, 0x02e */ SDL_SCANCODE_C, /* c */ |
| /* 47, 0x02f */ SDL_SCANCODE_V, /* v */ |
| /* 48, 0x030 */ SDL_SCANCODE_B, /* b */ |
| /* 49, 0x031 */ SDL_SCANCODE_N, /* n */ |
| /* 50, 0x032 */ SDL_SCANCODE_M, /* m */ |
| /* 51, 0x033 */ SDL_SCANCODE_COMMA, /* comma */ |
| /* 52, 0x034 */ SDL_SCANCODE_PERIOD, /* period */ |
| /* 53, 0x035 */ SDL_SCANCODE_SLASH, /* slash */ |
| /* 54, 0x036 */ SDL_SCANCODE_RSHIFT, /* Shift_R */ |
| /* 55, 0x037 */ SDL_SCANCODE_KP_MULTIPLY, /* KP_Multiply */ |
| /* 56, 0x038 */ SDL_SCANCODE_LALT, /* Alt_L */ |
| /* 57, 0x039 */ SDL_SCANCODE_SPACE, /* space */ |
| /* 58, 0x03a */ SDL_SCANCODE_CAPSLOCK, /* Caps_Lock */ |
| /* 59, 0x03b */ SDL_SCANCODE_F1, /* F1 */ |
| /* 60, 0x03c */ SDL_SCANCODE_F2, /* F2 */ |
| /* 61, 0x03d */ SDL_SCANCODE_F3, /* F3 */ |
| /* 62, 0x03e */ SDL_SCANCODE_F4, /* F4 */ |
| /* 63, 0x03f */ SDL_SCANCODE_F5, /* F5 */ |
| /* 64, 0x040 */ SDL_SCANCODE_F6, /* F6 */ |
| /* 65, 0x041 */ SDL_SCANCODE_F7, /* F7 */ |
| /* 66, 0x042 */ SDL_SCANCODE_F8, /* F8 */ |
| /* 67, 0x043 */ SDL_SCANCODE_F9, /* F9 */ |
| /* 68, 0x044 */ SDL_SCANCODE_F10, /* F10 */ |
| /* 69, 0x045 */ SDL_SCANCODE_NUMLOCKCLEAR, /* Num_Lock */ |
| /* 70, 0x046 */ SDL_SCANCODE_SCROLLLOCK, /* Scroll_Lock */ |
| /* 71, 0x047 */ SDL_SCANCODE_KP_7, /* KP_Home */ |
| /* 72, 0x048 */ SDL_SCANCODE_KP_8, /* KP_Up */ |
| /* 73, 0x049 */ SDL_SCANCODE_KP_9, /* KP_Prior */ |
| /* 74, 0x04a */ SDL_SCANCODE_KP_MINUS, /* KP_Subtract */ |
| /* 75, 0x04b */ SDL_SCANCODE_KP_4, /* KP_Left */ |
| /* 76, 0x04c */ SDL_SCANCODE_KP_5, /* KP_Begin */ |
| /* 77, 0x04d */ SDL_SCANCODE_KP_6, /* KP_Right */ |
| /* 78, 0x04e */ SDL_SCANCODE_KP_PLUS, /* KP_Add */ |
| /* 79, 0x04f */ SDL_SCANCODE_KP_1, /* KP_End */ |
| /* 80, 0x050 */ SDL_SCANCODE_KP_2, /* KP_Down */ |
| /* 81, 0x051 */ SDL_SCANCODE_KP_3, /* KP_Next */ |
| /* 82, 0x052 */ SDL_SCANCODE_KP_0, /* KP_Insert */ |
| /* 83, 0x053 */ SDL_SCANCODE_KP_PERIOD, /* KP_Delete */ |
| /* 84, 0x054 */ SDL_SCANCODE_RALT, /* ISO_Level3_Shift */ |
| /* 85, 0x055 */ SDL_SCANCODE_MODE, /* ???? */ |
| /* 86, 0x056 */ SDL_SCANCODE_NONUSBACKSLASH, /* less */ |
| /* 87, 0x057 */ SDL_SCANCODE_F11, /* F11 */ |
| /* 88, 0x058 */ SDL_SCANCODE_F12, /* F12 */ |
| /* 89, 0x059 */ SDL_SCANCODE_INTERNATIONAL1, /* \_ */ |
| /* 90, 0x05a */ SDL_SCANCODE_LANG3, /* Katakana */ |
| /* 91, 0x05b */ SDL_SCANCODE_LANG4, /* Hiragana */ |
| /* 92, 0x05c */ SDL_SCANCODE_INTERNATIONAL4, /* Henkan_Mode */ |
| /* 93, 0x05d */ SDL_SCANCODE_INTERNATIONAL2, /* Hiragana_Katakana */ |
| /* 94, 0x05e */ SDL_SCANCODE_INTERNATIONAL5, /* Muhenkan */ |
| /* 95, 0x05f */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 96, 0x060 */ SDL_SCANCODE_KP_ENTER, /* KP_Enter */ |
| /* 97, 0x061 */ SDL_SCANCODE_RCTRL, /* Control_R */ |
| /* 98, 0x062 */ SDL_SCANCODE_KP_DIVIDE, /* KP_Divide */ |
| /* 99, 0x063 */ SDL_SCANCODE_PRINTSCREEN, /* Print */ |
| /* 100, 0x064 */ SDL_SCANCODE_RALT, /* ISO_Level3_Shift, ALTGR, RALT */ |
| /* 101, 0x065 */ SDL_SCANCODE_UNKNOWN, /* Linefeed */ |
| /* 102, 0x066 */ SDL_SCANCODE_HOME, /* Home */ |
| /* 103, 0x067 */ SDL_SCANCODE_UP, /* Up */ |
| /* 104, 0x068 */ SDL_SCANCODE_PAGEUP, /* Prior */ |
| /* 105, 0x069 */ SDL_SCANCODE_LEFT, /* Left */ |
| /* 106, 0x06a */ SDL_SCANCODE_RIGHT, /* Right */ |
| /* 107, 0x06b */ SDL_SCANCODE_END, /* End */ |
| /* 108, 0x06c */ SDL_SCANCODE_DOWN, /* Down */ |
| /* 109, 0x06d */ SDL_SCANCODE_PAGEDOWN, /* Next */ |
| /* 110, 0x06e */ SDL_SCANCODE_INSERT, /* Insert */ |
| /* 111, 0x06f */ SDL_SCANCODE_DELETE, /* Delete */ |
| /* 112, 0x070 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 113, 0x071 */ SDL_SCANCODE_MUTE, /* XF86AudioMute */ |
| /* 114, 0x072 */ SDL_SCANCODE_VOLUMEDOWN, /* XF86AudioLowerVolume */ |
| /* 115, 0x073 */ SDL_SCANCODE_VOLUMEUP, /* XF86AudioRaiseVolume */ |
| /* 116, 0x074 */ SDL_SCANCODE_POWER, /* XF86PowerOff */ |
| /* 117, 0x075 */ SDL_SCANCODE_KP_EQUALS, /* KP_Equal */ |
| /* 118, 0x076 */ SDL_SCANCODE_KP_PLUSMINUS, /* plusminus */ |
| /* 119, 0x077 */ SDL_SCANCODE_PAUSE, /* Pause */ |
| /* 120, 0x078 */ SDL_SCANCODE_UNKNOWN, /* XF86LaunchA */ |
| /* 121, 0x079 */ SDL_SCANCODE_KP_PERIOD, /* KP_Decimal */ |
| /* 122, 0x07a */ SDL_SCANCODE_LANG1, /* Hangul */ |
| /* 123, 0x07b */ SDL_SCANCODE_LANG2, /* Hangul_Hanja */ |
| /* 124, 0x07c */ SDL_SCANCODE_INTERNATIONAL3, /* Yen */ |
| /* 125, 0x07d */ SDL_SCANCODE_LGUI, /* Super_L */ |
| /* 126, 0x07e */ SDL_SCANCODE_RGUI, /* Super_R */ |
| /* 127, 0x07f */ SDL_SCANCODE_APPLICATION, /* Menu */ |
| /* 128, 0x080 */ SDL_SCANCODE_CANCEL, /* Cancel */ |
| /* 129, 0x081 */ SDL_SCANCODE_AGAIN, /* Redo */ |
| /* 130, 0x082 */ SDL_SCANCODE_UNKNOWN, /* SunProps */ |
| /* 131, 0x083 */ SDL_SCANCODE_UNDO, /* Undo */ |
| /* 132, 0x084 */ SDL_SCANCODE_UNKNOWN, /* SunFront */ |
| /* 133, 0x085 */ SDL_SCANCODE_COPY, /* XF86Copy */ |
| /* 134, 0x086 */ SDL_SCANCODE_UNKNOWN, /* SunOpen, XF86Open */ |
| /* 135, 0x087 */ SDL_SCANCODE_PASTE, /* XF86Paste */ |
| /* 136, 0x088 */ SDL_SCANCODE_FIND, /* Find */ |
| /* 137, 0x089 */ SDL_SCANCODE_CUT, /* XF86Cut */ |
| /* 138, 0x08a */ SDL_SCANCODE_HELP, /* Help */ |
| /* 139, 0x08b */ SDL_SCANCODE_MENU, /* XF86MenuKB */ |
| /* 140, 0x08c */ SDL_SCANCODE_CALCULATOR, /* XF86Calculator */ |
| /* 141, 0x08d */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 142, 0x08e */ SDL_SCANCODE_SLEEP, /* XF86Sleep */ |
| /* 143, 0x08f */ SDL_SCANCODE_UNKNOWN, /* XF86WakeUp */ |
| /* 144, 0x090 */ SDL_SCANCODE_UNKNOWN, /* XF86Explorer */ |
| /* 145, 0x091 */ SDL_SCANCODE_UNKNOWN, /* XF86Send */ |
| /* 146, 0x092 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 147, 0x093 */ SDL_SCANCODE_UNKNOWN, /* XF86Xfer */ |
| /* 148, 0x094 */ SDL_SCANCODE_APP1, /* XF86Launch1 */ |
| /* 149, 0x095 */ SDL_SCANCODE_APP2, /* XF86Launch2 */ |
| /* 150, 0x096 */ SDL_SCANCODE_WWW, /* XF86WWW */ |
| /* 151, 0x097 */ SDL_SCANCODE_UNKNOWN, /* XF86DOS */ |
| /* 152, 0x098 */ SDL_SCANCODE_UNKNOWN, /* XF86ScreenSaver */ |
| /* 153, 0x099 */ SDL_SCANCODE_UNKNOWN, /* XF86RotateWindows */ |
| /* 154, 0x09a */ SDL_SCANCODE_UNKNOWN, /* XF86TaskPane */ |
| /* 155, 0x09b */ SDL_SCANCODE_MAIL, /* XF86Mail */ |
| /* 156, 0x09c */ SDL_SCANCODE_AC_BOOKMARKS, /* XF86Favorites */ |
| /* 157, 0x09d */ SDL_SCANCODE_COMPUTER, /* XF86MyComputer */ |
| /* 158, 0x09e */ SDL_SCANCODE_AC_BACK, /* XF86Back */ |
| /* 159, 0x09f */ SDL_SCANCODE_AC_FORWARD, /* XF86Forward */ |
| /* 160, 0x0a0 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 161, 0x0a1 */ SDL_SCANCODE_EJECT, /* XF86Eject */ |
| /* 162, 0x0a2 */ SDL_SCANCODE_EJECT, /* XF86Eject */ |
| /* 163, 0x0a3 */ SDL_SCANCODE_AUDIONEXT, /* XF86AudioNext */ |
| /* 164, 0x0a4 */ SDL_SCANCODE_AUDIOPLAY, /* XF86AudioPlay */ |
| /* 165, 0x0a5 */ SDL_SCANCODE_AUDIOPREV, /* XF86AudioPrev */ |
| /* 166, 0x0a6 */ SDL_SCANCODE_AUDIOSTOP, /* XF86AudioStop */ |
| /* 167, 0x0a7 */ SDL_SCANCODE_UNKNOWN, /* XF86AudioRecord */ |
| /* 168, 0x0a8 */ SDL_SCANCODE_AUDIOREWIND, /* XF86AudioRewind */ |
| /* 169, 0x0a9 */ SDL_SCANCODE_UNKNOWN, /* XF86Phone */ |
| /* 170, 0x0aa */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 171, 0x0ab */ SDL_SCANCODE_F13, /* XF86Tools */ |
| /* 172, 0x0ac */ SDL_SCANCODE_AC_HOME, /* XF86HomePage */ |
| /* 173, 0x0ad */ SDL_SCANCODE_AC_REFRESH, /* XF86Reload */ |
| /* 174, 0x0ae */ SDL_SCANCODE_UNKNOWN, /* XF86Close */ |
| /* 175, 0x0af */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 176, 0x0b0 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 177, 0x0b1 */ SDL_SCANCODE_UNKNOWN, /* XF86ScrollUp */ |
| /* 178, 0x0b2 */ SDL_SCANCODE_UNKNOWN, /* XF86ScrollDown */ |
| /* 179, 0x0b3 */ SDL_SCANCODE_KP_LEFTPAREN, /* parenleft */ |
| /* 180, 0x0b4 */ SDL_SCANCODE_KP_RIGHTPAREN, /* parenright */ |
| /* 181, 0x0b5 */ SDL_SCANCODE_UNKNOWN, /* XF86New */ |
| /* 182, 0x0b6 */ SDL_SCANCODE_AGAIN, /* Redo */ |
| /* 183, 0x0b7 */ SDL_SCANCODE_F13, /* XF86Tools */ |
| /* 184, 0x0b8 */ SDL_SCANCODE_F14, /* XF86Launch5 */ |
| /* 185, 0x0b9 */ SDL_SCANCODE_F15, /* XF86Launch6 */ |
| /* 186, 0x0ba */ SDL_SCANCODE_F16, /* XF86Launch7 */ |
| /* 187, 0x0bb */ SDL_SCANCODE_F17, /* XF86Launch8 */ |
| /* 188, 0x0bc */ SDL_SCANCODE_F18, /* XF86Launch9 */ |
| /* 189, 0x0bd */ SDL_SCANCODE_F19, /* NoSymbol */ |
| /* 190, 0x0be */ SDL_SCANCODE_F20, /* XF86AudioMicMute */ |
| /* 191, 0x0bf */ SDL_SCANCODE_UNKNOWN, /* XF86TouchpadToggle */ |
| /* 192, 0x0c0 */ SDL_SCANCODE_UNKNOWN, /* XF86TouchpadOn */ |
| /* 193, 0x0c1 */ SDL_SCANCODE_UNKNOWN, /* XF86TouchpadOff */ |
| /* 194, 0x0c2 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 195, 0x0c3 */ SDL_SCANCODE_MODE, /* Mode_switch */ |
| /* 196, 0x0c4 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 197, 0x0c5 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 198, 0x0c6 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 199, 0x0c7 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 200, 0x0c8 */ SDL_SCANCODE_AUDIOPLAY, /* XF86AudioPlay */ |
| /* 201, 0x0c9 */ SDL_SCANCODE_UNKNOWN, /* XF86AudioPause */ |
| /* 202, 0x0ca */ SDL_SCANCODE_UNKNOWN, /* XF86Launch3 */ |
| /* 203, 0x0cb */ SDL_SCANCODE_UNKNOWN, /* XF86Launch4 */ |
| /* 204, 0x0cc */ SDL_SCANCODE_UNKNOWN, /* XF86LaunchB */ |
| /* 205, 0x0cd */ SDL_SCANCODE_UNKNOWN, /* XF86Suspend */ |
| /* 206, 0x0ce */ SDL_SCANCODE_UNKNOWN, /* XF86Close */ |
| /* 207, 0x0cf */ SDL_SCANCODE_AUDIOPLAY, /* XF86AudioPlay */ |
| /* 208, 0x0d0 */ SDL_SCANCODE_AUDIOFASTFORWARD, /* XF86AudioForward */ |
| /* 209, 0x0d1 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 210, 0x0d2 */ SDL_SCANCODE_PRINTSCREEN, /* Print */ |
| /* 211, 0x0d3 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 212, 0x0d4 */ SDL_SCANCODE_UNKNOWN, /* XF86WebCam */ |
| /* 213, 0x0d5 */ SDL_SCANCODE_UNKNOWN, /* XF86AudioPreset */ |
| /* 214, 0x0d6 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 215, 0x0d7 */ SDL_SCANCODE_MAIL, /* XF86Mail */ |
| /* 216, 0x0d8 */ SDL_SCANCODE_UNKNOWN, /* XF86Messenger */ |
| /* 217, 0x0d9 */ SDL_SCANCODE_AC_SEARCH, /* XF86Search */ |
| /* 218, 0x0da */ SDL_SCANCODE_UNKNOWN, /* XF86Go */ |
| /* 219, 0x0db */ SDL_SCANCODE_UNKNOWN, /* XF86Finance */ |
| /* 220, 0x0dc */ SDL_SCANCODE_UNKNOWN, /* XF86Game */ |
| /* 221, 0x0dd */ SDL_SCANCODE_UNKNOWN, /* XF86Shop */ |
| /* 222, 0x0de */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 223, 0x0df */ SDL_SCANCODE_CANCEL, /* Cancel */ |
| /* 224, 0x0e0 */ SDL_SCANCODE_BRIGHTNESSDOWN, /* XF86MonBrightnessDown */ |
| /* 225, 0x0e1 */ SDL_SCANCODE_BRIGHTNESSUP, /* XF86MonBrightnessUp */ |
| /* 226, 0x0e2 */ SDL_SCANCODE_MEDIASELECT, /* XF86AudioMedia */ |
| /* 227, 0x0e3 */ SDL_SCANCODE_DISPLAYSWITCH, /* XF86Display */ |
| /* 228, 0x0e4 */ SDL_SCANCODE_KBDILLUMTOGGLE, /* XF86KbdLightOnOff */ |
| /* 229, 0x0e5 */ SDL_SCANCODE_KBDILLUMDOWN, /* XF86KbdBrightnessDown */ |
| /* 230, 0x0e6 */ SDL_SCANCODE_KBDILLUMUP, /* XF86KbdBrightnessUp */ |
| /* 231, 0x0e7 */ SDL_SCANCODE_UNKNOWN, /* XF86Send */ |
| /* 232, 0x0e8 */ SDL_SCANCODE_UNKNOWN, /* XF86Reply */ |
| /* 233, 0x0e9 */ SDL_SCANCODE_UNKNOWN, /* XF86MailForward */ |
| /* 234, 0x0ea */ SDL_SCANCODE_UNKNOWN, /* XF86Save */ |
| /* 235, 0x0eb */ SDL_SCANCODE_UNKNOWN, /* XF86Documents */ |
| /* 236, 0x0ec */ SDL_SCANCODE_UNKNOWN, /* XF86Battery */ |
| /* 237, 0x0ed */ SDL_SCANCODE_UNKNOWN, /* XF86Bluetooth */ |
| /* 238, 0x0ee */ SDL_SCANCODE_UNKNOWN, /* XF86WLAN */ |
| /* 239, 0x0ef */ SDL_SCANCODE_UNKNOWN, /* XF86UWB */ |
| /* 240, 0x0f0 */ SDL_SCANCODE_UNKNOWN, /* NoSymbol */ |
| /* 241, 0x0f1 */ SDL_SCANCODE_UNKNOWN, /* XF86Next_VMode */ |
| /* 242, 0x0f2 */ SDL_SCANCODE_UNKNOWN, /* XF86Prev_VMode */ |
| /* 243, 0x0f3 */ SDL_SCANCODE_UNKNOWN, /* XF86MonBrightnessCycle */ |
| /* 244, 0x0f4 */ SDL_SCANCODE_UNKNOWN, /* XF86BrightnessAuto */ |
| /* 245, 0x0f5 */ SDL_SCANCODE_UNKNOWN, /* XF86DisplayOff */ |
| /* 246, 0x0f6 */ SDL_SCANCODE_UNKNOWN, /* XF86WWAN */ |
| /* 247, 0x0f7 */ SDL_SCANCODE_UNKNOWN, /* XF86RFKill */ |
| }; |
| |
| /* Xvnc / Xtightvnc scancodes from xmodmap -pk */ |
| static const SDL_Scancode xvnc_scancode_table[] = { |
| /* 0 */ SDL_SCANCODE_LCTRL, |
| /* 1 */ SDL_SCANCODE_RCTRL, |
| /* 2 */ SDL_SCANCODE_LSHIFT, |
| /* 3 */ SDL_SCANCODE_RSHIFT, |
| /* 4 */ SDL_SCANCODE_UNKNOWN, /* Meta_L */ |
| /* 5 */ SDL_SCANCODE_UNKNOWN, /* Meta_R */ |
| /* 6 */ SDL_SCANCODE_LALT, |
| /* 7 */ SDL_SCANCODE_RALT, |
| /* 8 */ SDL_SCANCODE_SPACE, |
| /* 9 */ SDL_SCANCODE_0, |
| /* 10 */ SDL_SCANCODE_1, |
| /* 11 */ SDL_SCANCODE_2, |
| /* 12 */ SDL_SCANCODE_3, |
| /* 13 */ SDL_SCANCODE_4, |
| /* 14 */ SDL_SCANCODE_5, |
| /* 15 */ SDL_SCANCODE_6, |
| /* 16 */ SDL_SCANCODE_7, |
| /* 17 */ SDL_SCANCODE_8, |
| /* 18 */ SDL_SCANCODE_9, |
| /* 19 */ SDL_SCANCODE_MINUS, |
| /* 20 */ SDL_SCANCODE_EQUALS, |
| /* 21 */ SDL_SCANCODE_LEFTBRACKET, |
| /* 22 */ SDL_SCANCODE_RIGHTBRACKET, |
| /* 23 */ SDL_SCANCODE_SEMICOLON, |
| /* 24 */ SDL_SCANCODE_APOSTROPHE, |
| /* 25 */ SDL_SCANCODE_GRAVE, |
| /* 26 */ SDL_SCANCODE_COMMA, |
| /* 27 */ SDL_SCANCODE_PERIOD, |
| /* 28 */ SDL_SCANCODE_SLASH, |
| /* 29 */ SDL_SCANCODE_BACKSLASH, |
| /* 30 */ SDL_SCANCODE_A, |
| /* 31 */ SDL_SCANCODE_B, |
| /* 32 */ SDL_SCANCODE_C, |
| /* 33 */ SDL_SCANCODE_D, |
| /* 34 */ SDL_SCANCODE_E, |
| /* 35 */ SDL_SCANCODE_F, |
| /* 36 */ SDL_SCANCODE_G, |
| /* 37 */ SDL_SCANCODE_H, |
| /* 38 */ SDL_SCANCODE_I, |
| /* 39 */ SDL_SCANCODE_J, |
| /* 40 */ SDL_SCANCODE_K, |
| /* 41 */ SDL_SCANCODE_L, |
| /* 42 */ SDL_SCANCODE_M, |
| /* 43 */ SDL_SCANCODE_N, |
| /* 44 */ SDL_SCANCODE_O, |
| /* 45 */ SDL_SCANCODE_P, |
| /* 46 */ SDL_SCANCODE_Q, |
| /* 47 */ SDL_SCANCODE_R, |
| /* 48 */ SDL_SCANCODE_S, |
| /* 49 */ SDL_SCANCODE_T, |
| /* 50 */ SDL_SCANCODE_U, |
| /* 51 */ SDL_SCANCODE_V, |
| /* 52 */ SDL_SCANCODE_W, |
| /* 53 */ SDL_SCANCODE_X, |
| /* 54 */ SDL_SCANCODE_Y, |
| /* 55 */ SDL_SCANCODE_Z, |
| /* 56 */ SDL_SCANCODE_BACKSPACE, |
| /* 57 */ SDL_SCANCODE_RETURN, |
| /* 58 */ SDL_SCANCODE_TAB, |
| /* 59 */ SDL_SCANCODE_ESCAPE, |
| /* 60 */ SDL_SCANCODE_DELETE, |
| /* 61 */ SDL_SCANCODE_HOME, |
| /* 62 */ SDL_SCANCODE_END, |
| /* 63 */ SDL_SCANCODE_PAGEUP, |
| /* 64 */ SDL_SCANCODE_PAGEDOWN, |
| /* 65 */ SDL_SCANCODE_UP, |
| /* 66 */ SDL_SCANCODE_DOWN, |
| /* 67 */ SDL_SCANCODE_LEFT, |
| /* 68 */ SDL_SCANCODE_RIGHT, |
| /* 69 */ SDL_SCANCODE_F1, |
| /* 70 */ SDL_SCANCODE_F2, |
| /* 71 */ SDL_SCANCODE_F3, |
| /* 72 */ SDL_SCANCODE_F4, |
| /* 73 */ SDL_SCANCODE_F5, |
| /* 74 */ SDL_SCANCODE_F6, |
| /* 75 */ SDL_SCANCODE_F7, |
| /* 76 */ SDL_SCANCODE_F8, |
| /* 77 */ SDL_SCANCODE_F9, |
| /* 78 */ SDL_SCANCODE_F10, |
| /* 79 */ SDL_SCANCODE_F11, |
| /* 80 */ SDL_SCANCODE_F12, |
| }; |
| |
| #endif /* scancodes_xfree86_h_ */ |
| |
| /* *INDENT-ON* */ /* clang-format on */ |
| |
| /* vi: set ts=4 sw=4 expandtab: */ |