sdl

FORK: Simple Directmedia Layer
git clone https://git.neptards.moe/neptards/sdl.git
Log | Files | Refs

scancodes_xfree86.h (19980B)


      1 /*
      2   Simple DirectMedia Layer
      3   Copyright (C) 1997-2020 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 
     22 #ifndef scancodes_xfree86_h_
     23 #define scancodes_xfree86_h_
     24 
     25 #include "../../include/SDL_scancode.h"
     26 
     27 /* XFree86 key code to SDL scancode mapping table
     28    Sources:
     29    - atKeyNames.h from XFree86 source code
     30 */
     31 /* *INDENT-OFF* */
     32 static const SDL_Scancode xfree86_scancode_table[] = {
     33     /*  0 */    SDL_SCANCODE_UNKNOWN,
     34     /*  1 */    SDL_SCANCODE_ESCAPE,
     35     /*  2 */    SDL_SCANCODE_1,
     36     /*  3 */    SDL_SCANCODE_2,
     37     /*  4 */    SDL_SCANCODE_3,
     38     /*  5 */    SDL_SCANCODE_4,
     39     /*  6 */    SDL_SCANCODE_5,
     40     /*  7 */    SDL_SCANCODE_6,
     41     /*  8 */    SDL_SCANCODE_7,
     42     /*  9 */    SDL_SCANCODE_8,
     43     /*  10 */   SDL_SCANCODE_9,
     44     /*  11 */   SDL_SCANCODE_0,
     45     /*  12 */   SDL_SCANCODE_MINUS,
     46     /*  13 */   SDL_SCANCODE_EQUALS,
     47     /*  14 */   SDL_SCANCODE_BACKSPACE,
     48     /*  15 */   SDL_SCANCODE_TAB,
     49     /*  16 */   SDL_SCANCODE_Q,
     50     /*  17 */   SDL_SCANCODE_W,
     51     /*  18 */   SDL_SCANCODE_E,
     52     /*  19 */   SDL_SCANCODE_R,
     53     /*  20 */   SDL_SCANCODE_T,
     54     /*  21 */   SDL_SCANCODE_Y,
     55     /*  22 */   SDL_SCANCODE_U,
     56     /*  23 */   SDL_SCANCODE_I,
     57     /*  24 */   SDL_SCANCODE_O,
     58     /*  25 */   SDL_SCANCODE_P,
     59     /*  26 */   SDL_SCANCODE_LEFTBRACKET,
     60     /*  27 */   SDL_SCANCODE_RIGHTBRACKET,
     61     /*  28 */   SDL_SCANCODE_RETURN,
     62     /*  29 */   SDL_SCANCODE_LCTRL,
     63     /*  30 */   SDL_SCANCODE_A,
     64     /*  31 */   SDL_SCANCODE_S,
     65     /*  32 */   SDL_SCANCODE_D,
     66     /*  33 */   SDL_SCANCODE_F,
     67     /*  34 */   SDL_SCANCODE_G,
     68     /*  35 */   SDL_SCANCODE_H,
     69     /*  36 */   SDL_SCANCODE_J,
     70     /*  37 */   SDL_SCANCODE_K,
     71     /*  38 */   SDL_SCANCODE_L,
     72     /*  39 */   SDL_SCANCODE_SEMICOLON,
     73     /*  40 */   SDL_SCANCODE_APOSTROPHE,
     74     /*  41 */   SDL_SCANCODE_GRAVE,
     75     /*  42 */   SDL_SCANCODE_LSHIFT,
     76     /*  43 */   SDL_SCANCODE_BACKSLASH,
     77     /*  44 */   SDL_SCANCODE_Z,
     78     /*  45 */   SDL_SCANCODE_X,
     79     /*  46 */   SDL_SCANCODE_C,
     80     /*  47 */   SDL_SCANCODE_V,
     81     /*  48 */   SDL_SCANCODE_B,
     82     /*  49 */   SDL_SCANCODE_N,
     83     /*  50 */   SDL_SCANCODE_M,
     84     /*  51 */   SDL_SCANCODE_COMMA,
     85     /*  52 */   SDL_SCANCODE_PERIOD,
     86     /*  53 */   SDL_SCANCODE_SLASH,
     87     /*  54 */   SDL_SCANCODE_RSHIFT,
     88     /*  55 */   SDL_SCANCODE_KP_MULTIPLY,
     89     /*  56 */   SDL_SCANCODE_LALT,
     90     /*  57 */   SDL_SCANCODE_SPACE,
     91     /*  58 */   SDL_SCANCODE_CAPSLOCK,
     92     /*  59 */   SDL_SCANCODE_F1,
     93     /*  60 */   SDL_SCANCODE_F2,
     94     /*  61 */   SDL_SCANCODE_F3,
     95     /*  62 */   SDL_SCANCODE_F4,
     96     /*  63 */   SDL_SCANCODE_F5,
     97     /*  64 */   SDL_SCANCODE_F6,
     98     /*  65 */   SDL_SCANCODE_F7,
     99     /*  66 */   SDL_SCANCODE_F8,
    100     /*  67 */   SDL_SCANCODE_F9,
    101     /*  68 */   SDL_SCANCODE_F10,
    102     /*  69 */   SDL_SCANCODE_NUMLOCKCLEAR,
    103     /*  70 */   SDL_SCANCODE_SCROLLLOCK,
    104     /*  71 */   SDL_SCANCODE_KP_7,
    105     /*  72 */   SDL_SCANCODE_KP_8,
    106     /*  73 */   SDL_SCANCODE_KP_9,
    107     /*  74 */   SDL_SCANCODE_KP_MINUS,
    108     /*  75 */   SDL_SCANCODE_KP_4,
    109     /*  76 */   SDL_SCANCODE_KP_5,
    110     /*  77 */   SDL_SCANCODE_KP_6,
    111     /*  78 */   SDL_SCANCODE_KP_PLUS,
    112     /*  79 */   SDL_SCANCODE_KP_1,
    113     /*  80 */   SDL_SCANCODE_KP_2,
    114     /*  81 */   SDL_SCANCODE_KP_3,
    115     /*  82 */   SDL_SCANCODE_KP_0,
    116     /*  83 */   SDL_SCANCODE_KP_PERIOD,
    117     /*  84 */   SDL_SCANCODE_SYSREQ,
    118     /*  85 */   SDL_SCANCODE_MODE,
    119     /*  86 */   SDL_SCANCODE_NONUSBACKSLASH,
    120     /*  87 */   SDL_SCANCODE_F11,
    121     /*  88 */   SDL_SCANCODE_F12,
    122     /*  89 */   SDL_SCANCODE_HOME,
    123     /*  90 */   SDL_SCANCODE_UP,
    124     /*  91 */   SDL_SCANCODE_PAGEUP,
    125     /*  92 */   SDL_SCANCODE_LEFT,
    126     /*  93 */   SDL_SCANCODE_BRIGHTNESSDOWN, /* on PowerBook G4 / KEY_Begin */
    127     /*  94 */   SDL_SCANCODE_RIGHT,
    128     /*  95 */   SDL_SCANCODE_END,
    129     /*  96 */   SDL_SCANCODE_DOWN,
    130     /*  97 */   SDL_SCANCODE_PAGEDOWN,
    131     /*  98 */   SDL_SCANCODE_INSERT,
    132     /*  99 */   SDL_SCANCODE_DELETE,
    133     /*  100 */  SDL_SCANCODE_KP_ENTER,
    134     /*  101 */  SDL_SCANCODE_RCTRL,
    135     /*  102 */  SDL_SCANCODE_PAUSE,
    136     /*  103 */  SDL_SCANCODE_PRINTSCREEN,
    137     /*  104 */  SDL_SCANCODE_KP_DIVIDE,
    138     /*  105 */  SDL_SCANCODE_RALT,
    139     /*  106 */  SDL_SCANCODE_UNKNOWN, /* BREAK */
    140     /*  107 */  SDL_SCANCODE_LGUI,
    141     /*  108 */  SDL_SCANCODE_RGUI,
    142     /*  109 */  SDL_SCANCODE_APPLICATION,
    143     /*  110 */  SDL_SCANCODE_F13,
    144     /*  111 */  SDL_SCANCODE_F14,
    145     /*  112 */  SDL_SCANCODE_F15,
    146     /*  113 */  SDL_SCANCODE_F16,
    147     /*  114 */  SDL_SCANCODE_F17,
    148     /*  115 */  SDL_SCANCODE_INTERNATIONAL1, /* \_ */
    149     /*  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 */
    150     /*  117 */  SDL_SCANCODE_UNKNOWN,
    151     /*  118 */  SDL_SCANCODE_KP_EQUALS,
    152     /*  119 */  SDL_SCANCODE_UNKNOWN,
    153     /*  120 */  SDL_SCANCODE_UNKNOWN,
    154     /*  121 */  SDL_SCANCODE_INTERNATIONAL4, /* Henkan_Mode */
    155     /*  122 */  SDL_SCANCODE_UNKNOWN,
    156     /*  123 */  SDL_SCANCODE_INTERNATIONAL5, /* Muhenkan */
    157     /*  124 */  SDL_SCANCODE_UNKNOWN,
    158     /*  125 */  SDL_SCANCODE_INTERNATIONAL3, /* Yen */
    159     /*  126 */  SDL_SCANCODE_UNKNOWN,
    160     /*  127 */  SDL_SCANCODE_UNKNOWN,
    161     /*  128 */  SDL_SCANCODE_UNKNOWN,
    162     /*  129 */  SDL_SCANCODE_UNKNOWN,
    163     /*  130 */  SDL_SCANCODE_UNKNOWN,
    164     /*  131 */  SDL_SCANCODE_UNKNOWN,
    165     /*  132 */  SDL_SCANCODE_POWER,
    166     /*  133 */  SDL_SCANCODE_MUTE,
    167     /*  134 */  SDL_SCANCODE_VOLUMEDOWN,
    168     /*  135 */  SDL_SCANCODE_VOLUMEUP,
    169     /*  136 */  SDL_SCANCODE_HELP,
    170     /*  137 */  SDL_SCANCODE_STOP,
    171     /*  138 */  SDL_SCANCODE_AGAIN,
    172     /*  139 */  SDL_SCANCODE_UNKNOWN, /* PROPS */
    173     /*  140 */  SDL_SCANCODE_UNDO,
    174     /*  141 */  SDL_SCANCODE_UNKNOWN, /* FRONT */
    175     /*  142 */  SDL_SCANCODE_COPY,
    176     /*  143 */  SDL_SCANCODE_UNKNOWN, /* OPEN */
    177     /*  144 */  SDL_SCANCODE_PASTE,
    178     /*  145 */  SDL_SCANCODE_FIND,
    179     /*  146 */  SDL_SCANCODE_CUT,
    180 };
    181 
    182 /* for wireless usb keyboard (manufacturer TRUST) without numpad. */
    183 static const SDL_Scancode xfree86_scancode_table2[] = {
    184     /*  0 */    SDL_SCANCODE_UNKNOWN,
    185     /*  1 */    SDL_SCANCODE_ESCAPE,
    186     /*  2 */    SDL_SCANCODE_1,
    187     /*  3 */    SDL_SCANCODE_2,
    188     /*  4 */    SDL_SCANCODE_3,
    189     /*  5 */    SDL_SCANCODE_4,
    190     /*  6 */    SDL_SCANCODE_5,
    191     /*  7 */    SDL_SCANCODE_6,
    192     /*  8 */    SDL_SCANCODE_7,
    193     /*  9 */    SDL_SCANCODE_8,
    194     /*  10 */   SDL_SCANCODE_9,
    195     /*  11 */   SDL_SCANCODE_0,
    196     /*  12 */   SDL_SCANCODE_MINUS,
    197     /*  13 */   SDL_SCANCODE_EQUALS,
    198     /*  14 */   SDL_SCANCODE_BACKSPACE,
    199     /*  15 */   SDL_SCANCODE_TAB,
    200     /*  16 */   SDL_SCANCODE_Q,
    201     /*  17 */   SDL_SCANCODE_W,
    202     /*  18 */   SDL_SCANCODE_E,
    203     /*  19 */   SDL_SCANCODE_R,
    204     /*  20 */   SDL_SCANCODE_T,
    205     /*  21 */   SDL_SCANCODE_Y,
    206     /*  22 */   SDL_SCANCODE_U,
    207     /*  23 */   SDL_SCANCODE_I,
    208     /*  24 */   SDL_SCANCODE_O,
    209     /*  25 */   SDL_SCANCODE_P,
    210     /*  26 */   SDL_SCANCODE_LEFTBRACKET,
    211     /*  27 */   SDL_SCANCODE_RIGHTBRACKET,
    212     /*  28 */   SDL_SCANCODE_RETURN,
    213     /*  29 */   SDL_SCANCODE_LCTRL,
    214     /*  30 */   SDL_SCANCODE_A,
    215     /*  31 */   SDL_SCANCODE_S,
    216     /*  32 */   SDL_SCANCODE_D,
    217     /*  33 */   SDL_SCANCODE_F,
    218     /*  34 */   SDL_SCANCODE_G,
    219     /*  35 */   SDL_SCANCODE_H,
    220     /*  36 */   SDL_SCANCODE_J,
    221     /*  37 */   SDL_SCANCODE_K,
    222     /*  38 */   SDL_SCANCODE_L,
    223     /*  39 */   SDL_SCANCODE_SEMICOLON,
    224     /*  40 */   SDL_SCANCODE_APOSTROPHE,
    225     /*  41 */   SDL_SCANCODE_GRAVE,
    226     /*  42 */   SDL_SCANCODE_LSHIFT,
    227     /*  43 */   SDL_SCANCODE_BACKSLASH,
    228     /*  44 */   SDL_SCANCODE_Z,
    229     /*  45 */   SDL_SCANCODE_X,
    230     /*  46 */   SDL_SCANCODE_C,
    231     /*  47 */   SDL_SCANCODE_V,
    232     /*  48 */   SDL_SCANCODE_B,
    233     /*  49 */   SDL_SCANCODE_N,
    234     /*  50 */   SDL_SCANCODE_M,
    235     /*  51 */   SDL_SCANCODE_COMMA,
    236     /*  52 */   SDL_SCANCODE_PERIOD,
    237     /*  53 */   SDL_SCANCODE_SLASH,
    238     /*  54 */   SDL_SCANCODE_RSHIFT,
    239     /*  55 */   SDL_SCANCODE_KP_MULTIPLY,
    240     /*  56 */   SDL_SCANCODE_LALT,
    241     /*  57 */   SDL_SCANCODE_SPACE,
    242     /*  58 */   SDL_SCANCODE_CAPSLOCK,
    243     /*  59 */   SDL_SCANCODE_F1,
    244     /*  60 */   SDL_SCANCODE_F2,
    245     /*  61 */   SDL_SCANCODE_F3,
    246     /*  62 */   SDL_SCANCODE_F4,
    247     /*  63 */   SDL_SCANCODE_F5,
    248     /*  64 */   SDL_SCANCODE_F6,
    249     /*  65 */   SDL_SCANCODE_F7,
    250     /*  66 */   SDL_SCANCODE_F8,
    251     /*  67 */   SDL_SCANCODE_F9,
    252     /*  68 */   SDL_SCANCODE_F10,
    253     /*  69 */   SDL_SCANCODE_NUMLOCKCLEAR,
    254     /*  70 */   SDL_SCANCODE_SCROLLLOCK,
    255     /*  71 */   SDL_SCANCODE_KP_7,
    256     /*  72 */   SDL_SCANCODE_KP_8,
    257     /*  73 */   SDL_SCANCODE_KP_9,
    258     /*  74 */   SDL_SCANCODE_KP_MINUS,
    259     /*  75 */   SDL_SCANCODE_KP_4,
    260     /*  76 */   SDL_SCANCODE_KP_5,
    261     /*  77 */   SDL_SCANCODE_KP_6,
    262     /*  78 */   SDL_SCANCODE_KP_PLUS,
    263     /*  79 */   SDL_SCANCODE_KP_1,
    264     /*  80 */   SDL_SCANCODE_KP_2,
    265     /*  81 */   SDL_SCANCODE_KP_3,
    266     /*  82 */   SDL_SCANCODE_KP_0,
    267     /*  83 */   SDL_SCANCODE_KP_PERIOD,
    268     /*  84 */   SDL_SCANCODE_SYSREQ,    /* ???? */
    269     /*  85 */   SDL_SCANCODE_MODE,      /* ???? */
    270     /*  86 */   SDL_SCANCODE_NONUSBACKSLASH,
    271     /*  87 */   SDL_SCANCODE_F11,
    272     /*  88 */   SDL_SCANCODE_F12,
    273     /*  89 */   SDL_SCANCODE_INTERNATIONAL1, /* \_ */
    274     /*  90 */   SDL_SCANCODE_UNKNOWN,   /* Katakana */
    275     /*  91 */   SDL_SCANCODE_UNKNOWN,   /* Hiragana */
    276     /*  92 */   SDL_SCANCODE_INTERNATIONAL4, /* Henkan_Mode */
    277     /*  93 */   SDL_SCANCODE_INTERNATIONAL2, /* Hiragana_Katakana */
    278     /*  94 */   SDL_SCANCODE_INTERNATIONAL5, /* Muhenkan */
    279     /*  95 */   SDL_SCANCODE_UNKNOWN,
    280     /*  96 */   SDL_SCANCODE_KP_ENTER,
    281     /*  97 */   SDL_SCANCODE_RCTRL,
    282     /*  98 */   SDL_SCANCODE_KP_DIVIDE,
    283     /*  99 */   SDL_SCANCODE_PRINTSCREEN,
    284     /* 100 */   SDL_SCANCODE_RALT,      /* ISO_Level3_Shift, ALTGR, RALT */
    285     /* 101 */   SDL_SCANCODE_UNKNOWN,   /* Linefeed */
    286     /* 102 */   SDL_SCANCODE_HOME,
    287     /* 103 */   SDL_SCANCODE_UP,
    288     /* 104 */   SDL_SCANCODE_PAGEUP,
    289     /* 105 */   SDL_SCANCODE_LEFT,
    290     /* 106 */   SDL_SCANCODE_RIGHT,
    291     /* 107 */   SDL_SCANCODE_END,
    292     /* 108 */   SDL_SCANCODE_DOWN,
    293     /* 109 */   SDL_SCANCODE_PAGEDOWN,
    294     /* 110 */   SDL_SCANCODE_INSERT,
    295     /* 111 */   SDL_SCANCODE_DELETE,
    296     /* 112 */   SDL_SCANCODE_UNKNOWN,
    297     /* 113 */   SDL_SCANCODE_MUTE,
    298     /* 114 */   SDL_SCANCODE_VOLUMEDOWN,
    299     /* 115 */   SDL_SCANCODE_VOLUMEUP,
    300     /* 116 */   SDL_SCANCODE_POWER,
    301     /* 117 */   SDL_SCANCODE_KP_EQUALS,
    302     /* 118 */   SDL_SCANCODE_KP_PLUSMINUS, /* plusminus */
    303     /* 119 */   SDL_SCANCODE_PAUSE,
    304     /* 120 */   SDL_SCANCODE_UNKNOWN,   /* XF86LaunchA */
    305     /* 121 */   SDL_SCANCODE_KP_COMMA,  /* KP_Decimal */
    306     /* 122 */   SDL_SCANCODE_LANG1,     /* Hangul */
    307     /* 123 */   SDL_SCANCODE_LANG2,     /* Hangul_Hanja */
    308     /* 124 */   SDL_SCANCODE_INTERNATIONAL3, /* Yen */
    309     /* 125 */   SDL_SCANCODE_LGUI,
    310     /* 126 */   SDL_SCANCODE_RGUI,
    311     /* 127 */   SDL_SCANCODE_APPLICATION,
    312     /* 128 */   SDL_SCANCODE_CANCEL,
    313     /* 129 */   SDL_SCANCODE_AGAIN,
    314     /* 130 */   SDL_SCANCODE_UNKNOWN,   /* SunProps */
    315     /* 131 */   SDL_SCANCODE_UNDO,
    316     /* 132 */   SDL_SCANCODE_UNKNOWN,   /* SunFront */
    317     /* 133 */   SDL_SCANCODE_COPY,
    318     /* 134 */   SDL_SCANCODE_UNKNOWN,   /* SunOpen */
    319     /* 135 */   SDL_SCANCODE_PASTE,
    320     /* 136 */   SDL_SCANCODE_FIND,
    321     /* 137 */   SDL_SCANCODE_CUT,
    322     /* 138 */   SDL_SCANCODE_HELP,
    323     /* 139 */   SDL_SCANCODE_MENU,   /* XF86MenuKB */
    324     /* 140 */   SDL_SCANCODE_CALCULATOR,
    325     /* 141 */   SDL_SCANCODE_UNKNOWN,
    326     /* 142 */   SDL_SCANCODE_SLEEP,
    327     /* 143 */   SDL_SCANCODE_UNKNOWN,   /* XF86WakeUp */
    328     /* 144 */   SDL_SCANCODE_UNKNOWN,   /* XF86Explorer */
    329     /* 145 */   SDL_SCANCODE_UNKNOWN,   /* XF86Send */
    330     /* 146 */   SDL_SCANCODE_UNKNOWN,
    331     /* 147 */   SDL_SCANCODE_UNKNOWN,   /* XF86Xfer */
    332     /* 148 */   SDL_SCANCODE_APP1,      /* XF86Launch1 */
    333     /* 149 */   SDL_SCANCODE_APP2,      /* XF86Launch2 */
    334     /* 150 */   SDL_SCANCODE_WWW,
    335     /* 151 */   SDL_SCANCODE_UNKNOWN,   /* XF86DOS */
    336     /* 152 */   SDL_SCANCODE_UNKNOWN,   /* XF86ScreenSaver */
    337     /* 153 */   SDL_SCANCODE_UNKNOWN,
    338     /* 154 */   SDL_SCANCODE_UNKNOWN,   /* XF86RotateWindows */
    339     /* 155 */   SDL_SCANCODE_MAIL,
    340     /* 156 */   SDL_SCANCODE_AC_BOOKMARKS,   /* XF86Favorites */
    341     /* 157 */   SDL_SCANCODE_COMPUTER,
    342     /* 158 */   SDL_SCANCODE_AC_BACK,
    343     /* 159 */   SDL_SCANCODE_AC_FORWARD,
    344     /* 160 */   SDL_SCANCODE_UNKNOWN,
    345     /* 161 */   SDL_SCANCODE_EJECT,
    346     /* 162 */   SDL_SCANCODE_EJECT,
    347     /* 163 */   SDL_SCANCODE_AUDIONEXT,
    348     /* 164 */   SDL_SCANCODE_AUDIOPLAY,
    349     /* 165 */   SDL_SCANCODE_AUDIOPREV,
    350     /* 166 */   SDL_SCANCODE_AUDIOSTOP,
    351     /* 167 */   SDL_SCANCODE_UNKNOWN,   /* XF86AudioRecord */
    352     /* 168 */   SDL_SCANCODE_AUDIOREWIND,   /* XF86AudioRewind */
    353     /* 169 */   SDL_SCANCODE_UNKNOWN,   /* XF86Phone */
    354     /* 170 */   SDL_SCANCODE_UNKNOWN,
    355     /* 171 */   SDL_SCANCODE_F13,       /* XF86Tools */
    356     /* 172 */   SDL_SCANCODE_AC_HOME,
    357     /* 173 */   SDL_SCANCODE_AC_REFRESH,
    358     /* 174 */   SDL_SCANCODE_UNKNOWN,   /* XF86Close */
    359     /* 175 */   SDL_SCANCODE_UNKNOWN,
    360     /* 176 */   SDL_SCANCODE_UNKNOWN,
    361     /* 177 */   SDL_SCANCODE_UNKNOWN,   /* XF86ScrollUp */
    362     /* 178 */   SDL_SCANCODE_UNKNOWN,   /* XF86ScrollDown */
    363     /* 179 */   SDL_SCANCODE_KP_LEFTPAREN,  /* parenleft */
    364     /* 180 */   SDL_SCANCODE_KP_RIGHTPAREN, /* parenright */
    365     /* 181 */   SDL_SCANCODE_UNKNOWN,   /* XF86New */
    366     /* 182 */   SDL_SCANCODE_AGAIN,
    367     /* 183 */   SDL_SCANCODE_F13,       /* XF86Tools */
    368     /* 184 */   SDL_SCANCODE_F14,       /* XF86Launch5 */
    369     /* 185 */   SDL_SCANCODE_F15,       /* XF86Launch6 */
    370     /* 186 */   SDL_SCANCODE_F16,       /* XF86Launch7 */
    371     /* 187 */   SDL_SCANCODE_F17,       /* XF86Launch8 */
    372     /* 188 */   SDL_SCANCODE_F18,       /* XF86Launch9 */
    373     /* 189 */   SDL_SCANCODE_F19,       /* null keysym */
    374     /* 190 */   SDL_SCANCODE_F20,
    375     /* 191 */   SDL_SCANCODE_UNKNOWN,
    376     /* 192 */   SDL_SCANCODE_UNKNOWN,   /* XF86TouchpadToggle */
    377     /* 193 */   SDL_SCANCODE_UNKNOWN,
    378     /* 194 */   SDL_SCANCODE_UNKNOWN,
    379     /* 195 */   SDL_SCANCODE_MODE,
    380     /* 196 */   SDL_SCANCODE_UNKNOWN,
    381     /* 197 */   SDL_SCANCODE_UNKNOWN,
    382     /* 198 */   SDL_SCANCODE_UNKNOWN,
    383     /* 199 */   SDL_SCANCODE_UNKNOWN,
    384     /* 200 */   SDL_SCANCODE_AUDIOPLAY,
    385     /* 201 */   SDL_SCANCODE_UNKNOWN,   /* XF86AudioPause */
    386     /* 202 */   SDL_SCANCODE_UNKNOWN,   /* XF86Launch3 */
    387     /* 203 */   SDL_SCANCODE_UNKNOWN,   /* XF86Launch4 */
    388     /* 204 */   SDL_SCANCODE_UNKNOWN,   /* XF86LaunchB */
    389     /* 205 */   SDL_SCANCODE_UNKNOWN,   /* XF86Suspend */
    390     /* 206 */   SDL_SCANCODE_UNKNOWN,   /* XF86Close */
    391     /* 207 */   SDL_SCANCODE_AUDIOPLAY,
    392     /* 208 */   SDL_SCANCODE_AUDIOFASTFORWARD,
    393     /* 209 */   SDL_SCANCODE_UNKNOWN,
    394     /* 210 */   SDL_SCANCODE_PRINTSCREEN,
    395     /* 211 */   SDL_SCANCODE_UNKNOWN,
    396     /* 212 */   SDL_SCANCODE_UNKNOWN,   /* XF86WebCam */
    397     /* 213 */   SDL_SCANCODE_UNKNOWN,
    398     /* 214 */   SDL_SCANCODE_UNKNOWN,
    399     /* 215 */   SDL_SCANCODE_MAIL,
    400     /* 216 */   SDL_SCANCODE_UNKNOWN,
    401     /* 217 */   SDL_SCANCODE_AC_SEARCH,
    402     /* 218 */   SDL_SCANCODE_UNKNOWN,
    403     /* 219 */   SDL_SCANCODE_UNKNOWN,   /* XF86Finance */
    404     /* 220 */   SDL_SCANCODE_UNKNOWN,
    405     /* 221 */   SDL_SCANCODE_UNKNOWN,   /* XF86Shop */
    406     /* 222 */   SDL_SCANCODE_UNKNOWN,
    407     /* 223 */   SDL_SCANCODE_STOP,
    408     /* 224 */   SDL_SCANCODE_BRIGHTNESSDOWN,
    409     /* 225 */   SDL_SCANCODE_BRIGHTNESSUP,
    410     /* 226 */   SDL_SCANCODE_MEDIASELECT,
    411     /* 227 */   SDL_SCANCODE_DISPLAYSWITCH,
    412     /* 228 */   SDL_SCANCODE_KBDILLUMTOGGLE,
    413     /* 229 */   SDL_SCANCODE_KBDILLUMDOWN,
    414     /* 230 */   SDL_SCANCODE_KBDILLUMUP,
    415     /* 231 */   SDL_SCANCODE_UNKNOWN,   /* XF86Send */
    416     /* 232 */   SDL_SCANCODE_UNKNOWN,   /* XF86Reply */
    417     /* 233 */   SDL_SCANCODE_UNKNOWN,   /* XF86MailForward */
    418     /* 234 */   SDL_SCANCODE_UNKNOWN,   /* XF86Save */
    419     /* 235 */   SDL_SCANCODE_UNKNOWN,   /* XF86Documents */
    420     /* 236 */   SDL_SCANCODE_UNKNOWN,   /* XF86Battery */
    421     /* 237 */   SDL_SCANCODE_UNKNOWN,   /* XF86Bluetooth */
    422     /* 238 */   SDL_SCANCODE_UNKNOWN,   /* XF86WLAN */
    423 };
    424 
    425 /* Xvnc / Xtightvnc scancodes from xmodmap -pk */
    426 static const SDL_Scancode xvnc_scancode_table[] = {
    427     /*  0 */    SDL_SCANCODE_LCTRL,
    428     /*  1 */    SDL_SCANCODE_RCTRL,
    429     /*  2 */    SDL_SCANCODE_LSHIFT,
    430     /*  3 */    SDL_SCANCODE_RSHIFT,
    431     /*  4 */    SDL_SCANCODE_UNKNOWN, /* Meta_L */
    432     /*  5 */    SDL_SCANCODE_UNKNOWN, /* Meta_R */
    433     /*  6 */    SDL_SCANCODE_LALT,
    434     /*  7 */    SDL_SCANCODE_RALT,
    435     /*  8 */    SDL_SCANCODE_SPACE,
    436     /*  9 */    SDL_SCANCODE_0,
    437     /*  10 */   SDL_SCANCODE_1,
    438     /*  11 */   SDL_SCANCODE_2,
    439     /*  12 */   SDL_SCANCODE_3,
    440     /*  13 */   SDL_SCANCODE_4,
    441     /*  14 */   SDL_SCANCODE_5,
    442     /*  15 */   SDL_SCANCODE_6,
    443     /*  16 */   SDL_SCANCODE_7,
    444     /*  17 */   SDL_SCANCODE_8,
    445     /*  18 */   SDL_SCANCODE_9,
    446     /*  19 */   SDL_SCANCODE_MINUS,
    447     /*  20 */   SDL_SCANCODE_EQUALS,
    448     /*  21 */   SDL_SCANCODE_LEFTBRACKET,
    449     /*  22 */   SDL_SCANCODE_RIGHTBRACKET,
    450     /*  23 */   SDL_SCANCODE_SEMICOLON,
    451     /*  24 */   SDL_SCANCODE_APOSTROPHE,
    452     /*  25 */   SDL_SCANCODE_GRAVE,
    453     /*  26 */   SDL_SCANCODE_COMMA,
    454     /*  27 */   SDL_SCANCODE_PERIOD,
    455     /*  28 */   SDL_SCANCODE_SLASH,
    456     /*  29 */   SDL_SCANCODE_BACKSLASH,
    457     /*  30 */   SDL_SCANCODE_A,
    458     /*  31 */   SDL_SCANCODE_B,
    459     /*  32 */   SDL_SCANCODE_C,
    460     /*  33 */   SDL_SCANCODE_D,
    461     /*  34 */   SDL_SCANCODE_E,
    462     /*  35 */   SDL_SCANCODE_F,
    463     /*  36 */   SDL_SCANCODE_G,
    464     /*  37 */   SDL_SCANCODE_H,
    465     /*  38 */   SDL_SCANCODE_I,
    466     /*  39 */   SDL_SCANCODE_J,
    467     /*  40 */   SDL_SCANCODE_K,
    468     /*  41 */   SDL_SCANCODE_L,
    469     /*  42 */   SDL_SCANCODE_M,
    470     /*  43 */   SDL_SCANCODE_N,
    471     /*  44 */   SDL_SCANCODE_O,
    472     /*  45 */   SDL_SCANCODE_P,
    473     /*  46 */   SDL_SCANCODE_Q,
    474     /*  47 */   SDL_SCANCODE_R,
    475     /*  48 */   SDL_SCANCODE_S,
    476     /*  49 */   SDL_SCANCODE_T,
    477     /*  50 */   SDL_SCANCODE_U,
    478     /*  51 */   SDL_SCANCODE_V,
    479     /*  52 */   SDL_SCANCODE_W,
    480     /*  53 */   SDL_SCANCODE_X,
    481     /*  54 */   SDL_SCANCODE_Y,
    482     /*  55 */   SDL_SCANCODE_Z,
    483     /*  56 */   SDL_SCANCODE_BACKSPACE,
    484     /*  57 */   SDL_SCANCODE_RETURN,
    485     /*  58 */   SDL_SCANCODE_TAB,
    486     /*  59 */   SDL_SCANCODE_ESCAPE,
    487     /*  60 */   SDL_SCANCODE_DELETE,
    488     /*  61 */   SDL_SCANCODE_HOME,
    489     /*  62 */   SDL_SCANCODE_END,
    490     /*  63 */   SDL_SCANCODE_PAGEUP,
    491     /*  64 */   SDL_SCANCODE_PAGEDOWN,
    492     /*  65 */   SDL_SCANCODE_UP,
    493     /*  66 */   SDL_SCANCODE_DOWN,
    494     /*  67 */   SDL_SCANCODE_LEFT,
    495     /*  68 */   SDL_SCANCODE_RIGHT,
    496     /*  69 */   SDL_SCANCODE_F1,
    497     /*  70 */   SDL_SCANCODE_F2,
    498     /*  71 */   SDL_SCANCODE_F3,
    499     /*  72 */   SDL_SCANCODE_F4,
    500     /*  73 */   SDL_SCANCODE_F5,
    501     /*  74 */   SDL_SCANCODE_F6,
    502     /*  75 */   SDL_SCANCODE_F7,
    503     /*  76 */   SDL_SCANCODE_F8,
    504     /*  77 */   SDL_SCANCODE_F9,
    505     /*  78 */   SDL_SCANCODE_F10,
    506     /*  79 */   SDL_SCANCODE_F11,
    507     /*  80 */   SDL_SCANCODE_F12,
    508 };
    509 
    510 #endif /* scancodes_xfree86_h_ */
    511 
    512 /* *INDENT-ON* */