Comment 4 for bug 278585

Revision history for this message
_blue (blue) wrote :

Fixed! The odd behavior I was getting when I kept trying to scroll was because my finger would occasionally register at a point on the pad that was close enough to the "right edge" to be considered a scroll. Let me explain:

The touchpad registers an (x,y) coordinate whenever you touch it; then this is compared to the previous position to get a mouse movement or to the "edge" of the touchpad to determine if its a scroll gesture. What I think has been happening is the syntaptics driver is deciding what x coordinate that edge has in a different way. Manually setting the x coordinate of that edge did the trick for me.

Here's how:
1) turn on "SHMConfig" in your xorg.conf file (this makes synclient work)
2) run synclient -m 1000 - this program will tell you what the touchpad is currently registering. Use it to get your min and max x and y values.
3) Use those values to manually set the edges in xorg.conf:
Section "InputDevice"
    Identifier "Synaptics Touchpad"
    Driver "synaptics"
    Option "SendCoreEvents" "true"
    Option "Device" "/dev/psaux"
    Option "Protocol" "auto-dev"
    Option "VertEdgeScroll" "1"
    Option "HorizEdgeScroll" "1"
    Option "SHMConfig" "true"
    Option "LeftEdge" "40" # x_min
    Option "RightEdge" "935" # x_max
    Option "TopEdge" "40" # y_min
    Option "BottomEdge" "690" # y_max
EndSection
4) Reboot X and repeat: I had to try several settings before I found the right ones, so play with the values. It doesn't matter if your left and top edges are too low, but you don't want your right and bottom too high or else it wont work.

You can also use synclient -l to get your current edge positions, if you'd like to start there instead.

About the HorizEdgeScroll: I'm not sure what's going on there, but I don't know if these settings are used. I tried using "VertTwoFingerScroll" "1" and it didn't work at all.

I hope this works for you.

-blue