Merge pull request #5123 from vitor-k/disable-hidapi

SDL: Disable hidapi drivers due to compatibility problems with certain controllers
This commit is contained in:
Marshall Mohror 2020-04-03 23:23:03 -05:00 committed by GitHub
commit 3b1b8b7e1f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 2 deletions

View file

@ -144,7 +144,7 @@ if (ENABLE_SDL2)
if (CITRA_USE_BUNDLED_SDL2) if (CITRA_USE_BUNDLED_SDL2)
# Detect toolchain and platform # Detect toolchain and platform
if ((MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1930) AND ARCHITECTURE_x86_64) if ((MSVC_VERSION GREATER_EQUAL 1910 AND MSVC_VERSION LESS 1930) AND ARCHITECTURE_x86_64)
set(SDL2_VER "SDL2-2.0.8") set(SDL2_VER "SDL2-2.0.10")
else() else()
message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable CITRA_USE_BUNDLED_SDL2 and provide your own.") message(FATAL_ERROR "No bundled SDL2 binaries for your toolchain. Disable CITRA_USE_BUNDLED_SDL2 and provide your own.")
endif() endif()

View file

@ -27,7 +27,7 @@ install:
- ps: | - ps: |
if ($env:BUILD_TYPE -eq 'mingw') { if ($env:BUILD_TYPE -eq 'mingw') {
$dependencies = "mingw64/mingw-w64-x86_64-cmake mingw64/mingw-w64-x86_64-qt5 mingw64/mingw-w64-x86_64-ffmpeg" $dependencies = "mingw64/mingw-w64-x86_64-cmake mingw64/mingw-w64-x86_64-qt5 mingw64/mingw-w64-x86_64-ffmpeg"
C:\msys64\usr\bin\bash -lc "pacman --noconfirm -U http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-SDL2-2.0.5-2-any.pkg.tar.xz" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -U http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-SDL2-2.0.10-1-any.pkg.tar.xz"
C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S $dependencies" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -S $dependencies"
# (HACK) ignore errors # (HACK) ignore errors
0 0

View file

@ -472,6 +472,14 @@ SDLState::SDLState() {
if (SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, "1") == SDL_FALSE) { if (SDL_SetHint(SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS, "1") == SDL_FALSE) {
LOG_ERROR(Input, "Failed to set Hint for background events", SDL_GetError()); LOG_ERROR(Input, "Failed to set Hint for background events", SDL_GetError());
} }
// these hints are only defined on sdl2.0.9 or higher
#if SDL_VERSION_ATLEAST(2, 0, 9)
// This can be set back to 1 when the compatibility problems with the controllers are
// solved. There are also hints to toggle the individual drivers.
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI, "0");
// This hint should probably stay as "0" as long as the hidapi PS4 led issue isn't fixed
SDL_SetHint(SDL_HINT_JOYSTICK_HIDAPI_PS4, "0");
#endif
SDL_AddEventWatch(&SDLEventWatcher, this); SDL_AddEventWatch(&SDLEventWatcher, this);