No description
Find a file
2023-11-26 03:32:02 +01:00
References Fix output formatting 2023-11-21 19:36:18 +01:00
.gitignore exclude .cache directory 2023-11-21 00:43:07 +01:00
CMakeLists.txt Fixed CMake 2023-11-21 00:36:29 +01:00
dev_iio.c Improved codebase, compiling with clang 2023-11-20 01:15:07 +01:00
dev_iio.h Improved codebase, compiling with clang 2023-11-20 01:15:07 +01:00
imu_message.h Rumble update logic 2023-11-23 00:58:29 +01:00
input_dev.c Use a queue to transmit rumbles 2023-11-26 03:09:32 +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 Use a queue to transmit rumbles 2023-11-26 03:09:32 +01:00
logic.h Use a queue to transmit rumbles 2023-11-26 03:09:32 +01:00
main.c threading rework to support rumble 2023-11-25 21:03:32 +01:00
Makefile Added -arch=znver4 to makefile 2023-11-21 01:49:54 +01:00
message.h test IMU output 2023-11-17 23:07:16 +01:00
output_dev.c clock_gettime is malfunctioning 2023-11-26 03:15:48 +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 Formatting 2023-11-26 03:32:02 +01:00
queue.h Improved codebase, compiling with clang 2023-11-20 01:15:07 +01:00
README.md README.md: added contributors and a design section 2023-11-23 13:41:44 +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
virt_ds4.c add rumble logic 2023-11-23 14:35:04 +01:00
virt_ds4.h Improved codebase, compiling with clang 2023-11-20 01:15:07 +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.

Steam Configuration

In the emulated PS4 controller remember to remove the default deadzone for both left and right joystick: the ROG ally joystics appears to be way better than DS4 ones.

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.