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 #define K_MOUSE4 241 133 #define K_MOUSE5 242 134 #define K_MOUSE6 243 135 #define K_MOUSE7 244 136 #define K_MOUSE8 245 137 138 extern char *keybindings[256]; 139 extern int key_repeats[256]; 140 141 extern int anykeydown; 142 extern char chat_buffer[]; 143 extern int chat_bufferlen; 144 extern int chat_backedit; 145 extern qboolean chat_team; 146 147 void Key_Event (int key, qboolean down, unsigned time); 148 void Key_Init (void); 149 void Key_WriteBindings (FILE *f); 150 void Key_SetBinding (int keynum, char *binding); 151 void Key_ClearStates (void); 152 int Key_GetKey (void); 153 154