X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=keys.h;h=7b13635dbd503d75e96d1b1588b1816526cede24;hb=6ce160b295951e6e0336f8ea06a72fddcd86f1fb;hp=b8eb9dfbcc542f58ea7e00d08fad59ef222864d8;hpb=a9786962ae7078339dabc99b92befe9c8c4caf0b;p=xonotic%2Fdarkplaces.git diff --git a/keys.h b/keys.h index b8eb9dfb..7b13635d 100644 --- a/keys.h +++ b/keys.h @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to: - + Free Software Foundation, Inc. 59 Temple Place - Suite 330 Boston, MA 02111-1307, USA @@ -32,7 +32,8 @@ // // these are the key numbers that should be passed to Key_Event // -extern enum { +typedef enum keynum_e +{ K_TAB = 9, K_ENTER = 13, K_ESCAPE = 27, @@ -49,6 +50,7 @@ extern enum { K_ALT, K_CTRL, K_SHIFT, + K_F1, K_F2, K_F3, @@ -61,6 +63,7 @@ extern enum { K_F10, K_F11, K_F12, + K_INS, K_DEL, K_PGDN, @@ -106,12 +109,13 @@ extern enum { // mouse buttons generate virtual keys K_MOUSE1 = 512, + K_OTHERDEVICESBEGIN = K_MOUSE1, K_MOUSE2, K_MOUSE3, + K_MWHEELUP, + K_MWHEELDOWN, K_MOUSE4, - K_MWHEELUP = K_MOUSE4, K_MOUSE5, - K_MWHEELDOWN = K_MOUSE5, K_MOUSE6, K_MOUSE7, K_MOUSE8, @@ -181,27 +185,32 @@ extern enum { K_AUX31, K_AUX32, -} keynum_t; +} +keynum_t; -typedef enum { key_game, key_message, key_menu } keydest_t; - -extern char *keybindings[8][1024]; -extern char key_lines[32][256]; -extern int key_linepos; -extern int edit_line; -extern int history_line; -extern void Key_ClearEditLine(int edit_line); -extern qboolean chat_team; -extern char chat_buffer[256]; -extern unsigned int chat_bufferlen; +typedef enum keydest_e { key_game, key_message, key_menu, key_menu_grabbed } keydest_t; +#define MAX_INPUTLINES 32 +#define MAX_BINDMAPS 8 +#define MAX_KEYS 1024 +extern int edit_line; +extern int history_line; +extern char key_lines[MAX_INPUTLINES][MAX_INPUTLINE]; +extern int key_linepos; +extern qboolean key_insert; // insert key toggle (for editing) +extern keydest_t key_dest; // 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 4 -extern int key_consoleactive; -extern keydest_t key_dest; +extern int key_consoleactive; +extern char *keybindings[MAX_BINDMAPS][MAX_KEYS]; + +extern void Key_ClearEditLine(int edit_line); +extern qboolean chat_team; +extern char chat_buffer[MAX_INPUTLINE]; +extern unsigned int chat_bufferlen; void Key_WriteBindings(qfile_t *f); void Key_Init(void);