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)
{
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:
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