SDL 3.0
SDL_scancode.h
Go to the documentation of this file.
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
22/**
23 * # CategoryScancode
24 *
25 * Defines keyboard scancodes.
26 *
27 * Please refer to the Best Keyboard Practices document for details on what
28 * this information means and how best to use it.
29 *
30 * https://wiki.libsdl.org/SDL3/BestKeyboardPractices
31 */
32
33#ifndef SDL_scancode_h_
34#define SDL_scancode_h_
35
36#include <SDL3/SDL_stdinc.h>
37
38/**
39 * The SDL keyboard scancode representation.
40 *
41 * An SDL scancode is the physical representation of a key on the keyboard,
42 * independent of language and keyboard mapping.
43 *
44 * Values of this type are used to represent keyboard keys, among other places
45 * in the `scancode` field of the SDL_KeyboardEvent structure.
46 *
47 * The values in this enumeration are based on the USB usage page standard:
48 * https://usb.org/sites/default/files/hut1_5.pdf
49 *
50 * \since This enum is available since SDL 3.2.0.
51 */
52typedef enum SDL_Scancode
53{
55
56 /**
57 * \name Usage page 0x07
58 *
59 * These values are from usage page 0x07 (USB keyboard page).
60 */
61 /* @{ */
62
89
100
106
111 SDL_SCANCODE_BACKSLASH = 49, /**< Located at the lower left of the return
112 * key on ISO keyboards and at the right end
113 * of the QWERTY row on ANSI keyboards.
114 * Produces REVERSE SOLIDUS (backslash) and
115 * VERTICAL LINE in a US layout, REVERSE
116 * SOLIDUS and VERTICAL LINE in a UK Mac
117 * layout, NUMBER SIGN and TILDE in a UK
118 * Windows layout, DOLLAR SIGN and POUND SIGN
119 * in a Swiss German layout, NUMBER SIGN and
120 * APOSTROPHE in a German layout, GRAVE
121 * ACCENT and POUND SIGN in a French Mac
122 * layout, and ASTERISK and MICRO SIGN in a
123 * French Windows layout.
124 */
125 SDL_SCANCODE_NONUSHASH = 50, /**< ISO USB keyboards actually use this code
126 * instead of 49 for the same key, but all
127 * OSes I've seen treat the two codes
128 * identically. So, as an implementor, unless
129 * your keyboard generates both of those
130 * codes and your OS treats them differently,
131 * you should generate SDL_SCANCODE_BACKSLASH
132 * instead of this code. As a user, you
133 * should not rely on this code because SDL
134 * will never generate it with most (all?)
135 * keyboards.
136 */
139 SDL_SCANCODE_GRAVE = 53, /**< Located in the top left corner (on both ANSI
140 * and ISO keyboards). Produces GRAVE ACCENT and
141 * TILDE in a US Windows layout and in US and UK
142 * Mac layouts on ANSI keyboards, GRAVE ACCENT
143 * and NOT SIGN in a UK Windows layout, SECTION
144 * SIGN and PLUS-MINUS SIGN in US and UK Mac
145 * layouts on ISO keyboards, SECTION SIGN and
146 * DEGREE SIGN in a Swiss German layout (Mac:
147 * only on ISO keyboards), CIRCUMFLEX ACCENT and
148 * DEGREE SIGN in a German layout (Mac: only on
149 * ISO keyboards), SUPERSCRIPT TWO and TILDE in a
150 * French Windows layout, COMMERCIAL AT and
151 * NUMBER SIGN in a French Mac layout on ISO
152 * keyboards, and LESS-THAN SIGN and GREATER-THAN
153 * SIGN in a Swiss German, German, or French Mac
154 * layout on ANSI keyboards.
155 */
159
161
174
178 SDL_SCANCODE_INSERT = 73, /**< insert on PC, help on some Mac keyboards (but
179 does send code 73, not 117) */
189
190 SDL_SCANCODE_NUMLOCKCLEAR = 83, /**< num lock on PC, clear on Mac keyboards
191 */
208
209 SDL_SCANCODE_NONUSBACKSLASH = 100, /**< This is the additional key that ISO
210 * keyboards have over ANSI ones,
211 * located between left shift and Y.
212 * Produces GRAVE ACCENT and TILDE in a
213 * US or UK Mac layout, REVERSE SOLIDUS
214 * (backslash) and VERTICAL LINE in a
215 * US or UK Windows layout, and
216 * LESS-THAN SIGN and GREATER-THAN SIGN
217 * in a Swiss German, German, or French
218 * layout. */
219 SDL_SCANCODE_APPLICATION = 101, /**< windows contextual menu, compose */
220 SDL_SCANCODE_POWER = 102, /**< The USB document says this is a status flag,
221 * not a physical key - but some Mac keyboards
222 * do have a power key. */
237 SDL_SCANCODE_HELP = 117, /**< AL Integrated Help Center */
238 SDL_SCANCODE_MENU = 118, /**< Menu (show menu) */
240 SDL_SCANCODE_STOP = 120, /**< AC Stop */
241 SDL_SCANCODE_AGAIN = 121, /**< AC Redo/Repeat */
242 SDL_SCANCODE_UNDO = 122, /**< AC Undo */
243 SDL_SCANCODE_CUT = 123, /**< AC Cut */
244 SDL_SCANCODE_COPY = 124, /**< AC Copy */
245 SDL_SCANCODE_PASTE = 125, /**< AC Paste */
246 SDL_SCANCODE_FIND = 126, /**< AC Find */
250/* not sure whether there's a reason to enable these */
251/* SDL_SCANCODE_LOCKINGCAPSLOCK = 130, */
252/* SDL_SCANCODE_LOCKINGNUMLOCK = 131, */
253/* SDL_SCANCODE_LOCKINGSCROLLLOCK = 132, */
256
257 SDL_SCANCODE_INTERNATIONAL1 = 135, /**< used on Asian keyboards, see
258 footnotes in USB doc */
267 SDL_SCANCODE_LANG1 = 144, /**< Hangul/English toggle */
268 SDL_SCANCODE_LANG2 = 145, /**< Hanja conversion */
269 SDL_SCANCODE_LANG3 = 146, /**< Katakana */
270 SDL_SCANCODE_LANG4 = 147, /**< Hiragana */
271 SDL_SCANCODE_LANG5 = 148, /**< Zenkaku/Hankaku */
272 SDL_SCANCODE_LANG6 = 149, /**< reserved */
273 SDL_SCANCODE_LANG7 = 150, /**< reserved */
274 SDL_SCANCODE_LANG8 = 151, /**< reserved */
275 SDL_SCANCODE_LANG9 = 152, /**< reserved */
276
277 SDL_SCANCODE_ALTERASE = 153, /**< Erase-Eaze */
279 SDL_SCANCODE_CANCEL = 155, /**< AC Cancel */
289
336
339 SDL_SCANCODE_LALT = 226, /**< alt, option */
340 SDL_SCANCODE_LGUI = 227, /**< windows, command (apple), meta */
343 SDL_SCANCODE_RALT = 230, /**< alt gr, option */
344 SDL_SCANCODE_RGUI = 231, /**< windows, command (apple), meta */
345
346 SDL_SCANCODE_MODE = 257, /**< I'm not sure if this is really not covered
347 * by any of the above, but since there's a
348 * special SDL_KMOD_MODE for it I'm adding it here
349 */
350
351 /* @} *//* Usage page 0x07 */
352
353 /**
354 * \name Usage page 0x0C
355 *
356 * These values are mapped from usage page 0x0C (USB consumer page).
357 *
358 * There are way more keys in the spec than we can represent in the
359 * current scancode range, so pick the ones that commonly come up in
360 * real world usage.
361 */
362 /* @{ */
363
364 SDL_SCANCODE_SLEEP = 258, /**< Sleep */
365 SDL_SCANCODE_WAKE = 259, /**< Wake */
366
367 SDL_SCANCODE_CHANNEL_INCREMENT = 260, /**< Channel Increment */
368 SDL_SCANCODE_CHANNEL_DECREMENT = 261, /**< Channel Decrement */
369
370 SDL_SCANCODE_MEDIA_PLAY = 262, /**< Play */
371 SDL_SCANCODE_MEDIA_PAUSE = 263, /**< Pause */
372 SDL_SCANCODE_MEDIA_RECORD = 264, /**< Record */
373 SDL_SCANCODE_MEDIA_FAST_FORWARD = 265, /**< Fast Forward */
374 SDL_SCANCODE_MEDIA_REWIND = 266, /**< Rewind */
375 SDL_SCANCODE_MEDIA_NEXT_TRACK = 267, /**< Next Track */
376 SDL_SCANCODE_MEDIA_PREVIOUS_TRACK = 268, /**< Previous Track */
377 SDL_SCANCODE_MEDIA_STOP = 269, /**< Stop */
378 SDL_SCANCODE_MEDIA_EJECT = 270, /**< Eject */
379 SDL_SCANCODE_MEDIA_PLAY_PAUSE = 271, /**< Play / Pause */
380 SDL_SCANCODE_MEDIA_SELECT = 272, /* Media Select */
381
382 SDL_SCANCODE_AC_NEW = 273, /**< AC New */
383 SDL_SCANCODE_AC_OPEN = 274, /**< AC Open */
384 SDL_SCANCODE_AC_CLOSE = 275, /**< AC Close */
385 SDL_SCANCODE_AC_EXIT = 276, /**< AC Exit */
386 SDL_SCANCODE_AC_SAVE = 277, /**< AC Save */
387 SDL_SCANCODE_AC_PRINT = 278, /**< AC Print */
388 SDL_SCANCODE_AC_PROPERTIES = 279, /**< AC Properties */
389
390 SDL_SCANCODE_AC_SEARCH = 280, /**< AC Search */
391 SDL_SCANCODE_AC_HOME = 281, /**< AC Home */
392 SDL_SCANCODE_AC_BACK = 282, /**< AC Back */
393 SDL_SCANCODE_AC_FORWARD = 283, /**< AC Forward */
394 SDL_SCANCODE_AC_STOP = 284, /**< AC Stop */
395 SDL_SCANCODE_AC_REFRESH = 285, /**< AC Refresh */
396 SDL_SCANCODE_AC_BOOKMARKS = 286, /**< AC Bookmarks */
397
398 /* @} *//* Usage page 0x0C */
399
400
401 /**
402 * \name Mobile keys
403 *
404 * These are values that are often used on mobile phones.
405 */
406 /* @{ */
407
408 SDL_SCANCODE_SOFTLEFT = 287, /**< Usually situated below the display on phones and
409 used as a multi-function feature key for selecting
410 a software defined function shown on the bottom left
411 of the display. */
412 SDL_SCANCODE_SOFTRIGHT = 288, /**< Usually situated below the display on phones and
413 used as a multi-function feature key for selecting
414 a software defined function shown on the bottom right
415 of the display. */
416 SDL_SCANCODE_CALL = 289, /**< Used for accepting phone calls. */
417 SDL_SCANCODE_ENDCALL = 290, /**< Used for rejecting phone calls. */
418
419 /* @} *//* Mobile keys */
420
421 /* Add any other keys here. */
422
423 SDL_SCANCODE_RESERVED = 400, /**< 400-500 reserved for dynamic keycodes */
424
425 SDL_SCANCODE_COUNT = 512 /**< not a key, just marks the number of scancodes for array bounds */
426
428
429#endif /* SDL_scancode_h_ */
SDL_Scancode
Definition: SDL_scancode.h:53
@ SDL_SCANCODE_E
Definition: SDL_scancode.h:67
@ SDL_SCANCODE_END
Definition: SDL_scancode.h:183
@ SDL_SCANCODE_OUT
Definition: SDL_scancode.h:284
@ SDL_SCANCODE_AC_NEW
Definition: SDL_scancode.h:382
@ SDL_SCANCODE_BACKSLASH
Definition: SDL_scancode.h:111
@ SDL_SCANCODE_MEDIA_PREVIOUS_TRACK
Definition: SDL_scancode.h:376
@ SDL_SCANCODE_ESCAPE
Definition: SDL_scancode.h:102
@ SDL_SCANCODE_KP_OCTAL
Definition: SDL_scancode.h:333
@ SDL_SCANCODE_KP_CLEARENTRY
Definition: SDL_scancode.h:331
@ SDL_SCANCODE_KP_EXCLAM
Definition: SDL_scancode.h:321
@ SDL_SCANCODE_KP_DECIMAL
Definition: SDL_scancode.h:334
@ SDL_SCANCODE_F15
Definition: SDL_scancode.h:226
@ SDL_SCANCODE_M
Definition: SDL_scancode.h:75
@ SDL_SCANCODE_F12
Definition: SDL_scancode.h:173
@ SDL_SCANCODE_X
Definition: SDL_scancode.h:86
@ SDL_SCANCODE_W
Definition: SDL_scancode.h:85
@ SDL_SCANCODE_KP_E
Definition: SDL_scancode.h:306
@ SDL_SCANCODE_INTERNATIONAL4
Definition: SDL_scancode.h:261
@ SDL_SCANCODE_KP_PLUS
Definition: SDL_scancode.h:195
@ SDL_SCANCODE_MEDIA_REWIND
Definition: SDL_scancode.h:374
@ SDL_SCANCODE_F4
Definition: SDL_scancode.h:165
@ SDL_SCANCODE_LANG8
Definition: SDL_scancode.h:274
@ SDL_SCANCODE_RIGHTBRACKET
Definition: SDL_scancode.h:110
@ SDL_SCANCODE_MEDIA_PLAY
Definition: SDL_scancode.h:370
@ SDL_SCANCODE_INTERNATIONAL1
Definition: SDL_scancode.h:257
@ SDL_SCANCODE_INTERNATIONAL7
Definition: SDL_scancode.h:264
@ SDL_SCANCODE_KP_GREATER
Definition: SDL_scancode.h:312
@ SDL_SCANCODE_LANG2
Definition: SDL_scancode.h:268
@ SDL_SCANCODE_CAPSLOCK
Definition: SDL_scancode.h:160
@ SDL_SCANCODE_B
Definition: SDL_scancode.h:64
@ SDL_SCANCODE_F2
Definition: SDL_scancode.h:163
@ SDL_SCANCODE_KP_MINUS
Definition: SDL_scancode.h:194
@ SDL_SCANCODE_KP_00
Definition: SDL_scancode.h:290
@ SDL_SCANCODE_F6
Definition: SDL_scancode.h:167
@ SDL_SCANCODE_NONUSBACKSLASH
Definition: SDL_scancode.h:209
@ SDL_SCANCODE_KP_0
Definition: SDL_scancode.h:206
@ SDL_SCANCODE_KP_B
Definition: SDL_scancode.h:303
@ SDL_SCANCODE_F11
Definition: SDL_scancode.h:172
@ SDL_SCANCODE_CANCEL
Definition: SDL_scancode.h:279
@ SDL_SCANCODE_COMMA
Definition: SDL_scancode.h:156
@ SDL_SCANCODE_KP_PERIOD
Definition: SDL_scancode.h:207
@ SDL_SCANCODE_KP_F
Definition: SDL_scancode.h:307
@ SDL_SCANCODE_KP_LEFTPAREN
Definition: SDL_scancode.h:296
@ SDL_SCANCODE_F24
Definition: SDL_scancode.h:235
@ SDL_SCANCODE_AC_SAVE
Definition: SDL_scancode.h:386
@ SDL_SCANCODE_CUT
Definition: SDL_scancode.h:243
@ SDL_SCANCODE_Y
Definition: SDL_scancode.h:87
@ SDL_SCANCODE_KP_VERTICALBAR
Definition: SDL_scancode.h:315
@ SDL_SCANCODE_APOSTROPHE
Definition: SDL_scancode.h:138
@ SDL_SCANCODE_KP_HEXADECIMAL
Definition: SDL_scancode.h:335
@ SDL_SCANCODE_KP_COMMA
Definition: SDL_scancode.h:254
@ SDL_SCANCODE_KP_SPACE
Definition: SDL_scancode.h:319
@ SDL_SCANCODE_2
Definition: SDL_scancode.h:91
@ SDL_SCANCODE_KP_BACKSPACE
Definition: SDL_scancode.h:301
@ SDL_SCANCODE_AC_EXIT
Definition: SDL_scancode.h:385
@ SDL_SCANCODE_O
Definition: SDL_scancode.h:77
@ SDL_SCANCODE_CLEARAGAIN
Definition: SDL_scancode.h:286
@ SDL_SCANCODE_RGUI
Definition: SDL_scancode.h:344
@ SDL_SCANCODE_K
Definition: SDL_scancode.h:73
@ SDL_SCANCODE_F
Definition: SDL_scancode.h:68
@ SDL_SCANCODE_DELETE
Definition: SDL_scancode.h:182
@ SDL_SCANCODE_F10
Definition: SDL_scancode.h:171
@ SDL_SCANCODE_F3
Definition: SDL_scancode.h:164
@ SDL_SCANCODE_KP_AMPERSAND
Definition: SDL_scancode.h:313
@ SDL_SCANCODE_CHANNEL_INCREMENT
Definition: SDL_scancode.h:367
@ SDL_SCANCODE_KP_COLON
Definition: SDL_scancode.h:317
@ SDL_SCANCODE_CHANNEL_DECREMENT
Definition: SDL_scancode.h:368
@ SDL_SCANCODE_5
Definition: SDL_scancode.h:94
@ SDL_SCANCODE_KP_RIGHTPAREN
Definition: SDL_scancode.h:297
@ SDL_SCANCODE_H
Definition: SDL_scancode.h:70
@ SDL_SCANCODE_KP_D
Definition: SDL_scancode.h:305
@ SDL_SCANCODE_SLASH
Definition: SDL_scancode.h:158
@ SDL_SCANCODE_F1
Definition: SDL_scancode.h:162
@ SDL_SCANCODE_KP_EQUALS
Definition: SDL_scancode.h:223
@ SDL_SCANCODE_F21
Definition: SDL_scancode.h:232
@ SDL_SCANCODE_KP_6
Definition: SDL_scancode.h:202
@ SDL_SCANCODE_KP_HASH
Definition: SDL_scancode.h:318
@ SDL_SCANCODE_7
Definition: SDL_scancode.h:96
@ SDL_SCANCODE_9
Definition: SDL_scancode.h:98
@ SDL_SCANCODE_KP_TAB
Definition: SDL_scancode.h:300
@ SDL_SCANCODE_KP_7
Definition: SDL_scancode.h:203
@ SDL_SCANCODE_AC_REFRESH
Definition: SDL_scancode.h:395
@ SDL_SCANCODE_INTERNATIONAL9
Definition: SDL_scancode.h:266
@ SDL_SCANCODE_KP_9
Definition: SDL_scancode.h:205
@ SDL_SCANCODE_EXSEL
Definition: SDL_scancode.h:288
@ SDL_SCANCODE_MEDIA_FAST_FORWARD
Definition: SDL_scancode.h:373
@ SDL_SCANCODE_MEDIA_RECORD
Definition: SDL_scancode.h:372
@ SDL_SCANCODE_VOLUMEUP
Definition: SDL_scancode.h:248
@ SDL_SCANCODE_INTERNATIONAL8
Definition: SDL_scancode.h:265
@ SDL_SCANCODE_CRSEL
Definition: SDL_scancode.h:287
@ SDL_SCANCODE_ENDCALL
Definition: SDL_scancode.h:417
@ SDL_SCANCODE_NUMLOCKCLEAR
Definition: SDL_scancode.h:190
@ SDL_SCANCODE_MEDIA_PLAY_PAUSE
Definition: SDL_scancode.h:379
@ SDL_SCANCODE_PRINTSCREEN
Definition: SDL_scancode.h:175
@ SDL_SCANCODE_KP_XOR
Definition: SDL_scancode.h:308
@ SDL_SCANCODE_POWER
Definition: SDL_scancode.h:220
@ SDL_SCANCODE_KP_3
Definition: SDL_scancode.h:199
@ SDL_SCANCODE_SCROLLLOCK
Definition: SDL_scancode.h:176
@ SDL_SCANCODE_PAUSE
Definition: SDL_scancode.h:177
@ SDL_SCANCODE_RETURN
Definition: SDL_scancode.h:101
@ SDL_SCANCODE_KP_000
Definition: SDL_scancode.h:291
@ SDL_SCANCODE_HELP
Definition: SDL_scancode.h:237
@ SDL_SCANCODE_PAGEDOWN
Definition: SDL_scancode.h:184
@ SDL_SCANCODE_INTERNATIONAL3
Definition: SDL_scancode.h:260
@ SDL_SCANCODE_LSHIFT
Definition: SDL_scancode.h:338
@ SDL_SCANCODE_TAB
Definition: SDL_scancode.h:104
@ SDL_SCANCODE_STOP
Definition: SDL_scancode.h:240
@ SDL_SCANCODE_CURRENCYSUBUNIT
Definition: SDL_scancode.h:295
@ SDL_SCANCODE_LANG1
Definition: SDL_scancode.h:267
@ SDL_SCANCODE_3
Definition: SDL_scancode.h:92
@ SDL_SCANCODE_LCTRL
Definition: SDL_scancode.h:337
@ SDL_SCANCODE_SEMICOLON
Definition: SDL_scancode.h:137
@ SDL_SCANCODE_F16
Definition: SDL_scancode.h:227
@ SDL_SCANCODE_F22
Definition: SDL_scancode.h:233
@ SDL_SCANCODE_UNKNOWN
Definition: SDL_scancode.h:54
@ SDL_SCANCODE_KP_MEMCLEAR
Definition: SDL_scancode.h:324
@ SDL_SCANCODE_LGUI
Definition: SDL_scancode.h:340
@ SDL_SCANCODE_0
Definition: SDL_scancode.h:99
@ SDL_SCANCODE_KP_LESS
Definition: SDL_scancode.h:311
@ SDL_SCANCODE_AC_STOP
Definition: SDL_scancode.h:394
@ SDL_SCANCODE_OPER
Definition: SDL_scancode.h:285
@ SDL_SCANCODE_LEFTBRACKET
Definition: SDL_scancode.h:109
@ SDL_SCANCODE_KP_MEMSUBTRACT
Definition: SDL_scancode.h:326
@ SDL_SCANCODE_KP_A
Definition: SDL_scancode.h:302
@ SDL_SCANCODE_AC_SEARCH
Definition: SDL_scancode.h:390
@ SDL_SCANCODE_INTERNATIONAL2
Definition: SDL_scancode.h:259
@ SDL_SCANCODE_DECIMALSEPARATOR
Definition: SDL_scancode.h:293
@ SDL_SCANCODE_F19
Definition: SDL_scancode.h:230
@ SDL_SCANCODE_V
Definition: SDL_scancode.h:84
@ SDL_SCANCODE_EXECUTE
Definition: SDL_scancode.h:236
@ SDL_SCANCODE_GRAVE
Definition: SDL_scancode.h:139
@ SDL_SCANCODE_KP_LEFTBRACE
Definition: SDL_scancode.h:298
@ SDL_SCANCODE_MENU
Definition: SDL_scancode.h:238
@ SDL_SCANCODE_RALT
Definition: SDL_scancode.h:343
@ SDL_SCANCODE_MUTE
Definition: SDL_scancode.h:247
@ SDL_SCANCODE_SYSREQ
Definition: SDL_scancode.h:278
@ SDL_SCANCODE_8
Definition: SDL_scancode.h:97
@ SDL_SCANCODE_MEDIA_STOP
Definition: SDL_scancode.h:377
@ SDL_SCANCODE_I
Definition: SDL_scancode.h:71
@ SDL_SCANCODE_LANG4
Definition: SDL_scancode.h:270
@ SDL_SCANCODE_KP_PERCENT
Definition: SDL_scancode.h:310
@ SDL_SCANCODE_F17
Definition: SDL_scancode.h:228
@ SDL_SCANCODE_RETURN2
Definition: SDL_scancode.h:282
@ SDL_SCANCODE_LANG3
Definition: SDL_scancode.h:269
@ SDL_SCANCODE_KP_MEMADD
Definition: SDL_scancode.h:325
@ SDL_SCANCODE_KP_PLUSMINUS
Definition: SDL_scancode.h:329
@ SDL_SCANCODE_INTERNATIONAL5
Definition: SDL_scancode.h:262
@ SDL_SCANCODE_AC_OPEN
Definition: SDL_scancode.h:383
@ SDL_SCANCODE_THOUSANDSSEPARATOR
Definition: SDL_scancode.h:292
@ SDL_SCANCODE_6
Definition: SDL_scancode.h:95
@ SDL_SCANCODE_S
Definition: SDL_scancode.h:81
@ SDL_SCANCODE_KP_ENTER
Definition: SDL_scancode.h:196
@ SDL_SCANCODE_AC_BACK
Definition: SDL_scancode.h:392
@ SDL_SCANCODE_FIND
Definition: SDL_scancode.h:246
@ SDL_SCANCODE_KP_MEMSTORE
Definition: SDL_scancode.h:322
@ SDL_SCANCODE_PAGEUP
Definition: SDL_scancode.h:181
@ SDL_SCANCODE_Z
Definition: SDL_scancode.h:88
@ SDL_SCANCODE_P
Definition: SDL_scancode.h:78
@ SDL_SCANCODE_D
Definition: SDL_scancode.h:66
@ SDL_SCANCODE_F23
Definition: SDL_scancode.h:234
@ SDL_SCANCODE_PERIOD
Definition: SDL_scancode.h:157
@ SDL_SCANCODE_CALL
Definition: SDL_scancode.h:416
@ SDL_SCANCODE_KP_MEMRECALL
Definition: SDL_scancode.h:323
@ SDL_SCANCODE_MEDIA_NEXT_TRACK
Definition: SDL_scancode.h:375
@ SDL_SCANCODE_R
Definition: SDL_scancode.h:80
@ SDL_SCANCODE_KP_AT
Definition: SDL_scancode.h:320
@ SDL_SCANCODE_KP_1
Definition: SDL_scancode.h:197
@ SDL_SCANCODE_AC_BOOKMARKS
Definition: SDL_scancode.h:396
@ SDL_SCANCODE_KP_MEMMULTIPLY
Definition: SDL_scancode.h:327
@ SDL_SCANCODE_DOWN
Definition: SDL_scancode.h:187
@ SDL_SCANCODE_COPY
Definition: SDL_scancode.h:244
@ SDL_SCANCODE_RIGHT
Definition: SDL_scancode.h:185
@ SDL_SCANCODE_F7
Definition: SDL_scancode.h:168
@ SDL_SCANCODE_INTERNATIONAL6
Definition: SDL_scancode.h:263
@ SDL_SCANCODE_MINUS
Definition: SDL_scancode.h:107
@ SDL_SCANCODE_MEDIA_SELECT
Definition: SDL_scancode.h:380
@ SDL_SCANCODE_A
Definition: SDL_scancode.h:63
@ SDL_SCANCODE_MODE
Definition: SDL_scancode.h:346
@ SDL_SCANCODE_NONUSHASH
Definition: SDL_scancode.h:125
@ SDL_SCANCODE_WAKE
Definition: SDL_scancode.h:365
@ SDL_SCANCODE_LANG7
Definition: SDL_scancode.h:273
@ SDL_SCANCODE_ALTERASE
Definition: SDL_scancode.h:277
@ SDL_SCANCODE_G
Definition: SDL_scancode.h:69
@ SDL_SCANCODE_KP_2
Definition: SDL_scancode.h:198
@ SDL_SCANCODE_KP_RIGHTBRACE
Definition: SDL_scancode.h:299
@ SDL_SCANCODE_U
Definition: SDL_scancode.h:83
@ SDL_SCANCODE_AGAIN
Definition: SDL_scancode.h:241
@ SDL_SCANCODE_MEDIA_EJECT
Definition: SDL_scancode.h:378
@ SDL_SCANCODE_KP_EQUALSAS400
Definition: SDL_scancode.h:255
@ SDL_SCANCODE_KP_MULTIPLY
Definition: SDL_scancode.h:193
@ SDL_SCANCODE_KP_C
Definition: SDL_scancode.h:304
@ SDL_SCANCODE_KP_POWER
Definition: SDL_scancode.h:309
@ SDL_SCANCODE_4
Definition: SDL_scancode.h:93
@ SDL_SCANCODE_KP_DBLVERTICALBAR
Definition: SDL_scancode.h:316
@ SDL_SCANCODE_F9
Definition: SDL_scancode.h:170
@ SDL_SCANCODE_AC_PRINT
Definition: SDL_scancode.h:387
@ SDL_SCANCODE_F5
Definition: SDL_scancode.h:166
@ SDL_SCANCODE_AC_CLOSE
Definition: SDL_scancode.h:384
@ SDL_SCANCODE_UP
Definition: SDL_scancode.h:188
@ SDL_SCANCODE_LEFT
Definition: SDL_scancode.h:186
@ SDL_SCANCODE_KP_BINARY
Definition: SDL_scancode.h:332
@ SDL_SCANCODE_SELECT
Definition: SDL_scancode.h:239
@ SDL_SCANCODE_APPLICATION
Definition: SDL_scancode.h:219
@ SDL_SCANCODE_LANG5
Definition: SDL_scancode.h:271
@ SDL_SCANCODE_KP_4
Definition: SDL_scancode.h:200
@ SDL_SCANCODE_C
Definition: SDL_scancode.h:65
@ SDL_SCANCODE_HOME
Definition: SDL_scancode.h:180
@ SDL_SCANCODE_F14
Definition: SDL_scancode.h:225
@ SDL_SCANCODE_T
Definition: SDL_scancode.h:82
@ SDL_SCANCODE_KP_CLEAR
Definition: SDL_scancode.h:330
@ SDL_SCANCODE_F8
Definition: SDL_scancode.h:169
@ SDL_SCANCODE_LALT
Definition: SDL_scancode.h:339
@ SDL_SCANCODE_KP_8
Definition: SDL_scancode.h:204
@ SDL_SCANCODE_MEDIA_PAUSE
Definition: SDL_scancode.h:371
@ SDL_SCANCODE_PASTE
Definition: SDL_scancode.h:245
@ SDL_SCANCODE_RCTRL
Definition: SDL_scancode.h:341
@ SDL_SCANCODE_F20
Definition: SDL_scancode.h:231
@ SDL_SCANCODE_KP_5
Definition: SDL_scancode.h:201
@ SDL_SCANCODE_L
Definition: SDL_scancode.h:74
@ SDL_SCANCODE_UNDO
Definition: SDL_scancode.h:242
@ SDL_SCANCODE_KP_DBLAMPERSAND
Definition: SDL_scancode.h:314
@ SDL_SCANCODE_CLEAR
Definition: SDL_scancode.h:280
@ SDL_SCANCODE_LANG6
Definition: SDL_scancode.h:272
@ SDL_SCANCODE_AC_HOME
Definition: SDL_scancode.h:391
@ SDL_SCANCODE_VOLUMEDOWN
Definition: SDL_scancode.h:249
@ SDL_SCANCODE_SOFTRIGHT
Definition: SDL_scancode.h:412
@ SDL_SCANCODE_SLEEP
Definition: SDL_scancode.h:364
@ SDL_SCANCODE_KP_DIVIDE
Definition: SDL_scancode.h:192
@ SDL_SCANCODE_PRIOR
Definition: SDL_scancode.h:281
@ SDL_SCANCODE_F18
Definition: SDL_scancode.h:229
@ SDL_SCANCODE_F13
Definition: SDL_scancode.h:224
@ SDL_SCANCODE_RESERVED
Definition: SDL_scancode.h:423
@ SDL_SCANCODE_CURRENCYUNIT
Definition: SDL_scancode.h:294
@ SDL_SCANCODE_N
Definition: SDL_scancode.h:76
@ SDL_SCANCODE_SOFTLEFT
Definition: SDL_scancode.h:408
@ SDL_SCANCODE_BACKSPACE
Definition: SDL_scancode.h:103
@ SDL_SCANCODE_LANG9
Definition: SDL_scancode.h:275
@ SDL_SCANCODE_EQUALS
Definition: SDL_scancode.h:108
@ SDL_SCANCODE_SPACE
Definition: SDL_scancode.h:105
@ SDL_SCANCODE_COUNT
Definition: SDL_scancode.h:425
@ SDL_SCANCODE_SEPARATOR
Definition: SDL_scancode.h:283
@ SDL_SCANCODE_RSHIFT
Definition: SDL_scancode.h:342
@ SDL_SCANCODE_INSERT
Definition: SDL_scancode.h:178
@ SDL_SCANCODE_AC_FORWARD
Definition: SDL_scancode.h:393
@ SDL_SCANCODE_KP_MEMDIVIDE
Definition: SDL_scancode.h:328
@ SDL_SCANCODE_J
Definition: SDL_scancode.h:72
@ SDL_SCANCODE_AC_PROPERTIES
Definition: SDL_scancode.h:388
@ SDL_SCANCODE_1
Definition: SDL_scancode.h:90
@ SDL_SCANCODE_Q
Definition: SDL_scancode.h:79