UGDK  0.5.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
scancode.h
Go to the documentation of this file.
1 /*
2  Header adapted from SDL_scancode.h
3  Original license is the following:
4 
5  Simple DirectMedia Layer
6  Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
7 
8  This software is provided 'as-is', without any express or implied
9  warranty. In no event will the authors be held liable for any damages
10  arising from the use of this software.
11 
12  Permission is granted to anyone to use this software for any purpose,
13  including commercial applications, and to alter it and redistribute it
14  freely, subject to the following restrictions:
15 
16  1. The origin of this software must not be misrepresented; you must not
17  claim that you wrote the original software. If you use this software
18  in a product, an acknowledgment in the product documentation would be
19  appreciated but is not required.
20  2. Altered source versions must be plainly marked as such, and must not be
21  misrepresented as being the original software.
22  3. This notice may not be removed or altered from any source distribution.
23 */
24 
29 #ifndef UGDK_INPUT_SCANCODE_H_
30 #define UGDK_INPUT_SCANCODE_H_
31 
32 namespace ugdk {
33 namespace input {
34 
45 enum class Scancode
46 {
47  UNKNOWN = 0,
48 
55 
56  A = 4,
57  B = 5,
58  C = 6,
59  D = 7,
60  E = 8,
61  F = 9,
62  G = 10,
63  H = 11,
64  I = 12,
65  J = 13,
66  K = 14,
67  L = 15,
68  M = 16,
69  N = 17,
70  O = 18,
71  P = 19,
72  Q = 20,
73  R = 21,
74  S = 22,
75  T = 23,
76  U = 24,
77  V = 25,
78  W = 26,
79  X = 27,
80  Y = 28,
81  Z = 29,
82 
83 
84  ALPHANUMERIC_1 = 30,
85  ALPHANUMERIC_2 = 31,
86  ALPHANUMERIC_3 = 32,
87  ALPHANUMERIC_4 = 33,
88  ALPHANUMERIC_5 = 34,
89  ALPHANUMERIC_6 = 35,
90  ALPHANUMERIC_7 = 36,
91  ALPHANUMERIC_8 = 37,
92  ALPHANUMERIC_9 = 38,
93  ALPHANUMERIC_0 = 39,
94 
95  RETURN = 40,
96  ESCAPE = 41,
97  BACKSPACE = 42,
98  TAB = 43,
99  SPACE = 44,
100 
101  MINUS = 45,
102  EQUALS = 46,
103  LEFTBRACKET = 47,
104  RIGHTBRACKET = 48,
105  BACKSLASH = 49,
119  NONUSHASH = 50,
131  SEMICOLON = 51,
132  APOSTROPHE = 52,
133  GRAVE = 53,
150  COMMA = 54,
151  PERIOD = 55,
152  SLASH = 56,
153 
154  CAPSLOCK = 57,
155 
156  F1 = 58,
157  F2 = 59,
158  F3 = 60,
159  F4 = 61,
160  F5 = 62,
161  F6 = 63,
162  F7 = 64,
163  F8 = 65,
164  F9 = 66,
165  F10 = 67,
166  F11 = 68,
167  F12 = 69,
168 
169  PRINTSCREEN = 70,
170  SCROLLLOCK = 71,
171  PAUSE = 72,
172  INSERT = 73,
174  HOME = 74,
175  PAGEUP = 75,
176  DELETE = 76,
177  END = 77,
178  PAGEDOWN = 78,
179  RIGHT = 79,
180  LEFT = 80,
181  DOWN = 81,
182  UP = 82,
183 
184  NUMLOCKCLEAR = 83,
186  NUMPAD_DIVIDE = 84,
187  NUMPAD_MULTIPLY = 85,
188  NUMPAD_MINUS = 86,
189  NUMPAD_PLUS = 87,
190  NUMPAD_ENTER = 88,
191  NUMPAD_1 = 89,
192  NUMPAD_2 = 90,
193  NUMPAD_3 = 91,
194  NUMPAD_4 = 92,
195  NUMPAD_5 = 93,
196  NUMPAD_6 = 94,
197  NUMPAD_7 = 95,
198  NUMPAD_8 = 96,
199  NUMPAD_9 = 97,
200  NUMPAD_0 = 98,
201  NUMPAD_PERIOD = 99,
202 
203  NONUSBACKSLASH = 100,
213  APPLICATION = 101,
214  POWER = 102,
217  NUMPAD_EQUALS = 103,
218  F13 = 104,
219  F14 = 105,
220  F15 = 106,
221  F16 = 107,
222  F17 = 108,
223  F18 = 109,
224  F19 = 110,
225  F20 = 111,
226  F21 = 112,
227  F22 = 113,
228  F23 = 114,
229  F24 = 115,
230  EXECUTE = 116,
231  HELP = 117,
232  MENU = 118,
233  SELECT = 119,
234  STOP = 120,
235  AGAIN = 121,
236  UNDO = 122,
237  CUT = 123,
238  COPY = 124,
239  PASTE = 125,
240  FIND = 126,
241  MUTE = 127,
242  VOLUMEUP = 128,
243  VOLUMEDOWN = 129,
244 /* not sure whether there's a reason to enable these */
245 /* LOCKINGCAPSLOCK = 130, */
246 /* LOCKINGNUMLOCK = 131, */
247 /* LOCKINGSCROLLLOCK = 132, */
248  NUMPAD_COMMA = 133,
249  NUMPAD_EQUALSAS400 = 134,
250 
251  INTERNATIONAL1 = 135,
253  INTERNATIONAL2 = 136,
254  INTERNATIONAL3 = 137,
255  INTERNATIONAL4 = 138,
256  INTERNATIONAL5 = 139,
257  INTERNATIONAL6 = 140,
258  INTERNATIONAL7 = 141,
259  INTERNATIONAL8 = 142,
260  INTERNATIONAL9 = 143,
261  LANG1 = 144,
262  LANG2 = 145,
263  LANG3 = 146,
264  LANG4 = 147,
265  LANG5 = 148,
266  LANG6 = 149,
267  LANG7 = 150,
268  LANG8 = 151,
269  LANG9 = 152,
271  ALTERASE = 153,
272  SYSREQ = 154,
273  CANCEL = 155,
274  CLEAR = 156,
275  PRIOR = 157,
276  RETURN2 = 158,
277  SEPARATOR = 159,
278  OUT = 160,
279  OPER = 161,
280  CLEARAGAIN = 162,
281  CRSEL = 163,
282  EXSEL = 164,
283 
284  NUMPAD_00 = 176,
285  NUMPAD_000 = 177,
286  THOUSANDSSEPARATOR = 178,
287  DECIMALSEPARATOR = 179,
288  CURRENCYUNIT = 180,
289  CURRENCYSUBUNIT = 181,
290  NUMPAD_LEFTPAREN = 182,
291  NUMPAD_RIGHTPAREN = 183,
292  NUMPAD_LEFTBRACE = 184,
293  NUMPAD_RIGHTBRACE = 185,
294  NUMPAD_TAB = 186,
295  NUMPAD_BACKSPACE = 187,
296  NUMPAD_A = 188,
297  NUMPAD_B = 189,
298  NUMPAD_C = 190,
299  NUMPAD_D = 191,
300  NUMPAD_E = 192,
301  NUMPAD_F = 193,
302  NUMPAD_XOR = 194,
303  NUMPAD_POWER = 195,
304  NUMPAD_PERCENT = 196,
305  NUMPAD_LESS = 197,
306  NUMPAD_GREATER = 198,
307  NUMPAD_AMPERSAND = 199,
308  NUMPAD_DBLAMPERSAND = 200,
309  NUMPAD_VERTICALBAR = 201,
310  NUMPAD_DBLVERTICALBAR = 202,
311  NUMPAD_COLON = 203,
312  NUMPAD_HASH = 204,
313  NUMPAD_SPACE = 205,
314  NUMPAD_AT = 206,
315  NUMPAD_EXCLAM = 207,
316  NUMPAD_MEMSTORE = 208,
317  NUMPAD_MEMRECALL = 209,
318  NUMPAD_MEMCLEAR = 210,
319  NUMPAD_MEMADD = 211,
320  NUMPAD_MEMSUBTRACT = 212,
321  NUMPAD_MEMMULTIPLY = 213,
322  NUMPAD_MEMDIVIDE = 214,
323  NUMPAD_PLUSMINUS = 215,
324  NUMPAD_CLEAR = 216,
325  NUMPAD_CLEARENTRY = 217,
326  NUMPAD_BINARY = 218,
327  NUMPAD_OCTAL = 219,
328  NUMPAD_DECIMAL = 220,
329  NUMPAD_HEXADECIMAL = 221,
330 
331  LCTRL = 224,
332  LSHIFT = 225,
333  LALT = 226,
334  LGUI = 227,
335  RCTRL = 228,
336  RSHIFT = 229,
337  RALT = 230,
338  RGUI = 231,
340  MODE = 257,
345 /*Usage page 0x07*/
346 
353 
354  AUDIONEXT = 258,
355  AUDIOPREV = 259,
356  AUDIOSTOP = 260,
357  AUDIOPLAY = 261,
358  AUDIOMUTE = 262,
359  MEDIASELECT = 263,
360  WWW = 264,
361  MAIL = 265,
362  CALCULATOR = 266,
363  COMPUTER = 267,
364  AC_SEARCH = 268,
365  AC_HOME = 269,
366  AC_BACK = 270,
367  AC_FORWARD = 271,
368  AC_STOP = 272,
369  AC_REFRESH = 273,
370  AC_BOOKMARKS = 274,
371 /*Usage page 0x0C*/
373 
380 
381  BRIGHTNESSDOWN = 275,
382  BRIGHTNESSUP = 276,
383  DISPLAYSWITCH = 277,
385  KBDILLUMTOGGLE = 278,
386  KBDILLUMDOWN = 279,
387  KBDILLUMUP = 280,
388  EJECT = 281,
389  SLEEP = 282,
390 
391  APP1 = 283,
392  APP2 = 284,
393 /*Walther keys*/
395 
396  /* Add any other keys here. */
397 
398  SDL_NUM_SCANCODES = 512
400 };
401 
402 } // namespace input
403 } // namespace ugdk
404 
405 #endif // UGDK_INPUT_SCANCODE_H_
Definition: animation.h:11
Scancode
The SDL keyboard scancode representation.
Definition: scancode.h:45