/* 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); qboolean Key_MouseMoveEvent( int x, int y, qboolean relative );