DS4Windows Mode User Guide
Jays2Kings' DS4Windows IS NOT SUPPORTED!
If you just search "DS4Windows" on Google/Bing/whatever the first result will probably be the obsolete Jays2Kings' version
DS4Windows HID Device Mode, the controller appears as a custom device that can only be detected by Ryochan7's DS4Windows, allowing the user to then emulate a DualShock 4 or Xbox 360 (XInput) controller as well as make use of most of its features.
What does work
- Xbox 360 (XInput) / DualShock 4 emulation according to the selected profile settings in DS4Windows
- Rumble works as normal
- DS4's Touchpad Button can be used by remapping a button to it (e.g.: use Select as the TP button instead of Share)
- DS3's LEDs can be controlled by setting the correct Light Bar colors (more on that on a later section)
Flash Lightbar at High Latencyfunction makes the LEDs flash accordingly
- Basically every other DS4Windows function that is not related to the Light Bar or motion works as intended
What does not work
- DS3 controllers are always recognized as if they were connected by USB. As such, DS4Windows Bluetooth functions like auto-disconnect on idle and disconnect on button combo are not supported. This is a limitation on DsHidMini side and can't be fixed by DS4Windows. The built-in equivalent functions of DsHidMini should be used instead
- Motion/UDP server is not supported and will remain so until someone manages to translate the motion info from the DS3 to the DS4 motion standard
- Settings that make the Light Bar color flash, pulse or change randomly (rainbow mode) are not supported
- Specific DS4 touchpad movements are not supported, only the Touchpad Button (another button needs to be remapped to it)
Using the controller with DS4Windows
- To start, the controller must be in
- Download the latest Ryochan7's DS4Windows release package according to your Windows 10 version
- Extract the package to an easily accessible folder
- Run DS4Windows.exe
- Install the ViGEmBus Driver if asked to
After that, the controller should be properly recognized by DS4Windows. If it's not, verify again if it is in "DS4Windows mode".
From here, DS4Windows can be used mostly as usual. XInput and DS4 emulation, as well other functions, can then be set-up in the profiles settings according to the user needs. Besides that:
- Keep in mind:
Startbuttons are recognized as the
Optionsbuttons in DS4Windows
- In case you need, there are more detailed instructions on how to change to DS4 emulation
- If you want your controller's LEDs to represent the current battery level, see Simple Led Control -> Example 2
- If you want the current selected profile to be represented by a specific LED or LED combination on the controller, read the Light Bar to LEDs translation section
- It's recommended you have a quick look at the DS4Windows Frequently Asked Questions section, read at least the title of the topics
Light Bar color to LEDs translation
Read this section if you want to control your controller's LEDs to show the current battery or selected profile
By setting the correct Light Bar color values in the profile settings it is possible to control the LEDs on the DS3, which can be useful to:
- Make the controller's LEDs represent the current battery level
- Represent the current selected profile as a specific LED
- Indicate the battery level by using Special Actions in the profile's settings
Beware that functions in DS4Windows that make the Light Bar flash, pulse or randomize the colors (
rainbow mode) are not supported and can make the LEDs change to an undesired state, though the
Flash Light Bar at High Latency function do is supported and will make the LEDs flash at a high frequency.
Simple LED control
- Simple to set-up
- Good to represent which profile is active (see example 1)
- Necessary when making DS4Windows show the controller's battery level and for battery related
Special Actions(see examples 2 and 3 respectively)
When this form of translation is active, the
Red color value will be translated to the LEDs state according to the following table:
|RED value (Dec)||LED state|
|0 - 64||Blinking LED 1|
|65 - 94||LED 1|
|95 - 148||LED 2|
|149 - 201||LED 3|
|202 - 255||LED 4|
FORMS OF ACTIVATION:
|Simple LED control mode||How to activate||Description|
|Single mode||Green and Blue = 0||Only the chosen LED is ON|
|Filling Mode||Green = 0, Blue = 255||The chosen LED and the ones before it are ON|
e.g. 1: Setting up a profile to be represented as LED 3 only (single mode).
e.g. 2: Setting up a profile to reflect the controller's battery level.
e.g. 3: Setting up a Special Action to make the LEDs reflect the controller's battery level.
Complete LED control
- "Harder" to set-up (not really)
- Allows any combination of LEDs on
- Useful if the user wants to differentiate between more than 4 profiles
HOW TO ACTIVATE: Green and Blue = 255
When this form of translation is active, the Red color value from 0 to 15 will be translated to the LEDs state according to the following table:
|LED 4||LED 3||LED 2||LED 1||RED value (Dec)|
e.g.: Setting up a profile to be represented as LEDs 4 and 2.
Frequently Asked Questions
How do I change between XInput and DS4 emulation?
The controller that DS4Windows emulates is dependent on the current selected profile. By default, the profile that comes with DS4Windows called... Default... is set to emulate a Xbox 360 controller. You can create new profiles with different settings to best fit your use case, though this section will focus solely on creating a profile with DS4 emulation:
- Go to the Profiles tab
- Click on the "New" button to create a new profile
- When asked if a preset is to be used, choose "yes"
DualShock 4at the Output Controller
- Adjust the Light Bar color to what you desire acordingly to the Light Bar to LEDs translation section (in the example below the profile will be represented by LED 2)
- Give a name to your profile (e.g.: DS3 to DS4)
- Save the profile
- Back in the Controllers tab, click on the Selected profile box and change from default to the profile you just created
And done, now you can switch between XInput/DS4 emulation by changing between profiles.
Keep in mind that some games that support DS4 controllers use the
Touch Pad for options/to open the map/etc. In this case, you'll need to remap a button as the
Touch Pad button on a new profile to use it.
Select button is not recognized in some games when emulating a DS4 / How do I use the Touch Pad button?
A DS3 controller has 13 buttons while a real DS4 controller has 14, this extra button being the
Touch Pad button which can't be mapped directly to the DS3 by DsHidMini.
Some games that support DS4 controllers use the
Touch Pad for options, opening the map, etc. To work around this, the user needs to remap an existing button to the
Usually, games that use the
TP button don't use the
Share button (the default
Select), so the usual bet is to remap it to the
TP, though any other one can be chosen. So, after creating a profile with
- Duplicate your DS4 profile, choose a different name to it
- Edit the new profile
- On the left side, in the DualShock 4 picture, click on the button you want to remap
- On the new window that appears, select the middle of the Touch Pad
- Save your profile and switch to it
If a game uses both the
TP buttons, you can have a profile with
Share as it is and the
PS button remapped to the
TP. Or, if you want more advanced solutions, you can use
special actions in the profile settings so you can switch between different profiles by button combinations mid-game.
I can't control Steam's Big Picture when using a emulated DS4 / Steam doesn't detect my controller when it's emulated as a DS4, only when emulated as a Xbox 360
Steam (and some really specific games, super rare case) will fully ignore DS4 controllers if it detects that DS4Windows is running. This happens so users don't accidentally have both DS4Windows and Steam remapping the controller. Regardless if Steam is detecting or not the emulated DS4, 99.9% of the games that support DS4 controllers should detect the emulated one as normal.
For Steam to stop ignoring the emulated DS4 controller you need run DS4Windows under a custom
- Open DS4Windows
- Go into the
- Write the name you want on the
Custom exe namebox (In the image below the name "DS4Win" is used as an example)
- After the name is set, fully close then re-open DS4Windows and then Steam should detect it as normal
It's also recommended going into the Steam's settings -> Controller -> General Controller Configurations -> Leave
Playstation Configuration Supported UNCHECKED, so Steam doesn't remap your controller again when you don't want it to.
'X' game does not detect my emulated DS4 / my game is not showing PS button icons
- First, double check if the game actually supports DS4 controllers and has native PS icons when played with a DualShock 4. There is no direct way to check this besides just testing, Googling around and looking at forums
- If the game does not support DualShock 4/PS icons then that's in no way related to us and we can't do anything about it
- If you are 100% sure the game supports PS button icons/DualShock 4, then it may be detecting that DS4Windows is running and then ignoring DS4 controllers (super rare case, only 1 game is known to do it). Check the topic above on how to solve this
- If the game still doesn't recognize the emulated DualShock 4 then we have no idea what's going on and you are welcome on reaching us through the proper means
How do I do 'X' thing on DS4Windows
DS4Windows is a really amazing tool that can do lots of things, but the purpose of this guide isn't covering DS4Windows in itself, it's to give users the minimum necessary to have XInput/DS4 emulation and to cover DsHidMini related functions, like Light Bar color to LEDs translation. Because the other things it can do are not related to DsHidMini then it's recommended that you look in its wiki or google around for online tutorials.