Getting started
Installing and configuration of the program
Prerequisites
Installation
- Download the latest release from GitHub.
- Extract the package in a easily accessible folder (e.g.: Desktop, Documents, Download etc)
- DO NOT extract it inside a folder the requires elevated privilegies (e.g.: Program Files, Windows)
- Run
DS4Windows.exe
- On first launch DS4Windows may ask you where to save its user data (settings and profiles):
- AppData folder (recommended): user data is stored outside of the program folder, inside a special folder reserved to your Windows user
- Program folder: user data is stored inside the same folder DS4Windows.exe is located
Setup
After installation you will have install some drivers, some of which are optional:
Driver | Required? | Description |
---|
ViGEmBUS | Yes | Allows DS4Windows to create virtual controllers. |
HidHide | No, but recommended | “Hides” your real controller in order to prevent games from simultaneously recognising both your real and virtual controller, which can lead to the infamous double controller issue.. |
FakerInput | No | Useful for users who want to use their controllers as keyboard and mouse. Though DS4Windows can do so by itself, FakerInput has better performance and can work in more games and situations where Windows might prevent the usage of DS4Windows KBM handler. |
Try it out!
Connect your controller. If everything went well, it should appear in the main window, in the Controllers
tab.
1 - Connection methods
Ways you can connect your controller to the PC
USB
- Should be as simple as just plugging your controller with a good, working USB cable
- Windows should play a “device has been detected” sound when the controller is plugged in
- Keep in mind that some USB cables can only be used for charging. If the cable does not support data transfer then it won’t be of use
Bluetooth
- Make sure your BT adapter has the minimum specs for your controller
- The controller needs to be set into pairing mode to be added as a Bluetooth device through Windows’ settings. If a pin is asked try 0000
- If a controller has already been previously paired and you can’t reconnect, try removing the device from Windows’ Bluetooth devices list and repairing them
Pairing
Setting the controller in pairing mode
To pair the controller, you first have to set it in pairing mode.
DualShock 4/DualSense
Hold PS and Share buttons at the same time until the lightbar starts flashing in a heartbeat pattern.
Joy-Con/Switch Pro Controller
Hold down the Sync button until the controller LEDs enter a back n’ forth pattern.
Replicas
Probably the same as for the original controllers. Refer to specific device’s manual.
Pairing in Windows
Sony DS4 USB Wireless Adapter
The official adapter from Sony supports only 1 controller, but allows the headphone jack to be used wireless for both audio and mic.
To pair a DualShock 4 to it, both must be set to pairing mode. For the Wireless Adapter, its main body must be slightly pressed towards the USB port (until a “click” is felt) then hold it down in this position for 3 seconds, with its LED flashing in a heartbeat pattern indicating that it’s in pairing mode. Set then DualShock 4 into pairing mode (check the previous section) and it it should connect to the adapter.
2 - HidHide configuration
Windows detecting the controller twice with DS4Windows running
To prevent or fix the issue of double input it’s necessary to hide the real controller in order to make only DS4Windows’ virtual controller visible to games. This can be done in two ways:
- HidHide (recommended)
- DS4Windows’ Hide DS4 Controllers option (legacy, non-recommended option)
HidHide
HidHide is a driver that acts as a barrier between Windows and game controllers connected to the system. It allows the user to selectively hide gamepads and only allow specific software to still detect them.
It is the recommended method because once it has been properly setup the double input issue is solved for good for the hidden controller.
In DS4Windows case, the user needs to set HidHide to:
- Hide the real controllers from the system once when connected via USB and once when via Bluetooth
- Allow DS4Windows to see all hidden devices, otherwise it would think there are no supported gamepads connected
Configuration:
Alternativaly, you can follow the official HidHide guide.
Usage and tips
General Info
- After installing the HidHide driver you MUST reboot your system before using it
- If HidHide is properly configured then the Hide DS4 controllers option under DS4Windows’ Settings tab is redundant and should be left disabled
Client Configuration
- In order to avoid confusion, make sure DS4Windows is stopped or fully closed BEFORE opening HidHide’s Client so only real controllers appear on its devices list
- Remember to close HidHide’s Client before re-opening DS4Windows, otherwise the Ex check will fail even if the controller is correctly hidden
DS4Windows built-in hider
If you have HidHide installed and correctly setup then this option is redudant and should be left disabled to prevent issues or confusion.
This option exists on DS4Windows’ Settings tab. When enabled, DS4Windows will kindly ask Windows for exclusive access to detected devices, meaning the later would only allow DS4Windows to detect the gamepads and preventing the double input issue.
The problem with this method is that Windows can deny the exclusive access request when another process already has a open connection to the gamepad. Common reasons for this request to fail are:
- A game already is running
- Google chrome/Opera is running (why does it have a connection to the gamepad you ask? A mystery)
- Nvidia Geforce experience process having a hold of the gamepad
- Random non-obvious process having a hold of the gamepad
Even if it works initially, if your gamepad disconnects in the middle of a game chances are that you’ll lose exclusive access upon reconnection, requiring you to close the game to try again.
For the reasons explained above, the Hide DS4 Controllers option is NOT RECOMMENDED, though it remains available to users that need to use it for whatever reason. HidHide is the better option all around for those who can use it.
3 - Custom .exe name
Setting up a custom executable name
General info
There are some aplications and games that behave differently when they detect DS4Windows is running on the users system. The known ones are:
- Steam Big Picture: cannot interact with the Big Picture interface using DS4 controllers
- Steam Input: will ignore DS4 controllers, breaking their usage with Steam’s Playstation Configuration Support
- Sholve Knight: game will ignore DS4 controllers
This guide will make DS4Windows run under a new process name instead of the standard DS4Windows.exe in order to make it run undetectable.
How to set a custom .exe name
The name DS4Win will be used as an example for this guide, but any other name can be used:
Step 1
- Open DS4Windows and go to the Settings tab
- If the run at Startup option is enabled then disable it for now
- On the Custom Exe name box write the desired custom name (DS4Win) without adding “.exe” in the end
- Stop and then start DS4Windows again
Step 2
Fully close DS4Windows, make sure it’s not running on the background or in the system tray.
Step 3
In DS4Windows’ folder, locate the new TheNameYouChose.exe (DS4Win.exe) file and run it
Step 4
Check if the program is running under the new name in the task manager.
- From this point forward the original DS4Windows.exe should not be used anymore
- If the run at Startup option has been disabled in the beggining then re-enable it now
- Sometimes this process needs to be re-done after a DS4Windows update, though DS4Windows updates should work as long as the name inside the Custom Exe name box is exactly the same as the actual “.exe” file (not including the actual “.exe” text)
Stop using a custom .exe name
- Fully close DS4Windows in case it is open. Make sure it’s not running in the background or at the system tray
- Open the original
DS4Windows.exe
file - If the
Run at Startup
option is enabled then disable it for now - Erase the name inside the
Custom Exe name
box - Stop and then start DS4Windows again
- If the run at Startup option has been disabled in the beggining then re-enable it now