How to enable physical trackpoint buttons in Lenovo X250?

Under Ubuntu 14.04, the trackpoint buttons (now again physical as opposed to X240) do not work properly. Left Button scrolls up, right button scrolls down, middle button does nothing.

How to resolve this issue?


The problem is that Xorg will use the synaptics driver, which is not yet capable of handling the new hardware correctly. This can be circumvented by using evdev, and forcing the psmouse module, which takes care of the device at kernel-level, to recognize the device as legacy ImPS mouse.

No need to update your kernel, this works:

  1. Add the file /etc/modprobe.d/psmouse.conf with the following contents:

    options psmouse proto=imps

  2. Add the file /usr/share/X11/xorg.conf.d/90-evdev.conf:

    Section "InputClass"
        Identifier "Touchpad/TrackPoint"
        MatchProduct "PS/2 Synaptics TouchPad"
        MatchDriver "evdev"
        Option "EmulateWheel" "1"
        Option "EmulateWheelButton" "2"
        Option "Emulate3Buttons" "0"
        Option "XAxisMapping" "6 7"
        Option "YAxisMapping" "4 5"
    EndSection
    
  3. (May be optional; it is in Mint, it is not in Kubuntu) Update your initramfs to actually enforce loading the psmouse module correctly:

    sudo update-initramfs -u
    

Note: This solution works without updating your kernel. I have verified this with Linux Mint 17.1 64bit (kernel 3.13), Ubuntu 14.10 and Kubuntu 14.10 (both kernel 3.16). However, I also completely disabled the touchpad in the Lenovo BIOS. Disabling it there has no consequences without the instructions above, but is enforced when evdev is used as X driver, rather than synaptics.

Step (3) is not covered by the original blogpost at vimtips. Also, the code listing there has a typo (YAcisMapping).

Edit: Touchpad and Trackpoint, both are working out of the box (with synaptics) as of Ubuntu 15.04 (including all flavors).


This solution works:

http://vimtips.org/2015/02/20/ubuntu-1410-and-lenovo-thinkpad-x250/

1.) update kernel 3.18.7 2.) create file psmouse.conf then edit trackpoint buttons