diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client.cpp | 4 | ||||
-rw-r--r-- | src/game.cpp | 3 | ||||
-rw-r--r-- | 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; |