From 1d9de8544a6fcfc063a0a2cebd455419b499be17 Mon Sep 17 00:00:00 2001 From: aMannus Date: Sun, 22 Mar 2026 17:44:24 +0100 Subject: [PATCH] Implement toggle for allowing background inputs (#6214) --- libultraship | 2 +- soh/soh/SohGui/SohMenuSettings.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/libultraship b/libultraship index 61bf1fbe9..956f10821 160000 --- a/libultraship +++ b/libultraship @@ -1 +1 @@ -Subproject commit 61bf1fbe9fceb032eba3c3cf61f93ca4065fa78a +Subproject commit 956f1082122f219d536c20483df89469f4b807dc diff --git a/soh/soh/SohGui/SohMenuSettings.cpp b/soh/soh/SohGui/SohMenuSettings.cpp index 14add6cb0..b11dc01ce 100644 --- a/soh/soh/SohGui/SohMenuSettings.cpp +++ b/soh/soh/SohGui/SohMenuSettings.cpp @@ -145,6 +145,17 @@ void SohMenu::AddMenuSettings() { "Allows controller navigation of the port menu (Settings, Enhancements,...)\nCAUTION: " "This will disable game inputs while the menu is visible.\n\nD-pad to move between " "items, A to select, B to move up in scope.")); + AddWidget(path, "Allow background inputs", WIDGET_CVAR_CHECKBOX) + .CVar(CVAR_ALLOW_BACKGROUND_INPUTS) + .RaceDisable(false) + .Callback([](WidgetInfo& info) { + SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, + CVarGetInteger(CVAR_ALLOW_BACKGROUND_INPUTS, 1) ? "1" : "0"); + }) + .Options(CheckboxOptions() + .Tooltip("Allows controller inputs to be picked up by the game even when the game window isn't " + "the focused window.") + .DefaultValue(1)); AddWidget(path, "Menu Background Opacity", WIDGET_CVAR_SLIDER_FLOAT) .CVar(CVAR_SETTING("Menu.BackgroundOpacity")) .RaceDisable(false)