Project

General

Profile

Actions

Emulator Issues #12899

open

[Feature Request] Steam Input support for SteamDeck

Added by Leseratte10 almost 2 years ago. Updated about 1 month ago.

Status:
New
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Feature request
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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.

Actions #1

Updated by Leseratte10 almost 2 years ago

Okay, apparently I missed the fact that I can specify a controller profile in the Game INI file, so A) would be fixed (I can define two profiles, then set different ones through the Game INIs for MKWii and NSMB) which makes this way more useable. But full Steam Input support would still be cool.

Actions #2

Updated by MayImilae almost 2 years ago

You are fully able to map everything on the Steam Deck already. It's clunky as you need to configure controls in both Dolphin and in the Steam controller configuration, but it works. For now we're working on getting Dolphin built with the Steam API with the intention of getting it onto the Steam store itself, from there it wouldn't be too hard for someone to add Steam Input support if they so wished. It's a low priority however, and will need someone to care enough to volunteer their time and implement it. I'm working on something else that will improve the deck experience, so I won't be doing it myself.

Actions #3

Updated by Billiard26 about 1 month ago

  • Issue type changed from Bug to Feature request
Actions

Also available in: Atom PDF