Complete Guide: using wired DualShock 3 controller with PCSX2
ComFreek last edited by ComFreek
You're running Windows ≥ 8.1 and want to use your wired DualShock 3 (not 4!) controllers with games you emulate in PCSX2. If you happen to have read about "ScpToolkit": that is a discontinued project. Use this one.
Note: You will not get full pressure sensitivity support from following this guide. At time of writing (2019-12-26), there is no ready-made solution for that -- from the ViGEm community at least. However, most games are still fun to play without that support!
- Windows ≥ 8.1
- optionally to test the experience: a PS2 bios + a PS2 game. Read the PCSX2 getting started guide for that
- a DualShock 3 (not 4!) controller
- a USB cable connecting that controller to your PC
Among other tools, the Virtual Gampad Emulation Framework (ViGEm) provides the following relevant tools for our task:
- FireShock: a USB driver for DualShock 3 and 4 controllers
- ViGemBus: some kind of software bus; in simple language: a place where FireShock "puts" the controllers it recognizes
- Shibari: inspects the controllers put on the ViGEmBus and exposes them to PCSX2 — or rather Lilypad, the default controller plugin for PCSX2.
Install the necessary ViGEm framework tools:
- Install FireShock by downloading and running the latest FireShock release, beware of 32 vs 64 bit editions! By downloading you get a ZIP file. Extract that to some arbitrary location and then run the exe file.
- Install ViGEmBus by downloading and running the setup of the latest ViGEmBus release.
- Install Shibari by following the Shibari installation guide.
Now test your set-up :
Start Shibari if you just downloaded and extracted Shibari above, then run the extracted file
Shibari.Dom.Server.exe. If you even configured it as a Windows service as the Shibari installation guide describes, then you don't have to do anything.
Connect your DualShock controller via USB to your PC
If you ran
Shibari.Dom.Server.exein the step before, you should now see
[17:27:17 INF] Device is DualShock3 with address ... currently paired to ...in the console window. If you configured it as a service, just carry on.
Start PCSX24. Go to
You should get the following "LilyPad Settings" dialog:
You can use your controller either with the
XInputAPI. Both of them are listed under
Game Device APIs.
- Choose one of those APIs, preferably
DirectInput, and make sure it's activated in the
Game Device APIssection.
- Now right-click in the device list under
Device Diagnosticson your device. For XInput it's called
XInput Pad 0, for Direct Input it's called
DX Controller (XBOX 360 For Windows).
Test Deviceas shown in the screenshot.
You will be presented a dialog with numeric values. If you randomly press buttons or move analog sticks on the controller, you are supposed to see some changes there.
- Choose one of those APIs, preferably
- ️ You don't see the controller listed in the device list?
Try restarting your PC after having installed the software and drivers above.
Finally, configure the bindings for the controller:
Open the LilyPad Settings dialog from before.
Click on the
Remove all pre-configured and superfluous bindings:
Allow All Devicesin the select box near the bottom. See the image below.
- Right-click on the list on the left and choose "Clear All"
I found this necessary because the pre-configured bindings were misconfigured, I believe. At least in one game
R1didn't work as expected. Also, I don't know what happens if you have
DirectInputbindings configured for the same key. Better to avoid inconsistencies alltogether.
Now change the select box near the bottom to either
XInput Pad 0or
DX Controller (XBOX 360 For Windows), depending on which API you chose when testing your set-up before.
This prevents accidentally configuring random mouse input as the binding just because you moved your mouse while configuring the individual buttons.
Now for every button you see in the right half, e.g.
- click on that button,
- and then click the respective button on your controller
You should see that button getting registered in the list on the left. On the screenshot below, you already see all buttons configured.
Test your set-up with your favorite game!
- Remember to always start Shibari before playing if you haven't installed it as a service.
- ️ Does some button not work or do you experience random button presses even though you didn't press anything?
Go to the LilyPad Settings dialog again, clear all bindings and resetup all of them again.