How to configure a Thinkpad TrackPoint Keybroad II on Ubuntu 20.04
How can I change the TrackPoint sensitivity and speed settings of Thinkpad TrackPoint Keybroad II on Ubuntu 20.04? The
On Ubuntu 16.04, it is easy to set with xinput set-prop "pointer:Lenovo TrackPoint Keyboard II" "Device Accel Constant Deceleration" 0.3
. However, on Ubuntu 20.04, the property "Device Accel Constant Deceleration"
doesn't exist. I have set the "libinput Accel Speed" 1
, but the trackpoint is still too slow and hard to use. For configuring the etc/xorg.conf.d
, I can't login to the desktop. Could you please give me some suggestions to set the speed of trackpoint faster?
Here is the properties:
$xinput list-props 18
Device 'TrackPoint Keyboard II Mouse':
Device Enabled (168): 1
Coordinate Transformation Matrix (170): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Natural Scrolling Enabled (303): 0
libinput Natural Scrolling Enabled Default (304): 0
libinput Scroll Methods Available (305): 0, 0, 1
libinput Scroll Method Enabled (306): 0, 0, 0
libinput Scroll Method Enabled Default (307): 0, 0, 0
libinput Button Scrolling Button (308): 2
libinput Button Scrolling Button Default (309): 2
libinput Middle Emulation Enabled (332): 0
libinput Middle Emulation Enabled Default (333): 0
libinput Accel Speed (310): 1.000000
libinput Accel Speed Default (311): 0.000000
libinput Accel Profiles Available (312): 1, 1
libinput Accel Profile Enabled (313): 1, 0
libinput Accel Profile Enabled Default (314): 1, 0
libinput Left Handed Enabled (315): 0
libinput Left Handed Enabled Default (316): 0
libinput Send Events Modes Available (288): 1, 0
libinput Send Events Mode Enabled (289): 0, 0
libinput Send Events Mode Enabled Default (290): 0, 0
Device Node (291): "/dev/input/event18"
Device Product ID (292): 6127, 24801
libinput Drag Lock Buttons (317): <no items>
libinput Horizontal Scroll Enabled (318): 1
Solution 1:
I have written a small python-tool which aims to mimic the windows-driver/tooling. It also allows you to set the pointer-speed/sensitivity. (Currently only tested with 2.4GHz usb-dongle): https://github.com/telecastr/tp2ctl
EDIT 09/09/2021:
TL/DR: The Trackpoint in the Lenovo Trackpoint II seems to emulate a 'Standard HID Mouse'. To affect the sensitivity of the Trackpoint, you have to change the configuration of the 'emulator' within the keyboard. So after you plugged in the keyboard, run tp2ctl -s 8
to tell the keyboard to set a higher sensitivity for the Trackpoint.
As far as I know (am I'm no expert on udev/libinput), as opposed to the internal TPPS/2 IBM Trackpoint
-Trackpoint device, the Lenovo Keyboard II Mouse
to udev
is rather a Plain Mouse than a Trackpoint. For example a grep -e "TrackPoint" /var/log/Xorg.0.log | awk '/is tagged by udev/'
returns on my machine:
(...)
[ 3.335] (II) event8 - Lenovo TrackPoint Keyboard II Mouse: is tagged by udev as: Mouse
(...)
[ 3.914] (II) event25 - TPPS/2 IBM TrackPoint: is tagged by udev as: Mouse Pointingstick
This also seems to make sense from a another point of view: You can plug the Lenovo Trackpoint Keyboard II into 'anything' that can handle standard USB HID mice and the Trackpoint Keyboard II-Trackpoint will 'just work'. What seems to happen is that the microcontroller in the Trackpoint Keyboard II is grabbing the output of the Trackpoint in the Keyboard and emulates a standard USB HID mouse. So to increase the sensitivity
of the Trackpoint, we have to tell the micro in the Keyboard change its emulation-preferences in a way that a movement of the Trackpoint outputs "more movement" of the HID-Mouse (=Increased Sensitivity - Hopefully you get what I mean here ...).
To change these preferences 'in the keyboard', you have to send a particular stream of bytes (as listed on my repo) to tell the micro: "Hey, I want a lager HID-Mouse-Movement for a movement on the Trackpoint". This is exactly how Lenovo allows you to set the sensitivity on MS Windows. The tool I wrote sends the same stream of bytes as the Lenovo Windows-Tooling does (e.g. 'telling the Trackpoint to be more sensitive').