From 2056ebc80378fabf1f96883de3c7c930c809d101 Mon Sep 17 00:00:00 2001 From: Zoran Vuckovic Date: Fri, 2 Jun 2017 01:08:28 +0200 Subject: [PATCH] Allow udev input to be used with X11 context --- gfx/drivers_context/x_ctx.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/gfx/drivers_context/x_ctx.c b/gfx/drivers_context/x_ctx.c index 222e5d11e9..141fec877b 100644 --- a/gfx/drivers_context/x_ctx.c +++ b/gfx/drivers_context/x_ctx.c @@ -36,6 +36,9 @@ #endif +#include + +#include "../../configuration.h" #include "../../frontend/frontend_driver.h" #include "../common/gl_common.h" #include "../common/x11_common.h" @@ -900,8 +903,21 @@ static void gfx_ctx_x_input_driver(void *data, const char *joypad_name, const input_driver_t **input, void **input_data) { - void *xinput = input_x.init(joypad_name); +#ifdef HAVE_UDEV + settings_t *settings = config_get_ptr(); + if (string_is_equal_fast(settings->arrays.input_driver, "udev", 5)) + { + *input_data = input_udev.init(joypad_name); + if (*input_data) + { + *input = &input_udev; + return; + } + } +#endif + + void *xinput = input_x.init(joypad_name); *input = xinput ? &input_x : NULL; *input_data = xinput; }