]> git.mdlowis.com Git - proto/labwc.git/commitdiff
seat: add seat_add_device helper
authorJoshua Ashton <joshua@froggi.es>
Wed, 17 Aug 2022 18:16:16 +0000 (18:16 +0000)
committerJohan Malm <johanmalm@users.noreply.github.com>
Tue, 27 Sep 2022 16:31:00 +0000 (17:31 +0100)
src/seat.c

index 481adf3a8489f0c8a00818524b2814f9c5fa6a2c..082ed306c3335186223bc381eab2189ef3e4b95a 100644 (file)
@@ -222,6 +222,17 @@ seat_update_capabilities(struct seat *seat)
        wlr_seat_set_capabilities(seat->seat, caps);
 }
 
+static void
+seat_add_device(struct seat *seat, struct input *input)
+{
+       input->seat = seat;
+       input->destroy.notify = input_device_destroy;
+       wl_signal_add(&input->wlr_input_device->events.destroy, &input->destroy);
+       wl_list_insert(&seat->inputs, &input->link);
+
+       seat_update_capabilities(seat);
+}
+
 static void
 new_input_notify(struct wl_listener *listener, void *data)
 {
@@ -229,7 +240,6 @@ new_input_notify(struct wl_listener *listener, void *data)
        struct wlr_input_device *device = data;
        struct input *input = znew(*input);
        input->wlr_input_device = device;
-       input->seat = seat;
 
        switch (device->type) {
        case WLR_INPUT_DEVICE_KEYBOARD:
@@ -246,11 +256,7 @@ new_input_notify(struct wl_listener *listener, void *data)
                break;
        }
 
-       input->destroy.notify = input_device_destroy;
-       wl_signal_add(&device->events.destroy, &input->destroy);
-       wl_list_insert(&seat->inputs, &input->link);
-
-       seat_update_capabilities(seat);
+       seat_add_device(seat, input);
 }
 
 static void