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.
*/
+#ifndef KEYS_H
+#define KEYS_H
+
//
// these are the key numbers that should be passed to Key_Event
//
#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
//
#define K_AUX31 237
#define K_AUX32 238
-// JACK: Intellimouse(c) Mouse Wheel Support
-
-#define K_MWHEELUP 239
-#define K_MWHEELDOWN 240
+#define K_MWHEELDOWN 239
+#define K_MWHEELUP 240
+extern char *keybindings[256];
+extern int key_repeats[256];
+extern char chat_buffer[256];
+extern int chat_bufferlen;
+extern qboolean chat_team;
-typedef enum {key_game, key_console, key_message, key_menu} keydest_t;
+typedef enum {key_game, 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;
+// 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 *f);
void Key_SetBinding (int keynum, char *binding);
void Key_ClearStates (void);
+#endif
+