From 4c729fe7307589b712464cf7e1a119167c498266 Mon Sep 17 00:00:00 2001 From: Denis Date: Sat, 11 Nov 2023 20:17:50 +0100 Subject: [PATCH] Improve controller --- main.c | 4 ++-- output_dev.c | 5 +++-- output_dev.h | 7 ++++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/main.c b/main.c index d3fc714..12502c5 100644 --- a/main.c +++ b/main.c @@ -84,7 +84,7 @@ int main(int argc, char ** argv) { queue_init(&gamepad_ev, 32); queue_init(&imu_ev, 32); - out_imu_dev.fd = create_output_dev("/dev/uinput", OUTPUT_DEV_NAME /*" - ROGueENEMY" */, output_dev_imu); + out_imu_dev.fd = create_output_dev("/dev/uinput", OUTPUT_DEV_NAME " - IMU", output_dev_imu); if (out_imu_dev.fd < 0) { // TODO: free(imu_dev.events_list); // TODO: free(gamepadd_dev.events_list); @@ -92,7 +92,7 @@ int main(int argc, char ** argv) { return EXIT_FAILURE; } - out_gamepadd_dev.fd = create_output_dev("/dev/uinput", OUTPUT_DEV_NAME /* " - ROGueENEMY" */, output_dev_gamepad); + out_gamepadd_dev.fd = create_output_dev("/dev/uinput", OUTPUT_DEV_NAME " - GamePad", output_dev_gamepad); if (out_gamepadd_dev.fd < 0) { close(out_imu_dev.fd); // TODO: free(imu_dev.events_list); diff --git a/output_dev.c b/output_dev.c index 2b7f0b8..7e4fe70 100644 --- a/output_dev.c +++ b/output_dev.c @@ -153,7 +153,8 @@ int create_output_dev(const char* uinput_path, const char* name, output_dev_type ioctl(fd, UI_SET_ABSBIT, ABS_RZ); ioctl(fd, UI_SET_ABSBIT, ABS_HAT0X); ioctl(fd, UI_SET_ABSBIT, ABS_HAT0Y); - ioctl(fd, UI_SET_ABSBIT, ABS_MISC); + ioctl(fd, UI_SET_ABSBIT, ABS_HAT2X); + ioctl(fd, UI_SET_ABSBIT, ABS_HAT2Y); ioctl(fd, UI_SET_KEYBIT, BTN_SOUTH); ioctl(fd, UI_SET_KEYBIT, BTN_EAST); @@ -412,7 +413,7 @@ void *output_dev_thread_func(void *ptr) { if ((ev.type == EV_KEY) && (ev.code == KEY_F16)) { ev.code = BTN_MODE; } else if ((ev.type == EV_KEY) && (ev.code == KEY_PROG1)) { // To be wired to F16 - ev.code = BTN_TR2; + ev.code = KEY_F12; } else if ((ev.type == EV_KEY) && (ev.code == KEY_F18)) { // To be wired to F16 ev.code = BTN_GEAR_UP; } else if ((ev.type == EV_KEY) && (ev.code == KEY_F17)) { // To be wired to F16 diff --git a/output_dev.h b/output_dev.h index 99a15f4..82e2f8d 100644 --- a/output_dev.h +++ b/output_dev.h @@ -2,18 +2,19 @@ #include "queue.h" -/* // Emulates a "Generic" controller: -#define OUTPUT_DEV_NAME "Generic Controller XD" +#define OUTPUT_DEV_NAME "ROGueENEMY" #define OUTPUT_DEV_VENDOR_ID 0x108c #define OUTPUT_DEV_PRODUCT_ID 0x0323 -*/ +#define OUTPUT_DEV_VERSION 0x0111 +/* // Emulates a steam controller #define OUTPUT_DEV_NAME "Steam Controller" #define OUTPUT_DEV_VENDOR_ID 0x28de #define OUTPUT_DEV_PRODUCT_ID 0x1102 #define OUTPUT_DEV_VERSION 0x0111 +*/ /* //Emulates an Xbox one wireless controller: