# Synaptics scrolling is gone with xf86-input-synaptics

## epsilon72

I've just upgraded xorg to 1.5.3-r2, and along with it came xf86-input-synaptics-1.0.0.

After dealing with the whole hal/fdi mess I've finally got the touchpad working again, but it won't scroll anymore.  If I add the options for scrolling that I had in xorg before to the new /usr/share/hal/fdi/policy/10osvendor/11-x11-synaptics.fdi it does not change anything.

```

    Option   "LeftEdge" "130"

    Option   "RightEdge" "840"

    Option   "TopEdge" "130"

    Option   "BottomEdge" "640"

    Option   "FingerLow" "7"

    Option   "FingerHigh" "8"

    Option   "MaxTapTime" "180"

    Option   "MinTapTime" "110"

    Option   "ClickTime" "0"

    Option   "EmulateMidButtonTime" "75"

    Option   "VertScrollDelta" "20"

    Option   "HorizScrollDelta" "20"

    Option   "MinSpeed" "0.40"

    Option   "MaxSpeed" "0.65"

    Option   "AccelFactor" "0.030"

    Option   "EdgeMotionMinSpeed" "200"

    Option   "EdgeMotionMaxSpeed" "200"

    Option "UpDownScrolling" "1"

    Option "CircularScrolling" "1"

    Option "CircScrollDelta" "0.1"

    Option "CircScrollTrigger" "3"

    Option "VertEdgeScroll" "on"

```

I have also tried 

```

Option "TapButton1" "1"     

Option "TapButton3" "3"             

Option "VertEdgeScroll" "true"

Option "HorizEdgeScroll" "true"

Option "VertTwoFingerScroll" "true"

```

to no avail.

All of the info I can find on configuring touchpads is cryptic at best.  Is there anyone here with more experience that has managed to get theirs working?

----------

## _loki_

configuration now works via 11-x11-synaptics.fdi

but I dont know how to get the scrolling to work like before so fare..

----------

## epsilon72

It appears that tapping does not work either, in my case.

----------

## mikegpitt

 *epsilon72 wrote:*   

> It appears that tapping does not work either, in my case.

 There's a bug open about it now.  Take a look here with a potential solution:

https://bugs.gentoo.org/show_bug.cgi?id=236983

Just an FYI, to get VertEdgeScroll working, make sure you enable SHMConfig.

----------

## epsilon72

 *mikegpitt wrote:*   

>  *epsilon72 wrote:*   It appears that tapping does not work either, in my case. There's a bug open about it now.  Take a look here with a potential solution:
> 
> https://bugs.gentoo.org/show_bug.cgi?id=236983
> 
> Just an FYI, to get VertEdgeScroll working, make sure you enable SHMConfig.

 

Thanks.  I'll try the attached fdi file they have their as soon as I get the chance.

Anyways, shouldn't the xorg people....you know, release some documentation for things like this or something?  Seems like a pretty obtuse way of getting a touchpad configured   :Confused: 

----------

## mikegpitt

 *epsilon72 wrote:*   

>  *mikegpitt wrote:*    *epsilon72 wrote:*   It appears that tapping does not work either, in my case. There's a bug open about it now.  Take a look here with a potential solution:
> 
> https://bugs.gentoo.org/show_bug.cgi?id=236983
> 
> Just an FYI, to get VertEdgeScroll working, make sure you enable SHMConfig. 
> ...

 While I agree that documentation appears sparse, this IMHO is a much better way to handle configuration.  What I believe is happening is that they want X to be much more simple to configure, working by default most of the time with no xorg.conf, and all the device configuration off loaded to hal.  Personally I find the new xml layout to be a bit more readable too.

----------

## epsilon72

Well, I've switched my laptop to gnome and rolled back to 1.3* xorg for the time being.  None of the .fdi files worked for my touchpad, and I really need scrolling capability...*shrugs*.  Oh well.  Hopefully things will get more sorted out with this before 1.5* gets marked as stable.

----------

## gami

Try the following fdi file (put it in /etc/hal/fdi/policy/11-x11-synaptics.fdi, the /usr/share/hal location is for installation provided defaults. Restart hal)

```
<?xml version="1.0" encoding="ISO-8859-1"?>

<deviceinfo version="0.2">

  <device>

    <match key="info.capabilities" contains="input.touchpad">

      <match key="info.product" contains_outof="Synaptics TouchPad;AlpsPS/2 ALPS;appletouch;bcm5974">

        <merge key="input.x11_driver" type="string">synaptics</merge>

        <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>

        <merge key="input.x11_options.LockedDrags" type="string">false</merge>

        <merge key="input.x11_options.PalmDetect" type="string">true</merge>

        <merge key="input.x11_options.CoastingSpeed" type="string">20</merge>

        <merge key="input.x11_options.TapButton1" type="string">1</merge>

        <merge key="input.x11_options.SpecialScrollAreaRight" type="string">false</merge>

        <merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>

        <merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge>

        <!-- <merge key="input.x11_options.SHMConfig" type="string">true</merge> -->

      </match>

    </match>

  </device>

</deviceinfo>
```

SHMConfig is entirely optional and only needed if you want to change settings at runtime using this legacy mechanism. Recent Xorg server (1.6) and synaptics driver provide input properties. You can use "xinput list" to list available properties of a device and "xinput set-{int,float}-properties to set them at runtime.

EDITED: proper use of /etc/hal and /usr/share/halLast edited by gami on Fri Mar 06, 2009 2:22 pm; edited 1 time in total

----------

## VoidMage

 *gami wrote:*   

> Try the following fdi file (put it in /etc/hal/fdi/policy/11-x11-synaptics.fdi, the /usr/share/hal location is for documentation only and not read by hal).

 

That's wrong - /usr/share/hal is not documentation only, it's not documentation at all,

it's the location of files that are distributed with hal. But yes, proer location for your own settings

is in /etc/hal/fdi/ subdirs.

----------

## gami

 *VoidMage wrote:*   

>  *gami wrote:*   Try the following fdi file (put it in /etc/hal/fdi/policy/11-x11-synaptics.fdi, the /usr/share/hal location is for documentation only and not read by hal). 
> 
> That's wrong - /usr/share/hal is not documentation only, it's not documentation at all,
> 
> it's the location of files that are distributed with hal. But yes, proer location for your own settings
> ...

 

I stand corrected. Thanks. I updated my original post to reflect this.

One common pitfall should be pointed out as well: after any changes to fdi files hal should be restarted to pick up the new values.

----------

## pdw_hu

Merging the .fdi settings back to Xorg.conf should works if you don't use HAL. That's how i do it, and both edge and 2finger scrolling works perfectly.

----------

## Snake

I also have weird problem with new drivers. Vertical two finger scrolling is working but horizontal is not despite it is enabled. Also one finger vertical and horizontal edge scrolling is not working.

My .fdi

```
<?xml version="1.0" encoding="ISO-8859-1"?>

<deviceinfo version="0.2">

  <device>

    <match key="info.capabilities" contains="input.touchpad">

        <merge key="input.x11_driver" type="string">synaptics</merge>

        <merge key="input.x11_options.SHMConfig" type="string">true</merge>

        <merge key="input.x11_options.MaxTapMove" type="string">2000</merge>

        <merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>

        <merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge>

        <merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge>

        <merge key="input.x11_options.CircularScrolling" type="string">true</merge>

        <merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge>

    </match>

  </device>

</deviceinfo>

 
```

Last edited by Snake on Sat Mar 07, 2009 7:31 pm; edited 1 time in total

----------

## DaggyStyle

try this:

```
<merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge>

         <merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>

         <merge key="input.x11_options.UpDownScrolling" type="string">true</merge>

         <merge key="input.x11_options.LeftRightScrolling" type="string">true</merge>

         <merge key="input.x11_options.UpDownScrollRepeat" type="string">true</merge>

         <merge key="input.x11_options.LeftRightScrollRepeat" type="string">true</merge>

```

----------

## Snake

I've tried adding last four options, but everything is the same as it was.

----------

## VoidMage

Is anything actually being enabled ?

As I always repeat in these kind of threads, along with your fdi file,

post it's effects in hal, just so we know that the settings actually get applied.

----------

## Snake

Where can I see effects in hal?

I don't know why synclient doesn't work, message is:

```
Can't access shared memory area. SHMConfig disabled?
```

I have set: <merge key="input.x11_options.SHMConfig" type="string">On</merge>

and copied .fdi file to: /etc/hal/fdi/policy/99-x11-synaptics.fdi

It really looks like fdi file doesn't have any effect.

----------

## DaggyStyle

here is mine, try to save it has the original name (11-x11-synaptics.fdi)

```
<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">

  <device>

    <match key="info.capabilities" contains="input.touchpad">

      <match key="info.product" contains="ALPS GlidePoint">

        <merge key="input.x11_driver" type="string">synaptics</merge>

        <merge key="input.x11_options.SHMConfig" type="string">true</merge>

   <!-- Edges -->

        <merge key="input.x11_options.LeftEdge" type="string">120</merge>

        <merge key="input.x11_options.RightEdge" type="string">880</merge>

        <merge key="input.x11_options.TopEdge" type="string">120</merge>

        <merge key="input.x11_options.BottomEdge" type="string">650</merge>

   <!-- Scrolling up/down -->

        <merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge>

        <merge key="input.x11_options.VertEdgeScroll" type="string">true</merge>

        <merge key="input.x11_options.UpDownScrolling" type="string">true</merge>

        <merge key="input.x11_options.LeftRightScrolling" type="string">true</merge>

        <merge key="input.x11_options.UpDownScrollRepeat" type="string">true</merge>

        <merge key="input.x11_options.LeftRightScrollRepeat" type="string">true</merge>

        <merge key="input.x11_options.MinSpeed" type="string">0.7</merge>

        <merge key="input.x11_options.MaxSpeed" type="string">1.3</merge>

        <merge key="input.x11_options.AccelFactor" type="string">0.050</merge>

        <merge key="input.x11_options.EdgeMotionMinSpeed" type="string">5</merge>

        <merge key="input.x11_options.EdgeMotionMaxSpeed" type="string">10</merge>

        <merge key="input.x11_options.HorizScrollDelta" type="string">45</merge>

        <merge key="input.x11_options.VertScrollDelta" type="string">45</merge>

   <!-- Tapping -->

        <merge key="input.x11_options.TapButton1" type="string">1</merge>

        <merge key="input.x11_options.TapButton2" type="string">2</merge>

        <merge key="input.x11_options.TapButton3" type="string">3</merge>

        <merge key="input.x11_options.FastTaps" type="string">1</merge>

<!--        <merge key="input.x11_options.FingerLow" type="string">25</merge>

        <merge key="input.x11_options.FingerHigh" type="string">30</merge> -->

   <!-- Corner clicks -->

        <merge key="input.x11_options.RBCornerButton" type="string">2</merge>

        <merge key="input.x11_options.RTCornerButton" type="string">3</merge>

      </match>

    </match>

  </device>

</deviceinfo>

```

notice that if you don't have a ALPS GlidePoint, you will need to change it to synaptics

----------

## epsilon72

Oh, hopefully your fdi file will work here...maybe the others have not worked because my touchpad is alps instead of synaptics?  I don't know if that makes a difference though.

----------

## Snake

I've copied .fdi from DaggyStyle and still nothing happens. .fdi file doesn't have any effect. I've made 3 copies /etc/hal/fdi/policy/99-x11-synaptics.fdi , /etc/hal/fdi/policy/11-x11-synaptics.fdi and one in share.

----------

## DaggyStyle

is SHMConfig enabled with the either of the fdis?

----------

## Snake

Finally it is working, I just had to remove

<match key="info.product" contains="ALPS GlidePoint"> 

from DaggyStyle's .fdi.

Thanks.

----------

## DaggyStyle

 *Snake wrote:*   

> Finally it is working, I just had to remove
> 
> <match key="info.product" contains="ALPS GlidePoint"> 
> 
> from DaggyStyle's .fdi.
> ...

 

np, enjoy.

----------

## Silenzium

I have a different problem: My vertical and horizontal scrolling is interchanged. I have to move my finger from left to right on the bottom of the touchpad to scroll vertically. The fdi-file may be found here here.

----------

## _loki_

Before the new configration I hab the touchpad for scolling only (IBM Laptop) and the trackpoint in the keyboard for mouse-movement..

The config was simple:

```

Option "SHMConfig" "true"

Option "MaxTapTime" "0"

Option "LeftEdge" "0"

Option "RightEdge" "0"

Option "TopEdge" "0"

Option "BottomEdge" "0"

```

transfering it to 11-x11-synaptics.fdi

```
<?xml version="1.0" encoding="UTF-8"?>

<deviceinfo version="0.2">

  <device>

        <match key="info.product" contains="Synaptics TouchPad">

                <merge key="input.x11_driver" type="string">synaptics</merge>

                <merge key="input.x11_options.SHMConfig" type="string">true</merge>

                <merge key="input.x11_options.MaxTapTime" type="string">0</merge>

                <merge key="input.x11_options.LeftEdge" type="string">0</merge>

                <merge key="input.x11_options.RightEdge" type="string">0</merge>

                <merge key="input.x11_options.TopEdge" type="string">0</merge>

                <merge key="input.x11_options.BottomEdge" type="string">0</merge>

        </match>

  </device>

</deviceinfo>

```

doens't work though.. any ideas on that?

----------

## DaggyStyle

change driver to evdev

----------

## _loki_

I think I'm using evdev and hal right now, but how can I check and or switch?

----------

