2

I want to use this

as this:

Specifically, I'm trying to enable scroll wheel emulation using the TrackPoint when the middle button 2 of the clickpad is pressed.

I've examined the xev output when a TrackPoint is used for scrolling with dedicated buttons (button 4 is recognised as a scroll up operation and button 5 is recognised as a scroll down operation) but the behaviour is different when using the clickpad buttons (button 2 is recognised in isolation). It appears that a modified driver is needed in order to enable scrolling using the middle button of the clickpad.

Such a driver appears to be available here:

https://aur.archlinux.org/packages/xf86-input-evdev-trackpoint/

How could this driver be installed in Ubuntu?

3

3 Answers 3

2

I bought recently ThinkPad W540 (high-end type) and that new generation ClickPad has loomed large in my mind... All the time something was wrong in new 14.04. But finally i got it working!

For Ubuntu (14.04 LTS and previous) you need newer evdev and synaptics (until it wont be implemented), to get it work with AUR's arch pkg. I did some fixes and enchantments in script - below you got it's content.

to get it work, open terminal as normal user, go to some work DIR and type:

touch install.sh
chmod +x install.sh
gedit install.sh

than copy/paste script, save and close gedit. Go back to terminal and run it as normal user:

./install.sh

SCRIPT:

#!/bin/bash
echo --------------------------------------------------------------------
echo If you miss some dependances or packages, than install them first...
echo --------------------------------------------------------------------

sudo apt-get install libevdev-dev libevdev2
sudo apt-get build-dep xserver-xorg-input-evdev xserver-xorg-input-synaptics

wget https://launchpad.net/ubuntu/+archive/primary/+files/xserver-xorg-input-evdev_2.9.0.orig.tar.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/xserver-xorg-input-evdev_2.9.0-1ubuntu1.diff.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/xserver-xorg-input-evdev_2.9.0-1ubuntu1.dsc

wget https://launchpad.net/ubuntu/+archive/primary/+files/xserver-xorg-input-synaptics_1.8.0.orig.tar.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/xserver-xorg-input-synaptics_1.8.0-1~exp2ubuntu2.diff.gz
wget https://launchpad.net/ubuntu/+archive/primary/+files/xserver-xorg-input-synaptics_1.8.0-1~exp2ubuntu2.dsc

dpkg-source -x --no-check xserver-xorg-input-evdev_2.9.0-1ubuntu1.dsc
dpkg-source -x --no-check xserver-xorg-input-synaptics_1.8.0-1~exp2ubuntu2.dsc

wget https://aur.archlinux.org/packages/xf/xf86-input-evdev-trackpoint/xf86-input-evdev-trackpoint.tar.gz

tar -xzf xf86-input-evdev-trackpoint.tar.gz

mv xf86-input-evdev-trackpoint arch
mv xserver-xorg-input-evdev-2.9.0 evdev
mv xserver-xorg-input-synaptics-1.8.0 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

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

echo If everything was OK, than logout/reboot and enjoy fully working ThinkPad Trackpoint/ClickPad
echo If you want to deactivate touch area of ClickPad for pure TrackPoint usage
echo edit /etc/X11/xorg.conf.d/90-evdev-trackpoint.conf and change "0" to "1" at line
echo Option "AreaBottomEdge" "0" 
echo Regards, T_Send
2

As suggested by mikewhatever, the driver for Arch created by Taegil Bae (esrevinu) can be packaged for Ubuntu and installed using a procedure described by dalcde. The procedure was updated by faf0, since a tar.gz file from the procedure by dalcde became unavailable in December 2015. The procedure is as follows:

#!/bin/bash

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

The procedure above works on Ubuntu 14.04.

3
  • Unfortunately this answer does not work for ubuntu 14.04
    – Calin
    Feb 24, 2015 at 19:12
  • Yeah, that's right. Watch for a solution here.
    – d3pd
    Feb 24, 2015 at 21:21
  • This works for Debian Stretch as well, but you can't build the package because of some compilation errors. To fix those you have to add #include <xorg-server.h> to the eventcomm.h and synproto.h files. Kudos go to this answer: askubuntu.com/a/768681/483416.
    – Nikopol
    Sep 3, 2016 at 13:39
1

Upgrade to Ubuntu 15.10 or greater, and install xserver-xorg-input-libinput

It's not installed by default. See: https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-input-evdev/+bug/1246683

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .