summaryrefslogtreecommitdiff
path: root/src/platform/wayland/pointer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform/wayland/pointer.c')
-rw-r--r--src/platform/wayland/pointer.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/platform/wayland/pointer.c b/src/platform/wayland/pointer.c
index 9f8ca49..571bb12 100644
--- a/src/platform/wayland/pointer.c
+++ b/src/platform/wayland/pointer.c
@@ -59,6 +59,9 @@ uint32_t seat_held_press_serial(const struct seat *s)
{
if (!s) return 0;
bool held = s->pointer_buttons != 0 || (s->tool && s->tool->in_contact);
+ /* A touch contact is a press too; touch_down records its serial. */
+ for (int i = 0; !held && i < SEAT_TOUCH_POINTS; i++)
+ held = s->touch_points[i].active;
return held ? s->press_serial : 0;
}