-
Notifications
You must be signed in to change notification settings - Fork 3
1.4 (OLD) Controller Setup
Please use the new HTML-based guide https://baldsealion.github.io/Steam-Deck-Ultimate-Windows-Guide/
This wiki will no longer receive updates
Instead of removing this option completely, this is now considered the legacy/old method for controller setup
It is highly recommended to use Steam Deck Tools built-in "SteamController" app instead, as it receives constant updates and is easy to set up
- Recommended: Please skip & proceed to 1.4 (New) Controller Setup
- NOTE: Steps 1.4 through 1.6 are meant to be followed together in order to have similar functionality to SteamOS
There are several software components to make SWICD work, these are explained briefly below:
- SWICD is the main driver emulates the Neptune Controller(the SteamDeck Controller) into an Xbox 360 controller. It can also emulate Mouse & Keyboard functions
- Tetherscript is the software component for the Mouse and Keyboard functionality to work in SWICD
- ViGEmBus is the software that emulates XInput / Xbox 360 Controllers
- HidHide is the software that hides controller devices. In our case, this is used to hide the Steam Neptune Controller(SteamDeck) from being used alongside our Xbox 360 emulation(to prevent double-inputs)
The setup requires Rivatuner Statistics Server & SteamDeck Tools for full functionality. This configuration continues in 1.5 Unlocking Refresh Rate & RTSS and 1.6 SteamDeck Tools Setup
Yes.
- Sometimes double-input issues happen sometimes when using hotkeys
- Other SteamDeck specific functionality with Steam Input does not work, as this emulates a Xbox 360 controller
- While Gyro is an option, it does not appear to work reliably
Steam Input can natively work on some Non-Steam Games, but not all.
An alternative to this is GlosSi, but it currently relies on and requires Steam to be running to function. GlosSI is not covered in this guide. You can download & follow tutorials on GlosSi's website here
-
Make sure Steam is completely closed(not just minimized, or you will have controller issues!)
-
Install all of these applications -- in this order -- with all default options:
TetherScript site has been having issues lately. For a direct-download link for all applications in this Section, please click here
-
Install ViGEm Bus Driver: ViGEm Bus Driver - Releases
-
Install Visual C++ Runtime Libraries: If you followed 1.2 Windows OS Tweaks, these should already be installed, otherwise click Here
-
Install Tetherscript Virtual HID(Free HVDK Standard): Tetherscript HID Driver Kit Download
-
Install HidHide: HidHide Releases
-
Install SWICD: Steamdeck Windows Usermode Driver - Releases
You need to remove the emulated Joystick and Gamepad driver installed by Thetherscript to prevent issues with games that detect those as multiple gamepads or joysticks:
- Go to C:\Program Files (x86)\HID Virtual Device Kit Standard 2.1\Drivers Signed\Joystick
- Right-click on uninstall.bat and choose Run as administrator
- Repeat for C:\Program Files (x86)\HID Virtual Device Kit Standard 2.1\Drivers Signed\Gamepad
- Right-click on uninstall.bat and choose Run as administrator
- Verify that you no longer have the other two Tetherscript controllers in the Windows Game Controllers, it should be blank:
Bad Example
Good Example
- Reboot to apply all changes so far(Otherwise SWICD will fail to launch later!)
If you have Steam installed, configure HidHide to hide the Neptune Controller from Steam
-
Open HidHide(should be in your Start Menu, but direct path is "C:\Program Files\Nefarius Software Solutions\HidHide\x64\HidHideClient.exe")
-
In the Applications tab, add GameOverlayUI.exe, steam.exe, and streaming_client.exe
-
CheckTick Inverse application cloak
-
In the Devices tab, uncheck Gaming devices only
-
Check Enable device hiding
-
Check Valve Software Steam Deck Controller(It should show a red lock, indicating that Steam won't see the Neptune Controller)
After these settings are in place, you can close HidHide. Changes will still take effect with it not running.
Don't open Steam yet still! Keep following the guide!
You should have rebooted once by this point after installing everything
Do not open SWICD yet. Instead, download the configuration below and extract it to your Documents folder (Ex. C:\User\Documents) - the resulting path should be C:\User\Documents\SWICD\app_config.json
Now, open SWICD, this will just launch in your System Tray, double-click it and it should look like below(make sure the Driver Status is Running:
That’s all you need to do on SWICD! You should now have mouse movement and clicking with the trackpads and full controller support on the rest!
Below is an explanation of the controller configuration you imported and the various settings of SWICD:
- If you don't want Rumble in games, uncheck
Haptic Feedback Enabled
- If you want to adjust the Rumble intensity, adjust the
Amplitude
andPeriod
to your liking(the high the values, the stronger the rumble) - Back buttons are not assigned to anything. You are free to assign them keyboard commands, or other buttons
- Leave everything else on the front page of the profile as-is (
Mouse Movement Enabled
should be unchecked andButtons Disabled
should be checked already)
- The configuration is built out with the following button actions. You need to keep the
3 dots
+d-pad
options all blank, or it will override Steam Deck Tools from working
These are covered in the next two Pages of the wiki - 1.5 Unlocking Refresh Rate & RTSS and 1.6 SteamDeck Tools Setup
If you have Steam installed, please follow the steps below:
- Open Steam and go to Settings > Controller > General Configuration and make sure that "Xbox Configuration Support" is checked, and that it shows the detected controller as "Xbox 360 Controller" like below:
- Go to Steam > Settings > Controller > Desktop Configuration and make sure it is set to Disabled
Controller Configuration Continues in 1.5 Unlocking Refresh Rate & RTSS