[systemd-devel] [PATCH 3/5] udev: Update trackpoint rules to allow setting ibm trackpoint sensitivity

Hans de Goede hdegoede at redhat.com
Thu Apr 2 02:48:49 PDT 2015


The IBM / Lenovo trackpoints are special, they allow specifying a sensitivity
setting through a ps/2 command, which changes the range of the deltas send when
using the trackpoint. One some models with normal usage one only deltas
of 1 or 2 are send, resulting in there only being 2 mouse cursor movement
speeds, rather then the expected fluid scale.

Changing the sensitivity to a higher level then the bootup default fixes this,
the rule additions in this commit allows specifying a new sensitivity default
through hwdb giving a better ootb experience.

Signed-off-by: Hans de Goede <hdegoede at redhat.com>
---
 hwdb/70-trackpoint.hwdb   | 11 +++++++++++
 rules/70-trackpoint.rules |  6 ++++++
 2 files changed, 17 insertions(+)

diff --git a/hwdb/70-trackpoint.hwdb b/hwdb/70-trackpoint.hwdb
index f2f8364..3dd5100 100644
--- a/hwdb/70-trackpoint.hwdb
+++ b/hwdb/70-trackpoint.hwdb
@@ -54,6 +54,17 @@
 # by how much to multiply deltas generated by the trackpoint to get
 # normalized deltas.
 #
+#########################################
+#         TRACKPOINT_SENSITIVTY         #
+#########################################
+#
+# TPPS/2 IBM TrackPoint driver sensitivity sysfs setting
+#    TRACKPOINT_SENSITIVITY=<sensitivity>
+#
+# Where <sensitivity> is a number between 0 and 255, note this property
+# only applies to TPPS/2 IBM TrackPoint devices and only works with DMI
+# matches.
+#
 
 #
 # Sort by by brand, model
diff --git a/rules/70-trackpoint.rules b/rules/70-trackpoint.rules
index 8ecbde6..1ed234d 100644
--- a/rules/70-trackpoint.rules
+++ b/rules/70-trackpoint.rules
@@ -8,6 +8,12 @@ ENV{ID_INPUT_TRACKPOINT}=="", GOTO="trackpoint_end"
 IMPORT{builtin}="hwdb --subsystem=input --lookup-prefix=trackpoint:", \
   GOTO="trackpoint_end"
 
+# Same as below but also sets the TPPS/2 IBM TrackPoint driver sensitivity
+KERNELS=="input*", ATTR{device/name}=="TPPS/2 IBM TrackPoint", \
+  IMPORT{builtin}="hwdb 'trackpoint:name:$attr{device/name}:$attr{[dmi/id]modalias}'", \
+  RUN="/bin/sh -c 'echo -n $env{TRACKPOINT_SENSITIVTY} > /sys$env{DEVPATH}/../../../sensitivity'", \
+  GOTO="trackpoint_end"
+
 # device matching the input device name and the machine's DMI data
 KERNELS=="input*", \
   IMPORT{builtin}="hwdb 'trackpoint:name:$attr{device/name}:$attr{[dmi/id]modalias}'", \
-- 
2.3.4



More information about the systemd-devel mailing list