SynapticsTouchpadHowTo
For Newbies
On laptops, the [http://en.wikipedia.org/wiki/Touchpad touchpad] is the built-in mouse. "Synaptics touchpad" should not be confused with "Synaptic" - Ubuntu's Package Manager (Graphical User Interface for apt-get).
In Breezy(5.10), laptops with a synaptics touchpad should work out of the box. Go to a terminal and grep (look inside) your /etc/X11/xorg.conf file:
grep Id /etc/X11/xorg.conf
If one of the lines is:
Identifier "Synaptics Touchpad"
then you have a Synaptics Touchpad.
qsynaptics (or in KDE ksynaptics) is a GUI which allows you to configure your touchpad. At a terminal, enter:
sudo apt-get install qsynaptics
You may need to run qsynaptics -r each time you restart X. Go to System>Preferences>Sessions>Startup Programs> and add it.
Turning Synaptics Touchpads On/Off with a shortcut key
You may wish to turn the touchpad on or off so that it doesn't interfere with typing when using a USB or other mouse.
Use following steps:
Step 1
from a terminal, edit /etc/xorg.conf
sudo gedit /etc/X11/xorg.conf
and look for the following section of code:
Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "HorizScrollDelta" "0" EndSection
and add one more Option at the End of the Section:
Option "SHMConfig" "on" EndSection
If you are using an Alps-Touchpad, which you can find out by typing
cat /proc/bus/input/devices
your code section should look like this
Section "InputDevice" Driver "synaptics" Identifier "TouchPad" Option "SendCoreEvents" "true" Option "Device" "/dev/input/event2" Option "Protocol" "event" Option "SHMConfig" "on" EndSection
You can define some parameters which influence the behaviour of your touchpad. These parameters are presented already in [https://wiki.ubuntu.com/SynapticsTouchpadWartyHowto?highlight=%28touchpad%29]. You can check if your touchpad works correct and you have the correct parameters with
synclient -m l
If everything works fine, the position of your finger will be updated everytime you move it and based on this information you can set your parameters.
Step 2
Next we will create 3 files - a bash script to turn the touchpad on, one to turn it on, and a python script to use a single key combination for both. At a terminal, cd to /usr/local/bin and make a new file:
cd /usr/local/bin sudo gedit tpoff
and paste the following code in the file, save it and close it.
# synclient touchpadoff=1
again, make a new file:
sudo gedit tpon
paste the following, save and close:
# synclient touchpadoff=0
once again, make a new file:
sudo gedit touchpad.py
paste the following, save and close
import os import string def ReadFile(): myfile = open('/tmp/synclient.tmp', 'rb') for line in myfile: TestString(line) myfile.close() def TestString(string): for word in string.split(): if word == "TouchpadOff": setting = string.split() ChangeState(setting[2]) def ChangeState(current): if current == "0": os.system("synclient touchpadoff=1") else: os.system("synclient touchpadoff=0") os.system("rm /tmp/synclient.tmp") def Main(): ReadFile() os.system("synclient -l > /tmp/synclient.tmp") Main()
and finally, change the permissions of these three files:
sudo chmod 777 tpon tpoff touchpad.py
Step 3
Next, edit your sudoers files to allow you to execute both scripts without a password.
sudo visudo
and add this line
{user} ALL = NOPASSWD: /usr/local/bin/touchpad.py
where {user} is your user name
save (in nano hit <CTRL> <o>), and make sure to save it as: /etc/sudoers
Step 4 Next, install xbindkeys
sudo apt-get install xbindkeys
when it's done, install xbindkeys-config, the GUI for xbindkeys
sudo apt-get install xbindkeys-config
once each is installed, start both applications:
xbindkeys
and
xbindkeys-config
edit your file to the shortcut key you want. For example, to be able to switch the touchpad on/off by <Ctrl><F5>, fill in the following, under Edit:
Name: Touchpad On/Off Key: Control + F5 | m:0x4 + c:71 Action: /usr/local/bin/touchpad.py
then click apply & save & exit
Now that that is done, restart xbindkeys:
xbindkeys
You may need to restart X.
Remember that each time you restart X, you will need to run xbindkeys again in order for the shortcut to work.