summaryrefslogtreecommitdiff
path: root/sway/input/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/input/keyboard.c')
-rw-r--r--sway/input/keyboard.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sway/input/keyboard.c b/sway/input/keyboard.c
index 59f81e62..31d254df 100644
--- a/sway/input/keyboard.c
+++ b/sway/input/keyboard.c
@@ -53,5 +53,14 @@ struct sway_keyboard *sway_keyboard_create(struct sway_seat *seat,
wl_signal_add(&device->keyboard->events.modifiers, &keyboard->keyboard_modifiers);
keyboard->keyboard_modifiers.notify = handle_keyboard_modifiers;
+ wl_list_insert(&seat->keyboards, &keyboard->link);
+
return keyboard;
}
+
+void sway_keyboard_destroy(struct sway_keyboard *keyboard) {
+ wl_list_remove(&keyboard->keyboard_key.link);
+ wl_list_remove(&keyboard->keyboard_modifiers.link);
+ wl_list_remove(&keyboard->link);
+ free(keyboard);
+}