Personal tools
You are here: Home Team Members Walter Francis Configuring Synaptics using HAL

Configuring Synaptics using HAL

by Walter Francis last modified Jul 28, 2010 04:27 PM

By default since 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/12
  • Fedora 13

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

You will need basic knowledge of using su to become root, using an editor, and copying files.  Be aware these settings are very generic, but may be not available on your specific device so check each of the following before continuing:
  1. As always, have your system up to date with yum update
  2. Synaptics compatable touchpad (ALPS might work, your mileage may vary)
  3. xorg-x11-drv-synaptics is installed
  4. You have verified your system/touchpad will work with tap enabled (see the Troubleshooting section)

Doing the Work for Fedora 11 and 12

Follow the steps below for the simple solution to enabling tap for all three buttons for Fedora 11 and 12.  Fedora 13 (or higher) please see the next section.  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.

  1. Become root:
  2. su
  3. Ensure xorg-x11-drv-synaptics is installed:
  4. yum install xorg-x11-drv-synaptics
  5. 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/
  6. 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
  7. 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>
  8. Save the file.
  9. Reboot your system

    Yes, it's really required, restarting HAL on a running system is a bad idea.

Doing the Work for Fedora 13

Fedora 13 has deprecated using HAL in many ways, including the previous way to configure Tap to Click.  Perform the following to re-enable this functionality in Fedora 13.  Some other options, such as scrolling, might need to be added to this section as necessary.

  1. Become root:
  2. su
  3. Create a new xorg configuration file.  Substitute vi for your favorite editor of choice, and the filename is just a suggestion.  It can be any name ending with .conf
  4. vi /etc/X11/xorg.conf.d/00-enable-taps.conf
  5. Place the following information in the file:
    Section "InputClass"
    Identifier "tap-by-default"
    MatchIsTouchpad "on"
    Option "TapButton1" "1"
    EndSection
  6. Save the file.
  7. Reboot your system or log out and back in.

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

  1. In the top panel, select System, then Preferences, then find the Mouse menu item
  2. When the Mouse Preferences window launches, go to the Touchpad tab
  3. Click the option labelled "Enable mouse clicks with touchpad".

Troubleshooting

How to test

After a reboot, you should be able to tap on your touchpad.  If not, verify the file above has been copied to the right location and that there are no obvious errors, such as missing tags, < > " etc. 

Testing using synclient manually

If you'd like to test your touchpad before editing any files, or if the above file edit and subsequent reboot did not work, verify that you can manually set tap using synclient.

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

Upstream has decided that there are changes to be made to the defaults in Synaptics, as well as some other unrelated items.  Fedora tends to follow these upstream changes to minimize differences in Upstream and the packages in the distribution.  This sometimes can cause differences in one distro to another, or even versions of Fedora to another.  Hopefully this guide has helped you tweak your Synaptics configuration to your liking.

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 appropriate configuration 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.

Added Reading

Document Actions
Log in


Forgot your password?
New user?