mirror of
https://github.com/blendogames/thirtyflightsofloving.git
synced 2024-11-15 08:51:22 +00:00
276 lines
4.9 KiB
C
276 lines
4.9 KiB
C
/*
|
|
===========================================================================
|
|
Copyright (C) 1997-2001 Id Software, Inc.
|
|
|
|
This file is part of Quake 2 source code.
|
|
|
|
Quake 2 source code 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.
|
|
|
|
Quake 2 source code 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 Quake 2 source code; if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
|
===========================================================================
|
|
*/
|
|
|
|
//
|
|
// these are the key numbers that should be passed to Key_Event
|
|
//
|
|
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_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,
|
|
|
|
K_NUMLOCK,
|
|
K_CAPSLOCK,
|
|
K_SCROLLOCK,
|
|
|
|
K_KP_HOME = 160,
|
|
K_KP_UPARROW,
|
|
K_KP_PGUP,
|
|
K_KP_LEFTARROW,
|
|
K_KP_5,
|
|
K_KP_RIGHTARROW,
|
|
K_KP_END,
|
|
K_KP_DOWNARROW,
|
|
K_KP_PGDN,
|
|
K_KP_ENTER,
|
|
K_KP_INS,
|
|
K_KP_DEL,
|
|
K_KP_SLASH,
|
|
K_KP_MINUS,
|
|
K_KP_PLUS,
|
|
K_KP_MULT,
|
|
|
|
K_PAUSE = 255,
|
|
|
|
//
|
|
// mouse buttons generate virtual keys
|
|
//
|
|
K_MOUSE1 = 200,
|
|
K_MOUSE2,
|
|
K_MOUSE3,
|
|
K_MOUSE4,
|
|
K_MOUSE5,
|
|
|
|
//
|
|
// 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,
|
|
|
|
K_MWHEELDOWN,
|
|
K_MWHEELUP,
|
|
} keynum_t;
|
|
|
|
/*
|
|
//
|
|
// 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_KP_HOME 160
|
|
#define K_KP_UPARROW 161
|
|
#define K_KP_PGUP 162
|
|
#define K_KP_LEFTARROW 163
|
|
#define K_KP_5 164
|
|
#define K_KP_RIGHTARROW 165
|
|
#define K_KP_END 166
|
|
#define K_KP_DOWNARROW 167
|
|
#define K_KP_PGDN 168
|
|
#define K_KP_ENTER 169
|
|
#define K_KP_INS 170
|
|
#define K_KP_DEL 171
|
|
#define K_KP_SLASH 172
|
|
#define K_KP_MINUS 173
|
|
#define K_KP_PLUS 174
|
|
|
|
#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
|
|
|
|
#define K_MWHEELDOWN 239
|
|
#define K_MWHEELUP 240
|
|
|
|
//Knightmare 12/22/2001
|
|
#define K_MOUSE4 241
|
|
#define K_MOUSE5 242
|
|
//end Knightmare
|
|
*/
|
|
|
|
extern char *keybindings[256];
|
|
extern int key_repeats[256];
|
|
|
|
extern int anykeydown;
|
|
extern char chat_buffer[];
|
|
extern int chat_bufferlen;
|
|
extern int chat_backedit;
|
|
extern qboolean chat_team;
|
|
|
|
void Key_Event (int key, qboolean down, unsigned time);
|
|
void Key_Init (void);
|
|
void Key_WriteBindings (FILE *f);
|
|
void Key_SetBinding (int keynum, char *binding);
|
|
void Key_ClearStates (void);
|
|
int Key_GetKey (void);
|
|
|