summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2025-09-27 02:44:20 -0500
committerJordan Woyak <jordan.woyak@gmail.com>2025-09-30 03:13:52 -0500
commitc11132d2a602a3efe1a63aa4ebdbe6569d199189 (patch)
treed85513cb76eafd3091332380fc9454b55395b5f9 /Source/Core/InputCommon/ControllerInterface
parent956f6cfbd263498136ccaa573484a954d4eaf983 (diff)
SDL: Disable DirectInput handling to work around hangs with the "8BitDo Ultimate 2" controller.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
index f530c98730..2778066084 100644
--- a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp
@@ -139,6 +139,12 @@ InputBackend::InputBackend(ControllerInterface* controller_interface)
// Disable DualSense Player LEDs; We already colorize the Primary LED
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS5_PLAYER_LED, "0");
+ // Disabling DirectInput support apparently solves hangs on shutdown for users with
+ // "8BitDo Ultimate 2" controllers.
+ // It also works around a possibly related random hang on a IDirectInputDevice8_Acquire
+ // call within SDL.
+ SDL_SetHint(SDL_HINT_JOYSTICK_DIRECTINPUT, "0");
+
m_hotplug_thread = std::thread([this] {
Common::SetCurrentThreadName("SDL Hotplug Thread");