TrackPoint
The TrackPoint is Lenovo's trademark for the pointing-stick in the middle of the keyboard.
Default Xorg behavior supports click and point, but middle-click and scrolling requires extra configuration.
Contents
Middle button scroll
Middle-button scrolling, is supported via the xorg-xinput package, with the following sane config:
~/.xinitrc
xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation" 1 xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Button" 2 xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Timeout" 200 xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Axes" 6 7 4 5 xinput set-prop "TPPS/2 IBM TrackPoint" "Device Accel Constant Deceleration" 0.75
The "Device Accel Constant Deceleration"
line configures the sensitivity of the trackpoint. Note that you can just type these commands into the shell, changing sensitivity on the fly to find a value that's sensible.
Tap to select
The TrackPoint supports tap-to-click functionality just as most touchpads do. The following one-liner should work.
# echo -n 1 > /sys/devices/platform/i8042/serio1/press_to_select
udev configuration rule
This rule increases the trackpoint speed and enables tap to select (see above) on boot. Feel free to alter the values and add other modifications to files in /sys/devices/platform/i8042/serio1/serio2/. The rule also works for trackpoint-only devices.
/etc/udev/rules.d/10-trackpoint.rules
SUBSYSTEM=="serio", DRIVERS=="psmouse", ACTION=="change", ENV{SERIO_TYPE}=="05", ATTR{press_to_select}="1", ATTR{sensitivity}="230", ATTR{speed}="200"
Xorg configuration
To enable scrolling with the TrackPoint while holding down the middle mouse button, create a new file /etc/X11/xorg.conf.d/20-thinkpad.conf with the following content:
Section "InputClass" Identifier "Trackpoint Wheel Emulation" MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device" MatchDevicePath "/dev/input/event*" Option "EmulateWheel" "true" Option "EmulateWheelButton" "2" Option "Emulate3Buttons" "false" Option "XAxisMapping" "6 7" Option "YAxisMapping" "4 5" EndSection
There are more details about how this works on the Xorg page.