trackpoint.jpg

On most ThinkPads, Debian doesn't enable scrolling with the TrackPoint by default.

TrackPoint scrolling on Squeeze and later

GNOME

After installing the gpointing-device-settings package, a new "Pointing devices" option appears in the GNOME settings menu. Select "TrackPoint" and check "Use wheel emulation", select "button: 2", and check "Enable vertical scroll" and "Enable horizontal scroll".

xinput

Install the xinput package and put the following in ~/.xsessionrc to make the changes permanent.

To enable vertical scrolling :

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

To enable horizontal scrolling in addition to vertical scrolling :

xinput set-prop "TPPS/2 IBM TrackPoint" "Evdev Wheel Emulation Axes" 6 7 4 5

hal and Xorg integration

(Note that HAL is deprecated and not installed by default on Squeeze.)

Create the file /etc/hal/fdi/policy/ibm_trackpoint.fdi containing:

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- SGML -*- -->
<deviceinfo version="0.2">

<match key="info.product" string="TPPS/2 IBM TrackPoint">
 <merge key="input.x11_options.EmulateWheel" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelButton" type="string">2</merge>
 <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
 <merge key="input.x11_options.EmulateWheelTimeout" type="string">200</merge>
</match>
</deviceinfo>

TrackPoint scrolling on Lenny

In /etc/X11/xorg.conf, find the section named "Configured Mouse", then follow the instruction :

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"

        #add those three lines
        Option          "EmulateWheel"          "true"
        Option          "EmulateWheelTimeOut"   "200"
        Option          "EmulateWheelButton"    "2"
EndSection

Device identification

Device is a "TPPS/2 IBM TrackPoint":

Trackpoint Scrolling on Wheezy or Jessie (~3.16 Kernels)

To enable scrolling with the ?TrackPoint while holding down the middle mouse button, create a new file /usr/share/X11/xorg.conf.d/20-thinkpad.conf with the content as below. After adding/editing this file you have to restart your x-server. This also fixes issues if you can scrole with your trackpoint but a middle-click event is triggered. Unfortunately this doesn't make the new (since T440s) Trackpoints/Buttons work propperly.

/usr/share/X11/xorg.conf.d/20-thinkpad.conf filecontent:

 Section "InputClass"
     Identifier "Trackpoint Wheel Emulation"
     MatchProduct       "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|ThinkPad Compact 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

Trackpoint Scrolling on Jessie with Backport kernel (~4.2 Kernels)

You have to create the file as above. But since the 4.x kernels (I'm not exactly sure from which version on) try to bring more ?TrackPoint support, there is some trouble with the external USB keyboard. Thus you have to remove the USB keyboard part from the configuration. You will be able to use the ?TrackPoint on the USB keyboard but middle-click scrolling will cause trouble … (https://bbs.archlinux.org/viewtopic.php?id=196822, https://github.com/lentinj/tp-compact-keyboard/issues/23, https://github.com/lentinj/tp-compact-keyboard/issues/28)

/usr/share/X11/xorg.conf.d/20-thinkpad.conf filecontent:

 Section "InputClass"
     Identifier "Trackpoint Wheel Emulation"
     MatchProduct       "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint"
     MatchDevicePath    "/dev/input/event*"
     Option             "EmulateWheel"          "true"
     Option             "EmulateWheelButton"    "2"
     Option             "Emulate3Buttons"       "false"
     Option             "XAxisMapping"          "6 7"
     Option             "YAxisMapping"          "4 5"
 EndSection

External Resources