[Wayland-bugs] [Bug 106036] IBM Scrollpoint mouse: libinput mouse scrolling speed insanely fast
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon Apr 23 18:38:48 UTC 2018
https://bugs.freedesktop.org/show_bug.cgi?id=106036
--- Comment #8 from peter.ganzhorn at gmail.com ---
Ok, this sounds reasonable to me.
1. I reverted all changes to /lib/udev/hwdb.d/70-mouse.hwdb.
2. I reverted all previous changes in fallback_flush_wheels() and inserted the
following:
if (device->model_flags & EVDEV_MODEL_SCROLLPOINT) {
// Scrollpoint: Normalize scroll coords in wheel degrees and
use evdev_post_scroll().
dispatch->wheel.y *= -1;
normalize_delta(device, &dispatch->wheel, &wheel_degrees);
evdev_post_scroll(device, time,
LIBINPUT_POINTER_AXIS_SOURCE_CONTINUOUS,
&wheel_degrees);
dispatch->wheel.x = 0;
dispatch->wheel.y = 0;
return;
}
Probably I should add a
struct normalized_coords unaccel;
instead of abusing wheel_degrees which was already declared in
fallback_flush_wheels() for a final version of the changes?
This leads to the following output of libinput-debug-events while using the
scrollpoint:
event13 POINTER_AXIS +1.34s vert 10.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +1.40s vert 10.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +1.45s vert 9.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +1.50s vert 22.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +1.55s vert 17.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +1.60s vert 16.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +2.02s vert -8.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +2.06s vert -17.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +2.11s vert -18.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +2.17s vert -23.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +2.22s vert -25.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +2.27s vert -22.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +2.32s vert -17.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +2.38s vert -1.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +3.14s vert 0.00 horiz -5.00* (continuous)
event13 POINTER_AXIS +3.19s vert 0.00 horiz -14.00* (continuous)
event13 POINTER_AXIS +3.24s vert 0.00 horiz -19.00* (continuous)
event13 POINTER_AXIS +3.30s vert 0.00 horiz -30.00* (continuous)
event13 POINTER_AXIS +3.34s vert 0.00 horiz -25.00* (continuous)
event13 POINTER_AXIS +3.40s vert 0.00 horiz -11.00* (continuous)
event13 POINTER_AXIS +3.45s vert 0.00 horiz -6.00* (continuous)
event13 POINTER_AXIS +3.81s vert -1.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +3.86s vert -3.00* horiz 0.00 (continuous)
event13 POINTER_AXIS +3.91s vert -1.00* horiz 1.00* (continuous)
event13 POINTER_AXIS +3.96s vert 0.00 horiz 6.00* (continuous)
event13 POINTER_AXIS +4.01s vert 0.00 horiz 4.00* (continuous)
event13 POINTER_AXIS +4.06s vert 0.00 horiz 6.00* (continuous)
event13 POINTER_AXIS +4.11s vert -6.00* horiz 0.00 (continuous)
evemu-record shows this:
E: 1.375987 0002 0008 -003 # EV_REL / REL_WHEEL -3
E: 1.375987 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +456ms
E: 1.431967 0002 0008 -034 # EV_REL / REL_WHEEL -34
E: 1.431967 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +56ms
E: 1.479969 0002 0008 -047 # EV_REL / REL_WHEEL -47
E: 1.479969 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +48ms
E: 1.535961 0002 0008 -054 # EV_REL / REL_WHEEL -54
E: 1.535961 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +56ms
E: 1.583955 0002 0008 -056 # EV_REL / REL_WHEEL -56
E: 1.583955 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +48ms
E: 1.639955 0002 0008 -051 # EV_REL / REL_WHEEL -51
E: 1.639955 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +56ms
E: 1.687952 0002 0008 -022 # EV_REL / REL_WHEEL -22
E: 1.687952 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +48ms
E: 1.943965 0002 0008 0005 # EV_REL / REL_WHEEL 5
E: 1.943965 0002 0006 0003 # EV_REL / REL_HWHEEL 3
E: 1.943965 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +256ms
E: 1.991957 0002 0008 0006 # EV_REL / REL_WHEEL 6
E: 1.991957 0002 0006 0020 # EV_REL / REL_HWHEEL 20
E: 1.991957 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +48ms
E: 2.047935 0002 0006 0024 # EV_REL / REL_HWHEEL 24
E: 2.047935 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +56ms
E: 2.095925 0002 0008 0001 # EV_REL / REL_WHEEL 1
E: 2.095925 0002 0006 0026 # EV_REL / REL_HWHEEL 26
E: 2.095925 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +48ms
E: 2.151923 0002 0006 0033 # EV_REL / REL_HWHEEL 33
E: 2.151923 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +56ms
E: 2.199941 0002 0008 0001 # EV_REL / REL_WHEEL 1
E: 2.199941 0002 0006 0035 # EV_REL / REL_HWHEEL 35
E: 2.199941 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +48ms
E: 2.247917 0002 0008 0007 # EV_REL / REL_WHEEL 7
E: 2.247917 0002 0006 0022 # EV_REL / REL_HWHEEL 22
E: 2.247917 0000 0000 0000 # ------------ SYN_REPORT (0) ---------- +48ms
The scrolling speed is now quite acceptable.
What exactly did you mean by "direction locking"?
Should the horizontal axis be locked while scrolling vertically and vice versa?
If yes, this is not working. I can scroll horizontally and vertically at the
same time currently. Since the scrollpoint is quite sensitive I would prefer
only one scrolling direction at a time - is this possible and what you meant?
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-bugs/attachments/20180423/ac7f5a05/attachment.html>
More information about the wayland-bugs
mailing list