For the longest time I've been looking for a way to use my PS3 controller on PC for Castle Crashers so I could get the 4th player in on the action, but most of the time the instructions were to use MotionInJoy (which is a complete piece of steaming shit). (Here's the guide to get a wireless XBox 360 controller working on PC)
Eventually I stumbled upon something by Scarlet.Crush on the PCSX2 forums called "XInput Wrapper for DS3 and Play.com USB Dual DS2 Controller", or better known as "SCP DS3" which lets you do just that.
This post covers the PS3 controller information, but the steps are the same for the PS4 controller (Dual Shock 4)
How it works
Scarlet.Crush wrote drivers for the Dual Shock pads and interfaced them with the XInput API, which allows games or programs to interact with the XBox Controller.
No more arcane hacks to get it working. If anything, this is actually pretty clever.
- PS3 or PS4 controller
- USB cable
- (optional) One USB bluetooth dongle / adapter for up to 4 controllers if you want wireless connectivity
(The dongle I bought also works for Wii remotes)
- Microsoft .NET 4 to run the packages
- XBox 360 controller drivers for XInput
- SCP DS3 package (v126.96.36.199 at time of writing)
- Install .NET 4 package (if necessary)
- Install the XBox 360 controller driver package (Windows XP/Vista users should install this AFTER installing the SCP drivers)
- Restart if asked to.
- Important: Connect your bluetooth dongle and let Windows do it's thing.
- Important: Connect your PS3/PS4 controller and let Windows install the default drivers.
- Extract the contents of "ScpServer\bin" from "SCP-DS-Driver-Package-188.8.131.52" to where you want to put it. Personally I put it into "C:\Games\Utils\SCP-DS3\"
- Run "ScpDriver.exe"
- Click "Install" to install the SCP driver, bluetooth driver and SCP service (maps controller input to XInput).
- Once it's done, you can exit.
- Run "ScpServer.exe" to take a look at how things are running.
- Your controller should automatically pair (check for 1 LED lit up instead of 4 flashing lights)
- Go to "Devices & Printers" in your control panel and you should see a "PLAYSTATION(R)3 Controller" AND an "Xbox 360 Controller for Windows".
- Right click the Xbox controller icon and select "Game Controller Settings" > Properties.
- From there you can try out all the buttons
- Unplug it from USB to check if bluetooth is working. It should stay paired with the computer but remove the DS3 controller icon.
If bluetooth is not working
If this happens...
- Unplug everything
- Start up "ScpDriver.exe"
- Click uninstall
- And start again. Except this time, select "Force install" when installing the drivers with "ScpDriver.exe".
This happened because my USB Bluetooth dongle wasn't on the supported list, but forcing the install MAY work for you. <insert usual "your milage may vary" disclaimer here>