diff --git a/src/ui/game_screen.cpp b/src/ui/game_screen.cpp index f9108e1a..6c4f8f52 100644 --- a/src/ui/game_screen.cpp +++ b/src/ui/game_screen.cpp @@ -2288,7 +2288,7 @@ void GameScreen::processTargetInput(game::GameHandler& gameHandler) { refocusChatInput = true; } - const bool textFocus = chatInputActive || refocusChatInput || io.WantTextInput || io.WantCaptureKeyboard; + const bool textFocus = chatInputActive || refocusChatInput || io.WantTextInput; // Tab targeting (when keyboard not captured by UI) if (!io.WantCaptureKeyboard) { diff --git a/src/ui/keybinding_manager.cpp b/src/ui/keybinding_manager.cpp index ca2a6cd5..a96a040e 100644 --- a/src/ui/keybinding_manager.cpp +++ b/src/ui/keybinding_manager.cpp @@ -47,9 +47,7 @@ bool KeybindingManager::isActionPressed(Action action, bool repeat) { // When typing in a text field (e.g. chat input), never treat A-Z or 0-9 as shortcuts. const ImGuiIO& io = ImGui::GetIO(); - // Note: WantTextInput may not be set until the text widget is processed later in the - // frame, but WantCaptureKeyboard remains true while an ImGui widget is active. - if (io.WantTextInput || io.WantCaptureKeyboard) { + if (io.WantTextInput) { if ((key >= ImGuiKey_A && key <= ImGuiKey_Z) || (key >= ImGuiKey_0 && key <= ImGuiKey_9)) { return false;