A (hopefully) better game controller library for current-gen game consoles.
WARNING: Work in progress and not ready for general use. API may change at any time.
This project is for research purposes only and does not come with any warranty. Use it at your own risk.
Simply put, existing software/boards like B***k, C*****u, P***0, etc. are either not flexible enough for my needs (I want full control over what the controller sends and receives, not just buttons and sticks), proprietary as f***, does not support current-gen consoles because they have "impossible to crack security measures", too expensive, or all of the above. Besides that, I am not hardcore enough to think that scrapping a $60 controller and figuring out how to padhack the touchpad, gyroscope, accelerometer, rumble motor, etc. without running into random obstacles such as frying the motherboard would be a good idea. So here we are.
Currently the library only supports Teensy 3.x (including LC). A patched version of Teensyduino core (version 1.45 at the moment) is required, which can be found here.
For Teensyduino IDE users, there are two ways to install the patched library. One way is to run scripts/makepatch.sh
and apply the generated patch file using the patch
tool to an existing Teensyduino core installation. The other way is to directly replace the core library of a working installation with the patched version. Then you might want to edit the boards.txt
in a similar fashion as this (with necessary changes like replace USB_XINPUT
with USB_DS4STUB
and so on). For PlatformIO users, it is possible to use the companion script hosted here and follow the instruction here. Afterwards add -DUSB_DS4STUB -UUSB_SERIAL
to the build parameters.
After patching the Teensyduino core library just download and install RDS4Reboot normally.