backend/wayland: support touch cancel events

since wayland doesn't provide a touch id in cancel events, track what
points are active so we can cancel all of them

timestamp is also not provided - use 0 because no one's paying attention
to that anyway

Closes #3000
This commit is contained in:
Rose Hudson 2023-03-17 15:58:47 +00:00 committed by Simon Ser
parent 1d64e12391
commit 37f42e2df2
2 changed files with 38 additions and 1 deletions

View file

@ -110,6 +110,11 @@ struct wlr_wl_pointer {
struct wl_list link;
};
struct wlr_wl_touch_points {
int32_t ids[64];
size_t len;
};
struct wlr_wl_seat {
char *name;
struct wl_seat *wl_seat;
@ -131,6 +136,7 @@ struct wlr_wl_seat {
struct wl_touch *wl_touch;
struct wlr_touch wlr_touch;
struct wlr_wl_touch_points touch_points;
struct zwp_tablet_seat_v2 *zwp_tablet_seat_v2;
struct zwp_tablet_v2 *zwp_tablet_v2;