From 08fbdef60e17f57afd627a97060d33ef0ebd9da7 Mon Sep 17 00:00:00 2001 From: Ferdinand Schober Date: Mon, 17 Nov 2025 06:47:22 +0100 Subject: virtual_pointer: fix multiplier for axis_discrete (#2684) The virtual-pointer protocol accepts discrete scroll events, not axis-value120. Therefore the value received from a client must be multiplied by 120 before being handed to mutate_axis_frame. https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/879243e370de6167d2c49510396f937b1a93fab5/types/wlr_virtual_pointer_v1.c#L183 https://github.com/feschber/lan-mouse/issues/318 https://github.com/feschber/lan-mouse/pull/325 https://github.com/feschber/lan-mouse/issues/329 --- src/protocols/virtual_pointer.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/protocols') diff --git a/src/protocols/virtual_pointer.rs b/src/protocols/virtual_pointer.rs index ff3cb3e9..4ecc85ab 100644 --- a/src/protocols/virtual_pointer.rs +++ b/src/protocols/virtual_pointer.rs @@ -519,7 +519,7 @@ where } }; pointer.mutate_axis_frame(Some(time), |frame| { - frame.value(axis, value).v120(axis, discrete) + frame.value(axis, value).v120(axis, discrete * 120) }); } zwlr_virtual_pointer_v1::Request::Destroy => {} -- cgit