diff options
author | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2008-08-28 22:05:34 +0000 |
---|---|---|
committer | tma <tma@edf5b092-35ff-0310-97b2-ce42778d08ea> | 2008-08-28 22:05:34 +0000 |
commit | 02b546e4c58833721921273e8bf482251cd91a98 (patch) | |
tree | a7a8b9a00a14171ba29f9cb615c6d9fa51ec37a6 /code/client | |
parent | 6ab5f951ce4b57ab2dd53732fc93d72d7bc085c4 (diff) | |
download | ioquake3-aero-02b546e4c58833721921273e8bf482251cd91a98.tar.gz ioquake3-aero-02b546e4c58833721921273e8bf482251cd91a98.zip |
* Revert 'Handle dead keys more gracefully by taking a "best guess" rather than
ignoring completely' from r1459; it can't ever work acceptably, especially on
azerty/qwertz layouts
* Make the ordering of the output from in_keyboardDebug more sensible
* Add cl_consoleKeys cvar, a space delimited list of key names or characters
that toggle the console
git-svn-id: svn://svn.icculus.org/quake3/trunk@1461 edf5b092-35ff-0310-97b2-ce42778d08ea
Diffstat (limited to 'code/client')
-rw-r--r-- | code/client/cl_keys.c | 7 | ||||
-rw-r--r-- | code/client/cl_main.c | 5 | ||||
-rw-r--r-- | code/client/client.h | 3 | ||||
-rw-r--r-- | code/client/keycodes.h | 3 |
4 files changed, 12 insertions, 6 deletions
diff --git a/code/client/cl_keys.c b/code/client/cl_keys.c index b7fb2fa..fea1b74 100644 --- a/code/client/cl_keys.c +++ b/code/client/cl_keys.c @@ -1172,7 +1172,7 @@ void CL_KeyEvent (int key, qboolean down, unsigned time) { } // console key is hardcoded, so the user can never unbind it - if (key == '`' || key == '~' || + if (key == K_CONSOLE || ( key == K_ESCAPE && keys[K_SHIFT].down ) ) { if (!down) { return; @@ -1315,11 +1315,6 @@ Normal keyboard characters, already shifted / capslocked / etc =================== */ void CL_CharEvent( int key ) { - // the console key should never be used as a char - if ( key == '`' || key == '~' ) { - return; - } - // delete is not a printable character and is // otherwise handled by Field_KeyDownEvent if ( key == 127 ) { diff --git a/code/client/cl_main.c b/code/client/cl_main.c index 98686ad..45f884f 100644 --- a/code/client/cl_main.c +++ b/code/client/cl_main.c @@ -96,6 +96,8 @@ cvar_t *cl_lanForcePackets; cvar_t *cl_guidServerUniq; +cvar_t *cl_consoleKeys; + clientActive_t cl; clientConnection_t clc; clientStatic_t cls; @@ -3065,6 +3067,9 @@ void CL_Init( void ) { cl_guidServerUniq = Cvar_Get ("cl_guidServerUniq", "1", CVAR_ARCHIVE); + // 0x7e = ~ and 0x60 = ` + cl_consoleKeys = Cvar_Get( "cl_consoleKeys", "0x7e 0x60", CVAR_ARCHIVE); + // userinfo Cvar_Get ("name", "UnnamedPlayer", CVAR_USERINFO | CVAR_ARCHIVE ); Cvar_Get ("rate", "3000", CVAR_USERINFO | CVAR_ARCHIVE ); diff --git a/code/client/client.h b/code/client/client.h index aa4e389..5ee30c2 100644 --- a/code/client/client.h +++ b/code/client/client.h @@ -401,6 +401,8 @@ extern cvar_t *cl_inGameVideo; extern cvar_t *cl_lanForcePackets; extern cvar_t *cl_autoRecordDemo; +extern cvar_t *cl_consoleKeys; + #ifdef USE_MUMBLE extern cvar_t *cl_useMumble; extern cvar_t *cl_mumbleScale; @@ -489,6 +491,7 @@ void IN_CenterView (void); void CL_VerifyCode( void ); float CL_KeyState (kbutton_t *key); +int Key_StringToKeynum( char *str ); char *Key_KeynumToString (int keynum); // diff --git a/code/client/keycodes.h b/code/client/keycodes.h index c6e6412..706ca1b 100644 --- a/code/client/keycodes.h +++ b/code/client/keycodes.h @@ -260,6 +260,9 @@ typedef enum { K_EURO, K_UNDO, + // Pseudo-key that brings the console down + K_CONSOLE, + MAX_KEYS } keyNum_t; |