ROGueENEMY/README.md
2023-12-07 23:01:38 +01:00

39 lines
2 KiB
Markdown

# ROGueENEMY
Collects ROG Ally input events to a single (active) virtual controller in linux to allow the use of the gyroscope and every button but also maximize controller compatibility with multiple games.
## Usage
On steam head for settings for the emulated PS4 controller and remove the default deadzone for both left and right joystick: the ROG ally joystics appears to be way better than DS4 ones.
On steam disable *Nintendo buttons layout* and rely on the proper configuration option on this software to accomplish what you seek.
Tweak ff_rumble to a value between 0 and 100 to configure the strenght for rumble output.
Remember to look /etc/ROGueENEMY/config.cfg for additional configurations.
__WARNING:__ If steam does not recognise a DualSense controller use the udev rule provided in this repo.
## Compilation
To compile from source you need CMake and make. After the usual git clone and cd inside the cloned directory to use CMake do:
```sh
mkdir build
cd build
cmake ..
cmake --build .
```
__Notes__: This project should be compiled with the following flags: *-O3 -march=znver4 -flto=full*
## Design
This software is meant to be run all the time in background and avoid busy wait, as well as quick reaction time from user input are both a design goal as well as ensuring reliable operation across many linux distributions in different conditions.
## Contributions
The following is a (probably incomplete) list of contributions this project had.
As this project was met in a great way by the community contributions were many:
- __ashtopeth101__ for providing capture data of a real DS4 controller, for his precious testing and in general his time
- __143mailliw__ for spotting and fixing a bug with the timestamp and the following time required to ensure proper operation
- __jlobue10__ for suggestions and allowing easy end-user usage of this software in fedora-based distros
- everybody else testing and providing feedback
If I have forgotten someone please tell me and/or send a pull request.