Compare commits

...

7 Commits

Author SHA1 Message Date
Jordan Woyak
cd84d58a1a Merge pull request #13982 from jordan-woyak/sdl-disable-dinput
SDL: Disable DirectInput handling to work around hangs on shutdown.
2025-10-02 03:21:33 -05:00
Jordan Woyak
3dc078c7e2 Merge pull request #13684 from JoshuaVandaele/discordrpc-cmake4
discord-rpc: Bump CMake minimum requirement
2025-10-02 03:20:02 -05:00
Jordan Woyak
4a677445cc Merge pull request #13972 from cscd98/libusb-update
Update libusb submodule to v1.0.29
2025-10-02 03:18:51 -05:00
Joshua Vandaële
ce860ab43d discord-rpc: Bump CMake minimum requirement 2025-10-02 07:55:06 +02:00
Jordan Woyak
c11132d2a6 SDL: Disable DirectInput handling to work around hangs with the "8BitDo Ultimate 2" controller. 2025-09-30 03:13:52 -05:00
Jordan Woyak
956f6cfbd2 SDL: Name the hotplug thread. 2025-09-30 03:04:58 -05:00
Craig Carnell
f3529971ee Update libusb submodule to v1.0.29 2025-09-29 14:15:55 +01:00
3 changed files with 11 additions and 2 deletions

View File

@@ -1,4 +1,4 @@
cmake_minimum_required (VERSION 3.2.0)
cmake_minimum_required (VERSION 3.2.0...4.1.1)
project (DiscordRPC)
include(GNUInstallDirs)

View File

@@ -16,6 +16,7 @@
#include "Common/Event.h"
#include "Common/Logging/Log.h"
#include "Common/ScopeGuard.h"
#include "Common/Thread.h"
#include "InputCommon/ControllerInterface/ControllerInterface.h"
#include "InputCommon/ControllerInterface/SDL/SDLGamepad.h"
@@ -138,7 +139,15 @@ 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");
Common::ScopeGuard quit_guard([] {
// TODO: there seems to be some sort of memory leak with SDL, quit isn't freeing everything up
SDL_Quit();