diff options
-rw-r--r-- | backend/x11/backend.c | 9 | ||||
-rw-r--r-- | include/backend/x11.h | 1 | ||||
-rw-r--r-- | include/wlr/backend/x11.h | 2 |
3 files changed, 9 insertions, 3 deletions
diff --git a/backend/x11/backend.c b/backend/x11/backend.c index 0d0eaa5b..d2690342 100644 --- a/backend/x11/backend.c +++ b/backend/x11/backend.c @@ -25,6 +25,7 @@ static struct wlr_backend_impl backend_impl; static struct wlr_output_impl output_impl; +static struct wlr_input_device_impl input_device_impl = { 0 }; static uint32_t xcb_button_to_wl(uint32_t button) { switch (button) { @@ -328,12 +329,12 @@ struct wlr_backend *wlr_x11_backend_create(struct wl_display *display, } wlr_input_device_init(&x11->keyboard_dev, WLR_INPUT_DEVICE_KEYBOARD, - NULL, "X11 keyboard", 0, 0); + &input_device_impl, "X11 keyboard", 0, 0); wlr_keyboard_init(&x11->keyboard, NULL); x11->keyboard_dev.keyboard = &x11->keyboard; wlr_input_device_init(&x11->pointer_dev, WLR_INPUT_DEVICE_POINTER, - NULL, "X11 pointer", 0, 0); + &input_device_impl, "X11 pointer", 0, 0); wlr_pointer_init(&x11->pointer, NULL); x11->pointer_dev.pointer = &x11->pointer; @@ -405,3 +406,7 @@ static struct wlr_output_impl output_impl = { bool wlr_output_is_x11(struct wlr_output *wlr_output) { return wlr_output->impl == &output_impl; } + +bool wlr_input_device_is_x11(struct wlr_input_device *wlr_dev) { + return wlr_dev->impl == &input_device_impl; +} diff --git a/include/backend/x11.h b/include/backend/x11.h index b845a41a..b342cd4d 100644 --- a/include/backend/x11.h +++ b/include/backend/x11.h @@ -6,7 +6,6 @@ #include <X11/Xlib-xcb.h> #include <wayland-server.h> #include <wlr/render/egl.h> -#include <wlr/types/wlr_input_device.h> struct wlr_x11_backend; diff --git a/include/wlr/backend/x11.h b/include/wlr/backend/x11.h index 667bfd15..b22d7f68 100644 --- a/include/wlr/backend/x11.h +++ b/include/wlr/backend/x11.h @@ -4,12 +4,14 @@ #include <stdbool.h> #include <wayland-server.h> #include <wlr/backend.h> +#include <wlr/types/wlr_input_device.h> #include <wlr/types/wlr_output.h> struct wlr_backend *wlr_x11_backend_create(struct wl_display *display, const char *x11_display); bool wlr_backend_is_x11(struct wlr_backend *backend); +bool wlr_input_device_is_x11(struct wlr_input_device *device); bool wlr_output_is_x11(struct wlr_output *output); #endif |