]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - keys.c
Manage resetting the key event state on video reinitialization centrally.
[xonotic/darkplaces.git] / keys.c
diff --git a/keys.c b/keys.c
index 6022f6bbfe175880eb4b0ada5510eeb784c82daf..2f91c06c453c59907d1a75266ea5ea8c9d3656c8 100644 (file)
--- a/keys.c
+++ b/keys.c
@@ -1198,7 +1198,7 @@ static void
 Key_Message (int key, int ascii)
 {
        char vabuf[1024];
-       if (key == K_ENTER || ascii == 10 || ascii == 13)
+       if (key == K_ENTER || key == K_KP_ENTER || ascii == 10 || ascii == 13)
        {
                if(chat_mode < 0)
                        Cmd_ExecuteString(chat_buffer, src_command, true); // not Cbuf_AddText to allow semiclons in args; however, this allows no variables then. Use aliases!
@@ -1917,7 +1917,7 @@ Key_Event (int key, int ascii, qboolean down)
        {
                if (down && con_closeontoggleconsole.integer && bind && !strncmp(bind, "toggleconsole", strlen("toggleconsole")) && ascii != STRING_COLOR_TAG)
                {
-                       Con_ToggleConsole_f ();
+                       Cbuf_AddText("toggleconsole\n");  // Deferred to next frame so we're not sending the text event to the console.
                        tbl_keydest[key] = key_void; // key release should go nowhere (especially not to key_menu or key_game)
                        return;
                }
@@ -1989,14 +1989,3 @@ Key_ReleaseAll (void)
        // now all keys are guaranteed down (once the event queue is unblocked)
        // and only future events count
 }
-
-/*
-===================
-Key_ClearStates
-===================
-*/
-void
-Key_ClearStates (void)
-{
-       memset(keydown, 0, sizeof(keydown));
-}