xserver/hw
David Jacewicz 2db4636354 xwayland: Aggregate scroll axis events to fix kinetic scrolling
Pointer scroll events are collected in xwl_seat->pending_pointer_event
as they are received in the pointer_handle_axis and
pointer_handle_axis_discrete callbacks. They are dispatched together as a
single event when pointer_handle_frame is called which "Indicates the end of a
set of events that logically belong together" [1]. This patch also sends an
event with dx=0, dy=0 when pointer_handle_axis_stop is called, which is what
allows XWayland clients to recognise the end of a touchpad scroll.

[1] https://wayland.app/protocols/wayland#wl_pointer:event:frame

Signed-off-by: David Jacewicz <david.jacewicz27@protonmail.com>
Fixes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/926
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1367
(cherry picked from commit e37eeb7af2)
(cherry picked from commit f0b2eeaf2f)
2022-09-14 09:56:31 +02:00
..
vfb Don't install Xvfb 2022-01-18 12:09:52 +01:00
xwayland xwayland: Aggregate scroll axis events to fix kinetic scrolling 2022-09-14 09:56:31 +02:00
meson.build Drop Xephyr / kdrive DDX 2022-01-18 12:09:52 +01:00