PROLOGUE
For all this years of gaming I so used to DualShock controllers but now I'm playing on PC most of the time and I don't want to change my habits by switching to something else like Xbox controller... that's actually the whole story. This topic for gamers who want to play on glorious platform using old trusty DualShock. DualShock 4 to be clear. So let's get started.
Talking about button mappers and raw drivers in this case is not practical because all of them are not universal solutions. Instead let me tell you about project that combined range of most usable and reliable tools under simple and flexible UI that will help us to use DualShock 4 for PC gaming. I's called DS4Windows tool.
Firstly this project was launched by Jays2Kings, but for now original branch looks dead. Hopefully after few months of stagnation another one enthusiast under nickname Ryochan7 took the baton and for now this project is very much alive.
INSTALLATION
You can find latest version of DS4Windows on Ryochan7's git page.
To install it simply unpack zip archive and move unpacked folder with data to "Program Files" folder.
Run "DS4Windows.exe" inside of transfered folder.
In opened window go to "Settings" tab and click on "Controller/Driver" item in the bottom of it.
According to "Step 1" just click of the top button to "Install the ViGEmbus Driver".
Depending on the version, the ViGEmbus Driver will be installed automatically or through manual straight forward process.
Assuming that you are using Windows 10, so after you will see "Install Complete" just press on the "Finish" button and that's it.
CONNECTION
After DS4Windows tool installation it's possible to connect your controller to PC via USB cable and proceed to settings part right away. But please hold on a bit.
We used to perceive wireless connection as something slower than direct physical connection. And in most cases there are hard reasons for this. But not in case of DualShock 4. If you want to have less input lag on DualShock 4 you need to connect it via Bluetooth. I know it sounds weird and I was also very surprised of this fact. But it's true and difference is noticeable - trust me.
So to connect DualShock 4 to PC via Bluetooth you will need simple plug&play Bluetooth adapter and USB extender. For USB adapter any cheap one "CSR 4.0" works like a charm. USB extender should be as short as possible to avoid power loss and connection drops, but long enough to keep it in close range with DualShock 4 controller.
Connect USB extetion cord to PC USB port.
Connect Bluetooth adapter to USB extention cord.
To avoid any connection micro-drops keep Bluetooth transmitter right in front of you on the table. Sometimes this micro-drops are not even noticeable but steel it can play a bad joke at the crucial moment of intense gameplay.
Press and hold [PS + Share] buttons on the controller for several seconds until indicator light will start pulsating. Now controller is ready for pairing.
[WIN + X] > Settings > Devices
Turn Bluetooth on by switching "Bluetooth" toggle.
Click on "Add Bluetooth or other device"
Select "Bluetooth" option.
If you did everything right you are going to see "Wireless Controller" in list of founded devices. Press on it and in few second you will get confirmation "Device is ready" so press "Done" to exit.
So now you have your controller connected wireless with reduced input lag.
You need to do all above only once. Next time you need just to turn on Bluetooth on PC and press [PS] button on the controller.
SETUP
DualShock 4 itself from not long ago is supported in some modern PC games. But for most games Xbox controller is steel controller by default. If game on PC does not supporting Xbox controller it means it's probably does not supporting controllers at all. So let's go with universal solution and setup DS4Windows to emulate Xbox controller. There are few not obvious points here and time to time I see questions about it in Steam community and on game forums. So please pay attention to this part of the topic.
Just to notice, DS4Windows allows you to create and manage multiple profiles but because of my personal preferences I'm operating only with default profile as one to go solution.
Fixing double input issue
This is the most common mistake that can happen with you in process of using DualShock 4 controller with your PC. Usually it looks just like on each physical press on the controller button two program presses occurs. In worst cases it can cause movement direction jamming, random mess with stick rotating and many... many... many other symptoms. So if something described happens to you most probably you have emulated controller works with native one in parallel. To avoid this you need to check this few points.
Go to "Profile" settings and find group of settings called "Other".
You need to make sure "Use Dinput only" check-box is unchecked and "Xbox 360" selected in "Controller" drop-down.
After this do not forget to save for profile configuration.
Now go to global "Settings" section and check "Hide DS4 Controller" check-box.
After this few steps your DualShock 4 controller will operate in emulation mode. By your system it will be recognizing as single Xbox 360 controller. And this is exactly what we need. No more input doubling.
Preventing analog input jitter
By default DS4Windows tool endlessly gathering signal about position of analog sticks and triggers even if they are in the default position and you do not even moving them. It can cause situation when signal about default position of triggers with values near zero can be recognized as minimal movement and leads you to failure in some mini games where you need to hold steel.
Example: In beautiful game called "Night in the Woods" you have mini-game where you are trying to steel delicious pretzels. You moving Mae's paw with left stick and when dog start looking at you, you need to release the stick. In this moment signal about default position of analog stick can be recognized with minimal value and it's already considering as movement, so you will fail. This is a very annoying issue and I saw a lot of question about how to pass this mini-game and thoughts that this mini game is simply broken on PC port of the game. But it's not... it's just a small issue in your controller setup. So let's solve this.
For each analog element of controller in DS4Windows provided possibility to setup range in what input signal will not be recognized - deadzone range.
Go to the "Profile" settings and find group of tabs responsible for analog readings.
For "Deadzone" setup values like this: 0.10 rate for left and right analog sticks, 0.05 rate for left and right analog trigger buttons and 0.25 rate for sixaxsis engine X and Z axis.
As for "Anti-Deadzone" keep everything at 0.00 rate.
"Max Zone" should be 1.00 for everything.
"Square Stick" disabled.
For "Output Curve" better to keep it with simple "Linear" option to avoid conflicts with ingame acceleration.
Also keep "Curve (Input)" and "Rotation" at 0 value.
After this you can go and visually check value of input signal against deadzone range in "Controller Readings" sub-tab of "Profile" section. As you can see dots on the "Left Stick" and "Right Stick" coordinate fields are shaking. It happens even if you are not touching analogue sticks. This is a signal jitter I talked before. Red ovals representing deadzone range that we configured. If shaking amplitude of dots lays within red ovals it means this shaking minimal values will be recognized as 0 input value. That's it.
Minimizing lag
The main way to minimize input lag is connecting your controller via Bluetooth and it's already described above in details as must have step. Seriously... just trust me. However there are few more tweaks to decrease input lag of DualShock 4 controller.
Go to "Profile" settings and find group of settings called "Other".
Push readings frequency to the max by selecting "Max (1 ms)" option in the "BT Poll Rate" dropdown.
Also tick "Flush HID" check box to clear HID queue after each reading.
EPILOGUE
For now that's all that can help you to get best experience in using of DualShock 4 controller for the sake of glorious PC gaming. In case of some global updates this topic will be updated as well. Good game to everyone.
 
 
Created by TennojiM
All rights reserved
© 2019