diff options
-rw-r--r-- | uinput.c | 24 |
1 files changed, 19 insertions, 5 deletions
@@ -1,6 +1,10 @@ #include <linux/input.h> +#include <fcntl.h> +#include <stdio.h> +#include <errno.h> +#include <string.h> -#include "minimonster.h" +#include "midimonster.h" #include "uinput.h" #define BACKEND_NAME "uinput" @@ -141,7 +145,7 @@ static channel* backend_channel(instance* inst, char* spec) { // find event unsigned u; - for (u = 0; u < data.size_events) { + for (u = 0; u < data->size_events; u++) { if (data->events[u].type == type && data->events[u].code == code && data->events[u].value == value) { @@ -150,7 +154,7 @@ static channel* backend_channel(instance* inst, char* spec) { } if (u == data->size_events) { - data->events = realloc(data->channel, (u + 1) * sizeof(struct input_event)); + data->events = realloc(data->events, (u + 1) * sizeof(struct input_event)); if (!data->events) { fprintf(stderr, "Failed to allocate memory\n"); @@ -167,10 +171,12 @@ static channel* backend_channel(instance* inst, char* spec) { static instance* backend_instance() { // TODO impl + return NULL; } static int backend_handle(size_t num, managed_fd* fds) { //TODO impl + return 0; } static int uinput_open_input_device(uinput_instance* data) { @@ -178,9 +184,9 @@ static int uinput_open_input_device(uinput_instance* data) { return 0; } - data->fd_input = open(data->device_path, O_RDONLY | O_NONBLOCK); + data->fd_in = open(data->device_path, O_RDONLY | O_NONBLOCK); - if (data->fd_input < 0) { + if (data->fd_in < 0) { fprintf(stderr, "Failed to open device %s: %s\n", data->device_path, strerror(errno)); return 1; } @@ -190,6 +196,7 @@ static int uinput_open_input_device(uinput_instance* data) { static int uinput_create_output_device(uinput_instance* data) { //TODO impl + return 0; } static int backend_start() { @@ -211,6 +218,7 @@ static int backend_start() { data = (uinput_instance*) inst[p]->impl; if (data->name) { + uinput_open_input_device(data); uinput_create_output_device(data); } } @@ -219,6 +227,12 @@ static int backend_start() { return 0; } +static int backend_set(instance* inst, size_t num, channel** c, channel_value* v) { + //TODO impl + return 0; +} + static int backend_shutdown() { //TODO impl + return 0; } |