OpenMoHAA 0.82.0
Loading...
Searching...
No Matches
keycodes.h
1/*
2===========================================================================
3Copyright (C) 1999-2005 Id Software, Inc.
4
5This file is part of Quake III Arena source code.
6
7Quake III Arena source code is free software; you can redistribute it
8and/or modify it under the terms of the GNU General Public License as
9published by the Free Software Foundation; either version 2 of the License,
10or (at your option) any later version.
11
12Quake III Arena source code is distributed in the hope that it will be
13useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
14MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15GNU General Public License for more details.
16
17You should have received a copy of the GNU General Public License
18along with Quake III Arena source code; if not, write to the Free Software
19Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
20===========================================================================
21*/
22//
23#ifndef __KEYCODES_H__
24#define __KEYCODES_H__
25
26//
27// these are the key numbers that should be passed to KeyEvent
28//
29
30// normal keys should be passed as lowercased ascii
31
32typedef enum {
33 K_TAB = 9,
34 K_ENTER = 13,
35 K_ESCAPE = 27,
36 K_SPACE = 32,
37
38 K_BACKSPACE = 127,
39
40 K_COMMAND = 128,
41 K_CAPSLOCK,
42 K_POWER,
43 K_PAUSE,
44
45 K_UPARROW,
46 K_DOWNARROW,
47 K_LEFTARROW,
48 K_RIGHTARROW,
49
50 K_ALT,
51 K_CTRL,
52 K_SHIFT,
53 K_INS,
54 K_DEL,
55 K_PGDN,
56 K_PGUP,
57 K_HOME,
58 K_END,
59
60 K_F1,
61 K_F2,
62 K_F3,
63 K_F4,
64 K_F5,
65 K_F6,
66 K_F7,
67 K_F8,
68 K_F9,
69 K_F10,
70 K_F11,
71 K_F12,
72 K_F13,
73 K_F14,
74 K_F15,
75
76 K_KP_HOME,
77 K_KP_UPARROW,
78 K_KP_PGUP,
79 K_KP_LEFTARROW,
80 K_KP_5,
81 K_KP_RIGHTARROW,
82 K_KP_END,
83 K_KP_DOWNARROW,
84 K_KP_PGDN,
85 K_KP_ENTER,
86 K_KP_INS,
87 K_KP_DEL,
88 K_KP_SLASH,
89 K_KP_MINUS,
90 K_KP_PLUS,
91 K_KP_NUMLOCK,
92 K_KP_STAR,
93 K_KP_EQUALS,
94
95 K_MOUSE1,
96 K_MOUSE2,
97 K_MOUSE3,
98 K_MOUSE4,
99 K_MOUSE5,
100
101 K_MWHEELDOWN,
102 K_MWHEELUP,
103
104 K_JOY1,
105 K_JOY2,
106 K_JOY3,
107 K_JOY4,
108 K_JOY5,
109 K_JOY6,
110 K_JOY7,
111 K_JOY8,
112 K_JOY9,
113 K_JOY10,
114 K_JOY11,
115 K_JOY12,
116 K_JOY13,
117 K_JOY14,
118 K_JOY15,
119 K_JOY16,
120 K_JOY17,
121 K_JOY18,
122 K_JOY19,
123 K_JOY20,
124 K_JOY21,
125 K_JOY22,
126 K_JOY23,
127 K_JOY24,
128 K_JOY25,
129 K_JOY26,
130 K_JOY27,
131 K_JOY28,
132 K_JOY29,
133 K_JOY30,
134 K_JOY31,
135 K_JOY32,
136
137 K_AUX1,
138 K_AUX2,
139 K_AUX3,
140 K_AUX4,
141 K_AUX5,
142 K_AUX6,
143 K_AUX7,
144 K_AUX8,
145 K_AUX9,
146 K_AUX10,
147 K_AUX11,
148 K_AUX12,
149 K_AUX13,
150 K_AUX14,
151 K_AUX15,
152 K_AUX16,
153
154 K_WORLD_0,
155 K_WORLD_1,
156 K_WORLD_2,
157 K_WORLD_3,
158 K_WORLD_4,
159 K_WORLD_5,
160 K_WORLD_6,
161 K_WORLD_7,
162 K_WORLD_8,
163 K_WORLD_9,
164 K_WORLD_10,
165 K_WORLD_11,
166 K_WORLD_12,
167 K_WORLD_13,
168 K_WORLD_14,
169 K_WORLD_15,
170 K_WORLD_16,
171 K_WORLD_17,
172 K_WORLD_18,
173 K_WORLD_19,
174 K_WORLD_20,
175 K_WORLD_21,
176 K_WORLD_22,
177 K_WORLD_23,
178 K_WORLD_24,
179 K_WORLD_25,
180 K_WORLD_26,
181 K_WORLD_27,
182 K_WORLD_28,
183 K_WORLD_29,
184 K_WORLD_30,
185 K_WORLD_31,
186 K_WORLD_32,
187 K_WORLD_33,
188 K_WORLD_34,
189 K_WORLD_35,
190 K_WORLD_36,
191 K_WORLD_37,
192 K_WORLD_38,
193 K_WORLD_39,
194 K_WORLD_40,
195 K_WORLD_41,
196 K_WORLD_42,
197 K_WORLD_43,
198 K_WORLD_44,
199 K_WORLD_45,
200 K_WORLD_46,
201 K_WORLD_47,
202 K_WORLD_48,
203 K_WORLD_49,
204 K_WORLD_50,
205 K_WORLD_51,
206 K_WORLD_52,
207 K_WORLD_53,
208 K_WORLD_54,
209 K_WORLD_55,
210 K_WORLD_56,
211 K_WORLD_57,
212 K_WORLD_58,
213 K_WORLD_59,
214 K_WORLD_60,
215 K_WORLD_61,
216 K_WORLD_62,
217 K_WORLD_63,
218 K_WORLD_64,
219 K_WORLD_65,
220 K_WORLD_66,
221 K_WORLD_67,
222 K_WORLD_68,
223 K_WORLD_69,
224 K_WORLD_70,
225 K_WORLD_71,
226 K_WORLD_72,
227 K_WORLD_73,
228 K_WORLD_74,
229 K_WORLD_75,
230 K_WORLD_76,
231 K_WORLD_77,
232 K_WORLD_78,
233 K_WORLD_79,
234 K_WORLD_80,
235 K_WORLD_81,
236 K_WORLD_82,
237 K_WORLD_83,
238 K_WORLD_84,
239 K_WORLD_85,
240 K_WORLD_86,
241 K_WORLD_87,
242 K_WORLD_88,
243 K_WORLD_89,
244 K_WORLD_90,
245 K_WORLD_91,
246 K_WORLD_92,
247 K_WORLD_93,
248 K_WORLD_94,
249 K_WORLD_95,
250
251 K_SUPER,
252 K_COMPOSE,
253 K_MODE,
254 K_HELP,
255 K_PRINT,
256 K_SYSREQ,
257 K_SCROLLOCK,
258 K_BREAK,
259 K_MENU,
260 K_EURO,
261 K_UNDO,
262
263 // Gamepad controls
264 // Ordered to match SDL2 game controller buttons and axes
265 // Do not change this order without also changing IN_GamepadMove() in SDL_input.c
266 K_PAD0_A,
267 K_PAD0_B,
268 K_PAD0_X,
269 K_PAD0_Y,
270 K_PAD0_BACK,
271 K_PAD0_GUIDE,
272 K_PAD0_START,
273 K_PAD0_LEFTSTICK_CLICK,
274 K_PAD0_RIGHTSTICK_CLICK,
275 K_PAD0_LEFTSHOULDER,
276 K_PAD0_RIGHTSHOULDER,
277 K_PAD0_DPAD_UP,
278 K_PAD0_DPAD_DOWN,
279 K_PAD0_DPAD_LEFT,
280 K_PAD0_DPAD_RIGHT,
281
282 K_PAD0_LEFTSTICK_LEFT,
283 K_PAD0_LEFTSTICK_RIGHT,
284 K_PAD0_LEFTSTICK_UP,
285 K_PAD0_LEFTSTICK_DOWN,
286 K_PAD0_RIGHTSTICK_LEFT,
287 K_PAD0_RIGHTSTICK_RIGHT,
288 K_PAD0_RIGHTSTICK_UP,
289 K_PAD0_RIGHTSTICK_DOWN,
290 K_PAD0_LEFTTRIGGER,
291 K_PAD0_RIGHTTRIGGER,
292
293 K_PAD0_MISC1, /* Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button, Amazon Luna microphone button */
294 K_PAD0_PADDLE1, /* Xbox Elite paddle P1 */
295 K_PAD0_PADDLE2, /* Xbox Elite paddle P3 */
296 K_PAD0_PADDLE3, /* Xbox Elite paddle P2 */
297 K_PAD0_PADDLE4, /* Xbox Elite paddle P4 */
298 K_PAD0_TOUCHPAD, /* PS4/PS5 touchpad button */
299
300 // Pseudo-key that brings the console down
301 K_CONSOLE,
302
303 MAX_KEYS
304} keyNum_t;
305
306// MAX_KEYS replaces K_LAST_KEY, however some mods may have used K_LAST_KEY
307// in detecting binds, so we leave it defined to the old hardcoded value
308// of maxiumum keys to prevent mods from crashing older versions of the engine
309#define K_LAST_KEY 256
310
311// The menu code needs to get both key and char events, but
312// to avoid duplicating the paths, the char events are just
313// distinguished by or'ing in K_CHAR_FLAG (ugly)
314#define K_CHAR_FLAG 1024
315
316#endif