You are not logged in.

#1 2009-03-31 19:43:22

praavDa
Member
Registered: 2008-08-21
Posts: 34

Laptop + Synaptics Touchbad -> scrolling problems (but 2fingers works)

Hello Guys.

Yesterday I finally decided to fine tune all the little things on my laptop. I have Compal FL90 - not the newest one but it works just fine. When I was working on windows, I could use the rightmost vertical part of my touchpad to scroll. I got used to this nifty feature and I am trying to achieve the same result on Arch. I had read the info about synaptics on the wiki -> used information from there to setup my xorg.conf. Now it looks like this:

xorg.conf:

Section "ServerLayout"
    Identifier     "Simple Layout"
    Screen      0  "Screen0" 0 0
    InputDevice    "Mouse1" "CorePointer"
    InputDevice    "Keyboard1" "CoreKeyboard"
    InputDevice       "SynapticsTouchpad" "SendCoreEvents"
EndSection

Section "Files"
    FontPath        "/usr/share/fonts/misc"
    FontPath        "/usr/share/fonts/100dpi:unscaled"
    FontPath        "/usr/share/fonts/75dpi:unscaled"
    FontPath        "/usr/share/fonts/local"
    FontPath        "/usr/share/fonts/TTF"
EndSection

Section "Module"
    Load           "dbe"      # Double buffer extension
    SubSection     "extmod"
        Option         "omit xfree86-dga"   # don't initialise the DGA extension
    EndSubSection
    Load           "freetype"
    Load           "glx"
    Load       "synaptics"
EndSection

Section "ServerFlags"
    Option         "AutoAddDevices" "False"
    Option         "Xinerama" "0"
EndSection

Section "InputDevice"
    Identifier     "Keyboard1"
    Driver         "kbd"
    Option         "XkbLayout" "pl"
EndSection

Section "InputDevice"
    Identifier     "Mouse1"
    Driver         "mouse"
    Option         "Protocol" "IMPS/2"    # PS/2 Mouse
    Option         "Device" "/dev/input/mice"
    Option         "ZAxisMapping" "4 5 6 7"
    Option         "Emulate3Buttons"
EndSection

Section "InputDevice"
   Identifier  "SynapticsTouchpad"
   Driver      "synaptics"
   Option      "AlwaysCore"        "true"  # send events to CorePointer
  #Option      "Device"            "/dev/input/mice"
   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"   "true"  # 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.30"  # 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
EndSection

Section "Monitor"
    Identifier     "Monitor1"
    HorizSync       31.0 - 48.0
    VertRefresh     50.0 - 70.0
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "LPL"
    HorizSync       30.0 - 75.0
    VertRefresh     60.0
EndSection

Section "Device"
    Identifier     "Standard VGA"
    Driver         "vga"
    VendorName     "Unknown"
    BoardName      "Unknown"
EndSection


Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 8601M GT"
    Option       "NoLogo" "True"
    Option       "RenderAccel" "True"
    Option       "TripleBuffer" "True"
    Option       "OnDemandVBlankInterrupts" "True"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "TwinView" "0"
    Option         "metamodes" "1280x800_60 +0+0; 800x600 +0+0; 640x480 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "Composite" "Enable"
EndSection

I can use two fingers to scroll now (so it partially works), but scrolling with right side of touchpad fails. Does anyone has any sugestions / solutions? I would be gratefull for any help.

Best regards,
Mike.

Last edited by praavDa (2009-03-31 19:45:44)


gvim -c "exec \"normal itYNQ#v'Z#ABG#GUR#BAYL#BAR\"|%s/#/ /g|normal ggVGg?ggVG~"

Offline

#2 2009-04-01 21:30:52

decaturguy
Member
From: Sweden
Registered: 2006-11-28
Posts: 117

Re: Laptop + Synaptics Touchbad -> scrolling problems (but 2fingers works)

All inputs are now Handled by HAL, no more inputs stuff in xorg.conf 
save this to /etc/hal/fdi/policy/11-x11-synaptics.fdi

<?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>
    <!-- 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.AlwaysCore" type="string">true</merge>
        <merge key="input.x11_options.Protocol" type="string">auto-dev</merge>
        <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>
        <merge key="input.x11_options.SHMConfig" type="string">true</merge>
        <merge key="input.x11_options.LeftEdge" type="string">1700</merge>
        <merge key="input.x11_options.RightEdge" type="string">5300</merge>
        <merge key="input.x11_options.TopEdge" type="string">1700</merge>
        <merge key="input.x11_options.BottomEdge" type="string">4200</merge>
        <merge key="input.x11_options.FingerLow" type="string">25</merge>
        <merge key="input.x11_options.FingerHigh" type="string">30</merge>
        <merge key="input.x11_options.MaxTapTime" type="string">180</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.CornerCoasting" type="string">true</merge>
        <merge key="input.x11_options.CoastingSpeed" type="string">0.30</merge>
        <merge key="input.x11_options.VertScrollDelta" type="string">100</merge>
        <merge key="input.x11_options.HorizScrollDelta" type="string">100</merge>
        <merge key="input.x11_options.MinSpeed" type="string">0.10</merge>
        <merge key="input.x11_options.MaxSpeed" type="string">0.60</merge>
        <merge key="input.x11_options.AccelFactor" type="string">0.0020</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.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>
      </match>
      <match key="info.product" contains="AlpsPS/2 ALPS">
      </match>
      <match key="info.product" contains="appletouch">
      </match>
      <match key="info.product" contains="bcm5974">
      </match>
    </match>
  </device>

Offline

#3 2009-04-08 06:28:06

praavDa
Member
Registered: 2008-08-21
Posts: 34

Re: Laptop + Synaptics Touchbad -> scrolling problems (but 2fingers works)

@decaturguy: thank You for advice, I am trying to do so now but still - I have few problems.

First off all, I removed any input connected things from xorg.conf, enabled hotplugging and I am trying to configure HAL. My touchpad works (partially) and I can type polish letters with my keyboard, but:

1) On my laptop I have few multimedia keys. When I was using xorg to setup keyboard, I was running keytouch to setup the keys. With HAL keytouch doesn't work - I can't use any of additional keys. Anyone got any sugestions?

2) With xorg.conf touchpad worked partially - I could use two finger scroll but I couldn't scroll with one finger on right side of touchpad. Now, after creation of 11-x11-synaptics.fdi in /etc/hal/fdi/policy/ I can use touchpad but neither 2 finger nor one finger on right side scroll doesn't work. Is there any way to fix this?

Last edited by praavDa (2009-04-08 06:28:35)


gvim -c "exec \"normal itYNQ#v'Z#ABG#GUR#BAYL#BAR\"|%s/#/ /g|normal ggVGg?ggVG~"

Offline

#4 2009-04-08 09:18:16

h4mx0r
Member
Registered: 2008-04-17
Posts: 11

Re: Laptop + Synaptics Touchbad -> scrolling problems (but 2fingers works)

So how do we implement those awesome old school hacks for touchpads in xorg? Like disable double tap click, that annoying scrollbar on the touch part, and increase the accuracy usage? 

This stops tap clicking:
        <merge key="input.x11_options.MaxTapTime" type="string">180</merge>

Here is your accuracy:
        <merge key="input.x11_options.MinSpeed" type="string">0.10</merge>
        <merge key="input.x11_options.MaxSpeed" type="string">0.60</merge>
        <merge key="input.x11_options.AccelFactor" type="string">0.0020</merge>

Turn off the annoying scroll sections of the pad:
        <merge key="input.x11_options.VertEdgeScroll" type="string">false</merge>
        <merge key="input.x11_options.HorizEdgeScroll" type="string">false</merge>

For when you just have to get that third click in:
        <merge key="input.x11_options.Emulate3Buttons" type="string">true</merge>

What are the other options for? Am I right about those so far? Ever since xorg config got obfuscated by hal every linux group everywhere has needed a faq on this important info!

Offline

Board footer

Powered by FluxBB