From 04274b18842364d715b61ac4b8fdeddb26a4b8b8 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Fri, 1 May 2026 21:53:48 -0600 Subject: [PATCH] Make RmlUi F1, ImGui Shift+F1 --- extern/aurora | 2 +- src/dusk/imgui/ImGuiConsole.cpp | 5 ++++- src/dusk/ui/document.cpp | 2 +- src/dusk/ui/input.cpp | 10 +++++----- src/dusk/ui/popup.cpp | 2 +- src/dusk/ui/ui.cpp | 4 ++-- 6 files changed, 14 insertions(+), 11 deletions(-) diff --git a/extern/aurora b/extern/aurora index 222545580e..1119435dd1 160000 --- a/extern/aurora +++ b/extern/aurora @@ -1 +1 @@ -Subproject commit 222545580e90d4d18d5fc6011170d33a4a368127 +Subproject commit 1119435dd1bbd28c43941f4b5f9b51e24a8a1146 diff --git a/src/dusk/imgui/ImGuiConsole.cpp b/src/dusk/imgui/ImGuiConsole.cpp index 6bca83482e..bef9c26cab 100644 --- a/src/dusk/imgui/ImGuiConsole.cpp +++ b/src/dusk/imgui/ImGuiConsole.cpp @@ -329,7 +329,10 @@ namespace dusk { } m_isHidden = !getSettings().backend.duskMenuOpen; - bool showMenu = !dusk::IsGameLaunched || !CheckMenuViewToggle(ImGuiKey_F1, m_isHidden); + if (ImGui::GetIO().KeyShift && ImGui::IsKeyPressed(ImGuiKey_F1)) { + m_isHidden = !m_isHidden; + } + bool showMenu = !dusk::IsGameLaunched || !m_isHidden; if (dusk::IsGameLaunched) { const bool menuOpen = !m_isHidden; if (getSettings().backend.duskMenuOpen != menuOpen) { diff --git a/src/dusk/ui/document.cpp b/src/dusk/ui/document.cpp index 683d495d41..ad589d47cf 100644 --- a/src/dusk/ui/document.cpp +++ b/src/dusk/ui/document.cpp @@ -23,7 +23,7 @@ Document::Document(const Rml::String& source) : mDocument(load_document(source)) [this](Rml::Event& event) { const auto cmd = map_nav_event(event); if (cmd != NavCommand::Menu && !visible()) { - event.StopPropagation(); + event.StopImmediatePropagation(); } }, true); diff --git a/src/dusk/ui/input.cpp b/src/dusk/ui/input.cpp index 8ed17bc877..891887f4bb 100644 --- a/src/dusk/ui/input.cpp +++ b/src/dusk/ui/input.cpp @@ -158,7 +158,7 @@ Rml::Input::KeyIdentifier map_raw_gamepad_button(SDL_GamepadButton button) noexc case SDL_GAMEPAD_BUTTON_SOUTH: return Rml::Input::KI_RETURN; case SDL_GAMEPAD_BUTTON_BACK: - return Rml::Input::KI_PAUSE; + return Rml::Input::KI_F1; case SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER: return Rml::Input::KI_NEXT; case SDL_GAMEPAD_BUTTON_LEFT_SHOULDER: @@ -171,7 +171,7 @@ Rml::Input::KeyIdentifier map_raw_gamepad_button(SDL_GamepadButton button) noexc Rml::Input::KeyIdentifier map_raw_button_alias(SDL_GamepadButton button) noexcept { switch (button) { case SDL_GAMEPAD_BUTTON_BACK: - return Rml::Input::KI_PAUSE; + return Rml::Input::KI_F1; case SDL_GAMEPAD_BUTTON_RIGHT_SHOULDER: return Rml::Input::KI_NEXT; case SDL_GAMEPAD_BUTTON_LEFT_SHOULDER: @@ -274,7 +274,7 @@ bool find_event_pad_button( Rml::Input::KeyIdentifier map_gamepad_button(const SDL_GamepadButtonEvent& event) noexcept { const auto nativeButton = static_cast(event.button); if (nativeButton == SDL_GAMEPAD_BUTTON_BACK) { - return Rml::Input::KI_PAUSE; + return Rml::Input::KI_F1; } u32 port = 0; @@ -458,7 +458,7 @@ void process_axis_direction( if (chorded) { consume_menu_chord(port, context); } - const auto key = chorded ? Rml::Input::KI_PAUSE : map_gamepad_axis(event, sign); + const auto key = chorded ? Rml::Input::KI_F1 : map_gamepad_axis(event, sign); if (key == Rml::Input::KI_UNKNOWN) { return; } @@ -532,7 +532,7 @@ void handle_event(const SDL_Event& event) noexcept { if (chorded) { consume_menu_chord(port, *context); } - const auto key = chorded ? Rml::Input::KI_PAUSE : map_gamepad_button(event.gbutton); + const auto key = chorded ? Rml::Input::KI_F1 : map_gamepad_button(event.gbutton); if (key != Rml::Input::KI_UNKNOWN) { bool deferred = false; if (repeat != nullptr) { diff --git a/src/dusk/ui/popup.cpp b/src/dusk/ui/popup.cpp index d80bf6c6c9..373b51c630 100644 --- a/src/dusk/ui/popup.cpp +++ b/src/dusk/ui/popup.cpp @@ -81,7 +81,7 @@ bool Popup::visible() const { bool Popup::handle_nav_command(Rml::Event& event, NavCommand cmd) { if (cmd == NavCommand::Cancel) { - toggle(); + hide(); return true; } return Document::handle_nav_command(event, cmd); diff --git a/src/dusk/ui/ui.cpp b/src/dusk/ui/ui.cpp index e10323370c..932ac0ac4b 100644 --- a/src/dusk/ui/ui.cpp +++ b/src/dusk/ui/ui.cpp @@ -167,8 +167,8 @@ NavCommand map_nav_event(const Rml::Event& event) noexcept { return NavCommand::Cancel; case Rml::Input::KeyIdentifier::KI_RETURN: return NavCommand::Confirm; - case Rml::Input::KeyIdentifier::KI_PAUSE: - return NavCommand::Menu; + case Rml::Input::KeyIdentifier::KI_F1: + return event.GetParameter("shift_key", 0) ? NavCommand::None : NavCommand::Menu; case Rml::Input::KeyIdentifier::KI_NEXT: return NavCommand::Next; case Rml::Input::KeyIdentifier::KI_PRIOR: