summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2018-06-01 11:19:49 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2018-06-04 08:44:11 +1000
commit085a33d545e68d5d14277b7cd95bd4850ae009ba (patch)
treee0b8cade97759a7f2b23f3ff2df3a00eb1c0ef2a
parentd62118ac5643863f1039b1a829b85bfb5518e96f (diff)
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 a4036a33ca6ca8da7d2417cac6b840a89b295e5f.
-rw-r--r--src/evdev.c4
-rw-r--r--udev/90-libinput-model-quirks.rules.in4
2 files changed, 2 insertions, 6 deletions
diff --git a/src/evdev.c b/src/evdev.c
index ee61e434..e93dda6b 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -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);
}
diff --git a/udev/90-libinput-model-quirks.rules.in b/udev/90-libinput-model-quirks.rules.in
index cab8dcda..75d5b368 100644
--- a/udev/90-libinput-model-quirks.rules.in
+++ b/udev/90-libinput-model-quirks.rules.in
@@ -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"