diff --git a/include/rootston/seat.h b/include/rootston/seat.h index 071103cf..3ddb97c5 100644 --- a/include/rootston/seat.h +++ b/include/rootston/seat.h @@ -30,7 +30,7 @@ struct roots_seat { struct wl_list keyboards; struct wl_list pointers; struct wl_list touch; - struct wl_list tablet_tools; + struct wl_list tablets; struct wl_list tablet_pads; struct wl_listener new_drag_icon; @@ -78,7 +78,7 @@ struct roots_touch { struct wl_list link; }; -struct roots_tablet_tool { +struct roots_tablet { struct roots_seat *seat; struct wlr_input_device *device; struct wlr_tablet_v2_tablet *tablet_v2; @@ -104,11 +104,11 @@ struct roots_tablet_pad { struct wl_listener ring; struct wl_listener strip; - struct roots_tablet_tool *tablet; + struct roots_tablet *tablet; struct wl_listener tablet_destroy; }; -struct roots_tablet_tool_tool { +struct roots_tablet_tool { struct wl_list link; struct wl_list tool_link; struct wlr_tablet_v2_tablet_tool *tablet_v2_tool; @@ -118,7 +118,7 @@ struct roots_tablet_tool_tool { struct wl_listener set_cursor; struct wl_listener tool_destroy; - struct roots_tablet_tool *current_tablet; + struct roots_tablet *current_tablet; struct wl_listener tablet_destroy; }; diff --git a/rootston/seat.c b/rootston/seat.c index 89a32fa9..892faaa0 100644 --- a/rootston/seat.c +++ b/rootston/seat.c @@ -102,21 +102,21 @@ static void handle_touch_motion(struct wl_listener *listener, void *data) { } static void handle_tablet_tool_position(struct roots_cursor *cursor, - struct roots_tablet_tool *tool, - struct wlr_tablet_tool *tool_tool, + struct roots_tablet *tablet, + struct wlr_tablet_tool *tool, bool change_x, bool change_y, double x, double y, double dx, double dy) { if (!change_x && !change_y) { return; } - switch (tool_tool->type) { + switch (tool->type) { case WLR_TABLET_TOOL_TYPE_MOUSE: // They are 0 either way when they weren't modified - wlr_cursor_move(cursor->cursor, tool->device, dx, dy); + wlr_cursor_move(cursor->cursor, tablet->device, dx, dy); break; default: - wlr_cursor_warp_absolute(cursor->cursor, tool->device, + wlr_cursor_warp_absolute(cursor->cursor, tablet->device, change_x ? x : NAN, change_y ? y : NAN); } @@ -126,7 +126,7 @@ static void handle_tablet_tool_position(struct roots_cursor *cursor, struct roots_desktop *desktop = seat->input->server->desktop; struct wlr_surface *surface = desktop_surface_at(desktop, cursor->cursor->x, cursor->cursor->y, &sx, &sy, &view); - struct roots_tablet_tool_tool *roots_tool = tool_tool->data; + struct roots_tablet_tool *roots_tool = tool->data; if (!surface) { wlr_send_tablet_v2_tablet_tool_proximity_out(roots_tool->tablet_v2_tool); @@ -134,14 +134,14 @@ static void handle_tablet_tool_position(struct roots_cursor *cursor, return; } - if (!wlr_surface_accepts_tablet_v2(tool->tablet_v2, surface)) { + if (!wlr_surface_accepts_tablet_v2(tablet->tablet_v2, surface)) { wlr_send_tablet_v2_tablet_tool_proximity_out(roots_tool->tablet_v2_tool); /* XXX: TODO: Fallback pointer semantics */ return; } wlr_send_tablet_v2_tablet_tool_proximity_in(roots_tool->tablet_v2_tool, - tool->tablet_v2, surface); + tablet->tablet_v2, surface); wlr_send_tablet_v2_tablet_tool_motion(roots_tool->tablet_v2_tool, sx, sy); } @@ -152,7 +152,7 @@ static void handle_tool_axis(struct wl_listener *listener, void *data) { struct roots_desktop *desktop = cursor->seat->input->server->desktop; wlr_idle_notify_activity(desktop->idle, cursor->seat->seat); struct wlr_event_tablet_tool_axis *event = data; - struct roots_tablet_tool_tool *roots_tool = event->tool->data; + struct roots_tablet_tool *roots_tool = event->tool->data; if (!roots_tool) { // Should this be an assert? wlr_log(WLR_DEBUG, "Tool Axis, before proximity"); @@ -205,7 +205,7 @@ static void handle_tool_tip(struct wl_listener *listener, void *data) { struct roots_desktop *desktop = cursor->seat->input->server->desktop; wlr_idle_notify_activity(desktop->idle, cursor->seat->seat); struct wlr_event_tablet_tool_tip *event = data; - struct roots_tablet_tool_tool *roots_tool = event->tool->data; + struct roots_tablet_tool *roots_tool = event->tool->data; if (event->state == WLR_TABLET_TOOL_TIP_DOWN) { wlr_send_tablet_v2_tablet_tool_down(roots_tool->tablet_v2_tool); @@ -214,8 +214,8 @@ static void handle_tool_tip(struct wl_listener *listener, void *data) { } } -static void handle_tablet_tool_tool_destroy(struct wl_listener *listener, void *data) { - struct roots_tablet_tool_tool *tool = +static void handle_tablet_tool_destroy(struct wl_listener *listener, void *data) { + struct roots_tablet_tool *tool = wl_container_of(listener, tool, tool_destroy); wl_list_remove(&tool->link); @@ -233,7 +233,7 @@ static void handle_tool_button(struct wl_listener *listener, void *data) { struct roots_desktop *desktop = cursor->seat->input->server->desktop; wlr_idle_notify_activity(desktop->idle, cursor->seat->seat); struct wlr_event_tablet_tool_button *event = data; - struct roots_tablet_tool_tool *roots_tool = event->tool->data; + struct roots_tablet_tool *roots_tool = event->tool->data; wlr_send_tablet_v2_tablet_tool_button(roots_tool->tablet_v2_tool, (enum zwp_tablet_pad_v2_button_state)event->button, @@ -241,7 +241,7 @@ static void handle_tool_button(struct wl_listener *listener, void *data) { } static void handle_tablet_tool_set_cursor(struct wl_listener *listener, void *data) { - struct roots_tablet_tool_tool *tool = + struct roots_tablet_tool *tool = wl_container_of(listener, tool, set_cursor); struct wlr_tablet_v2_event_cursor *evt = data; @@ -266,14 +266,14 @@ static void handle_tool_proximity(struct wl_listener *listener, void *data) { struct wlr_tablet_tool *tool = event->tool; if (!tool->data) { - struct roots_tablet_tool_tool *roots_tool = - calloc(1, sizeof(struct roots_tablet_tool_tool)); + struct roots_tablet_tool *roots_tool = + calloc(1, sizeof(struct roots_tablet_tool)); roots_tool->seat = cursor->seat; tool->data = roots_tool; roots_tool->tablet_v2_tool = wlr_tablet_tool_create(desktop->tablet_v2, cursor->seat->seat, tool); - roots_tool->tool_destroy.notify = handle_tablet_tool_tool_destroy; + roots_tool->tool_destroy.notify = handle_tablet_tool_destroy; wl_signal_add(&tool->events.destroy, &roots_tool->tool_destroy); roots_tool->set_cursor.notify = handle_tablet_tool_set_cursor; @@ -337,7 +337,7 @@ void roots_seat_configure_cursor(struct roots_seat *seat) { struct roots_pointer *pointer; struct roots_touch *touch; - struct roots_tablet_tool *tablet_tool; + struct roots_tablet *tablet; struct roots_output *output; // reset mappings @@ -348,8 +348,8 @@ void roots_seat_configure_cursor(struct roots_seat *seat) { wl_list_for_each(touch, &seat->touch, link) { seat_reset_device_mappings(seat, touch->device); } - wl_list_for_each(tablet_tool, &seat->tablet_tools, link) { - seat_reset_device_mappings(seat, tablet_tool->device); + wl_list_for_each(tablet, &seat->tablets, link) { + seat_reset_device_mappings(seat, tablet->device); } // configure device to output mappings @@ -369,8 +369,8 @@ void roots_seat_configure_cursor(struct roots_seat *seat) { seat_set_device_output_mappings(seat, pointer->device, output->wlr_output); } - wl_list_for_each(tablet_tool, &seat->tablet_tools, link) { - seat_set_device_output_mappings(seat, tablet_tool->device, + wl_list_for_each(tablet, &seat->tablets, link) { + seat_set_device_output_mappings(seat, tablet->device, output->wlr_output); } wl_list_for_each(touch, &seat->touch, link) { @@ -554,7 +554,7 @@ struct roots_seat *roots_seat_create(struct roots_input *input, char *name) { wl_list_init(&seat->keyboards); wl_list_init(&seat->pointers); wl_list_init(&seat->touch); - wl_list_init(&seat->tablet_tools); + wl_list_init(&seat->tablets); wl_list_init(&seat->tablet_pads); wl_list_init(&seat->views); wl_list_init(&seat->drag_icons); @@ -589,7 +589,7 @@ static void seat_update_capabilities(struct roots_seat *seat) { if (!wl_list_empty(&seat->keyboards)) { caps |= WL_SEAT_CAPABILITY_KEYBOARD; } - if (!wl_list_empty(&seat->pointers) || !wl_list_empty(&seat->tablet_tools)) { + if (!wl_list_empty(&seat->pointers) || !wl_list_empty(&seat->tablets)) { caps |= WL_SEAT_CAPABILITY_POINTER; } if (!wl_list_empty(&seat->touch)) { @@ -739,7 +739,7 @@ static void handle_pad_tool_destroy(struct wl_listener *listener, void *data) { } static void attach_tablet_pad(struct roots_tablet_pad *pad, - struct roots_tablet_tool *tool) { + struct roots_tablet *tool) { wlr_log(WLR_DEBUG, "Attaching tablet pad \"%s\" to tablet tool \"%s\"", pad->device->name, tool->device->name); @@ -753,7 +753,7 @@ static void handle_tablet_pad_attach(struct wl_listener *listener, void *data) { struct roots_tablet_pad *pad = wl_container_of(listener, pad, attach); struct wlr_tablet_tool *wlr_tool = data; - struct roots_tablet_tool *tool = wlr_tool->data; + struct roots_tablet *tool = wlr_tool->data; attach_tablet_pad(pad, tool); } @@ -835,8 +835,8 @@ static void seat_add_tablet_pad(struct roots_seat *seat, struct libinput_device_group *group = libinput_device_get_device_group(wlr_libinput_get_device_handle(device)); - struct roots_tablet_tool *tool; - wl_list_for_each(tool, &seat->tablet_tools, link) { + struct roots_tablet *tool; + wl_list_for_each(tool, &seat->tablets, link) { if (!wlr_input_device_is_libinput(tool->device)) { continue; } @@ -850,44 +850,44 @@ static void seat_add_tablet_pad(struct roots_seat *seat, } } -static void handle_tablet_tool_destroy(struct wl_listener *listener, +static void handle_tablet_destroy(struct wl_listener *listener, void *data) { - struct roots_tablet_tool *tablet_tool = - wl_container_of(listener, tablet_tool, device_destroy); - struct roots_seat *seat = tablet_tool->seat; + struct roots_tablet *tablet = + wl_container_of(listener, tablet, device_destroy); + struct roots_seat *seat = tablet->seat; - wlr_cursor_detach_input_device(seat->cursor->cursor, tablet_tool->device); - wl_list_remove(&tablet_tool->device_destroy.link); - wl_list_remove(&tablet_tool->link); - free(tablet_tool); + wlr_cursor_detach_input_device(seat->cursor->cursor, tablet->device); + wl_list_remove(&tablet->device_destroy.link); + wl_list_remove(&tablet->link); + free(tablet); seat_update_capabilities(seat); } static void seat_add_tablet_tool(struct roots_seat *seat, struct wlr_input_device *device) { - struct roots_tablet_tool *tablet_tool = - calloc(1, sizeof(struct roots_tablet_tool)); - if (!tablet_tool) { - wlr_log(WLR_ERROR, "could not allocate tablet_tool for seat"); + struct roots_tablet *tablet = + calloc(1, sizeof(struct roots_tablet)); + if (!tablet) { + wlr_log(WLR_ERROR, "could not allocate tablet for seat"); return; } - device->data = tablet_tool; - tablet_tool->device = device; - tablet_tool->seat = seat; - wl_list_insert(&seat->tablet_tools, &tablet_tool->link); + device->data = tablet; + tablet->device = device; + tablet->seat = seat; + wl_list_insert(&seat->tablets, &tablet->link); - tablet_tool->device_destroy.notify = handle_tablet_tool_destroy; - wl_signal_add(&tablet_tool->device->events.destroy, - &tablet_tool->device_destroy); + tablet->device_destroy.notify = handle_tablet_destroy; + wl_signal_add(&tablet->device->events.destroy, + &tablet->device_destroy); wlr_cursor_attach_input_device(seat->cursor->cursor, device); roots_seat_configure_cursor(seat); struct roots_desktop *desktop = seat->input->server->desktop; - tablet_tool->tablet_v2 = + tablet->tablet_v2 = wlr_tablet_create(desktop->tablet_v2, seat->seat, device); struct libinput_device_group *group = @@ -901,7 +901,7 @@ static void seat_add_tablet_tool(struct roots_seat *seat, struct libinput_device *li_dev = wlr_libinput_get_device_handle(pad->device); if (libinput_device_get_device_group(li_dev) == group) { - attach_tablet_pad(pad, tablet_tool); + attach_tablet_pad(pad, tablet); } } }