Emulator Issues #12899
open[Feature Request] Steam Input support for SteamDeck
0%
Description
I just got a Steam Deck and installed Dolphin onto it to play Wii games. Unfortunately, it's really difficult to configure the controller(s) correctly.
On my computer, I've always just used a real Wiimote and had no issues with button mapping. On the SteamDeck I want to use the built-in controller, and that has two issues:
A) The first issue is that I can't have game-dependant controller configs in Dolphin. If I have one game that requires Wiimote+Nunchuk, and another game that doesn't work with the Nunchuk, then I would always have to open up the Dolphin interface, go into the controller settings and enable or disable the Nunchuk when I switch games. I usually have the Wii games directly in the SteamDeck interface (executing "dolphin-emu -e gamename.wbfs"), so this is annoying.
B) I would like to perform the button mapping through Steam - because then it'll all be at one place, the Steam configurator has more features than Dolphin, and it easily supports game-dependant configs.
For actual real Steam games with Steam input, the game exports a list of things you can "do" (like "Accelerate", "Brake", "Steer", "Use Item"), and then in the Steam game settings you can just set "Accelerate" to the A button, and so on.
Of course that's not going to work with all games on Dolphin, as the list of actions would be game-dependant.
Right now what I'm doing is I'm mapping something like "Steam Deck button X" = "Keyboard key Q", and then in Dolphin "Keyboard key Q = Shake Wiimote up" or something. Unfortunately that means that in the Steam Deck UI I can only see that button X is keyboard key Q, and a week later I have no idea what Wii action that is anymore.
What would be great is if Dolphin would export every Wiimote "action" as a Steam action so there'd only be one mapping.
So Dolphin could "export" the following list of actions:
- Vertical Wiimote Button A
- Vertical Wiimote Button B
- ...
- Vertical Wiimote with Nunchuk Button A
- ...
- Horizontal Wiimote Button A
- ...
That way, for example, to configure MKWii I'd set "A" to "Vertical Wiimote with Nunchuk Button A" and the left Stick to "Vertical Wiimote with Nunchuk Stick".
And for NSMB Wii, I could configure "A" to be "Horizontal Wiimote Button 2". All in the SteamDeck UI.
That way there would be no need for people to manually change the Dolphin controller settings for each game because Dolphin could "read" from the Steam Input API whether a Nunchuk is supposed to be connected or not - if the player presses a button on "Vertical Wiimote with Nunchuk" then connect an emulated Nunchuk, and if he presses a button on "Vertical Wiimote", disconnect it again.
I did see a Steam-related PR on Github ( https://github.com/dolphin-emu/dolphin/pull/10462 ) but that's just for the Steam runtime and doesn't add any Steam Input code.