SynapticsTouchpadHowTo

Revision 12 as of 2006-04-25 00:54:04

Clear message

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", the Ubuntu Package Manager, or Graphical User Interface for "apt-get" in a terminal.

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 qsynaptic

You may need to rerun qsynaptic each time you restart X.

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.