1 /* 2 Copyright (C) 1996-1997 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_PAUSE 255 60 61 // 62 // mouse buttons generate virtual keys 63 // 64 #define K_MOUSE1 200 65 #define K_MOUSE2 201 66 #define K_MOUSE3 202 67 68 // 69 // joystick buttons 70 // 71 #define K_JOY1 203 72 #define K_JOY2 204 73 #define K_JOY3 205 74 #define K_JOY4 206 75 76 // 77 // aux keys are for multi-buttoned joysticks to generate so they can use 78 // the normal binding process 79 // 80 #define K_AUX1 207 81 #define K_AUX2 208 82 #define K_AUX3 209 83 #define K_AUX4 210 84 #define K_AUX5 211 85 #define K_AUX6 212 86 #define K_AUX7 213 87 #define K_AUX8 214 88 #define K_AUX9 215 89 #define K_AUX10 216 90 #define K_AUX11 217 91 #define K_AUX12 218 92 #define K_AUX13 219 93 #define K_AUX14 220 94 #define K_AUX15 221 95 #define K_AUX16 222 96 #define K_AUX17 223 97 #define K_AUX18 224 98 #define K_AUX19 225 99 #define K_AUX20 226 100 #define K_AUX21 227 101 #define K_AUX22 228 102 #define K_AUX23 229 103 #define K_AUX24 230 104 #define K_AUX25 231 105 #define K_AUX26 232 106 #define K_AUX27 233 107 #define K_AUX28 234 108 #define K_AUX29 235 109 #define K_AUX30 236 110 #define K_AUX31 237 111 #define K_AUX32 238 112 113 // JACK: Intellimouse(c) Mouse Wheel Support 114 115 #define K_MWHEELUP 239 116 #define K_MWHEELDOWN 240 117 118 119 120 typedef enum {key_game, key_console, key_message, key_menu, keydest_t_max = 1 << 30} keydest_t; 121 122 extern keydest_t key_dest; 123 extern char *keybindings[256]; 124 extern int key_repeats[256]; 125 extern int key_count; // incremented every key event 126 extern int key_lastpress; 127 128 void Key_Event (int key, qboolean down); 129 void Key_Init (void); 130 void Key_WriteBindings (FILE *f); 131 void Key_SetBinding (int keynum, const char *binding); 132 void Key_ClearStates (void); 133 134