two finger tap (middle click)

In opensuse 11.0 and 11.1 (kde) I was able to tap the touch pad with two fingers to simulate middle-click. It allowed me to use “open link in new tab” feature in firefox with ease. It allowed me to close tabs I no longer needed.

The same feature exists in 11.2 (kde4) but requires three fingers to tap. I find this frustrating, and wondered what the steps are to set it back to two fingers. I have no xorg.conf file.

Read the following threads:
Setting Mouse Options Without xorg.conf? - openSUSE Forums
openSUSE Forums - View Single Post - Disable touchpad tapping (opensuse 11.2 gnome)

I searched for a long time on settings for the touchpad and found out that the xorg.conf is being phased out. So the solution I found was to go through HAL a newer way of configuring harware.

First it is necessary to find the configuration file so in terminal I go to /usr directory with “cd /usr” then use:

find -name 11-x11-synaptics.fdi


find -name '*synaptics.fdi'


find -name '*.fdi'

for all hardware configs to search for the configuration file. Mine was in /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi. Then open it in a text editor.
Here is what mine looks like:

<?xml version=“1.0” encoding=“ISO-8859-1”?>
<deviceinfo version=“0.2”>
<match key=“info.capabilities” contains=“input.touchpad”>
<merge key=“input.x11_driver” type=“string”>synaptics</merge>
<!-- Arbitrary options can be passed to the driver using
the input.x11_options property since xorg-server-1.5. →
<merge key=“input.x11_options.LeftEdge” type=“string”>120</merge>

<merge key=“input.x11_options.SHMConfig” type=“string”>on</merge>
<merge key=“input.x11_options.HorizScrollDelta” type=“string”>0</merge>
<merge key=“input.x11_options.TapButton1” type=“string”>0</merge>
<merge key=“input.x11_options.FastTaps” type=“string”>0</merge>
<merge key=“input.x11_options.RightEdge” type=“string”>6000</merge>
<match key=“info.product” contains=“Synaptics TouchPad”>
<match key=“info.product” contains=“AlpsPS/2 ALPS”>
<match key=“info.product” contains=“appletouch”>
<match key=“info.product” contains=“bcm5974”>
<match key=“info.product” contains=“ETPS/2 Elantech Touchpad”>

I would not just copy mine because it may not be compatible, but edit your own and here is a guide to help: Synaptics Touchpad/Xorg 7.3 - Gentoo Linux Wiki

The keys I added disable tapping with
<merge key=“input.x11_options.TapButton1” type=“string”>0</merge>
and the other:
<merge key=“input.x11_options.RightEdge” type=“string”>6000</merge>
causes vertical scrolling to be inactive on the left side of the ridge on the touchpad.

It says you can restart HAL to make the settings take effect but I had to restart my computer.

Thanks everyone. I’ll have to take some time out to fix it. I appreciate the replies.

I have switched to an alternate distro, but it appears to be a similar beast as far as the touchpad is concerned.
By using the Synaptics manual:

man synaptics

I came across some HAL options that may be helpful:

   Option "EmulateTwoFingerMinZ" "integer"
          For touchpads not capable of detecting multiple fingers (Alps), this sets  the  Z
          pressure threshold to emulate a two finger press. Property: "Synaptics Two-Finger
   Option "EmulateTwoFingerMinW" "integer"
          Some touchpads report a two-finger touch as wide finger.  This  sets  the  finger
          width  threshold  to  emulate  a  two  finger press. This feature works best with
          (PalmDetect) off. Property: "Synaptics Two-Finger Width"
   Option "TapButton1" "integer"
          Which mouse button is reported on a non-corner one-finger tap.  Set to 0 to  dis‐
          able. Property: "Synaptics Tap Action"
   Option "TapButton2" "integer"
          Which  mouse button is reported on a non-corner two-finger tap.  Set to 0 to dis‐
          able. Property: "Synaptics Tap Action"
   Option "TapButton3" "integer"
          Which mouse button is reported on a non-corner three-finger tap.   Set  to  0  to
          disable. Property: "Synaptics Tap Action"

Using these is a simple matter of inserting the desired name and number into the HAL key from the above 11-x11-synaptics.fdi file:

<merge key="input.x11_options.InsertOptionName" type="String">Insert#value</merge>

If you have a synaptics touchpad the values can be tested with synclent.

synclient -l

brings up a list options and values assigned to them.

synclient PickAnyOption=any#

will assign your new value to the desired option but only for the current session. These values need to be entered in HAL to make them persistent.

Very strange. I was reading about gpm and syn.conf (/etc/gpm/syn.conf) and tried to change options there, but they wouldn’t take (X restart, and OS restart). I looked at man synaptics and discovered more info about hal and fdi, then tried to first copy, then edit the file and added the line (see comments below). After OS reboot, it works! Now I can two-finger-tap and Open-Link-In-New-Tab :smiley:

Thank you for all of your help!

Steps outlined below:

$> sudo cp -vi /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi /etc/hal/fdi/policy
<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
    <match key="info.capabilities" contains="input.touchpad">
        <merge key="input.x11_driver" type="string">synaptics</merge>
        <!-- Arbitrary options can be passed to the driver using 
             the input.x11_options property since xorg-server-1.5. -->
        <!-- EXAMPLE:
        <merge key="input.x11_options.LeftEdge" type="string">120</merge>
        <merge key="input.x11_options.SHMConfig" type="string">on</merge>
        <merge key="input.x11_options.HorizScrollDelta" type="string">0</merge>
# felipe 2010-01-22 Get two finger tap to middle click
# man synaptic
        <merge key="input.x11_options.TapButton2" type="string">2</merge>
      <match key="info.product" contains="Synaptics TouchPad">
      <match key="info.product" contains="AlpsPS/2 ALPS">
      <match key="info.product" contains="appletouch">
      <match key="info.product" contains="bcm5974">
      <match key="info.product" contains="ETPS/2 Elantech Touchpad">

It makes sense to move it to /etc/hal/fdi/policy folder because I believe it supposed to be there. I never did and it always seemed to work but I will be sure to make it known that it should be moved from now on.

For openSUSE, the standard directory to look for fdi file is /usr/share/hal/fdi/policy/…

If you want to override any information, put that (new/modified) policy file in /etc/hal/fdi/policy/…