From 7e89857e908f3e04fb9da9d3ffcc4cfed118d5ad Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 8 Jan 2014 11:39:49 +0300 Subject: fix named input actions in gui before logging into game. --- src/client.cpp | 4 ++++ src/game.cpp | 3 --- src/input/inputmanager.cpp | 2 ++ 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/client.cpp b/src/client.cpp index 2eae9565f..7c7b1e016 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -413,6 +413,10 @@ void Client::gameInit() Joystick::init(); createWindows(); + keyboard.update(); + if (joystick) + joystick->update(); + // Initialize default server mCurrentServer.hostname = mOptions.serverName; mCurrentServer.port = mOptions.serverPort; diff --git a/src/game.cpp b/src/game.cpp index d17407b51..eada32f45 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -807,9 +807,6 @@ void Game::handleMove() && chatWindow && !chatWindow->isInputFocused() && !InventoryWindow::isAnyInputFocused() && !quitDialog) { - // Get the state of the keyboard keys - keyboard.refreshActiveKeys(); - // Ignore input if either "ignore" key is pressed // Stops the character moving about if the user's window manager // uses "ignore+arrow key" to switch virtual desktops. diff --git a/src/input/inputmanager.cpp b/src/input/inputmanager.cpp index c0d3a1d0f..2bc0786fb 100644 --- a/src/input/inputmanager.cpp +++ b/src/input/inputmanager.cpp @@ -524,6 +524,7 @@ bool InputManager::handleEvent(const SDL_Event &event) { case SDL_KEYDOWN: { + keyboard.refreshActiveKeys(); updateConditionMask(); if (handleAssignKey(event, INPUT_KEYBOARD)) return true; @@ -551,6 +552,7 @@ bool InputManager::handleEvent(const SDL_Event &event) } case SDL_KEYUP: { + keyboard.refreshActiveKeys(); updateConditionMask(); keyboard.handleDeActicateKey(event); break; -- cgit v1.2.3-60-g2f50