IBM/Lenovo Thinkpad TrackPoint with evdev

So you have just updated your Linux machine to the latest Xorg version and the TrackPoint of your IBM / Lenovo Thinkpad is not working like you were used to? Read on!

You should know that the newer version of Xorg use evdev for the input drivers. If your keyboard and mouse works, but you can not scroll with the middle button of your TrackPoint, you are on the right way. If nothing works at all, take a look at the documentation of your distribution on how to get evdev working first. I use Gentoo so the paths to your configuration files may be different if you use another Linux distribution (like SuSE, RedHat, Ubuntu, Debian, ...).

My configuration file is at /etc/hal/fdi/policy/10-input.fdi. Open it with your favourite text editor. You have to add the following lines between the <device> and </device> tags:

    <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.XAxisMapping" type="string">6 7</merge>
      <merge key="input.x11_options.YAxisMapping" type="string">4 5</merge>
      <merge key="input.x11_options.ZAxisMapping" type="string">4 5 6 7</merge>
      <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>

Now you can press and hold the middle button to scroll horizontally and vertically with your TrackPoint. Even copy and paste still works like usual with the third button.

With the update to xorg-server-1.8.0 everything changed again. Now there is no HAL anymore. We are back with the good old xorg.conf file. My file looks like this:

Section "InputClass"
        Identifier      "thinkpad_trackpoint_wheel_emu"
        MatchIsPointer  "on"
        MatchProduct    "TrackPoint"
        Driver          "evdev"
        Option          "EmulateWheelButton" "2"
        Option          "EmulateWheel" "on"
	Option          "XAxisMapping" "6 7"
	Option          "YAxisMapping" "4 5"
	Option          "ZAxisMapping" "4 5 6 7"
	Option          "Emulate3Buttons" "on"