edit: I can achieve point 1
now. Still need a solution for point 2
, though.
I am having a hard time configuring my notebook's touchpad.
The touchpad already works. It successfully responds to one-finger tap, two-finger tap and two-finger vertical scrolling.
What I want to accomplish:
- change two-finger tap action from right-mouse click to middle-mouse click
- add three-finger tap functionality to yield right-mouse click action (i have checked that the three-finger tap is supported by my laptop's touchpad since it works on Windows)
I read on a forum to use this as a guide.
I have successfully accomplished point 1
with synclient TapButton2=2
. However, I have to do it everytime I log in. I have tried to put that command on /etc/rc.local
but the computer always boots and logins with the default configuration.
Regarding point 2
, I have tried synclient TapButton3=3
but it doesn't do anything when I three-finger tap the touchpad.
I am running Ubuntu 11.10 on an Asus N82JV.
/etc/X11/xorg.conf
:
nuno@mozart:~$ cat /etc/X11/xorg.conf Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Option "TapButton1" "1" Option "TapButton2" "2" Option "TapButton3" "3" EndSection
/usr/share/X11/xorg.conf.d/50-synaptics.conf
:
nuno@mozart:~$ cat /usr/share/X11/xorg.conf.d/50-synaptics.conf
# Example xorg.conf.d snippet that assigns the touchpad driver
# to all touchpads. See xorg.conf.d(5) for more information on
# InputClass.
# DO NOT EDIT THIS FILE, your distribution will likely overwrite
# it when updating. Copy (and rename) this file into
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
# Option "OptionName" "value"
#
Section "InputClass"
Identifier "touchpad catchall"
Driver "synaptics"
MatchIsTouchpad "on"
MatchDevicePath "/dev/input/event*"
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"
EndSection
xinput list
:
nuno@mozart:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Microsoft® Nano Transceiver v2.0 id=12 [slave pointer (2)]
⎜ ↳ Microsoft Microsoft® Nano Transceiver v2.0 id=13 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=16 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ USB2.0 2.0M UVC WebCam id=10 [slave keyboard (3)]
↳ Microsoft Microsoft® Nano Transceiver v2.0 id=11 [slave keyboard (3)]
↳ Asus Laptop extra buttons id=14 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=15 [slave keyboard (3)]
This seems to work (for part 1) even when you hibernate or sleep.
Make sure to replace YOUR USER NAME with your actual user name. This was pulled from http://tombuntu.com/index.php/2011/11/06/persistent-touchpad-configuration-in-ubuntu-11-10/
For setting the two finger tap for the middle button you can do the following.
Open start-up application
and add a new programm;
name it, enter in the command line the following command:
xterm -e synclient "synclient TapButton2=2"
and save it.
For the three finger tap; are you sure that your touch pad support multiple finger actions, as for example my touchpad just emulate the two finger actions and I found no way so far to emulate three fingers
Are you using Unity? Because on my netbook, 3 finger gestures are working in Gnome Shell, but not in Unity. Since I wanted to use this kind of gestures in Unity, I looked at its source code and found out that it is Unity itself that is blocking out the 3 fingers gestures. But it turns out that it's possible to fix it. I posted detailed instruction on how I did it in the post How can I disable arbitrary default multitouch gestures in Unity?.
With these changes, 3 finger taps work right away for me, and are automatically assigned to a middle-click, without the need for a startup program. Well, it's the reverse of the mapping you're looking for regarding middle clicks and right clicks, but you seem to have gathered enough information so far to handle the switch.
However, you might be interested in a program called
touchegg
to remap your touches. It allows you to do many more things than you could do withsynconf
, such as defining different custom touchpad gestures for your different programs, such as a 3 finger drag to the left or the right to go back or forward in your browser's history. That's to use that program that I patched Unity in the first place. And it is very simple to configure. You can install it by typingCheck out the demonstration video on the website.
On a last note, if Unity is for you, as it is for me, the reason why you couldn't use 3 finger gestures, then you will probably have no choice but to re-patch and recompile the
unity
package when it is updated.