- Following up on the DualShock 4 (DS4) PlayStation 4 / PS4 Controller Teardown
, today PlayStation 4 developer InhexSTER
has made available a DS4 to XInput Wrapper alongside a video of the PS4 DualShock 4 Controller on PC in action followed by samples to use DualShock 4 and DualShock 3 Controllers on a PS2 and Wii by xerpi
(DualShock Samples) / libds3ps2
(DualShock 3 on PS2) / libds4ps2
(DualShock 4 on PS2) / PS2InfoGB_KarasQ_rev6c_libds3ps2_libds4ps2.zip
(PS2InfoGB - with DS3 / DS4 Support) / DS4 to Wii Bluetooth.zip
/ DS4WiiBT Source Code
/ DS4Pair_Wii Source Code
To quote: Hello guys, i am new here but i want to share a tool I made for Dualshock 4 controllers. I was inspired by the tool made by Scarlet.Crush for DS3.
My tool works in similar fashion and is based on source code from DS3 Scp Tool.
It works though without messing with the original drivers for DS4. Uses DirectInput to XInput mapping. You still need to install drivers for SCP virtual bus device and possible X360 Controller drivers.
Currently all buttons/Axis work like they should. No support for rumble and controlling light to indicate controller number.
Shortly I will make a video demonstrating the tool.
DS4 to XInput Mapping tool (Play any game with DS4 on PC)
: After looking into disabling original controller, so it wouldn't show up in games / do double input, I think it's not possible with using default windows drivers. Rumble and lightbar also require some more reverse engineering of USB communication.
So first thing it would require actually capturing data sent between PS4 and DS4, so we need to wait until it's released.
Second thing I most likely will not be able to capture that data myself, I don't have any means to do it.
Third this approach would require installing custom drivers for USB and Bluetooth, just like with DS3 (unsigned drivers install is a bit tricky)
I also don't mind people with Computer Engineering skills joining in. I myself have only basic knowledge of hardware, my degree focuses on software.
Finally, in related news CronusDEV
announced (via cronusmax.com/forums/showthread.php?t=140586&p=959762&viewfull=1#post959762) that CronusMAX FW v1.34 is released and includes DualShock 4 fully working XBox 360, PS3 and PC.
To quote: After a hard weekend of development we are happy to release the world's first fully working DualShock 4 Controller mod. All features are currently available in wired mode. Wireless mode is unlocked too but currently only includes the main button inputs (no rumble, led bar, gyro, ACCX, ACCY, ACCZ Support)
Make sure you have the latest version of Gtuner Update (v2.06 at time of writing) and then update your CronusMAX firmware to v1.34 now.
We are also currently working on the XBOX ONE Controller, Dualshock 4 Full Wireless Support, Keyboard & Mouse Support for the PS4 and XBOX ONE. Very busy times ahead
2013-11-25, Ver 1.34
- Dualshock 4 Controller Support for PS3, Xbox 360 & PC
- Dualshock 4 LED Bar Support
- Dualshock 4 Rumble Support
- Dualshock 4 Touchpad Support
- Dualshock 4 ACCX, ACCY, ACCZ Support
- Dualshock 4 Gyroscope (X, Y, Z) Support
- Dualshock 4 PS Home, Share, Options Buttons Support
- All Modpacks fully working - worlds first modded PS4 controller !
- All Modpacks Working with LED bar Display
- Extended implementation of HCI protocol
[xerpi] just wanted to say that I've got Dualshock3 and Dualshock4 working on the Playstation2
[xerpi] if you are interested feel free to contact me
[xerpi] here's an early version of the dualshock4 driver+library: github.com/xerpi/libds4ps2
[xerpi] I'll upload the ps3 driver now
[xerpi] that's it: https://github.com/xerpi/libds3ps2
READ ME: INSTALLATION
- Copy ds4ps2.irx and ds4ps3.irx to the root of your usb flash drive.
- Load the .elf with an ELF loader (uLaunchELF for example).
- That's it
AUTHOR: Made by xerpi
[xerpi] I've solved PS2infoGB with ds3/ds4 bug, if you wanna try it
[Register or Login to view code]Update
: DS4WiiBT - Connection Between DualShock4 and Wii through Bluetooth Working PoC
I've spent a few days trying to get a connection between the Wii and a DualShock 4. In order to get it working, I had to do some "reverse engineering" to the libogc's Bluetooth stack and I finally found what was happening: the Bluetooth protocol authentication part of the libogc's bluetooth stack was missing. I've already submitted a patch to the official libogc repository.
Well, after getting the "authentication" working, I started implementing the specific DS4 bluetooth protocol (thanks to here and here).
The DualShock4 need to be paired through USB before establishing a Bluetooth connection, so I've crafted a program called ds4pair_wii that makes this, it pairs the DS4 to the Wii's Bluetooth address. ds4pair_wii also writes to the SD a file called ds4wiibt_config, which has a list of each MAC of all the paired DS4 controllers.
After pairing, the connection can be established, once you press the PS button, the Dualshock 4 will try to connect to its paired MAC. Before this, the Wii has to be listening (aka waiting) for the DS4 controller to be turned on. After this, connections is established.
- Run ds4pair_wii with the DS4 connected over USB, it'll create a config file to the SD
- Run ds4wiibt (it'll load the config file), turn on the DS4 (press PS button)