Skip to content

Additional HIDAPI Joystick driver support (Nintendo Switch, Steam Deck/Controller Device) #1576

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

AL2009man
Copy link
Contributor

@AL2009man AL2009man commented Apr 29, 2025

note: this PR requires #1449.

I originally planned to reserve it for the Input Remapper update, but ultimately, I decided to prepare for Nintendo Switch controller support in advance. This might assist on attempting to solve #1534

So, this PR adds missing major Controller Types to the list, such as:

  • Nintendo Switch family of controllers like Switch Pro and Joy-Cons (this includes Nintendo Switch Online controllers)
    • Joy-Cons users: it's Pair only for now, if it weren't for the Werehog stages...
  • Steam Controller
    • as per SDL Hint documents: it primarily works on Bluetooth only, you might wanna unbind the Desktop config for it to work.
  • Steam Deck (built-in)

added HIDAPI Joystick driver for major Controller Types:

* Nintendo Switch controllers (`SDL_HINT_JOYSTICK_HIDAPI_SWITCH`, `SDL_HINT_JOYSTICK_HIDAPI_NINTENDO_CLASSIC`, `SDL_HINT_JOYSTICK_HIDAPI_JOY_CONS`, `SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS`)
* Steam Controller (`SDL_HINT_JOYSTICK_HIDAPI_STEAM`)
* Steam Deck built-in (`SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK`)
@DeaTh-G
Copy link
Contributor

DeaTh-G commented Apr 29, 2025

You've mentioned that this might resolve

Since we still have issue with external ci jobs as per

Could you make a build so that the people finding issues with third party Switch controllers could test it?

added `SDL_GameControllerAddMappingsFromFile` to allow support for SDL_GameControllerDB as a option, for those who prefer Community-driven Gamepad database (tends to be far more up-to-date than main SDL)
@AL2009man
Copy link
Contributor Author

You've mentioned that this might resolve

Since we still have issue with external ci jobs as per

Could you make a build so that the people finding issues with third party Switch controllers could test it?

update: I added gamecontrollerdb.txt support, so I'll need to do some tests.

https://drive.google.com/file/d/1t2wUC1YZcMXwUzDf2OLmHbCNO7nmrIt6/view?usp=sharing

@AL2009man AL2009man changed the title Addition HIDAPI Joystick driver support (Nintendo Switch, Steam Deck/Controller Device) Additional HIDAPI Joystick driver support (Nintendo Switch, Steam Deck/Controller Device) Jun 21, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants