https://bugs.freedesktop.org/show_bug.cgi?id=106036
--- Comment #6 from [email protected] ---
I think I figured this out and have a working solution right now like this:
if (dispatch->wheel.y != 0) {
wheel_degrees.y = -1 * dispatch->wheel.y *
device->scroll.wheel_click_angle.y;
if (device->model_flags & EVDEV_MODEL_SCROLLPOINT) {
discrete.y = 0;
source = LIBINPUT_POINTER_AXIS_SOURCE_CONTINUOUS;
} else {
discrete.y = -1 * dispatch->wheel.y;
source = device->scroll.is_tilt.vertical ?
LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT:
LIBINPUT_POINTER_AXIS_SOURCE_WHEEL;
}
evdev_notify_axis(
device,
time,
AS_MASK(LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL),
source,
&wheel_degrees,
&discrete);
dispatch->wheel.y = 0;
}
I implemented the same for the x-axis as well.
There is one issue left where I'd like to get your feedback:
libinput-debug-events reports 15° wheel movements as smallest value possible
and easily goes up to around 500° without increasing force on the scrolling
device a lot. Actually hitting only 15° is almost impossible.
This makes scrolling still way too fast, but with the changes I made to
libinput and adding the following to /lib/udev/hwdb.d/70-mouse.hwdb I have
usable results:
mouse:usb:v04b3p3100:*
mouse:usb:v04b3p3103:*
mouse:usb:v04b3p3105:*
mouse:usb:v04b3p3108:*
mouse:usb:v04b3p3109:*
mouse:usb:v14efp6049:*
MOUSE_WHEEL_CLICK_ANGLE=2
MOUSE_WHEEL_CLICK_ANGLE_HORIZONTAL=2
This file is not part of the libinput sources, so where could I add this to be
set by default? Without this part the changes I made to libinput don't really
improve usability of the scrollpoint.
Without the changes I made to libinput so far these options do not seem to have
any noticeable effect.
As soon as I know where to put this, I will create a patch against libinput to
add support for the scrollpoint mice for review.
--
You are receiving this mail because:
You are the assignee for the bug._______________________________________________
wayland-bugs mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/wayland-bugs