When I posted the article on how to use a Playstation 4 controller on your PC, there were some interesting comments on Reddit. A lot of people preferred InputMapper, and thought that DS4Windows was deprecated. It’s not true, but there’s a very good reason they thought it was. These applications all share a common history, and today I’m going to start at the beginning and talk about how we got the software we have today.
Edit: It’s been pointed out that this article doesn’t mention that Steam’s new support for the DualShock 4 controller. What Steam is doing is great, and will get it’s own post very soon. For now, I wanted to show you the lineage of the tools we’ve all been using, because the way these developers built on each other’s work is interesting. Think of it as a history lesson.
Where it all started – Scarlet.Crush’s XInput Mapper
Back in 2011, a member of the pcsx2.net forums named Scarlet.Crush posted an XInput wrapper for DualShock 3 controllers. Installing it was a 12 step process, and it was met with some resistance for seeming to do what x360ce already did.
PlayStation controllers are more complicated than that, however. The PlayStation’s controllers register as HID Class Devices and appear to be HID-compliant game controllers, but the information it sends is not compatible with the native HID input driver to accept button and axis data. Scarlet.Crush’s XInput wrapper fixed this, and was the first application that let you use your DualShock 3 controller in games.
InhexSTER forks XInput Mapper, releases DS4Tool
When the DualShock 4 came out in 2013, pcsx2.net user InhexSTER made a program called DS4Tool based on the source code for DS3 Scp Tool. It still took a some work to set up, but it allowed people to play games with the newly released controller for PlayStation 4.
electrobrains forks DS4Tool, releases DS4Windows
DS4Tool is the basis for the software people use today. In March 2014, pcsx2.net user electrobrains announced the release of DS4Windows. When it was first released, it didn’t offer much over InhexSTER’s DS4Tool, but over the next few months, electrobrains continued to work on it, adding greater stability, performance, touch pad support, and more.
Jays2Kings forks electrobrains’ DS4Windows, releases DS4Windows J2K build
Jays2Kings forked electrobrain’s code later that month, creating his own build of DS4Windows. His version revamped the custom button mapping, and would go on to offer a cleaner UI, a profile system, and additional options for things like touch pad sensitivity, macros, and motion controls.
This is the same DS4Windows that you can now download at ds4windows.com. It’s still updated, and recently added support for the new official adapter from Sony, as well as more macros, a fix for Windows 10 anniversary update, and eight new languages.
jhebbel forks Jays2Kings’ build, releases InputMapper
In May, two months after Jays2Kings released his build of DS4Windows, pcsx2.net user jhebbel forked the Jays2Kings build and released his own build of DS4Windows. He added a proper Windows installer, fixed bugs, made UI changes, and added profiles that activated automatically when you launch a game.
The project was renamed InputMapper later that month, and it is still popular to this day. Jhebbel still posts regularly on the pcsx2.net forums, and InputMapper receives regular updates. He is currently working on InputMapper 2, which will be plugin driven, have more mapping options, and support more controllers.
Where things are now
With so many projects being called “DS4Windows”, it’s easy to see why people get confused. When jhebbel said that DS4Windows was deprecated in favor of InputMapper, he meant that “DS4Windows DSDCS Release” was deprecated.
Scarlet.Crush stopped working on the original XInput wrapper in March 2014. InhexSTER’s original DS4Tool was deprecated in July 2014, and electrobrains stopped working on the original DS4Windows in November 2014. But Jays2Kings’ DS4Windows and jhebbel’s InputMapper are still going strong, and both do a great job of allowing you to use your Playstation 4 controller in Windows.