diff --git a/src/main.c b/src/main.c index fd5225e..c4c6123 100644 --- a/src/main.c +++ b/src/main.c @@ -46,6 +46,13 @@ #define MOONLIGHT_PATH "/moonlight/" #define USER_PATHS ":~/.moonlight:./" +#define MAX_INPUTS 6 + +struct input_config { + char* path; + char* mapping; +}; + static void applist(const char* address) { struct app_list* list = client_applist(address); for (int i = 1;list != NULL;i++) { @@ -173,6 +180,8 @@ int main(int argc, char* argv[]) { {0, 0, 0, 0}, }; + struct input_config inputs[MAX_INPUTS]; + int inputsCount = 0; char* app = "Steam"; char* action = NULL; char* address = NULL; @@ -214,7 +223,13 @@ int main(int argc, char* argv[]) { app = optarg; break; case 'j': - evdev_create(optarg, mapping); + if (inputsCount >= MAX_INPUTS) { + perror("Too many inputs specified"); + exit(-1); + } + inputs[inputsCount].path = optarg; + inputs[inputsCount].mapping = optarg; + inputsCount++; autoadd = false; break; case 'k': @@ -249,6 +264,9 @@ int main(int argc, char* argv[]) { exit(-1); } udev_init(autoadd, mapping); + for (int i=0;i