Let's say you have a Carbon X1 5th gen.
Let's say your trackpoint is an TPPS/2 Elan TrackPoint
(and you can check this by running xinput |grep -i TrackPoint
).
Let's say you have tried various xinput
or /sys/.*/acceleration
or
/sys/.*/speed
settings. But still...
This is what fixed it for me:
Run: mkdir -p /etc/libinput
Create a local-overrides.quirk
file with:
cat > /etc/libinput/local-overrides.quirks <<END [Trackpoint Override] MatchUdevType=pointingstick AttrTrackpointMultiplier=2.0 END
Logout login / restart your X server / wayland.
Enjoy the increased speed! Increase the 2.0
above for a faster experience, decrease it for a slower experience.
In one cuttable and pastable blob:
mkdir -p /etc/libinput cat > /etc/libinput/local-overrides.quirks <<END [Trackpoint Override] MatchUdevType=pointingstick AttrTrackpointMultiplier=2.0 END
In case this does not work, read on. I recommend you jump to the last section, and play with libinput debug-gui
,
or libinput quirks list /dev/input/event2
or whatever your trackpad is associated with.
Normally, you tune your pointing device using xinput
:
A simple xinput
will show you the list of devices supported. Next to each device, you will see an id
, like:
$ xinput ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=11 [slave pointer (2)] ⎜ ↳ TPPS/2 Elan TrackPoint 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)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ Integrated Camera: Integrated C id=9 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=10 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=13 [slave keyboard (3)]
Use xinput list-props 12
to see the properties of the device, for example:
$ xinput list-props 12 Device 'TPPS/2 Elan TrackPoint': Device Enabled (154): 1 Coordinate Transformation Matrix (156): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 libinput Natural Scrolling Enabled (298): 0 libinput Natural Scrolling Enabled Default (299): 0 libinput Scroll Methods Available (302): 0, 0, 1 libinput Scroll Method Enabled (303): 0, 0, 1 libinput Scroll Method Enabled Default (304): 0, 0, 1 libinput Button Scrolling Button (316): 2 libinput Button Scrolling Button Default (317): 2 libinput Middle Emulation Enabled (308): 0 libinput Middle Emulation Enabled Default (309): 0 libinput Accel Speed (310): 1.000000 libinput Accel Speed Default (311): 0.000000 libinput Accel Profiles Available (318): 1, 1 libinput Accel Profile Enabled (319): 1, 0 libinput Accel Profile Enabled Default (320): 1, 0 libinput Left Handed Enabled (312): 0 libinput Left Handed Enabled Default (313): 0 libinput Send Events Modes Available (275): 1, 0 libinput Send Events Mode Enabled (276): 0, 0 libinput Send Events Mode Enabled Default (277): 0, 0 Device Node (278): "/dev/input/event2" Device Product ID (279): 2, 10 libinput Drag Lock Buttons (314): <no items> libinput Horizontal Scroll Enabled (315): 1
Use the number in parentheses to change the specified parameter. You can set the acceleration speed (parameter 310) to value 1.0 (the fastest, it's a rate) with:
xinput set-prop 12 310 1
Suffer silently, as your TrackPad is still too slow.
Most drivers in linux have tunable parameters in /sys
. Turns out that the Elan Trackpad is no exception.
cd /sys find . -name sensitivity ./devices/platform/i8042/serio1/serio2/sensitivity
By echoing values in some of those parameters you may be able to adjust speed and sensitivity. No luck with my trackpad, despite trying different paths and values. The adjustments were too minor.
This page here brought me on the right path. In short:
xinput
and friends are the right way to tune the settings on your device.quirks
in your device.If you need anything more detailed, you should follow the instructions here.
What I had to do is:
apt-get install libinput-tools
.libinput list-devices
. libinput debug-gui
, which is not enabled by default on Debian. The most important commands were:
libinput list-devices
, to find which device corresponded to my trackpad (/dev/input/event2
).libinput quirks list /dev/input/event2
(this command is not documented in the help nor man page) to verify which quirks
were applied correctly, and libinput quirks list --verbose /dev/input/event2
to have more insights on the paths and files loaded.libinput debug-gui
is a bit slower than the real deal.