Setting the Thinkpad Trackpoint Sensitivity on Linux

From Paritybit.ca Wiki

Difficulty: Beginner

Note: This was tested on my Thinkpad T440s on Debian 10 Buster. Depending on your model of Thinkpad, the file path in /sys may be different. Use find to find a file called sensitivity and test with that.

Changing the Sensitivity on the Fly

This is fairly easy to do. You just have to echo a value into /sys/devices/rmi4-00/rmi4-00.fn03/serio2/sensitivity[1].

For example:

echo 120 | sudo tee /sys/devices/rmi4-00/rmi4-00.fn03/serio2/sensitivity

Systemd Service File

To have this work on startup, a systemd service file is probably the easiest way I know of to have that command be executed since it needs to be run as root. Sometimes, my thinkpad will boot with the path being /sys/devices/platform/i8042/serio1/serio2/sensitivity which I have accounted for in the script below.

First, create a script with the following content and place this script wherever you think is appropriate such as ~/.local/bin. I put mine in /home/jbauer/scripts/sh/trackpoint-sensitivity.sh:

#!/bin/sh -eu
echo 120 > /sys/devices/rmi4-00/rmi4-00.fn03/serio2/sensitivity ||
echo 120 > /sys/devices/platform/i8042/serio1/serio2/sensitivity
echo "Set trackpoint sensitivity."
exit 0

Make sure that this script is executable with chmod +x <path_to_script>.

Then, make a service file /etc/systemd/system/trackpoint.service:

[Unit]
Description=Sets the Thinkpad Trackpoint Sensitivity

[Service]
Type=simple
User=root
ExecStart=<full_path_to_script>

[Install]
WantedBy=default.target

The <full_path_to_script> must be the full path, not a relative path (i.e. it must start with /).

After creating the service file enable it:

systemctl daemon-reload
systemctl enable trackpoint.service

Now, when you reboot, you should have the trackpoint sensitivity automatically set.