(Windows) Steam Deck Tools

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:

You need to select profile after running application. Choose one of:

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):

  1. SWICD
  2. GlosSI
  3. HidHide

Requirements:

  1. Ensure that you have SWICD, Glossi and HidHide disabled, stopped or uninstalled!
  2. Ensure that HidHide is disabled, or ensure that Steam Controller.exe can see Neptune Valve Controller.
  3. 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

See it here

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)

  1. Run steam.exe with -gamepadui.
  2. Click Steam button, go to Settings > Controller.
  3. If you see the Official Layout for - SteamController provided empty configuration you are done.
  4. Otherwise, select new layout, and go to RECOMMENDED.
  5. In RECOMMENDED there will be SteamController provided empty configuration.
  6. 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.

  1. Run Steam.
  2. Go to Steam > Settings > Controller > Desktop Configuration.
  3. If you see the SteamController provided empty configuration you are done.
  4. Otherwise, click BROWSE CONFIGS.
  5. In RECOMMENDED there will be SteamController provided empty configuration (take a look).
  6. Select it, and APPLY CONFIGURATION.
  7. 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:

  1. Launch Lossless Scaling
  2. Open “Settings”
  3. Select the “Scale hotkey”
  4. Press “STEAM + DPad Up”
  5. Verify that the hotkey was set to “CTRL + ALT + U”
  6. Close the settings dialog

7. Uninstall

Since Steam Controller changes Steam you need to follow those steps to properly uninstall the app:

  1. Run Steam Controller
  2. Select Use X360 Controller with Steam or Use Steam Input with Steam IF IT IS NOT SELECTED
  3. Now, select Ignore Steam to remove Steam Controller from Steam
  4. Next go to Steam > Settings > Controller and revert all changes made to Desktop configuration

8. Managed configs

The Steam Controller will manage default steam controller configs and install controller templates to ease controller management. It does modify: