Improve controller

This commit is contained in:
Denis 2023-11-11 20:17:50 +01:00
parent d9db4e7337
commit 4c729fe730
No known key found for this signature in database
GPG key ID: DD9B63F805CF5C03
3 changed files with 9 additions and 7 deletions

4
main.c
View file

@ -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);

View file

@ -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

View file

@ -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: