X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fdarkplaces.git;a=blobdiff_plain;f=keys.h;h=37141c0b3e1255f1e162981fb4cdc8068d48a303;hp=b8749341cee363f71f7ebed42354010fb248b0da;hb=a9c3e6c6de167cb7c9b7f1d2a793318809b2b9d9;hpb=d55f3b7207f13383b2573fd9826cc08f5f3c9e11 diff --git a/keys.h b/keys.h index b8749341..37141c0b 100644 --- a/keys.h +++ b/keys.h @@ -8,7 +8,7 @@ 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. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. @@ -18,143 +18,142 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifndef KEYS_H +#define KEYS_H + +// // 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 -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_CAPSLOCK, - K_PRNTSCR, - K_SCRLCK, - K_PAUSE, - - 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, - - - // Keypad stuff.. - - KP_NUMLCK, - KP_DIVIDE, - KP_MULTIPLY, - - KP_HOME, - KP_UPARROW, - KP_PGUP, - KP_MINUS, - - KP_LEFTARROW, - KP_5, - KP_RIGHTARROW, - KP_PLUS, - - KP_END, - KP_DOWNARROW, - KP_PGDN, - - - KP_INS, - KP_DEL, - KP_ENTER, - - // mouse buttons generate virtual keys - K_MOUSE1 = 200, - K_MOUSE2, - K_MOUSE3, - - // 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, - - // JACK: Intellimouse(c) Mouse Wheel Support - - K_MWHEELUP, - K_MWHEELDOWN -} keynum_t; - - -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; +extern int key_repeats[256]; + +extern char chat_buffer[256]; +extern int chat_bufferlen; +extern qboolean chat_team; + +typedef enum {key_game, key_message, key_menu} keydest_t; + +// key_consoleactive bits +// user wants console (halfscreen) +#define KEY_CONSOLEACTIVE_USER 1 +// console forced because there's nothing else active (fullscreen) +#define KEY_CONSOLEACTIVE_FORCED 2 +extern int key_consoleactive; +extern keydest_t key_dest; void Key_Event (int key, qboolean down); void Key_Init (void); -void Key_WriteBindings (FILE *f); +void Key_WriteBindings (qfile_t *f); void Key_SetBinding (int keynum, char *binding); void Key_ClearStates (void); +#endif +