Skip to content

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

In 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)
  • DS4Windows's Flash Lightbar at High Latency function 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

After that, the controller should be properly recognized by DS4Windows. If it's not, verify again if it is in "DS4Windows mode".

DS4ModeDS4W

What now?

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:

Light Bar color to LEDs translation

Optional section

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

SimpleLedControl eg 1 - LED 3 on

e.g. 2: Setting up a profile to reflect the controller's battery level.

SimpleLedControl eg 2 - Battery charge indication

e.g. 3: Setting up a Special Action to make the LEDs reflect the controller's battery level.

SimpleLedControl eg 3 - Macro example

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)
0
ON 1
ON 2
ON ON 3
ON 4
ON ON 5
ON ON 6
ON ON ON 7
ON 8
ON ON 9
ON ON 10
ON ON ON 11
ON ON 12
ON ON ON 13
ON ON ON 14
ON ON ON ON 15

e.g.: Setting up a profile to be represented as LEDs 4 and 2.

TotalLedControl eg - 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"
  • Select Gamepad and then DualShock 4 at 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
    Ds4Profile

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 TP one.

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 DS4 emulation:

  • 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 Share and 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 .exe name:

  • Open DS4Windows
  • Go into the Settings Tab
  • Write the name you want on the Custom exe name box (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
    FAQ_DS4WCustomName

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.