comparison include/SDL_keysym.h @ 1662:782fd950bd46 SDL-1.3

Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API. WARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid. The code is now run through a consistent indent format: indent -i4 -nut -nsc -br -ce The headers are being converted to automatically generate doxygen documentation.
author Sam Lantinga <slouken@libsdl.org>
date Sun, 28 May 2006 13:04:16 +0000
parents c9b51268668f
children 624e1412fbba
comparison
equal deleted inserted replaced
1661:281d3f4870e5 1662:782fd950bd46
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 18
19 Sam Lantinga 19 Sam Lantinga
20 slouken@libsdl.org 20 slouken@libsdl.org
21 */ 21 */
22
23 /**
24 * \file SDL_keysym.h
25 */
22 26
23 #ifndef _SDL_keysym_h 27 #ifndef _SDL_keysym_h
24 #define _SDL_keysym_h 28 #define _SDL_keysym_h
25 29
26 /* What we really want is a mapping of every raw key on the keyboard. 30 /* What we really want is a mapping of every raw key on the keyboard.
27 To support international keyboards, we use the range 0xA1 - 0xFF 31 To support international keyboards, we use the range 0xA1 - 0xFF
28 as international virtual keycodes. We'll follow in the footsteps of X11... 32 as international virtual keycodes. We'll follow in the footsteps of X11...
29 The names of the keys 33 The names of the keys
30 */ 34 */
31 35
32 typedef enum { 36 typedef enum
33 /* The keyboard syms have been cleverly chosen to map to ASCII */ 37 {
34 SDLK_UNKNOWN = 0, 38 /* The keyboard syms have been cleverly chosen to map to ASCII */
35 SDLK_FIRST = 0, 39 SDLK_UNKNOWN = 0,
36 SDLK_BACKSPACE = 8, 40 SDLK_FIRST = 0,
37 SDLK_TAB = 9, 41 SDLK_BACKSPACE = 8,
38 SDLK_CLEAR = 12, 42 SDLK_TAB = 9,
39 SDLK_RETURN = 13, 43 SDLK_CLEAR = 12,
40 SDLK_PAUSE = 19, 44 SDLK_RETURN = 13,
41 SDLK_ESCAPE = 27, 45 SDLK_PAUSE = 19,
42 SDLK_SPACE = 32, 46 SDLK_ESCAPE = 27,
43 SDLK_EXCLAIM = 33, 47 SDLK_SPACE = 32,
44 SDLK_QUOTEDBL = 34, 48 SDLK_EXCLAIM = 33,
45 SDLK_HASH = 35, 49 SDLK_QUOTEDBL = 34,
46 SDLK_DOLLAR = 36, 50 SDLK_HASH = 35,
47 SDLK_AMPERSAND = 38, 51 SDLK_DOLLAR = 36,
48 SDLK_QUOTE = 39, 52 SDLK_AMPERSAND = 38,
49 SDLK_LEFTPAREN = 40, 53 SDLK_QUOTE = 39,
50 SDLK_RIGHTPAREN = 41, 54 SDLK_LEFTPAREN = 40,
51 SDLK_ASTERISK = 42, 55 SDLK_RIGHTPAREN = 41,
52 SDLK_PLUS = 43, 56 SDLK_ASTERISK = 42,
53 SDLK_COMMA = 44, 57 SDLK_PLUS = 43,
54 SDLK_MINUS = 45, 58 SDLK_COMMA = 44,
55 SDLK_PERIOD = 46, 59 SDLK_MINUS = 45,
56 SDLK_SLASH = 47, 60 SDLK_PERIOD = 46,
57 SDLK_0 = 48, 61 SDLK_SLASH = 47,
58 SDLK_1 = 49, 62 SDLK_0 = 48,
59 SDLK_2 = 50, 63 SDLK_1 = 49,
60 SDLK_3 = 51, 64 SDLK_2 = 50,
61 SDLK_4 = 52, 65 SDLK_3 = 51,
62 SDLK_5 = 53, 66 SDLK_4 = 52,
63 SDLK_6 = 54, 67 SDLK_5 = 53,
64 SDLK_7 = 55, 68 SDLK_6 = 54,
65 SDLK_8 = 56, 69 SDLK_7 = 55,
66 SDLK_9 = 57, 70 SDLK_8 = 56,
67 SDLK_COLON = 58, 71 SDLK_9 = 57,
68 SDLK_SEMICOLON = 59, 72 SDLK_COLON = 58,
69 SDLK_LESS = 60, 73 SDLK_SEMICOLON = 59,
70 SDLK_EQUALS = 61, 74 SDLK_LESS = 60,
71 SDLK_GREATER = 62, 75 SDLK_EQUALS = 61,
72 SDLK_QUESTION = 63, 76 SDLK_GREATER = 62,
73 SDLK_AT = 64, 77 SDLK_QUESTION = 63,
74 /* 78 SDLK_AT = 64,
75 Skip uppercase letters 79 /*
76 */ 80 Skip uppercase letters
77 SDLK_LEFTBRACKET = 91, 81 */
78 SDLK_BACKSLASH = 92, 82 SDLK_LEFTBRACKET = 91,
79 SDLK_RIGHTBRACKET = 93, 83 SDLK_BACKSLASH = 92,
80 SDLK_CARET = 94, 84 SDLK_RIGHTBRACKET = 93,
81 SDLK_UNDERSCORE = 95, 85 SDLK_CARET = 94,
82 SDLK_BACKQUOTE = 96, 86 SDLK_UNDERSCORE = 95,
83 SDLK_a = 97, 87 SDLK_BACKQUOTE = 96,
84 SDLK_b = 98, 88 SDLK_a = 97,
85 SDLK_c = 99, 89 SDLK_b = 98,
86 SDLK_d = 100, 90 SDLK_c = 99,
87 SDLK_e = 101, 91 SDLK_d = 100,
88 SDLK_f = 102, 92 SDLK_e = 101,
89 SDLK_g = 103, 93 SDLK_f = 102,
90 SDLK_h = 104, 94 SDLK_g = 103,
91 SDLK_i = 105, 95 SDLK_h = 104,
92 SDLK_j = 106, 96 SDLK_i = 105,
93 SDLK_k = 107, 97 SDLK_j = 106,
94 SDLK_l = 108, 98 SDLK_k = 107,
95 SDLK_m = 109, 99 SDLK_l = 108,
96 SDLK_n = 110, 100 SDLK_m = 109,
97 SDLK_o = 111, 101 SDLK_n = 110,
98 SDLK_p = 112, 102 SDLK_o = 111,
99 SDLK_q = 113, 103 SDLK_p = 112,
100 SDLK_r = 114, 104 SDLK_q = 113,
101 SDLK_s = 115, 105 SDLK_r = 114,
102 SDLK_t = 116, 106 SDLK_s = 115,
103 SDLK_u = 117, 107 SDLK_t = 116,
104 SDLK_v = 118, 108 SDLK_u = 117,
105 SDLK_w = 119, 109 SDLK_v = 118,
106 SDLK_x = 120, 110 SDLK_w = 119,
107 SDLK_y = 121, 111 SDLK_x = 120,
108 SDLK_z = 122, 112 SDLK_y = 121,
109 SDLK_DELETE = 127, 113 SDLK_z = 122,
110 /* End of ASCII mapped keysyms */ 114 SDLK_DELETE = 127,
111 115 /* End of ASCII mapped keysyms */
112 /* International keyboard syms */ 116
113 SDLK_WORLD_0 = 160, /* 0xA0 */ 117 /* International keyboard syms */
114 SDLK_WORLD_1 = 161, 118 SDLK_WORLD_0 = 160, /* 0xA0 */
115 SDLK_WORLD_2 = 162, 119 SDLK_WORLD_1 = 161,
116 SDLK_WORLD_3 = 163, 120 SDLK_WORLD_2 = 162,
117 SDLK_WORLD_4 = 164, 121 SDLK_WORLD_3 = 163,
118 SDLK_WORLD_5 = 165, 122 SDLK_WORLD_4 = 164,
119 SDLK_WORLD_6 = 166, 123 SDLK_WORLD_5 = 165,
120 SDLK_WORLD_7 = 167, 124 SDLK_WORLD_6 = 166,
121 SDLK_WORLD_8 = 168, 125 SDLK_WORLD_7 = 167,
122 SDLK_WORLD_9 = 169, 126 SDLK_WORLD_8 = 168,
123 SDLK_WORLD_10 = 170, 127 SDLK_WORLD_9 = 169,
124 SDLK_WORLD_11 = 171, 128 SDLK_WORLD_10 = 170,
125 SDLK_WORLD_12 = 172, 129 SDLK_WORLD_11 = 171,
126 SDLK_WORLD_13 = 173, 130 SDLK_WORLD_12 = 172,
127 SDLK_WORLD_14 = 174, 131 SDLK_WORLD_13 = 173,
128 SDLK_WORLD_15 = 175, 132 SDLK_WORLD_14 = 174,
129 SDLK_WORLD_16 = 176, 133 SDLK_WORLD_15 = 175,
130 SDLK_WORLD_17 = 177, 134 SDLK_WORLD_16 = 176,
131 SDLK_WORLD_18 = 178, 135 SDLK_WORLD_17 = 177,
132 SDLK_WORLD_19 = 179, 136 SDLK_WORLD_18 = 178,
133 SDLK_WORLD_20 = 180, 137 SDLK_WORLD_19 = 179,
134 SDLK_WORLD_21 = 181, 138 SDLK_WORLD_20 = 180,
135 SDLK_WORLD_22 = 182, 139 SDLK_WORLD_21 = 181,
136 SDLK_WORLD_23 = 183, 140 SDLK_WORLD_22 = 182,
137 SDLK_WORLD_24 = 184, 141 SDLK_WORLD_23 = 183,
138 SDLK_WORLD_25 = 185, 142 SDLK_WORLD_24 = 184,
139 SDLK_WORLD_26 = 186, 143 SDLK_WORLD_25 = 185,
140 SDLK_WORLD_27 = 187, 144 SDLK_WORLD_26 = 186,
141 SDLK_WORLD_28 = 188, 145 SDLK_WORLD_27 = 187,
142 SDLK_WORLD_29 = 189, 146 SDLK_WORLD_28 = 188,
143 SDLK_WORLD_30 = 190, 147 SDLK_WORLD_29 = 189,
144 SDLK_WORLD_31 = 191, 148 SDLK_WORLD_30 = 190,
145 SDLK_WORLD_32 = 192, 149 SDLK_WORLD_31 = 191,
146 SDLK_WORLD_33 = 193, 150 SDLK_WORLD_32 = 192,
147 SDLK_WORLD_34 = 194, 151 SDLK_WORLD_33 = 193,
148 SDLK_WORLD_35 = 195, 152 SDLK_WORLD_34 = 194,
149 SDLK_WORLD_36 = 196, 153 SDLK_WORLD_35 = 195,
150 SDLK_WORLD_37 = 197, 154 SDLK_WORLD_36 = 196,
151 SDLK_WORLD_38 = 198, 155 SDLK_WORLD_37 = 197,
152 SDLK_WORLD_39 = 199, 156 SDLK_WORLD_38 = 198,
153 SDLK_WORLD_40 = 200, 157 SDLK_WORLD_39 = 199,
154 SDLK_WORLD_41 = 201, 158 SDLK_WORLD_40 = 200,
155 SDLK_WORLD_42 = 202, 159 SDLK_WORLD_41 = 201,
156 SDLK_WORLD_43 = 203, 160 SDLK_WORLD_42 = 202,
157 SDLK_WORLD_44 = 204, 161 SDLK_WORLD_43 = 203,
158 SDLK_WORLD_45 = 205, 162 SDLK_WORLD_44 = 204,
159 SDLK_WORLD_46 = 206, 163 SDLK_WORLD_45 = 205,
160 SDLK_WORLD_47 = 207, 164 SDLK_WORLD_46 = 206,
161 SDLK_WORLD_48 = 208, 165 SDLK_WORLD_47 = 207,
162 SDLK_WORLD_49 = 209, 166 SDLK_WORLD_48 = 208,
163 SDLK_WORLD_50 = 210, 167 SDLK_WORLD_49 = 209,
164 SDLK_WORLD_51 = 211, 168 SDLK_WORLD_50 = 210,
165 SDLK_WORLD_52 = 212, 169 SDLK_WORLD_51 = 211,
166 SDLK_WORLD_53 = 213, 170 SDLK_WORLD_52 = 212,
167 SDLK_WORLD_54 = 214, 171 SDLK_WORLD_53 = 213,
168 SDLK_WORLD_55 = 215, 172 SDLK_WORLD_54 = 214,
169 SDLK_WORLD_56 = 216, 173 SDLK_WORLD_55 = 215,
170 SDLK_WORLD_57 = 217, 174 SDLK_WORLD_56 = 216,
171 SDLK_WORLD_58 = 218, 175 SDLK_WORLD_57 = 217,
172 SDLK_WORLD_59 = 219, 176 SDLK_WORLD_58 = 218,
173 SDLK_WORLD_60 = 220, 177 SDLK_WORLD_59 = 219,
174 SDLK_WORLD_61 = 221, 178 SDLK_WORLD_60 = 220,
175 SDLK_WORLD_62 = 222, 179 SDLK_WORLD_61 = 221,
176 SDLK_WORLD_63 = 223, 180 SDLK_WORLD_62 = 222,
177 SDLK_WORLD_64 = 224, 181 SDLK_WORLD_63 = 223,
178 SDLK_WORLD_65 = 225, 182 SDLK_WORLD_64 = 224,
179 SDLK_WORLD_66 = 226, 183 SDLK_WORLD_65 = 225,
180 SDLK_WORLD_67 = 227, 184 SDLK_WORLD_66 = 226,
181 SDLK_WORLD_68 = 228, 185 SDLK_WORLD_67 = 227,
182 SDLK_WORLD_69 = 229, 186 SDLK_WORLD_68 = 228,
183 SDLK_WORLD_70 = 230, 187 SDLK_WORLD_69 = 229,
184 SDLK_WORLD_71 = 231, 188 SDLK_WORLD_70 = 230,
185 SDLK_WORLD_72 = 232, 189 SDLK_WORLD_71 = 231,
186 SDLK_WORLD_73 = 233, 190 SDLK_WORLD_72 = 232,
187 SDLK_WORLD_74 = 234, 191 SDLK_WORLD_73 = 233,
188 SDLK_WORLD_75 = 235, 192 SDLK_WORLD_74 = 234,
189 SDLK_WORLD_76 = 236, 193 SDLK_WORLD_75 = 235,
190 SDLK_WORLD_77 = 237, 194 SDLK_WORLD_76 = 236,
191 SDLK_WORLD_78 = 238, 195 SDLK_WORLD_77 = 237,
192 SDLK_WORLD_79 = 239, 196 SDLK_WORLD_78 = 238,
193 SDLK_WORLD_80 = 240, 197 SDLK_WORLD_79 = 239,
194 SDLK_WORLD_81 = 241, 198 SDLK_WORLD_80 = 240,
195 SDLK_WORLD_82 = 242, 199 SDLK_WORLD_81 = 241,
196 SDLK_WORLD_83 = 243, 200 SDLK_WORLD_82 = 242,
197 SDLK_WORLD_84 = 244, 201 SDLK_WORLD_83 = 243,
198 SDLK_WORLD_85 = 245, 202 SDLK_WORLD_84 = 244,
199 SDLK_WORLD_86 = 246, 203 SDLK_WORLD_85 = 245,
200 SDLK_WORLD_87 = 247, 204 SDLK_WORLD_86 = 246,
201 SDLK_WORLD_88 = 248, 205 SDLK_WORLD_87 = 247,
202 SDLK_WORLD_89 = 249, 206 SDLK_WORLD_88 = 248,
203 SDLK_WORLD_90 = 250, 207 SDLK_WORLD_89 = 249,
204 SDLK_WORLD_91 = 251, 208 SDLK_WORLD_90 = 250,
205 SDLK_WORLD_92 = 252, 209 SDLK_WORLD_91 = 251,
206 SDLK_WORLD_93 = 253, 210 SDLK_WORLD_92 = 252,
207 SDLK_WORLD_94 = 254, 211 SDLK_WORLD_93 = 253,
208 SDLK_WORLD_95 = 255, /* 0xFF */ 212 SDLK_WORLD_94 = 254,
209 213 SDLK_WORLD_95 = 255, /* 0xFF */
210 /* Numeric keypad */ 214
211 SDLK_KP0 = 256, 215 /* Numeric keypad */
212 SDLK_KP1 = 257, 216 SDLK_KP0 = 256,
213 SDLK_KP2 = 258, 217 SDLK_KP1 = 257,
214 SDLK_KP3 = 259, 218 SDLK_KP2 = 258,
215 SDLK_KP4 = 260, 219 SDLK_KP3 = 259,
216 SDLK_KP5 = 261, 220 SDLK_KP4 = 260,
217 SDLK_KP6 = 262, 221 SDLK_KP5 = 261,
218 SDLK_KP7 = 263, 222 SDLK_KP6 = 262,
219 SDLK_KP8 = 264, 223 SDLK_KP7 = 263,
220 SDLK_KP9 = 265, 224 SDLK_KP8 = 264,
221 SDLK_KP_PERIOD = 266, 225 SDLK_KP9 = 265,
222 SDLK_KP_DIVIDE = 267, 226 SDLK_KP_PERIOD = 266,
223 SDLK_KP_MULTIPLY = 268, 227 SDLK_KP_DIVIDE = 267,
224 SDLK_KP_MINUS = 269, 228 SDLK_KP_MULTIPLY = 268,
225 SDLK_KP_PLUS = 270, 229 SDLK_KP_MINUS = 269,
226 SDLK_KP_ENTER = 271, 230 SDLK_KP_PLUS = 270,
227 SDLK_KP_EQUALS = 272, 231 SDLK_KP_ENTER = 271,
228 232 SDLK_KP_EQUALS = 272,
229 /* Arrows + Home/End pad */ 233
230 SDLK_UP = 273, 234 /* Arrows + Home/End pad */
231 SDLK_DOWN = 274, 235 SDLK_UP = 273,
232 SDLK_RIGHT = 275, 236 SDLK_DOWN = 274,
233 SDLK_LEFT = 276, 237 SDLK_RIGHT = 275,
234 SDLK_INSERT = 277, 238 SDLK_LEFT = 276,
235 SDLK_HOME = 278, 239 SDLK_INSERT = 277,
236 SDLK_END = 279, 240 SDLK_HOME = 278,
237 SDLK_PAGEUP = 280, 241 SDLK_END = 279,
238 SDLK_PAGEDOWN = 281, 242 SDLK_PAGEUP = 280,
239 243 SDLK_PAGEDOWN = 281,
240 /* Function keys */ 244
241 SDLK_F1 = 282, 245 /* Function keys */
242 SDLK_F2 = 283, 246 SDLK_F1 = 282,
243 SDLK_F3 = 284, 247 SDLK_F2 = 283,
244 SDLK_F4 = 285, 248 SDLK_F3 = 284,
245 SDLK_F5 = 286, 249 SDLK_F4 = 285,
246 SDLK_F6 = 287, 250 SDLK_F5 = 286,
247 SDLK_F7 = 288, 251 SDLK_F6 = 287,
248 SDLK_F8 = 289, 252 SDLK_F7 = 288,
249 SDLK_F9 = 290, 253 SDLK_F8 = 289,
250 SDLK_F10 = 291, 254 SDLK_F9 = 290,
251 SDLK_F11 = 292, 255 SDLK_F10 = 291,
252 SDLK_F12 = 293, 256 SDLK_F11 = 292,
253 SDLK_F13 = 294, 257 SDLK_F12 = 293,
254 SDLK_F14 = 295, 258 SDLK_F13 = 294,
255 SDLK_F15 = 296, 259 SDLK_F14 = 295,
256 260 SDLK_F15 = 296,
257 /* Key state modifier keys */ 261
258 SDLK_NUMLOCK = 300, 262 /* Key state modifier keys */
259 SDLK_CAPSLOCK = 301, 263 SDLK_NUMLOCK = 300,
260 SDLK_SCROLLOCK = 302, 264 SDLK_CAPSLOCK = 301,
261 SDLK_RSHIFT = 303, 265 SDLK_SCROLLOCK = 302,
262 SDLK_LSHIFT = 304, 266 SDLK_RSHIFT = 303,
263 SDLK_RCTRL = 305, 267 SDLK_LSHIFT = 304,
264 SDLK_LCTRL = 306, 268 SDLK_RCTRL = 305,
265 SDLK_RALT = 307, 269 SDLK_LCTRL = 306,
266 SDLK_LALT = 308, 270 SDLK_RALT = 307,
267 SDLK_RMETA = 309, 271 SDLK_LALT = 308,
268 SDLK_LMETA = 310, 272 SDLK_RMETA = 309,
269 SDLK_LSUPER = 311, /* Left "Windows" key */ 273 SDLK_LMETA = 310,
270 SDLK_RSUPER = 312, /* Right "Windows" key */ 274 SDLK_LSUPER = 311, /* Left "Windows" key */
271 SDLK_MODE = 313, /* "Alt Gr" key */ 275 SDLK_RSUPER = 312, /* Right "Windows" key */
272 SDLK_COMPOSE = 314, /* Multi-key compose key */ 276 SDLK_MODE = 313, /* "Alt Gr" key */
273 277 SDLK_COMPOSE = 314, /* Multi-key compose key */
274 /* Miscellaneous function keys */ 278
275 SDLK_HELP = 315, 279 /* Miscellaneous function keys */
276 SDLK_PRINT = 316, 280 SDLK_HELP = 315,
277 SDLK_SYSREQ = 317, 281 SDLK_PRINT = 316,
278 SDLK_BREAK = 318, 282 SDLK_SYSREQ = 317,
279 SDLK_MENU = 319, 283 SDLK_BREAK = 318,
280 SDLK_POWER = 320, /* Power Macintosh power key */ 284 SDLK_MENU = 319,
281 SDLK_EURO = 321, /* Some european keyboards */ 285 SDLK_POWER = 320, /* Power Macintosh power key */
282 SDLK_UNDO = 322, /* Atari keyboard has Undo */ 286 SDLK_EURO = 321, /* Some european keyboards */
283 287 SDLK_UNDO = 322, /* Atari keyboard has Undo */
284 /* Add any other keys here */ 288
285 289 /* Add any other keys here */
286 SDLK_LAST 290
291 SDLK_LAST
287 } SDLKey; 292 } SDLKey;
288 293
289 /* Enumeration of valid key mods (possibly OR'd together) */ 294 /* Enumeration of valid key mods (possibly OR'd together) */
290 typedef enum { 295 typedef enum
291 KMOD_NONE = 0x0000, 296 {
292 KMOD_LSHIFT= 0x0001, 297 KMOD_NONE = 0x0000,
293 KMOD_RSHIFT= 0x0002, 298 KMOD_LSHIFT = 0x0001,
294 KMOD_LCTRL = 0x0040, 299 KMOD_RSHIFT = 0x0002,
295 KMOD_RCTRL = 0x0080, 300 KMOD_LCTRL = 0x0040,
296 KMOD_LALT = 0x0100, 301 KMOD_RCTRL = 0x0080,
297 KMOD_RALT = 0x0200, 302 KMOD_LALT = 0x0100,
298 KMOD_LMETA = 0x0400, 303 KMOD_RALT = 0x0200,
299 KMOD_RMETA = 0x0800, 304 KMOD_LMETA = 0x0400,
300 KMOD_NUM = 0x1000, 305 KMOD_RMETA = 0x0800,
301 KMOD_CAPS = 0x2000, 306 KMOD_NUM = 0x1000,
302 KMOD_MODE = 0x4000, 307 KMOD_CAPS = 0x2000,
303 KMOD_RESERVED = 0x8000 308 KMOD_MODE = 0x4000,
309 KMOD_RESERVED = 0x8000
304 } SDLMod; 310 } SDLMod;
305 311
306 #define KMOD_CTRL (KMOD_LCTRL|KMOD_RCTRL) 312 #define KMOD_CTRL (KMOD_LCTRL|KMOD_RCTRL)
307 #define KMOD_SHIFT (KMOD_LSHIFT|KMOD_RSHIFT) 313 #define KMOD_SHIFT (KMOD_LSHIFT|KMOD_RSHIFT)
308 #define KMOD_ALT (KMOD_LALT|KMOD_RALT) 314 #define KMOD_ALT (KMOD_LALT|KMOD_RALT)