types/wlr_input_device: move output_name field to wlr_pointer and wlr_touch

This commit is contained in:
Simon Zeni 2022-03-08 16:45:03 -05:00
parent 2001441a37
commit a92e5f8d46
9 changed files with 18 additions and 6 deletions

View file

@ -440,8 +440,7 @@ void create_pointer(struct wlr_wl_seat *seat, struct wlr_wl_output *output) {
snprintf(name, sizeof(name), "wayland-pointer-%s", seat->name);
wlr_pointer_init(&pointer->wlr_pointer, &wl_pointer_impl, name);
/* TODO: move output_name to pointer/touch */
pointer->wlr_pointer.base.output_name = strdup(output->wlr_output.name);
pointer->wlr_pointer.output_name = strdup(output->wlr_output.name);
pointer->seat = seat;
pointer->output = output;

View file

@ -217,6 +217,13 @@ static void init_seat_touch(struct wlr_wl_seat *seat) {
wlr_touch_init(&seat->wlr_touch, &touch_impl, name);
struct wlr_wl_output *output;
wl_list_for_each(output, &seat->backend->outputs, link) {
/* Multi-output touch not supproted */
seat->wlr_touch.output_name = strdup(output->wlr_output.name);
break;
}
wl_touch_add_listener(seat->wl_touch, &touch_listener, seat);
wlr_signal_emit_safe(&seat->backend->backend.events.new_input,
&seat->wlr_touch.base);

View file

@ -574,10 +574,10 @@ struct wlr_output *wlr_x11_output_create(struct wlr_backend *backend) {
wlr_output_update_enabled(wlr_output, true);
wlr_pointer_init(&output->pointer, &x11_pointer_impl, "x11-pointer");
output->pointer.base.output_name = strdup(wlr_output->name);
output->pointer.output_name = strdup(wlr_output->name);
wlr_touch_init(&output->touch, &x11_touch_impl, "x11-touch");
output->touch.base.output_name = strdup(wlr_output->name);
output->touch.output_name = strdup(wlr_output->name);
wl_list_init(&output->touchpoints);
wlr_signal_emit_safe(&x11->backend.events.new_output, wlr_output);