aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backend/x11/backend.c9
-rw-r--r--include/backend/x11.h1
-rw-r--r--include/wlr/backend/x11.h2
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