1 /* 2 Simple DirectMedia Layer 3 Copyright (C) 1997-2011 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 /** 23 * \file SDL_keycode.h 24 * 25 * Defines constants which identify keyboard keys and modifiers. 26 */ 27 28 #ifndef _SDL_keycode_h 29 #define _SDL_keycode_h 30 31 #include "SDL_stdinc.h" 32 #include "SDL_scancode.h" 33 34 /** 35 * \brief The SDL virtual key representation. 36 * 37 * Values of this type are used to represent keyboard keys using the current 38 * layout of the keyboard. These values include Unicode values representing 39 * the unmodified character that would be generated by pressing the key, or 40 * an SDLK_* constant for those keys that do not generate characters. 41 */ 42 typedef Sint32 SDL_Keycode; 43 44 // XXX Emscripten: We use a mask of 10, which is closer to old SDL, and gives 45 // a better chance of SDL 1.X apps working 46 #define SDLK_SCANCODE_MASK (1<<10) 47 #define SDL_SCANCODE_TO_KEYCODE(X) (X | SDLK_SCANCODE_MASK) 48 49 enum 50 { 51 SDLK_UNKNOWN = 0, 52 53 SDLK_RETURN = '\r', 54 SDLK_ESCAPE = '\033', 55 SDLK_BACKSPACE = '\b', 56 SDLK_TAB = '\t', 57 SDLK_SPACE = ' ', 58 SDLK_EXCLAIM = '!', 59 SDLK_QUOTEDBL = '"', 60 SDLK_HASH = '#', 61 SDLK_PERCENT = '%', 62 SDLK_DOLLAR = '$', 63 SDLK_AMPERSAND = '&', 64 SDLK_QUOTE = '\'', 65 SDLK_LEFTPAREN = '(', 66 SDLK_RIGHTPAREN = ')', 67 SDLK_ASTERISK = '*', 68 SDLK_PLUS = '+', 69 SDLK_COMMA = ',', 70 SDLK_MINUS = '-', 71 SDLK_PERIOD = '.', 72 SDLK_SLASH = '/', 73 SDLK_0 = '0', 74 SDLK_1 = '1', 75 SDLK_2 = '2', 76 SDLK_3 = '3', 77 SDLK_4 = '4', 78 SDLK_5 = '5', 79 SDLK_6 = '6', 80 SDLK_7 = '7', 81 SDLK_8 = '8', 82 SDLK_9 = '9', 83 SDLK_COLON = ':', 84 SDLK_SEMICOLON = ';', 85 SDLK_LESS = '<', 86 SDLK_EQUALS = '=', 87 SDLK_GREATER = '>', 88 SDLK_QUESTION = '?', 89 SDLK_AT = '@', 90 /* 91 Skip uppercase letters 92 */ 93 SDLK_LEFTBRACKET = '[', 94 SDLK_BACKSLASH = '\\', 95 SDLK_RIGHTBRACKET = ']', 96 SDLK_CARET = '^', 97 SDLK_UNDERSCORE = '_', 98 SDLK_BACKQUOTE = '`', 99 SDLK_a = 'a', 100 SDLK_b = 'b', 101 SDLK_c = 'c', 102 SDLK_d = 'd', 103 SDLK_e = 'e', 104 SDLK_f = 'f', 105 SDLK_g = 'g', 106 SDLK_h = 'h', 107 SDLK_i = 'i', 108 SDLK_j = 'j', 109 SDLK_k = 'k', 110 SDLK_l = 'l', 111 SDLK_m = 'm', 112 SDLK_n = 'n', 113 SDLK_o = 'o', 114 SDLK_p = 'p', 115 SDLK_q = 'q', 116 SDLK_r = 'r', 117 SDLK_s = 's', 118 SDLK_t = 't', 119 SDLK_u = 'u', 120 SDLK_v = 'v', 121 SDLK_w = 'w', 122 SDLK_x = 'x', 123 SDLK_y = 'y', 124 SDLK_z = 'z', 125 126 SDLK_CAPSLOCK = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CAPSLOCK), 127 128 SDLK_F1 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F1), 129 SDLK_F2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F2), 130 SDLK_F3 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F3), 131 SDLK_F4 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F4), 132 SDLK_F5 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F5), 133 SDLK_F6 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F6), 134 SDLK_F7 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F7), 135 SDLK_F8 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F8), 136 SDLK_F9 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F9), 137 SDLK_F10 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F10), 138 SDLK_F11 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F11), 139 SDLK_F12 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F12), 140 141 SDLK_PRINTSCREEN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PRINTSCREEN), 142 SDLK_SCROLLLOCK = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SCROLLLOCK), 143 SDLK_PAUSE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAUSE), 144 SDLK_INSERT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_INSERT), 145 SDLK_HOME = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_HOME), 146 SDLK_PAGEUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAGEUP), 147 SDLK_DELETE = '\177', 148 SDLK_END = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_END), 149 SDLK_PAGEDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAGEDOWN), 150 SDLK_RIGHT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RIGHT), 151 SDLK_LEFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LEFT), 152 SDLK_DOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_DOWN), 153 SDLK_UP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_UP), 154 155 SDLK_NUMLOCKCLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_NUMLOCKCLEAR), 156 SDLK_KP_DIVIDE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DIVIDE), 157 SDLK_KP_MULTIPLY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MULTIPLY), 158 SDLK_KP_MINUS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MINUS), 159 SDLK_KP_PLUS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PLUS), 160 SDLK_KP_ENTER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_ENTER), 161 SDLK_KP_1 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_1), 162 SDLK_KP_2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_2), 163 SDLK_KP_3 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_3), 164 SDLK_KP_4 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_4), 165 SDLK_KP_5 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_5), 166 SDLK_KP_6 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_6), 167 SDLK_KP_7 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_7), 168 SDLK_KP_8 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_8), 169 SDLK_KP_9 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_9), 170 SDLK_KP_0 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_0), 171 SDLK_KP_PERIOD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PERIOD), 172 173 SDLK_APPLICATION = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_APPLICATION), 174 SDLK_POWER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_POWER), 175 SDLK_KP_EQUALS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_EQUALS), 176 SDLK_F13 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F13), 177 SDLK_F14 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F14), 178 SDLK_F15 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F15), 179 SDLK_F16 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F16), 180 SDLK_F17 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F17), 181 SDLK_F18 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F18), 182 SDLK_F19 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F19), 183 SDLK_F20 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F20), 184 SDLK_F21 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F21), 185 SDLK_F22 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F22), 186 SDLK_F23 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F23), 187 SDLK_F24 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F24), 188 SDLK_EXECUTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EXECUTE), 189 SDLK_HELP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_HELP), 190 SDLK_MENU = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MENU), 191 SDLK_SELECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SELECT), 192 SDLK_STOP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_STOP), 193 SDLK_AGAIN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AGAIN), 194 SDLK_UNDO = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_UNDO), 195 SDLK_CUT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CUT), 196 SDLK_COPY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_COPY), 197 SDLK_PASTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PASTE), 198 SDLK_FIND = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_FIND), 199 SDLK_MUTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MUTE), 200 SDLK_VOLUMEUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_VOLUMEUP), 201 SDLK_VOLUMEDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_VOLUMEDOWN), 202 SDLK_KP_COMMA = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_COMMA), 203 SDLK_KP_EQUALSAS400 = 204 SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_EQUALSAS400), 205 206 SDLK_ALTERASE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_ALTERASE), 207 SDLK_SYSREQ = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SYSREQ), 208 SDLK_CANCEL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CANCEL), 209 SDLK_CLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CLEAR), 210 SDLK_PRIOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PRIOR), 211 SDLK_RETURN2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RETURN2), 212 SDLK_SEPARATOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SEPARATOR), 213 SDLK_OUT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_OUT), 214 SDLK_OPER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_OPER), 215 SDLK_CLEARAGAIN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CLEARAGAIN), 216 SDLK_CRSEL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CRSEL), 217 SDLK_EXSEL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EXSEL), 218 219 SDLK_KP_00 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_00), 220 SDLK_KP_000 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_000), 221 SDLK_THOUSANDSSEPARATOR = 222 SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_THOUSANDSSEPARATOR), 223 SDLK_DECIMALSEPARATOR = 224 SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_DECIMALSEPARATOR), 225 SDLK_CURRENCYUNIT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CURRENCYUNIT), 226 SDLK_CURRENCYSUBUNIT = 227 SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CURRENCYSUBUNIT), 228 SDLK_KP_LEFTPAREN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_LEFTPAREN), 229 SDLK_KP_RIGHTPAREN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_RIGHTPAREN), 230 SDLK_KP_LEFTBRACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_LEFTBRACE), 231 SDLK_KP_RIGHTBRACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_RIGHTBRACE), 232 SDLK_KP_TAB = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_TAB), 233 SDLK_KP_BACKSPACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_BACKSPACE), 234 SDLK_KP_A = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_A), 235 SDLK_KP_B = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_B), 236 SDLK_KP_C = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_C), 237 SDLK_KP_D = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_D), 238 SDLK_KP_E = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_E), 239 SDLK_KP_F = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_F), 240 SDLK_KP_XOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_XOR), 241 SDLK_KP_POWER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_POWER), 242 SDLK_KP_PERCENT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PERCENT), 243 SDLK_KP_LESS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_LESS), 244 SDLK_KP_GREATER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_GREATER), 245 SDLK_KP_AMPERSAND = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_AMPERSAND), 246 SDLK_KP_DBLAMPERSAND = 247 SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DBLAMPERSAND), 248 SDLK_KP_VERTICALBAR = 249 SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_VERTICALBAR), 250 SDLK_KP_DBLVERTICALBAR = 251 SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DBLVERTICALBAR), 252 SDLK_KP_COLON = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_COLON), 253 SDLK_KP_HASH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_HASH), 254 SDLK_KP_SPACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_SPACE), 255 SDLK_KP_AT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_AT), 256 SDLK_KP_EXCLAM = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_EXCLAM), 257 SDLK_KP_MEMSTORE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMSTORE), 258 SDLK_KP_MEMRECALL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMRECALL), 259 SDLK_KP_MEMCLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMCLEAR), 260 SDLK_KP_MEMADD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMADD), 261 SDLK_KP_MEMSUBTRACT = 262 SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMSUBTRACT), 263 SDLK_KP_MEMMULTIPLY = 264 SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMMULTIPLY), 265 SDLK_KP_MEMDIVIDE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMDIVIDE), 266 SDLK_KP_PLUSMINUS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PLUSMINUS), 267 SDLK_KP_CLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_CLEAR), 268 SDLK_KP_CLEARENTRY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_CLEARENTRY), 269 SDLK_KP_BINARY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_BINARY), 270 SDLK_KP_OCTAL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_OCTAL), 271 SDLK_KP_DECIMAL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DECIMAL), 272 SDLK_KP_HEXADECIMAL = 273 SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_HEXADECIMAL), 274 275 SDLK_LCTRL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LCTRL), 276 SDLK_LSHIFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LSHIFT), 277 SDLK_LALT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LALT), 278 SDLK_LGUI = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LGUI), 279 SDLK_RCTRL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RCTRL), 280 SDLK_RSHIFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RSHIFT), 281 SDLK_RALT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RALT), 282 SDLK_RGUI = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RGUI), 283 284 SDLK_MODE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MODE), 285 286 SDLK_AUDIONEXT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIONEXT), 287 SDLK_AUDIOPREV = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOPREV), 288 SDLK_AUDIOSTOP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOSTOP), 289 SDLK_AUDIOPLAY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOPLAY), 290 SDLK_AUDIOMUTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOMUTE), 291 SDLK_MEDIASELECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MEDIASELECT), 292 SDLK_WWW = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_WWW), 293 SDLK_MAIL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MAIL), 294 SDLK_CALCULATOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CALCULATOR), 295 SDLK_COMPUTER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_COMPUTER), 296 SDLK_AC_SEARCH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_SEARCH), 297 SDLK_AC_HOME = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_HOME), 298 SDLK_AC_BACK = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_BACK), 299 SDLK_AC_FORWARD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_FORWARD), 300 SDLK_AC_STOP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_STOP), 301 SDLK_AC_REFRESH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_REFRESH), 302 SDLK_AC_BOOKMARKS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_BOOKMARKS), 303 304 SDLK_BRIGHTNESSDOWN = 305 SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_BRIGHTNESSDOWN), 306 SDLK_BRIGHTNESSUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_BRIGHTNESSUP), 307 SDLK_DISPLAYSWITCH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_DISPLAYSWITCH), 308 SDLK_KBDILLUMTOGGLE = 309 SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMTOGGLE), 310 SDLK_KBDILLUMDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMDOWN), 311 SDLK_KBDILLUMUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMUP), 312 SDLK_EJECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EJECT), 313 SDLK_SLEEP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SLEEP), 314 SDLK_LAST = SDL_SCANCODE_TO_KEYCODE(SDL_NUM_SCANCODES) 315 }; 316 317 /** 318 * \brief Enumeration of valid key mods (possibly OR'd together). 319 */ 320 typedef enum 321 { 322 KMOD_NONE = 0x0000, 323 KMOD_LSHIFT = 0x0001, 324 KMOD_RSHIFT = 0x0002, 325 KMOD_LCTRL = 0x0040, 326 KMOD_RCTRL = 0x0080, 327 KMOD_LALT = 0x0100, 328 KMOD_RALT = 0x0200, 329 KMOD_LGUI = 0x0400, 330 KMOD_RGUI = 0x0800, 331 KMOD_NUM = 0x1000, 332 KMOD_CAPS = 0x2000, 333 KMOD_MODE = 0x4000, 334 KMOD_RESERVED = 0x8000 335 } SDL_Keymod; 336 337 #define KMOD_CTRL (KMOD_LCTRL|KMOD_RCTRL) 338 #define KMOD_SHIFT (KMOD_LSHIFT|KMOD_RSHIFT) 339 #define KMOD_ALT (KMOD_LALT|KMOD_RALT) 340 #define KMOD_GUI (KMOD_LGUI|KMOD_RGUI) 341 342 #endif /* _SDL_keycode_h */ 343 344 /* vi: set ts=4 sw=4 expandtab: */ 345