You are not logged in.

#1 2009-08-25 05:15:51

Zerimas
Member
From: Waterloo, Ontario
Registered: 2009-08-25
Posts: 21

Cannot get Synaptics TouchPad working properly.

After having consulting the the excellent wiki here on the site I still cannot seem to get the Synaptics TouchPad to work the way I want it to my laptop (an ASUS M50VM-A1). I have been trying to configure by adding the appropiate files to /etc/hal/fdi/policy, but so far I have been unsucessful. 

Here is my current file 99-x11-synaptics.fdi (I have also tried it as 11-x11-synaptics.fdi )

<?xml version="1.0" encoding="ISO-8859-1"?>
    <deviceinfo version="0.2">
    <device>
        <match key="info.product" contains="SynPS/2 Synaptics TouchPad">
        <append key="info.capabilities" type="strlist">input.touchpad</append>
        </match>
        <match key="info.capabilities" contains="input.touchpad">
        <merge key="input.x11_driver" type="string">synaptics</merge>

<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">false</merge>
        <merge key="input.x11_options.VerteScrollDelta" type="string">2</merge>
        <merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge
      <merge key="input.x11_options.FastTaps" type="string">1</merge>

      <merge key="input.x11_options.HorizEdgeScroll" type="string">false</merge>
        <merge key="input.x11_options.HorizScrollDelta" type="string">1</merge>
        <merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge>
<merge key="input.x11_options.EmulateTwoFingerMinW" type="string">7</merge>     
<merge key="input.x11_options.EmulateThreeFingerMinW" type="string">12</merge>     
                   <merge key="input.x11_options.shmconfig" type="string">on</merge>
     
    </match>
  </device>
</deviceinfo>

As far as I can tell it is not working at all.  I was able to turn the touchpad on and off via syndaemon when  SHMconfig was turned on with another .fdi file.

Here is the entry in /proc/bus/input/devices that pertains to the touchpad

I: Bus=0011 Vendor=0002 Product=0007 Version=02b1
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=isa0060/serio4/input0
S: Sysfs=/devices/platform/i8042/serio4/input/input9
U: Uniq=
H: Handlers=mouse1 event9
B: EV=b
B: KEY=420 70000 0 0 0 0
B: ABS=11000003

And lastly here is my xorg.conf

Section "Files"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "/usr/share/fonts/misc"
        FontPath     "/usr/share/fonts/100dpi:unscaled"
        FontPath     "/usr/share/fonts/75dpi:unscaled" 
        FontPath     "/usr/share/fonts/TTF"            
        FontPath     "/usr/share/fonts/Type1"          
EndSection                                             

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model" 
EndSection                           

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"  
        Monitor    "Monitor0"
        SubSection "Display" 
                Viewport   0 0
                Depth     1   
        EndSubSection         
        SubSection "Display"  
                Viewport   0 0
                Depth     4   
        EndSubSection         
        SubSection "Display"  
                Viewport   0 0
                Depth     8   
        EndSubSection         
        SubSection "Display"  
                Viewport   0 0
                Depth     15  
        EndSubSection         
        SubSection "Display"  
                Viewport   0 0
                Depth     16  
        EndSubSection         
        SubSection "Display"  
                Viewport   0 0
                Depth     24  
        EndSubSection
EndSection

Section "Module"
        Load  "dbe"
        Load  "dri"
        Load  "glx"
        Load  "dri2"
        Load  "extmod"
        Load  "record"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Device"
        Identifier  "Card0"
        Driver      "nvidia"
        VendorName  "nVidia Corporation"
        BoardName   "G96 [GeForce 9600M GS]"
        BusID       "PCI:1:0:0"
EndSection

Section "ServerFlags"
        Option  "DontZap"       "False"
EndSection

What exactly I am doing wrong?  An also on an unrelated note: why is it that I cannot restart X--despite having "DontZap" set to false--with ctrl-alt-backspace?

Thanks!

Offline

#2 2009-08-25 23:33:23

Zerimas
Member
From: Waterloo, Ontario
Registered: 2009-08-25
Posts: 21

Re: Cannot get Synaptics TouchPad working properly.

So it turns out I can turn the touchpad on and off with synclient TouchpadOff=1 (which would indicate that SHMconfig is on, wouldn't it?). But the rule described here http://wiki.archlinux.org/index.php/Tou … _detection no longer works since specifying the the SHMconfig option in the fdi file fore the touchpad rather that a separate file as described here: https://help.ubuntu.com/community/Synap … #shmconfig

Offline

#3 2009-08-25 23:43:24

Profjim
Member
From: NYC
Registered: 2008-03-24
Posts: 658

Re: Cannot get Synaptics TouchPad working properly.

I haven't analyzed your fdi file, but here's my working /etc/hal/fdi/policy/11-x11-synaptics.fdi, with comments removed. Maybe it'll help you:

<?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="Synaptics TouchPad">
        <merge key="input.x11_driver" type="string">synaptics</merge>
      </match>
      <match key="info.product" contains="AlpsPS/2 ALPS">
        <merge key="input.x11_driver" type="string">synaptics</merge>
      </match>
      <match key="info.product" contains="appletouch">
        <merge key="input.x11_driver" type="string">synaptics</merge>
      </match>
      <match key="info.product" contains="bcm5974">
        <merge key="input.x11_driver" type="string">synaptics</merge>
      </match>

      <match key="input.x11_driver" contains="synaptics">
        <merge key="input.x11_options.SHMConfig" type="string">true</merge>

        <merge key="input.x11_options.TapButton1" type="string">0</merge> <!-- mouse button for non-corner trackpad click -->
        <merge key="input.x11_options.TapButton2" type="string">0</merge> <!-- mouse button for 2-finger click -->
        <merge key="input.x11_options.TapButton3" type="string">0</merge> <!-- mouse button for 3-finger click -->
        <merge key="input.x11_options.RightEdge" type="string">930</merge>

      </match>
    </match>
  </device>
</deviceinfo>

I don't know if this matters, but the file has permissions 644, owner/group are root/root.

Offline

#4 2009-08-26 00:47:25

l33tunderground
Banned
Registered: 2007-05-09
Posts: 103

Re: Cannot get Synaptics TouchPad working properly.

You have /etc/xorg.conf on your system, which means that Xorg will not try to autodetect certain hardware, like your Synaptics mouse. I think you missed one part of the wiki page. Try this step.

Offline

#5 2009-08-26 02:12:33

Profjim
Member
From: NYC
Registered: 2008-03-24
Posts: 658

Re: Cannot get Synaptics TouchPad working properly.

l33tunderground wrote:

You have /etc/xorg.conf on your system, which means that Xorg will not try to autodetect certain hardware, like your Synaptics mouse. I think you missed one part of the wiki page. Try this step.

I don't have most of what that wiki link describes, and I'm working fine. I think that section of the wiki only describes what you need to do if input hotplugging is disabled.

However, I notice that I do have this in my xorg.conf:

Section "Module"
...
    Load    "synaptics"
...
EndSection

whereas Zerimas does not. Try adding that also, and restarting X.

Offline

#6 2009-08-27 02:10:05

Zerimas
Member
From: Waterloo, Ontario
Registered: 2009-08-25
Posts: 21

Re: Cannot get Synaptics TouchPad working properly.

Profjim: I tried your fdi policy and it worked to some degree: upon detection of an external mouse the pad would become disabled.  However, when I modified your exact config  to look like this:

<?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="Synaptics TouchPad">
        <merge key="input.x11_driver" type="string">synaptics</merge>
      </match>
      <match key="info.product" contains="AlpsPS/2 ALPS">
        <merge key="input.x11_driver" type="string">synaptics</merge>
      </match>
      <match key="info.product" contains="appletouch">
        <merge key="input.x11_driver" type="string">synaptics</merge>
      </match>
      <match key="info.product" contains="bcm5974">
        <merge key="input.x11_driver" type="string">synaptics</merge>
      </match>

    <match key="input.x11_driver" contains="synaptics">
        <merge key="input.x11_options.SHMConfig" type="string">true</merge>

        <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">false</merge>
        <merge key="input.x11_options.VertScrollDelta" type="string">30</merge>
        <merge key="input.x11_options.VertTwoFingerScroll" type="string">true</merge

    <merge key="input.x11_options.HorizEdgeScroll" type="string">true</merge>
    <merge key="input.x11_options.HorizScrollDelta" type="string">30</merge>
    <merge key="input.x11_options.HorizTwoFingerScroll" type="string">true</merge>
    <merge key="input.x11_options.SpecialScrollAreaRight" type="string">false</merge>

It ceased to turn off on mouse detection; two finger scrolling would not work, and the rights side of the touch pad still acted as a scroll wheel--despite two option which explicitly disable it.

Last edited by Zerimas (2009-08-27 04:38:43)

Offline

#7 2009-08-27 04:15:35

Zerimas
Member
From: Waterloo, Ontario
Registered: 2009-08-25
Posts: 21

Re: Cannot get Synaptics TouchPad working properly.

Profjim: could you please possibly post your xorg.conf so I can compare it to my own?

Offline

#8 2009-08-27 06:12:38

xsytry
Member
From: Poznan, Poland
Registered: 2008-07-08
Posts: 21

Re: Cannot get Synaptics TouchPad working properly.

Hi,
I didn't even touch hal policy files to get my touchpad working - it worked out of the box.  I only modified xorg.conf to make it behave as i wanted. I've got lenovo t61.
Here is my xorg.conf

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    InputDevice    "SynapticsTouchpad" "SendCoreEvents"
EndSection

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
    Load           "synaptics"
EndSection

Section "InputDevice"

  #Option      "Device"            "/dev/input/mice"
    Identifier     "SynapticsTouchpad"
    Driver         "synaptics"
    Option         "AlwaysCore" "true"  # send events to CorePointer
    Option         "Device" "/dev/psaux"
    Option         "Protocol" "auto-dev"
    Option         "SHMConfig" "false" # configurable at runtime? security risk
    Option         "LeftEdge" "1700"  # x coord left
    Option         "RightEdge" "5300"  # x coord right
    Option         "TopEdge" "1700"  # y coord top
    Option         "BottomEdge" "4200"  # y coord bottom
    Option         "FingerLow" "25"    # pressure below this level triggers release
    Option         "FingerHigh" "30"    # pressure above this level triggers touch
    Option         "MaxTapTime" "180"   # max time in ms for detecting tap
    Option         "VertEdgeScroll" "true"  # enable vertical scroll zone
    Option         "HorizEdgeScroll" "false"  # enable horizontal scroll zone
    Option         "CornerCoasting" "true"  # enable continuous scroll with finger in corner
    Option         "CoastingSpeed" "0.30"  # corner coasting speed
    Option         "VertScrollDelta" "100"   # edge-to-edge scroll distance of the vertical scroll
    Option         "HorizScrollDelta" "100"   # edge-to-edge scroll distance of the horizontal scroll
    Option         "MinSpeed" "0.10"  # speed factor for low pointer movement
    Option         "MaxSpeed" "0.60"  # maximum speed factor for fast pointer movement
    Option         "AccelFactor" "0.0020"    # acceleration factor for normal pointer movements
    Option         "VertTwoFingerScroll" "true"    # vertical scroll anywhere with two fingers
    Option         "HorizTwoFingerScroll" "true"    # horizontal scroll anywhere with two fingers
    Option         "TapButton1" "1"
    Option         "TapButton2" "2"
    Option         "TapButton3" "3"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Wbudowany"
    VendorName     "Lenovo"
    HorizSync       28.0 - 33.0
    VertRefresh     43.0 - 72.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Quadro140"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Quadro140"
    Monitor        "Wbudowany"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Do, or do not. There is no try. [Yoda]

Offline

#9 2009-08-27 07:52:52

Zerimas
Member
From: Waterloo, Ontario
Registered: 2009-08-25
Posts: 21

Re: Cannot get Synaptics TouchPad working properly.

After poking around a bit it seems as if hal is ignoring the fdi policy entirely (apparently synclient doesn't require SHMconfig to be on in order to turn the pad on and off).  For those of you that have it working with properly via fdi with hotplugging enable, could you please post what version  Xorg you are using?

Offline

#10 2009-08-27 10:23:30

Profjim
Member
From: NYC
Registered: 2008-03-24
Posts: 658

Re: Cannot get Synaptics TouchPad working properly.

Here's my xorg.conf (with comments stripped).
http://pastebin.ca/1544515

Offline

#11 2009-09-01 15:58:34

krisvek
Member
Registered: 2008-04-19
Posts: 20

Re: Cannot get Synaptics TouchPad working properly.

I am having the very same problem as Zerimas.  After hours of messing with my fdi settings for my touchpad, Hal continues to ignore them.  I'll probably try an xorg.conf file soon, see if that works better (I imagine it SHOULD work), but the whole idea is that I shouldn't need an xorg.conf file at all if my fdi is properly configured.  I have no xorg.conf at all right now.

I'm running 64-bit, standard repos (no testing).

*EDIT*
An update for the interested... I've installed GPointing-Devce-Settings (from AUR) and it seems to have no problem configuring things on that end.  Apparently Hal is automatically enabling SHMConfig to ON?  As it turns out though, this may be enough of a solution for my needs, as I can keep scrolling on and effectively turn tap-click off by moving the slider for tap time all the way left.

*EDIT 2*
GPointing-Device-Settings works okay, but I have to run the program and tweak the settings for each session/boot, which sucks.

*EDIT 3*
Okay, I got things working for me.  I'm too busy right now to properly compare and test the differences (synclient-l output and Xorg log file) between the main xf86-input-synaptics driver and the svn one in AUR, but things are working for me now that I installed the one from AUR.  Loking at the PKGBUILD with little to no idea of what I'm looking for, I see that the AUR svn build is sourcing our 11-x11-blah-synaptic file... maybe somehow the main version of the driver missed out on that?

Anyhow, give it a try Zerimas, if you're still having the problem, and let me/us know if it helps.
(you'll have to remove the original xf86-input-synaptics package first of course, due to conflict with the AUR version)

Last edited by krisvek (2009-09-03 18:48:26)

Offline

Board footer

Powered by FluxBB