comparison touchTest/Iphone Test/touchTestIPhone2/touchTestIPhone/include/SDL_scancode.h @ 4677:31607094315c

Added Iphone project. Iphone multi-touch is now functional.
author jimtla
date Sat, 31 Jul 2010 01:24:50 +0400
parents
children
comparison
equal deleted inserted replaced
4676:99b4560b7aa1 4677:31607094315c
1 /*
2 SDL - Simple DirectMedia Layer
3 Copyright (C) 1997-2010 Sam Lantinga
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public
7 License as published by the Free Software Foundation; either
8 version 2.1 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public
16 License along with this library; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
19 Sam Lantinga
20 slouken@libsdl.org
21 */
22
23 /**
24 * \file SDL_scancode.h
25 *
26 * Defines keyboard scancodes.
27 */
28
29 #ifndef _SDL_scancode_h
30 #define _SDL_scancode_h
31
32 #include "SDL_stdinc.h"
33
34 /**
35 * \brief The SDL keyboard scancode representation.
36 *
37 * Values of this type are used to represent keyboard keys, among other places
38 * in the \link SDL_keysym::scancode key.keysym.scancode \endlink field of the
39 * SDL_Event structure.
40 *
41 * The values in this enumeration are based on the USB usage page standard:
42 * http://www.usb.org/developers/devclass_docs/Hut1_12.pdf
43 */
44 typedef enum
45 {
46 SDL_SCANCODE_UNKNOWN = 0,
47
48 /**
49 * \name Usage page 0x07
50 *
51 * These values are from usage page 0x07 (USB keyboard page).
52 */
53 /*@{*/
54
55 SDL_SCANCODE_A = 4,
56 SDL_SCANCODE_B = 5,
57 SDL_SCANCODE_C = 6,
58 SDL_SCANCODE_D = 7,
59 SDL_SCANCODE_E = 8,
60 SDL_SCANCODE_F = 9,
61 SDL_SCANCODE_G = 10,
62 SDL_SCANCODE_H = 11,
63 SDL_SCANCODE_I = 12,
64 SDL_SCANCODE_J = 13,
65 SDL_SCANCODE_K = 14,
66 SDL_SCANCODE_L = 15,
67 SDL_SCANCODE_M = 16,
68 SDL_SCANCODE_N = 17,
69 SDL_SCANCODE_O = 18,
70 SDL_SCANCODE_P = 19,
71 SDL_SCANCODE_Q = 20,
72 SDL_SCANCODE_R = 21,
73 SDL_SCANCODE_S = 22,
74 SDL_SCANCODE_T = 23,
75 SDL_SCANCODE_U = 24,
76 SDL_SCANCODE_V = 25,
77 SDL_SCANCODE_W = 26,
78 SDL_SCANCODE_X = 27,
79 SDL_SCANCODE_Y = 28,
80 SDL_SCANCODE_Z = 29,
81
82 SDL_SCANCODE_1 = 30,
83 SDL_SCANCODE_2 = 31,
84 SDL_SCANCODE_3 = 32,
85 SDL_SCANCODE_4 = 33,
86 SDL_SCANCODE_5 = 34,
87 SDL_SCANCODE_6 = 35,
88 SDL_SCANCODE_7 = 36,
89 SDL_SCANCODE_8 = 37,
90 SDL_SCANCODE_9 = 38,
91 SDL_SCANCODE_0 = 39,
92
93 SDL_SCANCODE_RETURN = 40,
94 SDL_SCANCODE_ESCAPE = 41,
95 SDL_SCANCODE_BACKSPACE = 42,
96 SDL_SCANCODE_TAB = 43,
97 SDL_SCANCODE_SPACE = 44,
98
99 SDL_SCANCODE_MINUS = 45,
100 SDL_SCANCODE_EQUALS = 46,
101 SDL_SCANCODE_LEFTBRACKET = 47,
102 SDL_SCANCODE_RIGHTBRACKET = 48,
103 SDL_SCANCODE_BACKSLASH = 49, /**< Located at the lower left of the return
104 * key on ISO keyboards and at the right end
105 * of the QWERTY row on ANSI keyboards.
106 * Produces REVERSE SOLIDUS (backslash) and
107 * VERTICAL LINE in a US layout, REVERSE
108 * SOLIDUS and VERTICAL LINE in a UK Mac
109 * layout, NUMBER SIGN and TILDE in a UK
110 * Windows layout, DOLLAR SIGN and POUND SIGN
111 * in a Swiss German layout, NUMBER SIGN and
112 * APOSTROPHE in a German layout, GRAVE
113 * ACCENT and POUND SIGN in a French Mac
114 * layout, and ASTERISK and MICRO SIGN in a
115 * French Windows layout.
116 */
117 SDL_SCANCODE_NONUSHASH = 50, /**< ISO USB keyboards actually use this code
118 * instead of 49 for the same key, but all
119 * OSes I've seen treat the two codes
120 * identically. So, as an implementor, unless
121 * your keyboard generates both of those
122 * codes and your OS treats them differently,
123 * you should generate SDL_SCANCODE_BACKSLASH
124 * instead of this code. As a user, you
125 * should not rely on this code because SDL
126 * will never generate it with most (all?)
127 * keyboards.
128 */
129 SDL_SCANCODE_SEMICOLON = 51,
130 SDL_SCANCODE_APOSTROPHE = 52,
131 SDL_SCANCODE_GRAVE = 53, /**< Located in the top left corner (on both ANSI
132 * and ISO keyboards). Produces GRAVE ACCENT and
133 * TILDE in a US Windows layout and in US and UK
134 * Mac layouts on ANSI keyboards, GRAVE ACCENT
135 * and NOT SIGN in a UK Windows layout, SECTION
136 * SIGN and PLUS-MINUS SIGN in US and UK Mac
137 * layouts on ISO keyboards, SECTION SIGN and
138 * DEGREE SIGN in a Swiss German layout (Mac:
139 * only on ISO keyboards), CIRCUMFLEX ACCENT and
140 * DEGREE SIGN in a German layout (Mac: only on
141 * ISO keyboards), SUPERSCRIPT TWO and TILDE in a
142 * French Windows layout, COMMERCIAL AT and
143 * NUMBER SIGN in a French Mac layout on ISO
144 * keyboards, and LESS-THAN SIGN and GREATER-THAN
145 * SIGN in a Swiss German, German, or French Mac
146 * layout on ANSI keyboards.
147 */
148 SDL_SCANCODE_COMMA = 54,
149 SDL_SCANCODE_PERIOD = 55,
150 SDL_SCANCODE_SLASH = 56,
151
152 SDL_SCANCODE_CAPSLOCK = 57,
153
154 SDL_SCANCODE_F1 = 58,
155 SDL_SCANCODE_F2 = 59,
156 SDL_SCANCODE_F3 = 60,
157 SDL_SCANCODE_F4 = 61,
158 SDL_SCANCODE_F5 = 62,
159 SDL_SCANCODE_F6 = 63,
160 SDL_SCANCODE_F7 = 64,
161 SDL_SCANCODE_F8 = 65,
162 SDL_SCANCODE_F9 = 66,
163 SDL_SCANCODE_F10 = 67,
164 SDL_SCANCODE_F11 = 68,
165 SDL_SCANCODE_F12 = 69,
166
167 SDL_SCANCODE_PRINTSCREEN = 70,
168 SDL_SCANCODE_SCROLLLOCK = 71,
169 SDL_SCANCODE_PAUSE = 72,
170 SDL_SCANCODE_INSERT = 73, /**< insert on PC, help on some Mac keyboards (but
171 does send code 73, not 117) */
172 SDL_SCANCODE_HOME = 74,
173 SDL_SCANCODE_PAGEUP = 75,
174 SDL_SCANCODE_DELETE = 76,
175 SDL_SCANCODE_END = 77,
176 SDL_SCANCODE_PAGEDOWN = 78,
177 SDL_SCANCODE_RIGHT = 79,
178 SDL_SCANCODE_LEFT = 80,
179 SDL_SCANCODE_DOWN = 81,
180 SDL_SCANCODE_UP = 82,
181
182 SDL_SCANCODE_NUMLOCKCLEAR = 83, /**< num lock on PC, clear on Mac keyboards
183 */
184 SDL_SCANCODE_KP_DIVIDE = 84,
185 SDL_SCANCODE_KP_MULTIPLY = 85,
186 SDL_SCANCODE_KP_MINUS = 86,
187 SDL_SCANCODE_KP_PLUS = 87,
188 SDL_SCANCODE_KP_ENTER = 88,
189 SDL_SCANCODE_KP_1 = 89,
190 SDL_SCANCODE_KP_2 = 90,
191 SDL_SCANCODE_KP_3 = 91,
192 SDL_SCANCODE_KP_4 = 92,
193 SDL_SCANCODE_KP_5 = 93,
194 SDL_SCANCODE_KP_6 = 94,
195 SDL_SCANCODE_KP_7 = 95,
196 SDL_SCANCODE_KP_8 = 96,
197 SDL_SCANCODE_KP_9 = 97,
198 SDL_SCANCODE_KP_0 = 98,
199 SDL_SCANCODE_KP_PERIOD = 99,
200
201 SDL_SCANCODE_NONUSBACKSLASH = 100, /**< This is the additional key that ISO
202 * keyboards have over ANSI ones,
203 * located between left shift and Y.
204 * Produces GRAVE ACCENT and TILDE in a
205 * US or UK Mac layout, REVERSE SOLIDUS
206 * (backslash) and VERTICAL LINE in a
207 * US or UK Windows layout, and
208 * LESS-THAN SIGN and GREATER-THAN SIGN
209 * in a Swiss German, German, or French
210 * layout. */
211 SDL_SCANCODE_APPLICATION = 101, /**< windows contextual menu, compose */
212 SDL_SCANCODE_POWER = 102, /**< The USB document says this is a status flag,
213 * not a physical key - but some Mac keyboards
214 * do have a power key. */
215 SDL_SCANCODE_KP_EQUALS = 103,
216 SDL_SCANCODE_F13 = 104,
217 SDL_SCANCODE_F14 = 105,
218 SDL_SCANCODE_F15 = 106,
219 SDL_SCANCODE_F16 = 107,
220 SDL_SCANCODE_F17 = 108,
221 SDL_SCANCODE_F18 = 109,
222 SDL_SCANCODE_F19 = 110,
223 SDL_SCANCODE_F20 = 111,
224 SDL_SCANCODE_F21 = 112,
225 SDL_SCANCODE_F22 = 113,
226 SDL_SCANCODE_F23 = 114,
227 SDL_SCANCODE_F24 = 115,
228 SDL_SCANCODE_EXECUTE = 116,
229 SDL_SCANCODE_HELP = 117,
230 SDL_SCANCODE_MENU = 118,
231 SDL_SCANCODE_SELECT = 119,
232 SDL_SCANCODE_STOP = 120,
233 SDL_SCANCODE_AGAIN = 121, /**< redo */
234 SDL_SCANCODE_UNDO = 122,
235 SDL_SCANCODE_CUT = 123,
236 SDL_SCANCODE_COPY = 124,
237 SDL_SCANCODE_PASTE = 125,
238 SDL_SCANCODE_FIND = 126,
239 SDL_SCANCODE_MUTE = 127,
240 SDL_SCANCODE_VOLUMEUP = 128,
241 SDL_SCANCODE_VOLUMEDOWN = 129,
242 /* not sure whether there's a reason to enable these */
243 /* SDL_SCANCODE_LOCKINGCAPSLOCK = 130, */
244 /* SDL_SCANCODE_LOCKINGNUMLOCK = 131, */
245 /* SDL_SCANCODE_LOCKINGSCROLLLOCK = 132, */
246 SDL_SCANCODE_KP_COMMA = 133,
247 SDL_SCANCODE_KP_EQUALSAS400 = 134,
248
249 SDL_SCANCODE_INTERNATIONAL1 = 135, /**< used on Asian keyboards, see
250 footnotes in USB doc */
251 SDL_SCANCODE_INTERNATIONAL2 = 136,
252 SDL_SCANCODE_INTERNATIONAL3 = 137, /**< Yen */
253 SDL_SCANCODE_INTERNATIONAL4 = 138,
254 SDL_SCANCODE_INTERNATIONAL5 = 139,
255 SDL_SCANCODE_INTERNATIONAL6 = 140,
256 SDL_SCANCODE_INTERNATIONAL7 = 141,
257 SDL_SCANCODE_INTERNATIONAL8 = 142,
258 SDL_SCANCODE_INTERNATIONAL9 = 143,
259 SDL_SCANCODE_LANG1 = 144, /**< Hangul/English toggle */
260 SDL_SCANCODE_LANG2 = 145, /**< Hanja conversion */
261 SDL_SCANCODE_LANG3 = 146, /**< Katakana */
262 SDL_SCANCODE_LANG4 = 147, /**< Hiragana */
263 SDL_SCANCODE_LANG5 = 148, /**< Zenkaku/Hankaku */
264 SDL_SCANCODE_LANG6 = 149, /**< reserved */
265 SDL_SCANCODE_LANG7 = 150, /**< reserved */
266 SDL_SCANCODE_LANG8 = 151, /**< reserved */
267 SDL_SCANCODE_LANG9 = 152, /**< reserved */
268
269 SDL_SCANCODE_ALTERASE = 153, /**< Erase-Eaze */
270 SDL_SCANCODE_SYSREQ = 154,
271 SDL_SCANCODE_CANCEL = 155,
272 SDL_SCANCODE_CLEAR = 156,
273 SDL_SCANCODE_PRIOR = 157,
274 SDL_SCANCODE_RETURN2 = 158,
275 SDL_SCANCODE_SEPARATOR = 159,
276 SDL_SCANCODE_OUT = 160,
277 SDL_SCANCODE_OPER = 161,
278 SDL_SCANCODE_CLEARAGAIN = 162,
279 SDL_SCANCODE_CRSEL = 163,
280 SDL_SCANCODE_EXSEL = 164,
281
282 SDL_SCANCODE_KP_00 = 176,
283 SDL_SCANCODE_KP_000 = 177,
284 SDL_SCANCODE_THOUSANDSSEPARATOR = 178,
285 SDL_SCANCODE_DECIMALSEPARATOR = 179,
286 SDL_SCANCODE_CURRENCYUNIT = 180,
287 SDL_SCANCODE_CURRENCYSUBUNIT = 181,
288 SDL_SCANCODE_KP_LEFTPAREN = 182,
289 SDL_SCANCODE_KP_RIGHTPAREN = 183,
290 SDL_SCANCODE_KP_LEFTBRACE = 184,
291 SDL_SCANCODE_KP_RIGHTBRACE = 185,
292 SDL_SCANCODE_KP_TAB = 186,
293 SDL_SCANCODE_KP_BACKSPACE = 187,
294 SDL_SCANCODE_KP_A = 188,
295 SDL_SCANCODE_KP_B = 189,
296 SDL_SCANCODE_KP_C = 190,
297 SDL_SCANCODE_KP_D = 191,
298 SDL_SCANCODE_KP_E = 192,
299 SDL_SCANCODE_KP_F = 193,
300 SDL_SCANCODE_KP_XOR = 194,
301 SDL_SCANCODE_KP_POWER = 195,
302 SDL_SCANCODE_KP_PERCENT = 196,
303 SDL_SCANCODE_KP_LESS = 197,
304 SDL_SCANCODE_KP_GREATER = 198,
305 SDL_SCANCODE_KP_AMPERSAND = 199,
306 SDL_SCANCODE_KP_DBLAMPERSAND = 200,
307 SDL_SCANCODE_KP_VERTICALBAR = 201,
308 SDL_SCANCODE_KP_DBLVERTICALBAR = 202,
309 SDL_SCANCODE_KP_COLON = 203,
310 SDL_SCANCODE_KP_HASH = 204,
311 SDL_SCANCODE_KP_SPACE = 205,
312 SDL_SCANCODE_KP_AT = 206,
313 SDL_SCANCODE_KP_EXCLAM = 207,
314 SDL_SCANCODE_KP_MEMSTORE = 208,
315 SDL_SCANCODE_KP_MEMRECALL = 209,
316 SDL_SCANCODE_KP_MEMCLEAR = 210,
317 SDL_SCANCODE_KP_MEMADD = 211,
318 SDL_SCANCODE_KP_MEMSUBTRACT = 212,
319 SDL_SCANCODE_KP_MEMMULTIPLY = 213,
320 SDL_SCANCODE_KP_MEMDIVIDE = 214,
321 SDL_SCANCODE_KP_PLUSMINUS = 215,
322 SDL_SCANCODE_KP_CLEAR = 216,
323 SDL_SCANCODE_KP_CLEARENTRY = 217,
324 SDL_SCANCODE_KP_BINARY = 218,
325 SDL_SCANCODE_KP_OCTAL = 219,
326 SDL_SCANCODE_KP_DECIMAL = 220,
327 SDL_SCANCODE_KP_HEXADECIMAL = 221,
328
329 SDL_SCANCODE_LCTRL = 224,
330 SDL_SCANCODE_LSHIFT = 225,
331 SDL_SCANCODE_LALT = 226, /**< alt, option */
332 SDL_SCANCODE_LGUI = 227, /**< windows, command (apple), meta */
333 SDL_SCANCODE_RCTRL = 228,
334 SDL_SCANCODE_RSHIFT = 229,
335 SDL_SCANCODE_RALT = 230, /**< alt gr, option */
336 SDL_SCANCODE_RGUI = 231, /**< windows, command (apple), meta */
337
338 SDL_SCANCODE_MODE = 257, /**< I'm not sure if this is really not covered
339 * by any of the above, but since there's a
340 * special KMOD_MODE for it I'm adding it here
341 */
342
343 /*@}*//*Usage page 0x07*/
344
345 /**
346 * \name Usage page 0x0C
347 *
348 * These values are mapped from usage page 0x0C (USB consumer page).
349 */
350 /*@{*/
351
352 SDL_SCANCODE_AUDIONEXT = 258,
353 SDL_SCANCODE_AUDIOPREV = 259,
354 SDL_SCANCODE_AUDIOSTOP = 260,
355 SDL_SCANCODE_AUDIOPLAY = 261,
356 SDL_SCANCODE_AUDIOMUTE = 262,
357 SDL_SCANCODE_MEDIASELECT = 263,
358 SDL_SCANCODE_WWW = 264,
359 SDL_SCANCODE_MAIL = 265,
360 SDL_SCANCODE_CALCULATOR = 266,
361 SDL_SCANCODE_COMPUTER = 267,
362 SDL_SCANCODE_AC_SEARCH = 268,
363 SDL_SCANCODE_AC_HOME = 269,
364 SDL_SCANCODE_AC_BACK = 270,
365 SDL_SCANCODE_AC_FORWARD = 271,
366 SDL_SCANCODE_AC_STOP = 272,
367 SDL_SCANCODE_AC_REFRESH = 273,
368 SDL_SCANCODE_AC_BOOKMARKS = 274,
369
370 /*@}*//*Usage page 0x0C*/
371
372 /**
373 * \name Walther keys
374 *
375 * These are values that Christian Walther added (for mac keyboard?).
376 */
377 /*@{*/
378
379 SDL_SCANCODE_BRIGHTNESSDOWN = 275,
380 SDL_SCANCODE_BRIGHTNESSUP = 276,
381 SDL_SCANCODE_DISPLAYSWITCH = 277, /**< display mirroring/dual display
382 switch, video mode switch */
383 SDL_SCANCODE_KBDILLUMTOGGLE = 278,
384 SDL_SCANCODE_KBDILLUMDOWN = 279,
385 SDL_SCANCODE_KBDILLUMUP = 280,
386 SDL_SCANCODE_EJECT = 281,
387 SDL_SCANCODE_SLEEP = 282,
388
389 /*@}*//*Walther keys*/
390
391 /* Add any other keys here. */
392
393 SDL_NUM_SCANCODES = 512 /**< not a key, just marks the number of scancodes
394 for array bounds */
395 } SDL_scancode;
396
397 #endif /* _SDL_scancode_h */
398
399 /* vi: set ts=4 sw=4 expandtab: */