This table is extracted from https://wiki.libsdl.org/SDLScancodeLookup to make sure it is available in case of original source disappearing.
Decimal Value |
Hexadecimal Value |
SDL_Scancode Constant |
0 |
0x000 |
SDL_SCANCODE_UNKNOWN |
4 |
0x004 |
SDL_SCANCODE_A |
5 |
0x005 |
SDL_SCANCODE_B |
6 |
0x006 |
SDL_SCANCODE_C |
7 |
0x007 |
SDL_SCANCODE_D |
8 |
0x008 |
SDL_SCANCODE_E |
9 |
0x009 |
SDL_SCANCODE_F |
10 |
0x00A |
SDL_SCANCODE_G |
11 |
0x00B |
SDL_SCANCODE_H |
12 |
0x00C |
SDL_SCANCODE_I |
13 |
0x00D |
SDL_SCANCODE_J |
14 |
0x00E |
SDL_SCANCODE_K |
15 |
0x00F |
SDL_SCANCODE_L |
16 |
0x010 |
SDL_SCANCODE_M |
17 |
0x011 |
SDL_SCANCODE_N |
18 |
0x012 |
SDL_SCANCODE_O |
19 |
0x013 |
SDL_SCANCODE_P |
20 |
0x014 |
SDL_SCANCODE_Q |
21 |
0x015 |
SDL_SCANCODE_R |
22 |
0x016 |
SDL_SCANCODE_S |
23 |
0x017 |
SDL_SCANCODE_T |
24 |
0x018 |
SDL_SCANCODE_U |
25 |
0x019 |
SDL_SCANCODE_V |
26 |
0x01A |
SDL_SCANCODE_W |
27 |
0x01B |
SDL_SCANCODE_X |
28 |
0x01C |
SDL_SCANCODE_Y |
29 |
0x01D |
SDL_SCANCODE_Z |
30 |
0x01E |
SDL_SCANCODE_1 |
31 |
0x01F |
SDL_SCANCODE_2 |
32 |
0x020 |
SDL_SCANCODE_3 |
33 |
0x021 |
SDL_SCANCODE_4 |
34 |
0x022 |
SDL_SCANCODE_5 |
35 |
0x023 |
SDL_SCANCODE_6 |
36 |
0x024 |
SDL_SCANCODE_7 |
37 |
0x025 |
SDL_SCANCODE_8 |
38 |
0x026 |
SDL_SCANCODE_9 |
39 |
0x027 |
SDL_SCANCODE_0 |
40 |
0x028 |
SDL_SCANCODE_RETURN |
41 |
0x029 |
SDL_SCANCODE_ESCAPE |
42 |
0x02A |
SDL_SCANCODE_BACKSPACE |
43 |
0x02B |
SDL_SCANCODE_TAB |
44 |
0x02C |
SDL_SCANCODE_SPACE |
45 |
0x02D |
SDL_SCANCODE_MINUS |
46 |
0x02E |
SDL_SCANCODE_EQUALS |
47 |
0x02F |
SDL_SCANCODE_LEFTBRACKET |
48 |
0x030 |
SDL_SCANCODE_RIGHTBRACKET |
49 |
0x031 |
SDL_SCANCODE_BACKSLASH |
50 |
0x032 |
SDL_SCANCODE_NONUSHASH |
51 |
0x033 |
SDL_SCANCODE_SEMICOLON |
52 |
0x034 |
SDL_SCANCODE_APOSTROPHE |
53 |
0x035 |
SDL_SCANCODE_GRAVE |
54 |
0x036 |
SDL_SCANCODE_COMMA |
55 |
0x037 |
SDL_SCANCODE_PERIOD |
56 |
0x038 |
SDL_SCANCODE_SLASH |
57 |
0x039 |
SDL_SCANCODE_CAPSLOCK |
58 |
0x03A |
SDL_SCANCODE_F1 |
59 |
0x03B |
SDL_SCANCODE_F2 |
60 |
0x03C |
SDL_SCANCODE_F3 |
61 |
0x03D |
SDL_SCANCODE_F4 |
62 |
0x03E |
SDL_SCANCODE_F5 |
63 |
0x03F |
SDL_SCANCODE_F6 |
64 |
0x040 |
SDL_SCANCODE_F7 |
65 |
0x041 |
SDL_SCANCODE_F8 |
66 |
0x042 |
SDL_SCANCODE_F9 |
67 |
0x043 |
SDL_SCANCODE_F10 |
68 |
0x044 |
SDL_SCANCODE_F11 |
69 |
0x045 |
SDL_SCANCODE_F12 |
70 |
0x046 |
SDL_SCANCODE_PRINTSCREEN |
71 |
0x047 |
SDL_SCANCODE_SCROLLLOCK |
72 |
0x048 |
SDL_SCANCODE_PAUSE |
73 |
0x049 |
SDL_SCANCODE_INSERT |
74 |
0x04A |
SDL_SCANCODE_HOME |
75 |
0x04B |
SDL_SCANCODE_PAGEUP |
76 |
0x04C |
SDL_SCANCODE_DELETE |
77 |
0x04D |
SDL_SCANCODE_END |
78 |
0x04E |
SDL_SCANCODE_PAGEDOWN |
79 |
0x04F |
SDL_SCANCODE_RIGHT |
80 |
0x050 |
SDL_SCANCODE_LEFT |
81 |
0x051 |
SDL_SCANCODE_DOWN |
82 |
0x052 |
SDL_SCANCODE_UP |
83 |
0x053 |
SDL_SCANCODE_NUMLOCKCLEAR |
84 |
0x054 |
SDL_SCANCODE_KP_DIVIDE |
85 |
0x055 |
SDL_SCANCODE_KP_MULTIPLY |
86 |
0x056 |
SDL_SCANCODE_KP_MINUS |
87 |
0x057 |
SDL_SCANCODE_KP_PLUS |
88 |
0x058 |
SDL_SCANCODE_KP_ENTER |
89 |
0x059 |
SDL_SCANCODE_KP_1 |
90 |
0x05A |
SDL_SCANCODE_KP_2 |
91 |
0x05B |
SDL_SCANCODE_KP_3 |
92 |
0x05C |
SDL_SCANCODE_KP_4 |
93 |
0x05D |
SDL_SCANCODE_KP_5 |
94 |
0x05E |
SDL_SCANCODE_KP_6 |
95 |
0x05F |
SDL_SCANCODE_KP_7 |
96 |
0x060 |
SDL_SCANCODE_KP_8 |
97 |
0x061 |
SDL_SCANCODE_KP_9 |
98 |
0x062 |
SDL_SCANCODE_KP_0 |
99 |
0x063 |
SDL_SCANCODE_KP_PERIOD |
100 |
0x064 |
SDL_SCANCODE_NONUSBACKSLASH |
101 |
0x065 |
SDL_SCANCODE_APPLICATION |
102 |
0x066 |
SDL_SCANCODE_POWER |
103 |
0x067 |
SDL_SCANCODE_KP_EQUALS |
104 |
0x068 |
SDL_SCANCODE_F13 |
105 |
0x069 |
SDL_SCANCODE_F14 |
106 |
0x06A |
SDL_SCANCODE_F15 |
107 |
0x06B |
SDL_SCANCODE_F16 |
108 |
0x06C |
SDL_SCANCODE_F17 |
109 |
0x06D |
SDL_SCANCODE_F18 |
110 |
0x06E |
SDL_SCANCODE_F19 |
111 |
0x06F |
SDL_SCANCODE_F20 |
112 |
0x070 |
SDL_SCANCODE_F21 |
113 |
0x071 |
SDL_SCANCODE_F22 |
114 |
0x072 |
SDL_SCANCODE_F23 |
115 |
0x073 |
SDL_SCANCODE_F24 |
116 |
0x074 |
SDL_SCANCODE_EXECUTE |
117 |
0x075 |
SDL_SCANCODE_HELP |
118 |
0x076 |
SDL_SCANCODE_MENU |
119 |
0x077 |
SDL_SCANCODE_SELECT |
120 |
0x078 |
SDL_SCANCODE_STOP |
121 |
0x079 |
SDL_SCANCODE_AGAIN |
122 |
0x07A |
SDL_SCANCODE_UNDO |
123 |
0x07B |
SDL_SCANCODE_CUT |
124 |
0x07C |
SDL_SCANCODE_COPY |
125 |
0x07D |
SDL_SCANCODE_PASTE |
126 |
0x07E |
SDL_SCANCODE_FIND |
127 |
0x07F |
SDL_SCANCODE_MUTE |
128 |
0x080 |
SDL_SCANCODE_VOLUMEUP |
129 |
0x081 |
SDL_SCANCODE_VOLUMEDOWN |
130 |
0x082 |
SDL_SCANCODE_LOCKINGCAPSLOCK |
131 |
0x083 |
SDL_SCANCODE_LOCKINGNUMLOCK |
132 |
0x084 |
SDL_SCANCODE_LOCKINGSCROLLLOCK |
133 |
0x085 |
SDL_SCANCODE_KP_COMMA |
134 |
0x086 |
SDL_SCANCODE_KP_EQUALSAS400 |
135 |
0x087 |
SDL_SCANCODE_INTERNATIONAL1 |
136 |
0x088 |
SDL_SCANCODE_INTERNATIONAL2 |
137 |
0x089 |
SDL_SCANCODE_INTERNATIONAL3 |
138 |
0x08A |
SDL_SCANCODE_INTERNATIONAL4 |
139 |
0x08B |
SDL_SCANCODE_INTERNATIONAL5 |
140 |
0x08C |
SDL_SCANCODE_INTERNATIONAL6 |
141 |
0x08D |
SDL_SCANCODE_INTERNATIONAL7 |
142 |
0x08E |
SDL_SCANCODE_INTERNATIONAL8 |
143 |
0x08F |
SDL_SCANCODE_INTERNATIONAL9 |
144 |
0x090 |
SDL_SCANCODE_LANG1 |
145 |
0x091 |
SDL_SCANCODE_LANG2 |
146 |
0x092 |
SDL_SCANCODE_LANG3 |
147 |
0x093 |
SDL_SCANCODE_LANG4 |
148 |
0x094 |
SDL_SCANCODE_LANG5 |
149 |
0x095 |
SDL_SCANCODE_LANG6 |
150 |
0x096 |
SDL_SCANCODE_LANG7 |
151 |
0x097 |
SDL_SCANCODE_LANG8 |
152 |
0x098 |
SDL_SCANCODE_LANG9 |
153 |
0x099 |
SDL_SCANCODE_ALTERASE |
154 |
0x09A |
SDL_SCANCODE_SYSREQ |
155 |
0x09B |
SDL_SCANCODE_CANCEL |
156 |
0x09C |
SDL_SCANCODE_CLEAR |
157 |
0x09D |
SDL_SCANCODE_PRIOR |
158 |
0x09E |
SDL_SCANCODE_RETURN2 |
159 |
0x09F |
SDL_SCANCODE_SEPARATOR |
160 |
0x0A0 |
SDL_SCANCODE_OUT |
161 |
0x0A1 |
SDL_SCANCODE_OPER |
162 |
0x0A2 |
SDL_SCANCODE_CLEARAGAIN |
163 |
0x0A3 |
SDL_SCANCODE_CRSEL |
164 |
0x0A4 |
SDL_SCANCODE_EXSEL |
176 |
0x0B0 |
SDL_SCANCODE_KP_00 |
177 |
0x0B1 |
SDL_SCANCODE_KP_000 |
178 |
0x0B2 |
SDL_SCANCODE_THOUSANDSSEPARATOR |
179 |
0x0B3 |
SDL_SCANCODE_DECIMALSEPARATOR |
180 |
0x0B4 |
SDL_SCANCODE_CURRENCYUNIT |
181 |
0x0B5 |
SDL_SCANCODE_CURRENCYSUBUNIT |
182 |
0x0B6 |
SDL_SCANCODE_KP_LEFTPAREN |
183 |
0x0B7 |
SDL_SCANCODE_KP_RIGHTPAREN |
184 |
0x0B8 |
SDL_SCANCODE_KP_LEFTBRACE |
185 |
0x0B9 |
SDL_SCANCODE_KP_RIGHTBRACE |
186 |
0x0BA |
SDL_SCANCODE_KP_TAB |
187 |
0x0BB |
SDL_SCANCODE_KP_BACKSPACE |
188 |
0x0BC |
SDL_SCANCODE_KP_A |
189 |
0x0BD |
SDL_SCANCODE_KP_B |
190 |
0x0BE |
SDL_SCANCODE_KP_C |
191 |
0x0BF |
SDL_SCANCODE_KP_D |
192 |
0x0C0 |
SDL_SCANCODE_KP_E |
193 |
0x0C1 |
SDL_SCANCODE_KP_F |
194 |
0x0C2 |
SDL_SCANCODE_KP_XOR |
195 |
0x0C3 |
SDL_SCANCODE_KP_POWER |
196 |
0x0C4 |
SDL_SCANCODE_KP_PERCENT |
197 |
0x0C5 |
SDL_SCANCODE_KP_LESS |
198 |
0x0C6 |
SDL_SCANCODE_KP_GREATER |
199 |
0x0C7 |
SDL_SCANCODE_KP_AMPERSAND |
200 |
0x0C8 |
SDL_SCANCODE_KP_DBLAMPERSAND |
201 |
0x0C9 |
SDL_SCANCODE_KP_VERTICALBAR |
202 |
0x0CA |
SDL_SCANCODE_KP_DBLVERTICALBAR |
203 |
0x0CB |
SDL_SCANCODE_KP_COLON |
204 |
0x0CC |
SDL_SCANCODE_KP_HASH |
205 |
0x0CD |
SDL_SCANCODE_KP_SPACE |
206 |
0x0CE |
SDL_SCANCODE_KP_AT |
207 |
0x0CF |
SDL_SCANCODE_KP_EXCLAM |
208 |
0x0D0 |
SDL_SCANCODE_KP_MEMSTORE |
209 |
0x0D1 |
SDL_SCANCODE_KP_MEMRECALL |
210 |
0x0D2 |
SDL_SCANCODE_KP_MEMCLEAR |
211 |
0x0D3 |
SDL_SCANCODE_KP_MEMADD |
212 |
0x0D4 |
SDL_SCANCODE_KP_MEMSUBTRACT |
213 |
0x0D5 |
SDL_SCANCODE_KP_MEMMULTIPLY |
214 |
0x0D6 |
SDL_SCANCODE_KP_MEMDIVIDE |
215 |
0x0D7 |
SDL_SCANCODE_KP_PLUSMINUS |
216 |
0x0D8 |
SDL_SCANCODE_KP_CLEAR |
217 |
0x0D9 |
SDL_SCANCODE_KP_CLEARENTRY |
218 |
0x0DA |
SDL_SCANCODE_KP_BINARY |
219 |
0x0DB |
SDL_SCANCODE_KP_OCTAL |
220 |
0x0DC |
SDL_SCANCODE_KP_DECIMAL |
221 |
0x0DD |
SDL_SCANCODE_KP_HEXADECIMAL |
224 |
0x0E0 |
SDL_SCANCODE_LCTRL |
225 |
0x0E1 |
SDL_SCANCODE_LSHIFT |
226 |
0x0E2 |
SDL_SCANCODE_LALT |
227 |
0x0E3 |
SDL_SCANCODE_LGUI |
228 |
0x0E4 |
SDL_SCANCODE_RCTRL |
229 |
0x0E5 |
SDL_SCANCODE_RSHIFT |
230 |
0x0E6 |
SDL_SCANCODE_RALT |
231 |
0x0E7 |
SDL_SCANCODE_RGUI |
257 |
0x101 |
SDL_SCANCODE_MODE |
258 |
0x102 |
SDL_SCANCODE_AUDIONEXT |
259 |
0x103 |
SDL_SCANCODE_AUDIOPREV |
260 |
0x104 |
SDL_SCANCODE_AUDIOSTOP |
261 |
0x105 |
SDL_SCANCODE_AUDIOPLAY |
262 |
0x106 |
SDL_SCANCODE_AUDIOMUTE |
263 |
0x107 |
SDL_SCANCODE_MEDIASELECT |
264 |
0x108 |
SDL_SCANCODE_WWW |
265 |
0x109 |
SDL_SCANCODE_MAIL |
266 |
0x10A |
SDL_SCANCODE_CALCULATOR |
267 |
0x10B |
SDL_SCANCODE_COMPUTER |
268 |
0x10C |
SDL_SCANCODE_AC_SEARCH |
269 |
0x10D |
SDL_SCANCODE_AC_HOME |
270 |
0x10E |
SDL_SCANCODE_AC_BACK |
271 |
0x10F |
SDL_SCANCODE_AC_FORWARD |
272 |
0x110 |
SDL_SCANCODE_AC_STOP |
273 |
0x111 |
SDL_SCANCODE_AC_REFRESH |
274 |
0x112 |
SDL_SCANCODE_AC_BOOKMARKS |
275 |
0x113 |
SDL_SCANCODE_BRIGHTNESSDOWN |
276 |
0x114 |
SDL_SCANCODE_BRIGHTNESSUP |
277 |
0x115 |
SDL_SCANCODE_DISPLAYSWITCH |
278 |
0x116 |
SDL_SCANCODE_KBDILLUMTOGGLE |
279 |
0x117 |
SDL_SCANCODE_KBDILLUMDOWN |
280 |
0x118 |
SDL_SCANCODE_KBDILLUMUP |
281 |
0x119 |
SDL_SCANCODE_EJECT |
282 |
0x11A |
SDL_SCANCODE_SLEEP |