diff --git a/backend/libinput/events.c b/backend/libinput/events.c index c14aef01..758a9f25 100644 --- a/backend/libinput/events.c +++ b/backend/libinput/events.c @@ -53,6 +53,10 @@ static struct wlr_input_device *allocate_device( return wlr_dev; } +bool wlr_input_device_is_libinput(struct wlr_input_device *wlr_dev) { + return wlr_dev->impl == &input_device_impl; +} + static void handle_device_added(struct wlr_libinput_backend *backend, struct libinput_device *libinput_dev) { assert(backend && libinput_dev); diff --git a/include/wlr/backend/libinput.h b/include/wlr/backend/libinput.h index 95b8829d..af873628 100644 --- a/include/wlr/backend/libinput.h +++ b/include/wlr/backend/libinput.h @@ -12,5 +12,6 @@ struct wlr_backend *wlr_libinput_backend_create(struct wl_display *display, struct libinput_device *wlr_libinput_get_device_handle(struct wlr_input_device *dev); bool wlr_backend_is_libinput(struct wlr_backend *backend); +bool wlr_input_device_is_libinput(struct wlr_input_device *device); #endif