aboutsummaryrefslogtreecommitdiff
path: root/include/wlr/interfaces
diff options
context:
space:
mode:
authorSimon Zeni <simon@bl4ckb0ne.ca>2022-03-01 14:49:30 -0500
committerKirill Primak <vyivel@eclair.cafe>2022-03-07 16:37:41 +0000
commit7dc4a3ecd71cf41dd1800c6afd3b16c83a90f031 (patch)
treebf2326174d0d01369bec23763beb90eba870b5cd /include/wlr/interfaces
parent39b68ea47a661b1f7562ce283652de08f222b2be (diff)
interface/wlr_keyboard: rework destroy sequence
The destroy member in wlr_keyboard_impl has been removed. The function `wlr_keyboard_finish` has been introduce to clean up the resources owned by a wlr_keyboard. `wlr_input_device_destroy` no longer destroys the wlr_keyboard, attempting to destroy a wlr_keyboard will result in a no-op. The field `name` has been added to the wlr_keyboard_impl to be able to identify a given wlr_keyboard device.
Diffstat (limited to 'include/wlr/interfaces')
-rw-r--r--include/wlr/interfaces/wlr_keyboard.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/wlr/interfaces/wlr_keyboard.h b/include/wlr/interfaces/wlr_keyboard.h
index 4bcef57b..3f4c4255 100644
--- a/include/wlr/interfaces/wlr_keyboard.h
+++ b/include/wlr/interfaces/wlr_keyboard.h
@@ -13,13 +13,18 @@
#include <wlr/types/wlr_keyboard.h>
struct wlr_keyboard_impl {
- void (*destroy)(struct wlr_keyboard *keyboard);
+ const char *name;
void (*led_update)(struct wlr_keyboard *keyboard, uint32_t leds);
};
void wlr_keyboard_init(struct wlr_keyboard *keyboard,
- const struct wlr_keyboard_impl *impl, const char *name);
-void wlr_keyboard_destroy(struct wlr_keyboard *keyboard);
+ const struct wlr_keyboard_impl *impl, const char *name);
+
+/**
+ * Cleans up all of the resources owned by wlr_keyboard.
+ */
+void wlr_keyboard_finish(struct wlr_keyboard *keyboard);
+
void wlr_keyboard_notify_key(struct wlr_keyboard *keyboard,
struct wlr_event_keyboard_key *event);
void wlr_keyboard_notify_modifiers(struct wlr_keyboard *keyboard,