*/
-//
// these are the key numbers that should be passed to Key_Event
-//
-#define K_TAB 9
-#define K_ENTER 13
-#define K_ESCAPE 27
-#define K_SPACE 32
-
-// normal keys should be passed as lowercased ascii
-
-#define K_BACKSPACE 127
-#define K_UPARROW 128
-#define K_DOWNARROW 129
-#define K_LEFTARROW 130
-#define K_RIGHTARROW 131
-
-#define K_ALT 132
-#define K_CTRL 133
-#define K_SHIFT 134
-#define K_F1 135
-#define K_F2 136
-#define K_F3 137
-#define K_F4 138
-#define K_F5 139
-#define K_F6 140
-#define K_F7 141
-#define K_F8 142
-#define K_F9 143
-#define K_F10 144
-#define K_F11 145
-#define K_F12 146
-#define K_INS 147
-#define K_DEL 148
-#define K_PGDN 149
-#define K_PGUP 150
-#define K_HOME 151
-#define K_END 152
-
-#define K_PAUSE 255
-
-//
-// mouse buttons generate virtual keys
-//
-#define K_MOUSE1 200
-#define K_MOUSE2 201
-#define K_MOUSE3 202
-
-//
-// joystick buttons
-//
-#define K_JOY1 203
-#define K_JOY2 204
-#define K_JOY3 205
-#define K_JOY4 206
-
-//
-// aux keys are for multi-buttoned joysticks to generate so they can use
-// the normal binding process
-//
-#define K_AUX1 207
-#define K_AUX2 208
-#define K_AUX3 209
-#define K_AUX4 210
-#define K_AUX5 211
-#define K_AUX6 212
-#define K_AUX7 213
-#define K_AUX8 214
-#define K_AUX9 215
-#define K_AUX10 216
-#define K_AUX11 217
-#define K_AUX12 218
-#define K_AUX13 219
-#define K_AUX14 220
-#define K_AUX15 221
-#define K_AUX16 222
-#define K_AUX17 223
-#define K_AUX18 224
-#define K_AUX19 225
-#define K_AUX20 226
-#define K_AUX21 227
-#define K_AUX22 228
-#define K_AUX23 229
-#define K_AUX24 230
-#define K_AUX25 231
-#define K_AUX26 232
-#define K_AUX27 233
-#define K_AUX28 234
-#define K_AUX29 235
-#define K_AUX30 236
-#define K_AUX31 237
-#define K_AUX32 238
-
-// JACK: Intellimouse(c) Mouse Wheel Support
-
-#define K_MWHEELUP 239
-#define K_MWHEELDOWN 240
+typedef enum {
+ K_TAB = 9,
+ K_ENTER = 13,
+ K_ESCAPE = 27,
+ K_SPACE = 32,
+
+ // normal keys should be passed as lowercased ascii
+
+ K_BACKSPACE = 127,
+
+ K_CAPSLOCK,
+ K_PRNTSCR,
+ K_SCRLCK,
+ K_PAUSE,
+
+ K_UPARROW,
+ K_DOWNARROW,
+ K_LEFTARROW,
+ K_RIGHTARROW,
+
+ K_ALT,
+ K_CTRL,
+ K_SHIFT,
+ K_F1,
+ K_F2,
+ K_F3,
+ K_F4,
+ K_F5,
+ K_F6,
+ K_F7,
+ K_F8,
+ K_F9,
+ K_F10,
+ K_F11,
+ K_F12,
+ K_INS,
+ K_DEL,
+ K_PGDN,
+ K_PGUP,
+ K_HOME,
+ K_END,
+
+
+ // Keypad stuff..
+
+ KP_NUMLCK,
+ KP_DIVIDE,
+ KP_MULTIPLY,
+
+ KP_HOME,
+ KP_UPARROW,
+ KP_PGUP,
+ KP_MINUS,
+
+ KP_LEFTARROW,
+ KP_5,
+ KP_RIGHTARROW,
+ KP_PLUS,
+
+ KP_END,
+ KP_DOWNARROW,
+ KP_PGDN,
+
+
+ KP_INS,
+ KP_DEL,
+ KP_ENTER,
+
+ // mouse buttons generate virtual keys
+ K_MOUSE1 = 200,
+ K_MOUSE2,
+ K_MOUSE3,
+
+ // joystick buttons
+ K_JOY1,
+ K_JOY2,
+ K_JOY3,
+ K_JOY4,
+
+ //
+ //// aux keys are for multi-buttoned joysticks to generate so they can use
+ //// the normal binding process
+ ////
+ //
+ K_AUX1,
+ K_AUX2,
+ K_AUX3,
+ K_AUX4,
+ K_AUX5,
+ K_AUX6,
+ K_AUX7,
+ K_AUX8,
+ K_AUX9,
+ K_AUX10,
+ K_AUX11,
+ K_AUX12,
+ K_AUX13,
+ K_AUX14,
+ K_AUX15,
+ K_AUX16,
+ K_AUX17,
+ K_AUX18,
+ K_AUX19,
+ K_AUX20,
+ K_AUX21,
+ K_AUX22,
+ K_AUX23,
+ K_AUX24,
+ K_AUX25,
+ K_AUX26,
+ K_AUX27,
+ K_AUX28,
+ K_AUX29,
+ K_AUX30,
+ K_AUX31,
+ K_AUX32,
+
+ // JACK: Intellimouse(c) Mouse Wheel Support
+
+ K_MWHEELUP,
+ K_MWHEELDOWN
+} keynum_t;
typedef enum {key_game, key_console, key_message, key_menu} keydest_t;
void Key_Event (int key, qboolean down);
void Key_Init (void);
-void Key_WriteBindings (FILE *f);
+void Key_WriteBindings (QFile *f);
void Key_SetBinding (int keynum, char *binding);
void Key_ClearStates (void);