mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-20 16:10:06 +01:00
Revert "udev: copy the trackpoint sensitivity directly from sysfs"
The lenovo compact keyboard with trackpoint has a sensitivity of 5, which
causes the trackpoint range to be 0. This in turn causes inf/NaN during
pointer acceleration as we divide by 0 and makes the cursor go unpredictably
somewhere it probably shouldn't be.
This is part of a wider problem in that the current sensitivity handling
doesn't work well for values well below the default of 128. Any such values
are scaled up to multiples of pixels instead of just working as-is.
Reverting the automatic sensitivity parsing, any systemd udev property set to
change the sensitivity increases it, so we don't run into this bug.
https://bugzilla.redhat.com/show_bug.cgi?id=1583324
This reverts commit a4036a33ca.
This commit is contained in:
parent
d62118ac56
commit
085a33d545
2 changed files with 2 additions and 6 deletions
|
|
@ -1194,7 +1194,7 @@ evdev_get_trackpoint_range(struct evdev_device *device)
|
|||
HTTP_DOC_LINK);
|
||||
|
||||
prop = udev_device_get_property_value(device->udev_device,
|
||||
"LIBINPUT_ATTR_TRACKPOINT_SENSITIVITY");
|
||||
"POINTINGSTICK_SENSITIVITY");
|
||||
if (prop) {
|
||||
int sensitivity;
|
||||
|
||||
|
|
@ -1210,7 +1210,7 @@ evdev_get_trackpoint_range(struct evdev_device *device)
|
|||
sensitivity/DEFAULT_TRACKPOINT_SENSITIVITY;
|
||||
|
||||
evdev_log_debug(device,
|
||||
"trackpoint sensitivity is %d\n",
|
||||
"trackpoint udev sensitivity is %d\n",
|
||||
sensitivity);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,8 +39,4 @@ KERNELS=="input*", \
|
|||
KERNELS=="input*", \
|
||||
IMPORT{builtin}="hwdb 'libinput:name:$attr{name}:dt:$attr{[devicetree/base]model}'"
|
||||
|
||||
ENV{ID_INPUT_POINTINGSTICK}=="1", \
|
||||
ATTRS{sensitivity}=="?*", \
|
||||
ENV{LIBINPUT_ATTR_TRACKPOINT_SENSITIVITY}="$attr{sensitivity}"
|
||||
|
||||
LABEL="libinput_model_quirks_end"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue