No description
Find a file
2023-11-30 03:10:58 +01:00
References Added a bunch of wireshark captures 2023-11-29 22:44:02 +01:00
.gitignore DualSense initial support 2023-11-29 02:22:18 +01:00
CMakeLists.txt Use cmake install 2023-11-30 01:40:14 +01:00
config.cfg.default use the correct version id 2023-11-29 02:30:39 +01:00
dev_iio.c Change anglvel sampling rate to 800Hz and allow gyroscope and accelerometer to be two distinct iio devices 2023-11-26 23:44:39 +01:00
dev_iio.h Improved codebase, compiling with clang 2023-11-20 01:15:07 +01:00
imu_message.h Change anglvel sampling rate to 800Hz and allow gyroscope and accelerometer to be two distinct iio devices 2023-11-26 23:44:39 +01:00
input_dev.c More sleep time 2023-11-27 01:01:12 +01:00
input_dev.h threading rework to support rumble 2023-11-25 21:03:32 +01:00
LICENSE.md Added license 2023-11-12 20:10:08 +01:00
logic.c prepare R5 and L5 logic 2023-11-29 19:08:59 +01:00
logic.h prepare R5 and L5 logic 2023-11-29 19:08:59 +01:00
main.c threading rework to support rumble 2023-11-25 21:03:32 +01:00
Makefile DualSense initial support 2023-11-29 02:22:18 +01:00
message.h test IMU output 2023-11-17 23:07:16 +01:00
output_dev.c Yes indeed. 2023-11-29 18:23:20 +01:00
output_dev.h threading rework to support rumble 2023-11-25 21:03:32 +01:00
platform.c Test mode switch 2023-11-20 22:02:30 +01:00
platform.h Improved codebase, compiling with clang 2023-11-20 01:15:07 +01:00
queue.c Problem was the initial effect setup 2023-11-26 03:49:02 +01:00
queue.h Improved codebase, compiling with clang 2023-11-20 01:15:07 +01:00
README.md change executable names 2023-11-28 21:46:19 +01:00
rogue_enemy.h Improved codebase, compiling with clang 2023-11-20 01:15:07 +01:00
rogue_enemy.rule Switched PRODUCT_ID back to 323 2023-11-12 23:05:31 +01:00
settings.c Default configuration + initial work on nintendo layout 2023-11-28 21:46:05 +01:00
settings.h Default configuration + initial work on nintendo layout 2023-11-28 21:46:05 +01:00
virt_ds4.c function comment 2023-11-27 01:53:08 +01:00
virt_ds4.h Reading a configuration file 2023-11-26 21:09:54 +01:00
virt_ds5.c report id is 0x02 2023-11-30 03:10:58 +01:00
virt_ds5.h DualSense initial support 2023-11-29 02:22:18 +01:00

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.

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:

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.