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