What is the best way to configure a Thinkpad's TrackPoint?

Solution 1:

Unfortunately there seems to be no easy way. What I will describe is how to create a new Upstart job to set the values on boot through the virtual filesystem under /sys.

  1. Find the device path of your trackpoint

    Run the following in a gnome-terminal (press Alt + F2, type gnome-terminal, and hit Enter):

    find /sys/devices/platform/i8042 -name name | xargs grep -Fl TrackPoint | sed 's/\/input\/input[0-9]*\/name$//'
    

    In my case this returns /sys/devices/platform/i8042/serio1/serio2 - change to whatever it returns for you in the following steps.

  2. Find values for sensitivity and speed

    Run the following commands in a gnome-terminal:

    echo 220 | sudo tee /sys/devices/platform/i8042/serio1/serio2/sensitivity
    

    for a sensitivity of 220 (this will ask you for your password), and

    echo 100 | sudo tee /sys/devices/platform/i8042/serio1/serio2/speed
    

    for a speed of 100. Once you found values you are comfortable with, make the change permanent using an Upstart job:

  3. Create a new udev rule

    Now we need to apply the settings during the system start. Therefore, press Alt + F2, type gksu gedit /etc/udev/rules.d/trackpoint.rules, and hit Enter (this will ask you for your password). Then paste the following:

    SUBSYSTEM=="serio", DRIVERS=="psmouse", WAIT_FOR="/sys/devices/platform/i8042/serio1/serio2/sensitivity", ATTR{sensitivity}="220", ATTR{speed}="110"
    

    (Update) As WAIT_FOR is deprecated, on newer systems you can use DEVPATH instead:

    SUBSYSTEM=="serio", DRIVERS=="psmouse", DEVPATH=="/sys/devices/platform/i8042/serio1/serio2", ATTR{sensitivity}="220", ATTR{speed}="110"     
    

    Save the file and either reboot or run the commands above:

    sudo udevadm control --reload-rules
    sudo udevadm trigger 
    

Solution 2:

SO, WHAT HELPED ME TO MAKE TRACKPOINT MORE SENSITIVE.

1. The easies way is to do in terminal:

 $ xinput --list --short

You will see something like this:

omicron@omicron:~$ xinput --list --short
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint    id=10.  [slave  pointer  (2)]
⎜   ↳ ImPS/2 Generic Wheel Mouse                id=12   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Power Button                              id=8    [slave  keyboard (3)]
    ↳ Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint    id=9    [slave  keyboard (3)]
    ↳ Eee PC WMI hotkeys                        id=11   [slave  keyboard (3)]

2. Find your trackpoint device. In my case it is id=10.

3. Then do in terminal:

$ xinput --set-prop "10" "Device Accel Constant Deceleration" 0.5

"10" here is the device ID (Lite-On Technology Corp. ThinkPad USB Keyboard with TrackPoint id=10), put yours ID here, and "0.5" is the level of sensitivity. You can experiment with the sensitivity by putting numbers larger than 0 up to 1000. But you definetily don't need it. The smaller number the higher the speed.

I use 0.4 or 0.45

4. IMPORTANT. When the speed is chosen, copy your last script to autostart.

enter image description here

P.S. If the settings stopped working one day, check the ID again. There may be some changes to your devices table, and the ID may shift.

Hope it will help you.

Enjoy your ThinkPad!

Solution 3:

For my Thinkpad T530, and Ubuntu 15.10. Just use:

sudo -i gedit /etc/udev/rules.d/10-trackpoint.rules

and then add the following content on, then restart. The setting value will be kept.

ACTION=="add",
SUBSYSTEM=="input",
ATTR{name}=="TPPS/2 IBM TrackPoint",
ATTR{device/sensitivity}="190",
ATTR{device/speed}="180",
ATTR{device/inertia}="6",
ATTR{device/press_to_select}="0"

Solution 4:

This is based on Vitaly Dubyna's answer, but updated to work for recent (2019) Thinkpads and Xorg versions (thanks to the comments to that answer).

From the command line, enter this command (only the part after the $):

$ xinput | grep -i trackpoint
TPPS/2 Elan TrackPoint   id=12 

Note id=12 (may be different on your system).

$ xinput --list-props 12
...
libinput Accel Speed (300):     0.000000
libinput Accel Speed Default (301):     0.000000
...

Experiment with the speed setting; negative values allowed. For example,

$ xinput --set-prop 12 'libinput Accel Speed' -0.25

Once you're satisfied, add the command as a startup application (typically under Start menu > Preferences > Startup applications).

The above setting name is confirmed for Thinkpad models X1c5 (Ubuntu 18.04), E480 (18.04), and E490 (Mint 19.1).

Note: the numbering (id=12) may get shuffled if you have an external keyboard or mouse plugged in. For more robustness, try this:

xinput --set-prop $(xinput | perl -ne 'if(/TrackPoint.*id=(\d+)/) { print $1; }') 'libinput Accel Speed' -0.25