mirror of
https://github.com/labwc/labwc.git
synced 2025-10-29 05:40:24 -04:00
input: subscribe to tablet tool events from cursor
Contrary to the raw tablet events, the cursor events transform the coordinates based on a mapped output orientation. Otherwise those events are the same.
This commit is contained in:
parent
670cc0f511
commit
060626e9c7
2 changed files with 16 additions and 16 deletions
|
|
@ -23,10 +23,10 @@ struct drawing_tablet {
|
|||
double slider;
|
||||
double wheel_delta;
|
||||
struct {
|
||||
struct wl_listener proximity;
|
||||
struct wl_listener axis;
|
||||
struct wl_listener tip;
|
||||
struct wl_listener button;
|
||||
struct wl_listener tablet_tool_proximity;
|
||||
struct wl_listener tablet_tool_axis;
|
||||
struct wl_listener tablet_tool_tip;
|
||||
struct wl_listener tablet_tool_button;
|
||||
struct wl_listener destroy;
|
||||
} handlers;
|
||||
struct wl_list link; /* seat.tablets */
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@ notify_motion(struct drawing_tablet *tablet, struct drawing_tablet_tool *tool,
|
|||
}
|
||||
|
||||
static void
|
||||
handle_proximity(struct wl_listener *listener, void *data)
|
||||
handle_tablet_tool_proximity(struct wl_listener *listener, void *data)
|
||||
{
|
||||
struct wlr_tablet_tool_proximity_event *ev = data;
|
||||
struct drawing_tablet *tablet = ev->tablet->data;
|
||||
|
|
@ -286,7 +286,7 @@ handle_proximity(struct wl_listener *listener, void *data)
|
|||
static bool is_down_mouse_emulation = false;
|
||||
|
||||
static void
|
||||
handle_axis(struct wl_listener *listener, void *data)
|
||||
handle_tablet_tool_axis(struct wl_listener *listener, void *data)
|
||||
{
|
||||
struct wlr_tablet_tool_axis_event *ev = data;
|
||||
struct drawing_tablet *tablet = ev->tablet->data;
|
||||
|
|
@ -460,7 +460,7 @@ seat_pointer_end_grab(struct drawing_tablet_tool *tool,
|
|||
}
|
||||
|
||||
static void
|
||||
handle_tip(struct wl_listener *listener, void *data)
|
||||
handle_tablet_tool_tip(struct wl_listener *listener, void *data)
|
||||
{
|
||||
struct wlr_tablet_tool_tip_event *ev = data;
|
||||
struct drawing_tablet *tablet = ev->tablet->data;
|
||||
|
|
@ -535,7 +535,7 @@ handle_tip(struct wl_listener *listener, void *data)
|
|||
}
|
||||
|
||||
static void
|
||||
handle_button(struct wl_listener *listener, void *data)
|
||||
handle_tablet_tool_button(struct wl_listener *listener, void *data)
|
||||
{
|
||||
struct wlr_tablet_tool_button_event *ev = data;
|
||||
struct drawing_tablet *tablet = ev->tablet->data;
|
||||
|
|
@ -604,10 +604,10 @@ handle_destroy(struct wl_listener *listener, void *data)
|
|||
wl_list_remove(&tablet->link);
|
||||
tablet_pad_attach_tablet(tablet->seat);
|
||||
|
||||
wl_list_remove(&tablet->handlers.tip.link);
|
||||
wl_list_remove(&tablet->handlers.button.link);
|
||||
wl_list_remove(&tablet->handlers.proximity.link);
|
||||
wl_list_remove(&tablet->handlers.axis.link);
|
||||
wl_list_remove(&tablet->handlers.tablet_tool_tip.link);
|
||||
wl_list_remove(&tablet->handlers.tablet_tool_button.link);
|
||||
wl_list_remove(&tablet->handlers.tablet_tool_proximity.link);
|
||||
wl_list_remove(&tablet->handlers.tablet_tool_axis.link);
|
||||
wl_list_remove(&tablet->handlers.destroy.link);
|
||||
free(tablet);
|
||||
}
|
||||
|
|
@ -636,10 +636,10 @@ tablet_init(struct seat *seat, struct wlr_input_device *wlr_device)
|
|||
tablet->wheel_delta = 0.0;
|
||||
wlr_log(WLR_INFO, "tablet dimensions: %.2fmm x %.2fmm",
|
||||
tablet->tablet->width_mm, tablet->tablet->height_mm);
|
||||
CONNECT_SIGNAL(tablet->tablet, &tablet->handlers, axis);
|
||||
CONNECT_SIGNAL(tablet->tablet, &tablet->handlers, proximity);
|
||||
CONNECT_SIGNAL(tablet->tablet, &tablet->handlers, tip);
|
||||
CONNECT_SIGNAL(tablet->tablet, &tablet->handlers, button);
|
||||
CONNECT_SIGNAL(seat->cursor, &tablet->handlers, tablet_tool_axis);
|
||||
CONNECT_SIGNAL(seat->cursor, &tablet->handlers, tablet_tool_proximity);
|
||||
CONNECT_SIGNAL(seat->cursor, &tablet->handlers, tablet_tool_tip);
|
||||
CONNECT_SIGNAL(seat->cursor, &tablet->handlers, tablet_tool_button);
|
||||
CONNECT_SIGNAL(wlr_device, &tablet->handlers, destroy);
|
||||
|
||||
wl_list_insert(&seat->tablets, &tablet->link);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue