This is the multi-page printable view of this section. Click here to print.

Return to the regular view of this page.

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:

DriverRequired?Description
ViGEmBUSYesAllows DS4Windows to create virtual controllers.
HidHideNo, 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..
FakerInputNoUseful 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

image of windows bluetooth pairing ui

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:

configuration of hidhide

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

custom exe setting

Step 2

Fully close DS4Windows, make sure it’s not running on the background or in the system tray.

DS4Windows in system tray

Step 3 In DS4Windows’ folder, locate the new TheNameYouChose.exe (DS4Win.exe) file and run it

new exe in folder

Step 4 Check if the program is running under the new name in the task manager.

new exe name in 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