#include "../ui/keycodes.h" #define MAX_KEYS 256 typedef struct { qboolean down; int repeats; // if > 1, it is autorepeating char *binding; } qkey_t; extern qboolean key_overstrikeMode; extern qkey_t keys[MAX_KEYS]; #define MAX_EDIT_LINE 256 typedef struct { int cursor; int scroll; int widthInChars; char buffer[MAX_EDIT_LINE]; } field_t; void Field_Clear( field_t *edit ); void Field_KeyDownEvent( field_t *edit, int key ); void Field_CharEvent( field_t *edit, int ch ); void Field_Draw( field_t *edit, int x, int y, int width, qboolean showCursor ); void Field_BigDraw( field_t *edit, int x, int y, int width, qboolean showCursor ); #define COMMAND_HISTORY 32 extern field_t historyEditLines[COMMAND_HISTORY]; extern field_t g_consoleField; extern field_t chatField; extern qboolean anykeydown; extern qboolean chat_team; extern int chat_playerNum; void Key_WriteBindings( fileHandle_t f ); void Key_SetBinding( int keynum, const char *binding ); char *Key_GetBinding( int keynum ); qboolean Key_IsDown( int keynum ); qboolean Key_GetOverstrikeMode( void ); void Key_SetOverstrikeMode( qboolean state ); void Key_ClearStates( void ); int Key_GetKey(const char *binding);