diff --git a/src/frontend-common/common_host_interface.cpp b/src/frontend-common/common_host_interface.cpp index a9a676ea3..05002d843 100644 --- a/src/frontend-common/common_host_interface.cpp +++ b/src/frontend-common/common_host_interface.cpp @@ -35,6 +35,7 @@ #include #include #include +#include "fullscreen_ui.h" #ifdef WITH_SDL2 #include "sdl_audio_stream.h" @@ -54,6 +55,7 @@ #include #include #endif +#include Log_SetChannel(CommonHostInterface); @@ -1869,6 +1871,17 @@ void CommonHostInterface::RegisterGeneralHotkeys() SaveScreenshot(); }); + RegisterHotkey(StaticString(TRANSLATABLE("Hotkeys", "General")), StaticString("ChangeDisc"), + StaticString(TRANSLATABLE("Hotkeys", "ChangeDisc")), [this](bool pressed) { + if (pressed && System::IsValid()) + { + int current = System::GetMediaSubImageIndex(); + int next = (current + 1) % System::GetMediaSubImageCount(); + if (current != next) + System::SwitchMediaSubImage(static_cast(next)); + } + }); + RegisterHotkey(StaticString(TRANSLATABLE("Hotkeys", "General")), StaticString("FrameStep"), StaticString(TRANSLATABLE("Hotkeys", "Frame Step")), [this](bool pressed) { if (pressed && System::IsValid()) @@ -2550,6 +2563,7 @@ void CommonHostInterface::SetDefaultSettings(SettingsInterface& si) si.SetStringValue("Hotkeys", "IncreaseResolutionScale", "Keyboard/PageUp"); si.SetStringValue("Hotkeys", "DecreaseResolutionScale", "Keyboard/PageDown"); si.SetStringValue("Hotkeys", "ToggleSoftwareRendering", "Keyboard/End"); + si.SetStringValue("Hotkeys", "ChangeDisc", "Keyboard/F8"); si.SetStringValue("Main", "ControllerBackend", ControllerInterface::GetBackendName(ControllerInterface::GetDefaultBackend()));