diff --git a/src/core/imgui_overlays.cpp b/src/core/imgui_overlays.cpp index f1ebd0114..8327969dc 100644 --- a/src/core/imgui_overlays.cpp +++ b/src/core/imgui_overlays.cpp @@ -1107,7 +1107,15 @@ void SaveStateSelectorUI::Draw() // auto-close s_open_time += io.DeltaTime; if (s_open_time >= s_close_time) + { Close(); + } + else if (ImGui::IsKeyPressed(ImGuiKey_Escape)) + { + // Need to cancel the hotkey bindings, otherwise the pause menu will open. + InputManager::ClearBindStateFromSource(InputManager::MakeHostKeyboardKey(0)); + Close(); + } } s32 SaveStateSelectorUI::GetCurrentSlot() diff --git a/src/util/input_manager.cpp b/src/util/input_manager.cpp index 4c17cee8c..c98c2815c 100644 --- a/src/util/input_manager.cpp +++ b/src/util/input_manager.cpp @@ -1142,7 +1142,7 @@ void InputManager::ClearBindStateFromSource(InputBindingKey key) if (current_mask == binding->full_mask) { - std::get(binding->handler)(0); + std::get(binding->handler)(-1); matched = true; break; }