diff --git a/src/backends/sdl/input.c b/src/backends/sdl/input.c index ccefc49c..9d4b94b4 100644 --- a/src/backends/sdl/input.c +++ b/src/backends/sdl/input.c @@ -148,18 +148,7 @@ IN_TranslateSDLtoQ2Key(unsigned int keysym) key = K_UPARROW; break; case SDLK_ESCAPE: - /* Make Shift+Escape toggle the console. This - really belongs in Key_Event(), but since - Key_ClearStates() can mess up the internal - K_SHIFT state let's do it here instead. */ - if (KeyStates[SDLK_LSHIFT] || KeyStates[SDLK_RSHIFT]) - { - key = '~'; - } - else - { - key = K_ESCAPE; - } + key = K_ESCAPE; break; case SDLK_KP_ENTER: key = K_KP_ENTER; @@ -383,6 +372,19 @@ IN_GetEvent(SDL_Event *event) break; } + /* Make Shift+Escape toggle the console. This + really belongs in Key_Event(), but since + Key_ClearStates() can mess up the internal + K_SHIFT state let's do it here instead. */ + if ((KeyStates[SDLK_LSHIFT] || + KeyStates[SDLK_RSHIFT]) && + (event->key.keysym.sym == SDLK_ESCAPE)) + { + ri.Cmd_ExecuteText(EXEC_NOW, "toggleconsole"); + + break; + } + KeyStates[event->key.keysym.sym] = 1; /* Get the pressed key and add it to the key list */