From 13d02c14e0fd42a6e421df2916e6d576a74ff3c3 Mon Sep 17 00:00:00 2001 From: Steveice10 <1269164+Steveice10@users.noreply.github.com> Date: Fri, 10 Nov 2023 13:14:40 -0800 Subject: [PATCH] input_common: Set SDL hints to enable DualShock 4 / DualSense motion. (#7121) --- src/input_common/sdl/sdl_impl.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/input_common/sdl/sdl_impl.cpp b/src/input_common/sdl/sdl_impl.cpp index f110819be8..1e6d105d92 100644 --- a/src/input_common/sdl/sdl_impl.cpp +++ b/src/input_common/sdl/sdl_impl.cpp @@ -835,6 +835,19 @@ SDLState::SDLState() { #endif #endif + // Prevent SDL from adding undesired axis +#ifdef SDL_HINT_ACCELEROMETER_AS_JOYSTICK + SDL_SetHint(SDL_HINT_ACCELEROMETER_AS_JOYSTICK, "0"); +#endif + + // Enable HIDAPI rumble. This prevents SDL from disabling motion on PS4 and PS5 controllers +#ifdef SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE + SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS4_RUMBLE, "1"); +#endif +#ifdef SDL_HINT_JOYSTICK_HIDAPI_PS5_RUMBLE + SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS5_RUMBLE, "1"); +#endif + SDL_AddEventWatch(&SDLEventWatcher, this); initialized = true;