Like those other ds4tools, but sexier.
DS4Windows is an extract anywhere program that allows you to get the best DualShock 4 experience on your PC. By emulating a Xbox 360 controller, many more games are accessible.
This project is a fork of the work of Jays2Kings. You can find the old project website at ds4windows.com.
- Windows 8.1 or newer
- Microsoft .NET 4.8 or higher (needed to unzip the driver and for macros to work properly)
- Visual C++ 2015-2019 Redistributable. x64 or x86
- ViGEmBus driver (DS4Windows will install it for you)
- Microsoft 360 Driver (link inside DS4Windows, already installed by Windows if you've used a 360 controller before)
- Sony DualShock 4
- Connection method:
- Micro USB cable
- Sony Wireless Adapter
- Bluetooth 4.0 (via an adapter like this or built in pc). Only use of Microsoft BT stack is supported. CSR BT stack is confirmed to not work with the DS4 even though some CSR adapters work fine using Microsoft BT stack. Toshiba's adapters currently do not work. Disabling 'Enable output data' in the controller profile settings might help with latency issues, but will disable lightbar and rumble support.
- Disable PlayStation Configuration Support and Xbox Configuration Support options in Steam
Device Detection Issue
If your DS4 is not detected by DS4Windows and the lightbar continues to flash yellow, there is a chance that Exclusive Mode has permanently disabled your DS4 in Windows. The easiest way to test if this has happened is for you to plug in the controller into a different USB port and see if it works then. Although this problem mainly affected older versions of DS4Windows (text written after version 1.5.15) for various reasons, other mapping programs can cause the same problem to occur.
If you suspect that your DS4 has been disabled, open the Device Manager (Control Panel\Hardware and Sound\Device Manager) and look for devices listed under the path "Human Interface Devices\HID-compliant game controller".
If the icon shown for a device has a down arrow icon then you should check the device's device instance path and see if the device is a DualShock 4 device. Right click the device item and select "Enable device" from the menu. That will re-enable the device and be seen by applications again.
Disable Steam Controller Mapping Support
With recent updates to the Steam client at the time writing this (2018-12-13), Steam has enabled Xbox Configuration Support in the Steam client by default. What this means is that Steam will automatically map a detected Xbox 360 controller to KB+M bindings initially (Desktop Mode) before launching Steam Big Picture Mode or launching a game. This presents a problem for DS4Windows since the created virtual Xbox 360 controller will be mapped to KB+M actions for desktop mode and games launched outside of the Steam client. In order to use DS4Windows properly, you have to open Steam Big Picture Mode, navigate to Settings > Controller> Controller Settings and uncheck Xbox Configuration Support along with PlayStation Configuration Support.
Personal Game Testing
My PC game library is not that expansive so there are likely games that will be tested by users that I will not have access to playing. There are likely going to be times when I cannot directly test against a game since I will not have access to play it. Most free to play games or games that include a playable demo should be fine for testing. For other games, it might be better if people could test against any game that I have in my game library and try to reproduce a problem. Here are links to my Steam and GOG profiles so that people can see what games I have access to play.
Pull requests for DS4Windows are welcome. Before making a pull request, please test your changes to ensure that the changes made do not negatively affect the performance of other parts of the application. Some consideration will be made during code review to try to tweak the changes in order to improve application performance. However, there is a chance that a pull request will be rejected if no reasonable solution can be found to incorporate code changes.
If you would like to send some coin my way, here are some means by which to do so.