2

On my Thinkpad T540p I can't scroll by pressing on the middle button area of the clickpad and moving the trackpoint. My laptop is running Debian Stretch (a.k.a. the current testing release).

From what understand, this is a common issue for Thinkpad laptops that don't have separate hardware buttons for left, middle, and right click (such as the T540s or other clickpad-only series).

I have already tried configuring the TrackPoint as indicated here, but I haven't managed to get it working.

How can I fix this issue on T540p?

Nikopol
  • 121
  • 1
  • 5
  • On my Dell Latitude running Ubuntu Studio, using 2 fingers synchronous works like using the mouse wheel! – Ken Mollerup Aug 25 '16 at 11:06
  • Same thing works for me as well, but I wanted to try to use TrackPoint for scrolling and disable the mouse functionality of the clickpad (crappy experience on T540p). – Nikopol Aug 25 '16 at 15:10

2 Answers2

2

According to the comment #88 on bug report Middle button does not work for scrolling, the problem can be immediately solved with the following package installation:

sudo apt-get install xserver-xorg-input-libinput

Worked for me on T440 with Ubuntu 16.04.1 LTS

Aqua
  • 21
0

Unfortunately on Debian Stretch you won't be able to set any Wheel Emulation on because these options simply aren't available. You will need to download, patch, compile, and install the evdev package from the ArchLinux distro. I followed the instructions detailed in this answer. I've copy-pasted them below:

sudo apt-get install git
sudo apt-get build-dep xserver-xorg-input-evdev xserver-xorg-input-synaptics

mkdir tmp-trackpoint
cd tmp-trackpoint

git clone https://aur.archlinux.org/xf86-input-evdev-trackpoint.git
git clone git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-input-evdev
git clone git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-input-synaptics

mv xf86-input-evdev-trackpoint arch
mv xserver-xorg-input-evdev evdev
mv xserver-xorg-input-synaptics synaptics

cp synaptics/src/{eventcomm.c,eventcomm.h,properties.c,synaptics.c,synapticsstr.h,synproto.c,synproto.h} evdev/src
cp synaptics/include/synaptics-properties.h evdev/src
cp arch/*.patch evdev

cd evdev
patch -p1 -i 0001-implement-trackpoint-wheel-emulation.patch
patch -p1 -i 0004-disable-clickpad_guess_clickfingers.patch
patch -p1 -i 0006-add-synatics-files-into-Makefile.am.patch

dpkg-buildpackage -d

cd ..
sudo dpkg -i xserver-xorg-input-evdev_*.deb
sudo apt-get remove xserver-xorg-input-synaptics

sudo mkdir /etc/X11/xorg.conf.d/
sudo cp arch/90-evdev-trackpoint.conf /etc/X11/xorg.conf.d

These instructions didn't work out of the box on Debian Stretch, as I ran into some compilation errors because the xorg-server.h header wasn't included in the eventcomm.h and synproto.h header files. After adding the #includes, it worked.

I installed the package, then copied 90-evdev-trackpoint.conf to /etc/X11/xorg.conf.d. I changed the configuration to this:

Section "InputClass"
    Identifier "Clickpad"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
    # Synaptics options come here.
    Option "TapButton1" "1"
    Option "TapButton2" "3"
    Option "TapButton3" "2"
    Option "SoftButtonAreas" "67% 0 0 30% 33% 67% 0 30%"
    Option "AreaTopEdge"          "40%"
    Option "AreaBottomEdge"       "0"
EndSection

Section "InputClass"
    Identifier "Trackpoint Wheel Emulation"
    MatchProduct "TPPS/2 IBM TrackPoint"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
    Option "EmulateWheel" "true"
    Option "EmulateWheelButton" "2"
    Option "Emulate3Buttons" "false"
    Option "EmulateWheelInertia" "40"
    Option "XAxisMapping" "6 7"
    Option "YAxisMapping" "4 5"
EndSection

Hope this might be of use to somebody else.

Nikopol
  • 121
  • 1
  • 5