174 lines
3.9 KiB
C
174 lines
3.9 KiB
C
|
/*
|
||
|
Copyright (C) 1996-1997 Id Software, Inc.
|
||
|
|
||
|
This program is free software; you can redistribute it and/or
|
||
|
modify it under the terms of the GNU General Public License
|
||
|
as published by the Free Software Foundation; either version 2
|
||
|
of the License, or (at your option) any later version.
|
||
|
|
||
|
This program is distributed in the hope that it will be useful,
|
||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||
|
|
||
|
See the GNU General Public License for more details.
|
||
|
|
||
|
You should have received a copy of the GNU General Public License
|
||
|
along with this program; if not, write to the Free Software
|
||
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||
|
|
||
|
*/
|
||
|
|
||
|
//
|
||
|
// 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
|
||
|
|
||
|
#if defined(__APPLE__) || defined(MACOSX)
|
||
|
|
||
|
#define K_CAPSLOCK 153
|
||
|
#define K_COMMAND 154
|
||
|
#define K_NUMLOCK 155
|
||
|
#define K_F13 156
|
||
|
#define K_F14 157
|
||
|
#define K_F15 158
|
||
|
|
||
|
#define K_EQUAL_PAD 160
|
||
|
#define K_SLASH_PAD 161
|
||
|
#define K_ASTERISK_PAD 162
|
||
|
#define K_MINUS_PAD 163
|
||
|
#define K_PLUS_PAD 164
|
||
|
#define K_ENTER_PAD 165
|
||
|
#define K_PERIOD_PAD 166
|
||
|
#define K_0_PAD 167
|
||
|
#define K_1_PAD 168
|
||
|
#define K_2_PAD 169
|
||
|
#define K_3_PAD 170
|
||
|
#define K_4_PAD 171
|
||
|
#define K_5_PAD 172
|
||
|
#define K_6_PAD 173
|
||
|
#define K_7_PAD 174
|
||
|
#define K_8_PAD 175
|
||
|
#define K_9_PAD 176
|
||
|
|
||
|
#define K_MOUSE1 180
|
||
|
#define K_MOUSE2 181
|
||
|
#define K_MOUSE3 182
|
||
|
#define K_MOUSE4 183
|
||
|
#define K_MOUSE5 184
|
||
|
|
||
|
#endif /* APPLE || MACOSX */
|
||
|
|
||
|
#define K_PAUSE 255
|
||
|
|
||
|
//
|
||
|
// mouse buttons generate virtual keys
|
||
|
//
|
||
|
|
||
|
#if !defined (__APPLE__) && !defined (MACOSX)
|
||
|
|
||
|
#define K_MOUSE1 200
|
||
|
#define K_MOUSE2 201
|
||
|
#define K_MOUSE3 202
|
||
|
|
||
|
#endif /* !__APPLE__ && !MACOSX */
|
||
|
|
||
|
//
|
||
|
// 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 {key_game, key_console, key_message, key_menu} keydest_t;
|
||
|
|
||
|
extern keydest_t key_dest;
|
||
|
extern char *keybindings[256];
|
||
|
extern int key_repeats[256];
|
||
|
extern int key_count; // incremented every key event
|
||
|
extern int key_lastpress;
|
||
|
|
||
|
void Key_Event (int key, qboolean down);
|
||
|
void Key_Init (void);
|
||
|
void Key_WriteBindings (FILE *f);
|
||
|
void Key_SetBinding (int keynum, char *binding);
|
||
|
void Key_ClearStates (void);
|
||
|
|