Quake-2

Quake 2 GPL Source Release
Log | Files | Refs

keys.h (3323B)


      1 /*
      2 Copyright (C) 1997-2001 Id Software, Inc.
      3 
      4 This program is free software; you can redistribute it and/or
      5 modify it under the terms of the GNU General Public License
      6 as published by the Free Software Foundation; either version 2
      7 of the License, or (at your option) any later version.
      8 
      9 This program is distributed in the hope that it will be useful,
     10 but WITHOUT ANY WARRANTY; without even the implied warranty of
     11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
     12 
     13 See the GNU General Public License for more details.
     14 
     15 You should have received a copy of the GNU General Public License
     16 along with this program; if not, write to the Free Software
     17 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
     18 
     19 */
     20 
     21 //
     22 // these are the key numbers that should be passed to Key_Event
     23 //
     24 #define	K_TAB			9
     25 #define	K_ENTER			13
     26 #define	K_ESCAPE		27
     27 #define	K_SPACE			32
     28 
     29 // normal keys should be passed as lowercased ascii
     30 
     31 #define	K_BACKSPACE		127
     32 #define	K_UPARROW		128
     33 #define	K_DOWNARROW		129
     34 #define	K_LEFTARROW		130
     35 #define	K_RIGHTARROW	131
     36 
     37 #define	K_ALT			132
     38 #define	K_CTRL			133
     39 #define	K_SHIFT			134
     40 #define	K_F1			135
     41 #define	K_F2			136
     42 #define	K_F3			137
     43 #define	K_F4			138
     44 #define	K_F5			139
     45 #define	K_F6			140
     46 #define	K_F7			141
     47 #define	K_F8			142
     48 #define	K_F9			143
     49 #define	K_F10			144
     50 #define	K_F11			145
     51 #define	K_F12			146
     52 #define	K_INS			147
     53 #define	K_DEL			148
     54 #define	K_PGDN			149
     55 #define	K_PGUP			150
     56 #define	K_HOME			151
     57 #define	K_END			152
     58 
     59 #define K_KP_HOME		160
     60 #define K_KP_UPARROW	161
     61 #define K_KP_PGUP		162
     62 #define	K_KP_LEFTARROW	163
     63 #define K_KP_5			164
     64 #define K_KP_RIGHTARROW	165
     65 #define K_KP_END		166
     66 #define K_KP_DOWNARROW	167
     67 #define K_KP_PGDN		168
     68 #define	K_KP_ENTER		169
     69 #define K_KP_INS   		170
     70 #define	K_KP_DEL		171
     71 #define K_KP_SLASH		172
     72 #define K_KP_MINUS		173
     73 #define K_KP_PLUS		174
     74 
     75 #define K_PAUSE			255
     76 
     77 //
     78 // mouse buttons generate virtual keys
     79 //
     80 #define	K_MOUSE1		200
     81 #define	K_MOUSE2		201
     82 #define	K_MOUSE3		202
     83 
     84 //
     85 // joystick buttons
     86 //
     87 #define	K_JOY1			203
     88 #define	K_JOY2			204
     89 #define	K_JOY3			205
     90 #define	K_JOY4			206
     91 
     92 //
     93 // aux keys are for multi-buttoned joysticks to generate so they can use
     94 // the normal binding process
     95 //
     96 #define	K_AUX1			207
     97 #define	K_AUX2			208
     98 #define	K_AUX3			209
     99 #define	K_AUX4			210
    100 #define	K_AUX5			211
    101 #define	K_AUX6			212
    102 #define	K_AUX7			213
    103 #define	K_AUX8			214
    104 #define	K_AUX9			215
    105 #define	K_AUX10			216
    106 #define	K_AUX11			217
    107 #define	K_AUX12			218
    108 #define	K_AUX13			219
    109 #define	K_AUX14			220
    110 #define	K_AUX15			221
    111 #define	K_AUX16			222
    112 #define	K_AUX17			223
    113 #define	K_AUX18			224
    114 #define	K_AUX19			225
    115 #define	K_AUX20			226
    116 #define	K_AUX21			227
    117 #define	K_AUX22			228
    118 #define	K_AUX23			229
    119 #define	K_AUX24			230
    120 #define	K_AUX25			231
    121 #define	K_AUX26			232
    122 #define	K_AUX27			233
    123 #define	K_AUX28			234
    124 #define	K_AUX29			235
    125 #define	K_AUX30			236
    126 #define	K_AUX31			237
    127 #define	K_AUX32			238
    128 
    129 #define K_MWHEELDOWN	239
    130 #define K_MWHEELUP		240
    131 
    132 extern char		*keybindings[256];
    133 extern	int		key_repeats[256];
    134 
    135 extern	int	anykeydown;
    136 extern char chat_buffer[];
    137 extern	int chat_bufferlen;
    138 extern	qboolean	chat_team;
    139 
    140 void Key_Event (int key, qboolean down, unsigned time);
    141 void Key_Init (void);
    142 void Key_WriteBindings (FILE *f);
    143 void Key_SetBinding (int keynum, char *binding);
    144 void Key_ClearStates (void);
    145 int Key_GetKey (void);
    146