7.3 KiB
Steam Controller
This is highly experimental "opinionated" implementation of Steam Controller that is meant to replace SWICD and Glossi. This is hard piece and it is rather unsupported (by me), so if it works it works.
1. Modes
It offers 3 main modes of operation:
- Desktop
- X360 emulation (with Haptics) - activated automatically when entering Playnite Fullscreen
- Steam - active automatically when running Steam Gamepad UI, Steam Big Screen UI or running Steam Game
You need to select profile after running application. Choose one of:
Use X360 Controller with Steam(most compatible)Use Steam Input with Steam(works, but might be quirky)
You can easily switch between Desktop and X360 by holding Options button (3 horizontal lines, on top of the right joystick). When profile is switched you will hear a beep.
2. Requirements
It is strongly advised that you uninstall (unless you know what are you doing):
Requirements:
- Ensure that you have SWICD, Glossi and HidHide disabled, stopped or uninstalled!
- Ensure that HidHide is disabled, or ensure that
Steam Controller.execan seeNeptune Valve Controller. - Install latest version of https://github.com/ViGEm/ViGEmBus/releases.
3. Possible setups
The are various ways how Steam Controller can work with Steam.
If you do not use Steam this is simple, just run it and enjoy.
Since when there's no Steam, there's no problem at all.
3.1. Most compatible - Use X360 Controller with Steam
You enable it by selecting Use X360 Controller with Steam.
This pretty much work always. It hides the Valve Software Steam Controller from Steam.
It is out of box experience. In this mode you would use either Desktop or X360 controls, and all Steam games would use X360.
The Back Panel buttons can be assigned to some user-defined keys.
3.2. Works, but sometimes finicky - Use Steam Input with Steam
You enable it by selecting Use Steam Input with Steam.
It is required to configure Steam as described in Configure Steam.
This is setup that allows you to enable Steam Input and use community provided profiles
on Steam. However, this requires special configuration and in some cases is finicky.
The SteamController.exe automatically detects Steam running game and disable itself
for the duration of game play switch to specially currated Steam profile (non selectable, and hidden).
The are two primary ways how to use it. The best experience is achieved when STEAM IS NOT RUNNING IN BACKGROUND. Use Playnite Fullscreen to start game on the Steam and close it after session (there's an option in Playnite settings). Keep Steam closed otherwise at all times.
Alternative if Steam is running in background it should be pretty stable when configured desktop mode buttons. There will be sometimes finicky behavior when using STEAM button shortcuts. However, this is mostly stable otherwise.
Getting controllers support is hard especially with Steam not making it easy to disable it. I'm doing this to solve my usage pattern. So, I might have limited will to fix all quirks of handling Steam running in background alongside
Steam Controller. This will never be supported mode of operation.
3.3. If you know what you do - Ignore Steam
This makes Steam Controller to disable Steam detection. Now, you would have to do everything
you were doing before: like HidHide, additional controllers, etc.
It is not needed to configure Steam as described in Configure Steam.
In this mode you would use either Desktop or X360 controls, and all Steam games would use X360.
When running in this mode you would have to switch between Desktop and X360 mode with Options button
or with PowerControl.
Of course you will have access to all described shortcuts.
4. Shortcuts
5. Configure Steam
Steam Controller does overwrite default Steam configuration, but if you made changes to some of the controller profiles those overwrites will not be applied. You need to set them yourself.
This is required since if Steam is running in background it is essential to ensure that Desktop mode configuration is empty, otherwise there might be double inputs in non-Steam games.
5.1. Disable Desktop mode in Steam Gamepad UI (preferred)
- Run
steam.exewith-gamepadui. - Click
Steambutton, go toSettings>Controller. - If you see the
Official Layout for - SteamController provided empty configurationyou are done. - Otherwise, select new layout, and go to
RECOMMENDED. - In
RECOMMENDEDthere will beSteamController provided empty configuration. - Select it. And you are done.
5.2. Disable Desktop mode in Steam Desktop (ok, but change scale to 100%)
This requires that your Desktop scale is set to 100%.
It is buggy on 125%. You will not be able to click Browse Configs.
- Run Steam.
- Go to
Steam>Settings>Controller>Desktop Configuration. - If you see the
SteamController provided empty configurationyou are done. - Otherwise, click
BROWSE CONFIGS. - In
RECOMMENDEDthere will beSteamController provided empty configuration(take a look). - Select it, and
APPLY CONFIGURATION. - Now, click
DONE.
6. Fullscreen Scaling Hotkey (Steam + Up Pad Press)
Many games in Windows will crash when attempting to start in fullscreen. To have a fullscreen experience on the Steam Deck, you can use this keybind in any fullscreen scaling application to provide a shortcut capable of toggling the scaling.
Example of Scaling software: https://store.steampowered.com/app/993090/Lossless_Scaling/
To configure the hotkey in Lossless Scaling:
- Launch Lossless Scaling
- Open "Settings"
- Select the "Scale hotkey"
- Press "STEAM + DPad Up"
- Verify that the hotkey was set to "CTRL + ALT + U"
- Close the settings dialog
7. Uninstall
Since Steam Controller changes Steam you need to follow those steps to properly uninstall the app:
- Run
Steam Controller - Select
Use X360 Controller with SteamorUse Steam Input with SteamIF IT IS NOT SELECTED - Now, select
Ignore Steamto removeSteam Controllerfrom Steam - Next go to
Steam > Settings > Controllerand revert all changes made toDesktop configuration
8. Managed configs
The Steam Controller will manage default steam controller configs
and install controller templates to ease controller management.
It does modify:
C:\Program Files (x86)\Steam\controller_base\chord_neptune.vdfC:\Program Files (x86)\Steam\controller_base\desktop_neptune.vdfC:\Program Files (x86)\Steam\controller_base\templates\controller_neptune_steamcontroller.vdf