Configuring Synaptics using HAL
By default, Fedora 11 ships with Tap disabled in the Synaptics touchpad. There are many methods to re-enable this, or to tweak other settings but until a configuration utility is created, the ideal way is to modify it in the HAL configuration. By doing this, each user will have the same settings, it will not be desktop-specific, and will not require setting up additional startup scripts, running synclient, or creating a xorg.conf file. Any setting you would normally do with synclient (either manually, via startup script, or in xorg.conf) can be done in the HAL configs as shown in the following example.
Applicable to Fedora Versions
- Fedora 11
- Fedora 12
Note
By default, Gnome disables tapping even when doing the following work. So if you only want to enable Tapping in Gnome, please skip down to the Post-Setup Configuration section. If you want to enable tapping system-wide, including the login screen and for other desktops such as KDE, XFCE, etc, please check the Requirements section below and proceed to Doing the Work.
Requirements
- As always, have your system up to date with yum update
- Synaptics compatable touchpad (ALPS might work, your mileage may vary)
- xorg-x11-drv-synaptics is installed
- You have verified your system/touchpad will work with tap enabled (see the Troubleshooting section)
Doing the Work
Follow the steps below for the simple solution to enabling tap for all three buttons. Any other Synaptics configuration can be put in as well, and if any other common configuration changes to be made are identified they can be added to this guide.
- Become root:
- Ensure xorg-x11-drv-synaptics is installed:
- Copy the HAL configuration file to another directory so it's used by HAL:
cp /usr/share/hal/fdi/policy/20thirdparty/10-synaptics.fdi /etc/hal/fdi/policy/
- Edit the file:
Please note, if you feel more comfortable with nano or another editor, feel free to use it instead of vi
vi /etc/hal/fdi/policy/10-synaptics.fdi
- Make it look like the following:
Please do not copy this example into the file, edit the file in place. What we're changing is removing the comments around the match section so it is used in the file.
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
<device>
<match key="info.capabilities" contains="input.touchpad">
<merge key="input.x11_options.TapButton1" type="string">1</merge>
<merge key="input.x11_options.TapButton2" type="string">3</merge>
<merge key="input.x11_options.TapButton3" type="string">2</merge>
<merge key="input.x11_options.VertEdgeScroll" type="string">1</merge>
<merge key="input.x11_driver" type="string">synaptics</merge>
</match>
</device>
</deviceinfo> - Save the file.
- Reboot your system
Yes, it's really required, restarting HAL on a running system is a bad idea.
su
yum install xorg-x11-drv-synaptics
Post-Setup Configuration
If you are using Gnome, you have an additional step to take. Gnome defaults to "Mouse Clicks" being off, so setting the above will enable tapping system-wide, including the Login screen, but then Gnome disables it once you log in. Once you set it as follows, you will have tapping in Gnome as well. I have tested KDE and XFCE in this regard, and neither of those environments implicitly disables Tapping (or Vertical Scrolling).
How to enable Tapping in Gnome
- In the top panel, select System, then Preferences, then find the Mouse menu item
- When the Mouse Preferences window launches, go to the Touchpad tab
- Click the option labelled "Enable mouse clicks with touchpad".
Troubleshooting
How to test
Testing using synclient manually
Try the following and see if it enables tapping.
synclient TapButton1=1
If you get a Command not found when running synclient, install xorg-x11-drv-synaptics
If this test works and you were just testing to make sure you could tap with your hardware, please go ahead to the Doing the Work section so that the settings are used every login. If you have already edited the files and it is not working, you likely need to re-check your work on the HAL FDI file you modified above:
If manually setting tap with synclient did not work, adjusting your touchpad will probably not work using this method or will need to be modified for your specific input device.
Common problems and fixes
If other items are identified that should also be added to this guide, they will be referenced here.
Vertical Edge Scroll
If on your system you find that vertical scrolling is not working, your desktop has disabled it or you have opted not to create the HAL file above. To verify if it's on or off, do the following:
synclient -l | grep -i vertedge
If it reports VertEdgeScroll = 0, try to manually enable it similar to testing tapping above:
synclient VertEdgeScroll=1
If you can now scroll, you might want to try the Doing the Work section to fix this system-wide.
More Information
Differences between Desktops
I have found that there are some slight differences between desktops. If you do not configure the HAL file above, Gnome disables Tapping by default (even with the above file changes!), but does enable Vertical Scrolling. by default. KDE and XFCE both default to not setting Tapping or Vertical Scrolling without the file above, but they not disable Tapping like Gnome does once set in the HAL FDI file.
Disclaimer
We test this stuff on our own machines, really we do. But you may run into problems, if you do, come to #fedora on irc.freenode.net
If you have additional suggestions on items to add or modify, please let us know.

