From a3d8688c178981175f0f632dc8c96750e06f31b4 Mon Sep 17 00:00:00 2001 From: Jens Peters Date: Sun, 27 Oct 2024 09:07:54 +0100 Subject: [PATCH] input: warp cursor to touch coordinates This makes the behavior consistent with non-touch capable surfaces and the desktop. --- src/input/touch.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/input/touch.c b/src/input/touch.c index 8557d9c7..e7c9a26e 100644 --- a/src/input/touch.c +++ b/src/input/touch.c @@ -77,6 +77,8 @@ handle_touch_motion(struct wl_listener *listener, void *data) double sx = lx - touch_point->x_offset; double sy = ly - touch_point->y_offset; + wlr_cursor_warp_absolute(seat->cursor, + &event->touch->base, event->x, event->y); wlr_seat_touch_notify_motion(seat->seat, event->time_msec, event->touch_id, sx, sy); } else { @@ -133,6 +135,8 @@ handle_touch_down(struct wl_listener *listener, void *data) } } + wlr_cursor_warp_absolute(seat->cursor, + &event->touch->base, event->x, event->y); wlr_seat_touch_notify_down(seat->seat, touch_point->surface, event->time_msec, event->touch_id, sx, sy); } else {