FPLBase
An open source project by FPL.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
keyboard_scancodes.h
Go to the documentation of this file.
1 // Copyright 2014 Google Inc. All rights reserved.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef FPLBASE_KEYBOARD_SCANCODES_H
16 #define FPLBASE_KEYBOARD_SCANCODES_H
17 
18 #include "fplbase/config.h" // Must come first.
19 
20 #include "keyboard_scancodes.h"
21 
22 namespace fplbase {
23 
24 /**
25  * \file
26  * \defgroup fplbase_scancodes Scan Codes
27  * \brief The keyboard scan codes used by FPLBase, which correspond to the
28  * physical location of a certain key on the keyboard. This is ideal for
29  * layout-specific controls, regardless of the operating system's mapping of
30  * the keys.
31  *
32  * For example, if a given key (`a`) is pressed, it will result in
33  * `FPL_SCANCODE_A` being generated, even if the `a` key is mapped to a
34  * different character -- perhaps the German A-umlaut (`รค`). This would be
35  * perfect in the case of `WASD` (for secondary arrow-keys), where the location
36  * of those four keys is important, regardless of the keystoke they generate.
37  *
38  * The values in this enumeration are based on the USB usage page standard:
39  * <a href="http://www.usb.org/developers/hidpage/Hut1_12v2.pdf">
40  * Universal Serial Bus HID Usage Tables
41  * </a>
42  *
43  * \ingroup fplbase_keyboardcodes
44  * \{
45  */
46 typedef enum {
47  FPL_SCANCODE_UNKNOWN = 0, /**< Sentinel value for unknown keypress. */
48 
49  /**
50  * \defgroup page07 Usage page 0x07
51  * \ingroup fplbase_scancodes
52  *
53  * \brief These values are from usage page 0x07
54  * (<a href="http://www.usb.org/developers/hidpage/Hut1_12v2.pdf">
55  * USB keyboard page</a>).
56  *
57  * @{
58  */
59  FPL_SCANCODE_A = 4, /**< Keyboard `a` and `A`. */
60  FPL_SCANCODE_B = 5, /**< Keyboard `b` and `B`. */
61  FPL_SCANCODE_C = 6, /**< Keyboard `c` and `C`. */
62  FPL_SCANCODE_D = 7, /**< Keyboard `d` and `D`. */
63  FPL_SCANCODE_E = 8, /**< Keyboard `e` and `E`. */
64  FPL_SCANCODE_F = 9, /**< Keyboard `f` and `F`. */
65  FPL_SCANCODE_G = 10, /**< Keyboard `g` and `G`. */
66  FPL_SCANCODE_H = 11, /**< Keyboard `h` and `H`. */
67  FPL_SCANCODE_I = 12, /**< Keyboard `i` and `I`. */
68  FPL_SCANCODE_J = 13, /**< Keyboard `j` and `J`. */
69  FPL_SCANCODE_K = 14, /**< Keyboard `k` and `K`. */
70  FPL_SCANCODE_L = 15, /**< Keyboard `l` and `L`. */
71  FPL_SCANCODE_M = 16, /**< Keyboard `m` and `M`. */
72  FPL_SCANCODE_N = 17, /**< Keyboard `n` and `N`. */
73  FPL_SCANCODE_O = 18, /**< Keyboard `o` and `O`. */
74  FPL_SCANCODE_P = 19, /**< Keyboard `p` and `p`. */
75  FPL_SCANCODE_Q = 20, /**< Keyboard `q` and `Q`. */
76  FPL_SCANCODE_R = 21, /**< Keyboard `r` and `R`. */
77  FPL_SCANCODE_S = 22, /**< Keyboard `s` and `S`. */
78  FPL_SCANCODE_T = 23, /**< Keyboard `t` and `T`. */
79  FPL_SCANCODE_U = 24, /**< Keyboard `u` and `U`. */
80  FPL_SCANCODE_V = 25, /**< Keyboard `v` and `V`. */
81  FPL_SCANCODE_W = 26, /**< Keyboard `w` and `W`. */
82  FPL_SCANCODE_X = 27, /**< Keyboard `x` and `X`. */
83  FPL_SCANCODE_Y = 28, /**< Keyboard `y` and `Y`. */
84  FPL_SCANCODE_Z = 29, /**< Keyboard `z` and `Z`. */
85  FPL_SCANCODE_1 = 30, /**< Keyboard `1` and `!`. */
86  FPL_SCANCODE_2 = 31, /**< Keyboard `2` and `@`. */
87  FPL_SCANCODE_3 = 32, /**< Keyboard `3` and `#`. */
88  FPL_SCANCODE_4 = 33, /**< Keyboard `4` and `$`. */
89  FPL_SCANCODE_5 = 34, /**< Keyboard `5` and `%`. */
90  FPL_SCANCODE_6 = 35, /**< Keyboard `6` and `^`. */
91  FPL_SCANCODE_7 = 36, /**< Keyboard `7` and `&`. */
92  FPL_SCANCODE_8 = 37, /**< Keyboard `8` and `*`. */
93  FPL_SCANCODE_9 = 38, /**< Keyboard `9` and `(`. */
94  FPL_SCANCODE_0 = 39, /**< Keyboard `0` and `)`. */
95  FPL_SCANCODE_RETURN = 40, /**< Keyboard `Return`/`ENTER`. */
96  FPL_SCANCODE_ESCAPE = 41, /**< Keyboard `ESCAPE`. */
97  FPL_SCANCODE_BACKSPACE = 42, /**< Keyboard `DELETE`/`Backspace`. */
98  FPL_SCANCODE_TAB = 43, /**< Keyboard `Tab`. */
99  FPL_SCANCODE_SPACE = 44, /**< Keyboard `Spacebar`. */
100  FPL_SCANCODE_MINUS = 45, /**< Keyboard `-` and `_`. */
101  FPL_SCANCODE_EQUALS = 46, /**< Keyboard `=` and `+`. */
102  FPL_SCANCODE_LEFTBRACKET = 47, /**< Keyboard `[` and `{`. */
103  FPL_SCANCODE_RIGHTBRACKET = 48, /**< Keyboard `]` and `}`. */
104  FPL_SCANCODE_BACKSLASH = 49, /**< Located at the lower left of the return
105  * key on ISO keyboards and at the right end
106  * of the QWERTY row on ANSI keyboards.
107  * Produces REVERSE SOLIDUS (backslash) and
108  * VERTICAL LINE in a US layout, REVERSE
109  * SOLIDUS and VERTICAL LINE in a UK Mac
110  * layout, NUMBER SIGN and TILDE in a UK
111  * Windows layout, DOLLAR SIGN and POUND SIGN
112  * in a Swiss German layout, NUMBER SIGN and
113  * APOSTROPHE in a German layout, GRAVE
114  * ACCENT and POUND SIGN in a French Mac
115  * layout, and ASTERISK and MICRO SIGN in a
116  * French Windows layout.
117  */
118  FPL_SCANCODE_NONUSHASH = 50, /**< ISO USB keyboards actually use this code
119  * instead of 49 for the same key, but all
120  * OSes I've seen treat the two codes
121  * identically. So, as an implementor, unless
122  * your keyboard generates both of those
123  * codes and your OS treats them differently,
124  * you should generate FPL_SCANCODE_BACKSLASH
125  * instead of this code.
126  */
127  FPL_SCANCODE_SEMICOLON = 51, /**< Keyboard `;` and `:`. */
128  FPL_SCANCODE_APOSTROPHE = 52, /**< Keyboard `'` and `"`. */
129  FPL_SCANCODE_GRAVE = 53, /**< Located in the top left corner (on both ANSI
130  * and ISO keyboards). Produces GRAVE ACCENT and
131  * TILDE in a US Windows layout and in US and UK
132  * Mac layouts on ANSI keyboards, GRAVE ACCENT
133  * and NOT SIGN in a UK Windows layout, SECTION
134  * SIGN and PLUS-MINUS SIGN in US and UK Mac
135  * layouts on ISO keyboards, SECTION SIGN and
136  * DEGREE SIGN in a Swiss German layout (Mac:
137  * only on ISO keyboards), CIRCUMFLEX ACCENT and
138  * DEGREE SIGN in a German layout (Mac: only on
139  * ISO keyboards), SUPERSCRIPT TWO and TILDE in a
140  * French Windows layout, COMMERCIAL AT and
141  * NUMBER SIGN in a French Mac layout on ISO
142  * keyboards, and LESS-THAN SIGN and GREATER-THAN
143  * SIGN in a Swiss German, German, or French Mac
144  * layout on ANSI keyboards.
145  */
146  FPL_SCANCODE_COMMA = 54, /**< Keyboard `,` and `<`. */
147  FPL_SCANCODE_PERIOD = 55, /**< Keyboard `.` and `>`. */
148  FPL_SCANCODE_SLASH = 56, /**< Keyboard `\` and `|`. */
149  FPL_SCANCODE_CAPSLOCK = 57, /**< Keyboard `Caps Lock`. */
150  FPL_SCANCODE_F1 = 58, /**< Keyboard `F1`. */
151  FPL_SCANCODE_F2 = 59, /**< Keyboard `F2`. */
152  FPL_SCANCODE_F3 = 60, /**< Keyboard `F3`. */
153  FPL_SCANCODE_F4 = 61, /**< Keyboard `F4`. */
154  FPL_SCANCODE_F5 = 62, /**< Keyboard `F5`. */
155  FPL_SCANCODE_F6 = 63, /**< Keyboard `F6`. */
156  FPL_SCANCODE_F7 = 64, /**< Keyboard `F7`. */
157  FPL_SCANCODE_F8 = 65, /**< Keyboard `F8`. */
158  FPL_SCANCODE_F9 = 66, /**< Keyboard `F9`. */
159  FPL_SCANCODE_F10 = 67, /**< Keyboard `F10`. */
160  FPL_SCANCODE_F11 = 68, /**< Keyboard `F11`. */
161  FPL_SCANCODE_F12 = 69, /**< Keyboard `F12`. */
162  FPL_SCANCODE_PRINTSCREEN = 70, /**< Keyboard `PrintScreen`. */
163  FPL_SCANCODE_SCROLLLOCK = 71, /**< Keyboard `Scroll Lock`. */
164  FPL_SCANCODE_PAUSE = 72, /**< Keyboard `Pause`. */
165  FPL_SCANCODE_INSERT = 73, /**< insert on PC, help on some Mac keyboards (but
166  does send code 73, not 117) */
167  FPL_SCANCODE_HOME = 74, /**< Keyboard `Home`. */
168  FPL_SCANCODE_PAGEUP = 75, /**< Keyboard `PageUp`. */
169  FPL_SCANCODE_DELETE = 76, /**< Keyboard `Delete Forward`. */
170  FPL_SCANCODE_END = 77, /**< Keyboard `End`. */
171  FPL_SCANCODE_PAGEDOWN = 78, /**< Keyboard `PageDown`. */
172  FPL_SCANCODE_RIGHT = 79, /**< Keyboard `RightArrow`. */
173  FPL_SCANCODE_LEFT = 80, /**< Keyboard `LeftArrow`. */
174  FPL_SCANCODE_DOWN = 81, /**< Keyboard `DownArrow`. */
175  FPL_SCANCODE_UP = 82, /**< Keyboard `F1`. */
176  FPL_SCANCODE_NUMLOCKCLEAR = 83, /**< `num lock` on PC, `clear` on Mac
177  * keyboards
178  */
179  FPL_SCANCODE_KP_DIVIDE = 84, /**< Keyboard `Keypad \`. */
180  FPL_SCANCODE_KP_MULTIPLY = 85, /**< Keyboard `Keypad *`. */
181  FPL_SCANCODE_KP_MINUS = 86, /**< Keyboard `Keypad -`. */
182  FPL_SCANCODE_KP_PLUS = 87, /**< Keyboard `Keypad +`. */
183  FPL_SCANCODE_KP_ENTER = 88, /**< Keyboard `Keypad ENTER`. */
184  FPL_SCANCODE_KP_1 = 89, /**< Keyboard `Keypad 1` and `Keypad End`. */
185  FPL_SCANCODE_KP_2 = 90, /**< Keyboard `Keypad 2` and `Keypad DownArrow`. */
186  FPL_SCANCODE_KP_3 = 91, /**< Keyboard `Keypad 3` and `Keypad PageDown`. */
187  FPL_SCANCODE_KP_4 = 92, /**< Keyboard `Keypad 4` and `Keypad LeftArrow`. */
188  FPL_SCANCODE_KP_5 = 93, /**< Keyboard `Keypad 5`. */
189  FPL_SCANCODE_KP_6 = 94, /**< Keyboard `Keypad 6` and `Keypad RightArrow`. */
190  FPL_SCANCODE_KP_7 = 95, /**< Keyboard `Keypad 7` and `Keypad Home`. */
191  FPL_SCANCODE_KP_8 = 96, /**< Keyboard `Keypad 8` and `Keypad UpArrow`. */
192  FPL_SCANCODE_KP_9 = 97, /**< Keyboard `Keypad 9` and `Keypad PageUp`. */
193  FPL_SCANCODE_KP_0 = 98, /**< Keyboard `Keypad 0` and `Keypad Insert`. */
194  FPL_SCANCODE_KP_PERIOD = 99, /**< Keyboard `Keypad .` and `Keypad Delete`. */
195  FPL_SCANCODE_NONUSBACKSLASH = 100, /**< This is the additional key that ISO
196  * keyboards have over ANSI ones,
197  * located between left shift and Y.
198  * Produces GRAVE ACCENT and TILDE in a
199  * US or UK Mac layout, REVERSE SOLIDUS
200  * (backslash) and VERTICAL LINE in a
201  * US or UK Windows layout, and
202  * LESS-THAN SIGN and GREATER-THAN SIGN
203  * in a Swiss German, German, or French
204  * layout. */
205  FPL_SCANCODE_APPLICATION = 101, /**< windows contextual menu, compose */
206  FPL_SCANCODE_POWER = 102, /**< The USB document says this is a status flag,
207  * not a physical key - but some Mac keyboards
208  * do have a power key. */
209  FPL_SCANCODE_KP_EQUALS = 103, /**< Keyboard `Keypad =`. */
210  FPL_SCANCODE_F13 = 104, /**< Keyboard `F13`. */
211  FPL_SCANCODE_F14 = 105, /**< Keyboard `F14`. */
212  FPL_SCANCODE_F15 = 106, /**< Keyboard `F15`. */
213  FPL_SCANCODE_F16 = 107, /**< Keyboard `F16`. */
214  FPL_SCANCODE_F17 = 108, /**< Keyboard `F17`. */
215  FPL_SCANCODE_F18 = 109, /**< Keyboard `F18`. */
216  FPL_SCANCODE_F19 = 110, /**< Keyboard `F19`. */
217  FPL_SCANCODE_F20 = 111, /**< Keyboard `F20`. */
218  FPL_SCANCODE_F21 = 112, /**< Keyboard `F21`. */
219  FPL_SCANCODE_F22 = 113, /**< Keyboard `F22`. */
220  FPL_SCANCODE_F23 = 114, /**< Keyboard `F23`. */
221  FPL_SCANCODE_F24 = 115, /**< Keyboard `F24`. */
222  FPL_SCANCODE_EXECUTE = 116, /**< Keyboard `Execute`. */
223  FPL_SCANCODE_HELP = 117, /**< Keyboard `Help`. */
224  FPL_SCANCODE_MENU = 118, /**< Keyboard `Menu`. */
225  FPL_SCANCODE_SELECT = 119, /**< Keyboard `Select`. */
226  FPL_SCANCODE_STOP = 120, /**< Keyboard `Stop`. */
227  FPL_SCANCODE_AGAIN = 121, /**< Keyboard `Again`. */
228  FPL_SCANCODE_UNDO = 122, /**< Keyboard `Undo`. */
229  FPL_SCANCODE_CUT = 123, /**< Keyboard `Cut`. */
230  FPL_SCANCODE_COPY = 124, /**< Keyboard `Copy`. */
231  FPL_SCANCODE_PASTE = 125, /**< Keyboard `Paste`. */
232  FPL_SCANCODE_FIND = 126, /**< Keyboard `Find`. */
233  FPL_SCANCODE_MUTE = 127, /**< Keyboard `Mute`. */
234  FPL_SCANCODE_VOLUMEUP = 128, /**< Keyboard `Volume Up`. */
235  FPL_SCANCODE_VOLUMEDOWN = 129, /**< Keyboard `Volume Down`. */
236  /* not sure whether there's a reason to enable these */
237  /* FPL_SCANCODE_LOCKINGCAPSLOCK = 130, */
238  /* FPL_SCANCODE_LOCKINGNUMLOCK = 131, */
239  /* FPL_SCANCODE_LOCKINGSCROLLLOCK = 132, */
240  FPL_SCANCODE_KP_COMMA = 133, /**< Keyboard `,`. */
241  FPL_SCANCODE_KP_EQUALSAS400 = 134, /**< Keyboard `Equal Sign`. */
242  FPL_SCANCODE_INTERNATIONAL1 = 135, /**< used on Asian keyboards, see
243  footnotes in USB doc */
244  FPL_SCANCODE_INTERNATIONAL2 = 136,
245  FPL_SCANCODE_INTERNATIONAL3 = 137, /**< Yen */
246  FPL_SCANCODE_INTERNATIONAL4 = 138,
247  FPL_SCANCODE_INTERNATIONAL5 = 139,
248  FPL_SCANCODE_INTERNATIONAL6 = 140,
249  FPL_SCANCODE_INTERNATIONAL7 = 141,
250  FPL_SCANCODE_INTERNATIONAL8 = 142,
251  FPL_SCANCODE_INTERNATIONAL9 = 143,
252  FPL_SCANCODE_LANG1 = 144, /**< Hangul/English toggle */
253  FPL_SCANCODE_LANG2 = 145, /**< Hanja conversion */
254  FPL_SCANCODE_LANG3 = 146, /**< Katakana */
255  FPL_SCANCODE_LANG4 = 147, /**< Hiragana */
256  FPL_SCANCODE_LANG5 = 148, /**< Zenkaku/Hankaku */
257  FPL_SCANCODE_LANG6 = 149, /**< reserved */
258  FPL_SCANCODE_LANG7 = 150, /**< reserved */
259  FPL_SCANCODE_LANG8 = 151, /**< reserved */
260  FPL_SCANCODE_LANG9 = 152, /**< reserved */
261  FPL_SCANCODE_ALTERASE = 153, /**< Erase-Eaze */
262  FPL_SCANCODE_SYSREQ = 154,
263  FPL_SCANCODE_CANCEL = 155,
264  FPL_SCANCODE_CLEAR = 156,
265  FPL_SCANCODE_PRIOR = 157,
266  FPL_SCANCODE_RETURN2 = 158,
267  FPL_SCANCODE_SEPARATOR = 159,
268  FPL_SCANCODE_OUT = 160,
269  FPL_SCANCODE_OPER = 161,
270  FPL_SCANCODE_CLEARAGAIN = 162,
271  FPL_SCANCODE_CRSEL = 163,
272  FPL_SCANCODE_EXSEL = 164,
273  FPL_SCANCODE_KP_00 = 176,
274  FPL_SCANCODE_KP_000 = 177,
275  FPL_SCANCODE_THOUSANDSSEPARATOR = 178,
276  FPL_SCANCODE_DECIMALSEPARATOR = 179,
277  FPL_SCANCODE_CURRENCYUNIT = 180,
278  FPL_SCANCODE_CURRENCYSUBUNIT = 181,
279  FPL_SCANCODE_KP_LEFTPAREN = 182,
280  FPL_SCANCODE_KP_RIGHTPAREN = 183,
281  FPL_SCANCODE_KP_LEFTBRACE = 184,
282  FPL_SCANCODE_KP_RIGHTBRACE = 185,
283  FPL_SCANCODE_KP_TAB = 186,
284  FPL_SCANCODE_KP_BACKSPACE = 187,
285  FPL_SCANCODE_KP_A = 188,
286  FPL_SCANCODE_KP_B = 189,
287  FPL_SCANCODE_KP_C = 190,
288  FPL_SCANCODE_KP_D = 191,
289  FPL_SCANCODE_KP_E = 192,
290  FPL_SCANCODE_KP_F = 193,
291  FPL_SCANCODE_KP_XOR = 194,
292  FPL_SCANCODE_KP_POWER = 195,
293  FPL_SCANCODE_KP_PERCENT = 196,
294  FPL_SCANCODE_KP_LESS = 197,
295  FPL_SCANCODE_KP_GREATER = 198,
296  FPL_SCANCODE_KP_AMPERSAND = 199,
297  FPL_SCANCODE_KP_DBLAMPERSAND = 200,
298  FPL_SCANCODE_KP_VERTICALBAR = 201,
299  FPL_SCANCODE_KP_DBLVERTICALBAR = 202,
300  FPL_SCANCODE_KP_COLON = 203,
301  FPL_SCANCODE_KP_HASH = 204,
302  FPL_SCANCODE_KP_SPACE = 205,
303  FPL_SCANCODE_KP_AT = 206,
304  FPL_SCANCODE_KP_EXCLAM = 207,
305  FPL_SCANCODE_KP_MEMSTORE = 208,
306  FPL_SCANCODE_KP_MEMRECALL = 209,
307  FPL_SCANCODE_KP_MEMCLEAR = 210,
308  FPL_SCANCODE_KP_MEMADD = 211,
309  FPL_SCANCODE_KP_MEMSUBTRACT = 212,
310  FPL_SCANCODE_KP_MEMMULTIPLY = 213,
311  FPL_SCANCODE_KP_MEMDIVIDE = 214,
312  FPL_SCANCODE_KP_PLUSMINUS = 215,
313  FPL_SCANCODE_KP_CLEAR = 216,
314  FPL_SCANCODE_KP_CLEARENTRY = 217,
315  FPL_SCANCODE_KP_BINARY = 218,
316  FPL_SCANCODE_KP_OCTAL = 219,
317  FPL_SCANCODE_KP_DECIMAL = 220,
318  FPL_SCANCODE_KP_HEXADECIMAL = 221,
319  FPL_SCANCODE_LCTRL = 224,
320  FPL_SCANCODE_LSHIFT = 225,
321  FPL_SCANCODE_LALT = 226, /**< alt, option */
322  FPL_SCANCODE_LGUI = 227, /**< windows, command (apple), meta */
323  FPL_SCANCODE_RCTRL = 228,
324  FPL_SCANCODE_RSHIFT = 229,
325  FPL_SCANCODE_RALT = 230, /**< alt gr, option */
326  FPL_SCANCODE_RGUI = 231, /**< windows, command (apple), meta */
327 
328  /* @} */ /* Usage page 0x07 */
329 
330  FPL_SCANCODE_MODE = 257,
331  FPL_SCANCODE_AUDIONEXT = 258, /**< Keyboard `Next audio track` button. */
332  FPL_SCANCODE_AUDIOPREV = 259, /**< Keyboard `Previous audio track` button. */
333  FPL_SCANCODE_AUDIOSTOP = 260, /**< Keyboard `Stop audio` button. */
334  FPL_SCANCODE_AUDIOPLAY = 261, /**< Keyboard `Play audio` button. */
335  FPL_SCANCODE_AUDIOMUTE = 262, /**< Keyboard `Mute` button. */
336  FPL_SCANCODE_MEDIASELECT = 263,
337  FPL_SCANCODE_WWW = 264,
338  FPL_SCANCODE_MAIL = 265,
339  FPL_SCANCODE_CALCULATOR = 266, /**< Keyboard `Calculator` button. */
340  FPL_SCANCODE_COMPUTER = 267,
341  FPL_SCANCODE_AC_SEARCH = 268,
342  FPL_SCANCODE_AC_HOME = 269,
343  FPL_SCANCODE_AC_BACK = 270,
344  FPL_SCANCODE_AC_FORWARD = 271,
345  FPL_SCANCODE_AC_STOP = 272,
346  FPL_SCANCODE_AC_REFRESH = 273,
347  FPL_SCANCODE_AC_BOOKMARKS = 274,
348  FPL_SCANCODE_BRIGHTNESSDOWN = 275, /**< Keyboard `Brightness Down`. */
349  FPL_SCANCODE_BRIGHTNESSUP = 276, /**< Keyboard `Brightness Up`. */
350  FPL_SCANCODE_DISPLAYSWITCH = 277, /**< display mirroring/dual display
351  switch, video mode switch */
352  FPL_SCANCODE_KBDILLUMTOGGLE = 278,
353  FPL_SCANCODE_KBDILLUMDOWN = 279,
354  FPL_SCANCODE_KBDILLUMUP = 280,
355  FPL_SCANCODE_EJECT = 281, /**< Keyboard `Eject`. */
356  FPL_SCANCODE_SLEEP = 282, /**< Keyboard `Sleep`. */
357  FPL_SCANCODE_APP1 = 283,
358  FPL_SCANCODE_APP2 = 284,
359 
360  /* Add any other keys here. */
361  FPL_NUM_SCANCODES = 512 /**< not a key, just marks the number of scancodes
362  for array bounds */
363 } FPL_SCANCODE;
364 
365 /** @} */
366 } // namespace fplbase
367 
368 #endif // FPLBASE_KEYBOARD_SCANCODES_H
Definition: keyboard_scancodes.h:218
Definition: keyboard_scancodes.h:163
Definition: keyboard_scancodes.h:226
Definition: keyboard_scancodes.h:90
Definition: keyboard_scancodes.h:81
Definition: keyboard_scancodes.h:153
Definition: keyboard_scancodes.h:230
Definition: keyboard_scancodes.h:93
Definition: keyboard_scancodes.h:257
Definition: keyboard_scancodes.h:356
Definition: keyboard_scancodes.h:75
Definition: keyboard_scancodes.h:186
Definition: keyboard_scancodes.h:211
Definition: keyboard_scancodes.h:182
Definition: keyboard_scancodes.h:103
Definition: keyboard_scancodes.h:215
Definition: keyboard_scancodes.h:334
Definition: keyboard_scancodes.h:146
Definition: keyboard_scancodes.h:89
Definition: keyboard_scancodes.h:102
Definition: keyboard_scancodes.h:210
Definition: keyboard_scancodes.h:214
Definition: keyboard_scancodes.h:99
Definition: keyboard_scancodes.h:156
Definition: keyboard_scancodes.h:160
Definition: keyboard_scancodes.h:97
Definition: keyboard_scancodes.h:229
Definition: keyboard_scancodes.h:258
Definition: keyboard_scancodes.h:95
Definition: keyboard_scancodes.h:76
Definition: keyboard_scancodes.h:335
Definition: keyboard_scancodes.h:172
Definition: keyboard_scancodes.h:164
Definition: keyboard_scancodes.h:190
Definition: keyboard_scancodes.h:71
Definition: keyboard_scancodes.h:162
Definition: keyboard_scancodes.h:241
Definition: keyboard_scancodes.h:59
Definition: keyboard_scancodes.h:223
Definition: keyboard_scancodes.h:165
Definition: keyboard_scancodes.h:222
Definition: keyboard_scancodes.h:333
Definition: keyboard_scancodes.h:231
Definition: keyboard_scancodes.h:176
Definition: keyboard_scancodes.h:61
Definition: keyboard_scancodes.h:321
Definition: keyboard_scancodes.h:68
Definition: keyboard_scancodes.h:193
Definition: keyboard_scancodes.h:234
Definition: keyboard_scancodes.h:225
Definition: keyboard_scancodes.h:70
Definition: keyboard_scancodes.h:217
Definition: keyboard_scancodes.h:67
Definition: keyboard_scancodes.h:183
Definition: keyboard_scancodes.h:157
Definition: keyboard_scancodes.h:227
Definition: keyboard_scancodes.h:69
Definition: keyboard_scancodes.h:220
Definition: keyboard_scancodes.h:184
Definition: keyboard_scancodes.h:60
Definition: keyboard_scancodes.h:88
Definition: keyboard_scancodes.h:235
Definition: keyboard_scancodes.h:92
Definition: keyboard_scancodes.h:232
Definition: keyboard_scancodes.h:128
Definition: keyboard_scancodes.h:325
Definition: keyboard_scancodes.h:245
Definition: keyboard_scancodes.h:83
Definition: keyboard_scancodes.h:149
Definition: keyboard_scancodes.h:80
Definition: keyboard_scancodes.h:185
Definition: keyboard_scancodes.h:66
Definition: keyboard_scancodes.h:168
Definition: keyboard_scancodes.h:349
Definition: keyboard_scancodes.h:242
Definition: keyboard_scancodes.h:173
Definition: keyboard_scancodes.h:85
Definition: keyboard_scancodes.h:148
Definition: keyboard_scancodes.h:74
Definition: keyboard_scancodes.h:259
Definition: keyboard_scancodes.h:86
Definition: keyboard_scancodes.h:181
Definition: keyboard_scancodes.h:221
Definition: keyboard_scancodes.h:73
Definition: keyboard_scancodes.h:174
Definition: keyboard_scancodes.h:170
Definition: keyboard_scancodes.h:326
Definition: keyboard_scancodes.h:84
Definition: keyboard_scancodes.h:82
Definition: keyboard_scancodes.h:150
Definition: keyboard_scancodes.h:100
Definition: keyboard_scancodes.h:167
Definition: keyboard_scancodes.h:195
Definition: keyboard_scancodes.h:171
Definition: keyboard_scancodes.h:339
Definition: keyboard_scancodes.h:78
Definition: keyboard_scancodes.h:65
Definition: keyboard_scancodes.h:219
Definition: keyboard_scancodes.h:252
Definition: keyboard_scancodes.h:192
Definition: keyboard_scancodes.h:169
Definition: keyboard_scancodes.h:152
Definition: keyboard_scancodes.h:129
Definition: keyboard_scancodes.h:64
Definition: keyboard_scancodes.h:213
Definition: keyboard_scancodes.h:47
Definition: keyboard_scancodes.h:161
Definition: keyboard_scancodes.h:127
Definition: keyboard_scancodes.h:158
Definition: keyboard_scancodes.h:98
Definition: keyboard_scancodes.h:228
Definition: keyboard_scancodes.h:355
Definition: keyboard_scancodes.h:180
Definition: keyboard_scancodes.h:188
Definition: keyboard_scancodes.h:255
Definition: keyboard_scancodes.h:191
Definition: keyboard_scancodes.h:94
Definition: keyboard_scancodes.h:261
Definition: keyboard_scancodes.h:87
Definition: keyboard_scancodes.h:361
Definition: keyboard_scancodes.h:209
Definition: keyboard_scancodes.h:350
Definition: keyboard_scancodes.h:331
Definition: keyboard_scancodes.h:175
Definition: keyboard_scancodes.h:205
Definition: keyboard_scancodes.h:187
Definition: keyboard_scancodes.h:101
Definition: keyboard_scancodes.h:151
Definition: keyboard_scancodes.h:224
Definition: keyboard_scancodes.h:91
Definition: keyboard_scancodes.h:189
Definition: keyboard_scancodes.h:179
Definition: keyboard_scancodes.h:104
Definition: keyboard_scancodes.h:348
Definition: keyboard_scancodes.h:233
Definition: keyboard_scancodes.h:63
Definition: keyboard_scancodes.h:332
Definition: keyboard_scancodes.h:77
Definition: keyboard_scancodes.h:256
Definition: keyboard_scancodes.h:159
Definition: keyboard_scancodes.h:322
Definition: keyboard_scancodes.h:118
FPL_SCANCODE
Definition: keyboard_scancodes.h:46
Definition: keyboard_scancodes.h:155
Definition: keyboard_scancodes.h:212
Definition: keyboard_scancodes.h:260
Definition: keyboard_scancodes.h:240
Definition: keyboard_scancodes.h:253
Definition: keyboard_scancodes.h:96
Definition: keyboard_scancodes.h:72
Definition: keyboard_scancodes.h:79
Definition: keyboard_scancodes.h:254
Definition: keyboard_scancodes.h:194
Definition: keyboard_scancodes.h:206
Definition: keyboard_scancodes.h:154
Definition: keyboard_scancodes.h:216
Definition: keyboard_scancodes.h:147
Definition: keyboard_scancodes.h:62