Wednesday, September 16, 2009

Configure Synaptic Touchpad

This is partially a howto and mostly an informational guide on how to get the most out of your touchpad.

You used to be able to configure your mouse/touchpad settings in Ubuntu by editing your xorg.conf file. With Ubuntu 9.10 there will no longer be an xorg file to edit. The input driver has moved from xorg to hal and you have to edit an fdi file to properly configure your touchpad.

1. Enable SMHconfig
* Note: This method is not secure if you are in an untrusted multiuser environment. All local users can change the parameters at any time.

In a terminal type:
sudo gedit /etc/hal/fdi/policy/shmconfig.fdi
- Then copy this text into that file.
- Log Out/Reboot for the settings to take effect

2. Display Your Current Settings
In a terminal type:
syndaemon -d && synclient -l
- This will show you what your current/default settings are. Copy them into a blank file. You will use this a reference point.

In a termianl type:
synclient -m 10
- This will show, in real time, the output of your touchpad. Another tool to use as reference for editing your file.

3. Create An .fdi File
In a terminal type:
sudo mkdir /etc/hal/fdi/policy/10osvendor/
- This will make a folder for the 11-x11-synaptics.fdi file

In a terminal type:
sudo gedit /etc/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi
- Creates a black configuration file.
- Download my 11-x11-synaptics.fdi templete
- Copy and paste the contents into your 11-x11-synaptics.fdi file.
- You can opt to use this file for your touchpad settings; it has vertical/horizontal scroll and emulated middle click enabled.

5. Edit the 11-x11-synaptics.fdi File
- It is written in Extensible Markup Language (xml)
- You can read the the synaptic manual here or output into a terminal with:
man synaptics
- The Synaptic manual will define the terms included within the .fdi file.
- Template follows the output of syndaemon -d && synclient -l and it is intelligently laid out by function.
- You must log out or restart HAL for the settings to take effect.
To restart HAL in a terminal type:
sudo /etc/init.d/hal restart
- restarting HAL theoretically should work but i did not work for me. I had to log in and out.

Have a question or problem that this article doesn't cover?
Ask our Ubuntu Mini 9 Google Group for help.


Anonymous said...

What will these changes actually give the end user?

redDEAD said...

the ability to configure every aspect of the touchpad. it's vague for a reason. if you read the man page and dont get it, this tutorial isnt for you.

alex said...

thanks for this fix i did step 1 and restarted and it works perfectly,

then i restart again an the mouse is jumpy again any ideas how i can save settings without having to re paste and save each time i restart.

redDEAD said...

you save the setting when you save the file. doing step one just enables SMHconfig it doesn't change anything.

alex said...

Ok i need more help. the mouse is jumpy and annoying then i carry out step 1 save and reboot and the touch pad is perfect. then i shut down and next time i reboot it reverts back.

I'm new to Ubuntu but i will not give up as i love it already.

Ok i have a dell mini 1011 that had win 7, did a clean install from usb. It now runs 9.10 karmic desktop remix.

shmconfig.fdi has the new info saved in it.

all other steps go well then:

sudo /etc/init.d/hal restart
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service hal restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the restart(8) utility, e.g. restart hal
hal start/running, process 2965

help please: I have been trying for some days now but am seriously lacking knowledge.