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