You are not logged in.
Hi!
I have recently got a Zepto 6024W laptop, and have managed to get graphics, sound and wireless network to work fine with Arch64. But I'm having some trouble with the touchpad. At first I didn't think I could use it to scroll with, but then I found the synaptics driver. Scrolling by dragging a finger on the edges work, but I can't get two fingered scrolling to work like I want. I can scroll by dragging two fingers across the touchpad, but I get some erratic behavior. As long as I keep the fingers on the touchpad it works fine, but sometimes when I lift my fingers it scrolls for a while by itself. Sometimes it takes a couple of seconds before it does it too. It also scrolls by itself when I'm just moving the mouse cursor, but that doesn't happen very often. The scrolling problem also happens when I scroll by dragging a finger across an edge, but if I disable two fingered scrolling it works ok. Here's the relevant part of my xorg.conf:
Section "InputDevice"
Identifier "Mouse0"
Driver "synaptics"
Option "Protocol" "auto-dev"
Option "SendCoreEvents"
Option "Device" "/dev/psaux"
Option "SHMConfig" "True"
Option "VertTwoFingerScroll" "true"
Option "HorizTwoFingerScroll" "true"
EndSection
I removed all the other options, to see if there were an options that interfered. Also, disabling edge scrolling and only using two fingered scrolling doesn't work either. I've tried with the latest synaptics driver in extra, but right now I'm using a package I build myself with abs. I built my own package so I could apply a patch that allows you to use two finger scrolling by putting down one finger at a time, instead of both at the same time. Both of the packages have the same problem. I could solve this problem by just disabling two finger scrolling, but I prefer it before edge scrolling. So I would be very grateful if someone knows what is wrong.
Last edited by perost (2007-09-19 12:07:31)
Offline
I have the same problem with TwoFingerScrolling, so I disabled it. Multifinger-taps work fine though, as well as edge scrolling and circular scrolling.
Offline
I have the same problem with TwoFingerScrolling, so I disabled it. Multifinger-taps work fine though, as well as edge scrolling and circular scrolling.
Yes, everything except two finger scrolling works fine for me. But the 6024W has a touchpad that is quite hard to find by feeling with your fingers, and edge scrolling is therefore a bit tricky. Therefore I'd prefer two finger scrolling so that I don't have to find the edge of the touchpad when I want to scroll. But I think I'm going to look through the code for synaptics sometime, and see if I can do something about it. But I'm quite busy with other things right now, so don't expect anything soon
Offline
Has anyone made any progress with this? I have a 3215W and the same issues with two finger scrolling...
Offline
Has anyone made any progress with this? I have a 3215W and the same issues with two finger scrolling...
Well, I haven't found a solution yet. But I'm still looking if anyone finds a possible solution I even had a quick look at synaptics source code a while back, but didn't find anything interesting. I'm starting to wonder if it's not the touchpads fault instead of the driver. Sometimes the touchpad stops working, or jumps around erratically, often when the laptop wakes up after sleep. A quick jump to the terminal and removing and reinserting the psmouse module fixes it, but it's still irritating.
Offline
Has anyone found a solution for this?? I'm having this problem as well. I own an Acer Aspire 5570Z, th twofinger scroll works, but have the same problem as listed in the first post, and i have also found, that tapping with two fingers brings the same results. it's annoying but a simple solution is to keep at least one finger down after scrolling.
Offline
oh btw, it also happens with horizontal scroll, i was just scrolling right, and when i lifted my fingers it scrolled back to the left.
Offline
I dont have this problem, my synaptics works like it should.
I dont know if it will help anyone but here is my config for it.
Section "InputDevice"
Identifier "Touchpad"
Driver "synaptics"
Option "Device" "/dev/input/mouse0"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "25"
Option "FingerHigh" "30"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.06"
Option "MaxSpeed" "0.24"
Option "AccelFactor" "0.0020"
Option "SHMConfig" "on"
Option "VertTwoFingerScroll" "1"
EndSection
Offline
You have almost the same config as the one in the wiki, that was the first i tried and didn't work, now i have a different config (not on my laptop, i'm posting it later), but thanks anyway.
Offline
tmadhavan wrote:Has anyone made any progress with this? I have a 3215W and the same issues with two finger scrolling...
I'm starting to wonder if it's not the touchpads fault instead of the driver. Sometimes the touchpad stops working, or jumps around erratically, often when the laptop wakes up after sleep. A quick jump to the terminal and removing and reinserting the psmouse module fixes it, but it's still irritating.
This actually turned out to be the touchpads fault, since it stopped working completely a while ago. I turned out to be a loose cable, so connecting it a bit better fixed the random shutdowns of the touchpad. However, this hasn't fixed the twofinger scrolling issue, so I'm still looking for a solution.
Offline
I don't think the twofinger scrolling issue is related to bad connections, i think it might be some driver bug. I haven't been able to find more resources on this though...
Offline
I did some research on this.. (I have an Acer Aspire 9500 with the same problem)
While running synclient -m 100, I tried to figure out what the cause whas of the weird actions. The mega-downscroll was appareantly initiated by a sudden jump of the displayed coordinates (X,Y), from the coordinate of my finger ~(3000,4000), always to position (1,5855).
I was curious why it was always exactly Y=5855 so I quickly examined the sources of both xf86-input-synaptics and the kernel driver. The z, f and w-values do also matter but are explainable by the way they are implemented. I think there's just a problem with the coordinates here..
In the kernel driver, there is a change in Y-coordinate because then, the coordinates given by the synaptics-driver will be similar to handle as with a regular mouse. As you can see, this happens here: http://git.kernel.org/?p=linux/kernel/g … =HEAD#l442. It reports the 'absolute value' of Y as YMAX_NOMINAL + YMIN_NOMINAL - hw.y.
Now, YMIN_NOMINAL is defined as 1408 and YMAX_NOMINAL as 4448 so it's easy to see (when ABS_Y = 5855) that the 'real' value of Y, given by the touchpad was 1. This made a little more sense to me..
I did some other experiments with synclient to see at what actions the touchpad would report (1,1). It was very easy to reproduce by sliding from the middle of the pad to a side with a fingernail. Once my nail was at the side, it gave those values.
My conclusion is that when the touchpad (still?) feels a touch, but doesn't know where, it reports (1,1) as position. Can someone verify this method is doing its job correctly? (http://git.kernel.org/?p=linux/kernel/g … =HEAD#l309) I'm not a very expert in C but I have a suspicion that things easily could go wrong with these tests.
Until we know what's happening, it's easy to tell our synaptics (xf86-input-synaptics) package to ignore everything with X=1. (That's all it needs)
I did it by breaking out of the while-loop in the ReadInput method, somewhere before it calls HandleState by inserting "if (hw.x == 1) break;" before "hw.millis = GetTimeInMillis();".
Here's my package if you don't want to do it yourself anymore. http://pieter.kelchtermans.googlepages. … pkg.tar.gz
If you solved it another way or know what the (1,1)'s do, I'll be pleased to hear!
Last edited by gondil (2008-08-24 09:37:46)
Offline
Well, there seems to be a problem with the scrolling buttons below my touchpad. I might be excluding too many packets from handling, will fix it later...
I also saw that there are people having the same issues on Ubuntu. https://bugs.launchpad.net/ubuntu/+sour … bug/133060
Good luck!
Offline
Well I did synclient -m 100 too and watched if my behavior was the same. Yup it jumped suddenly right into the lower left (1,5855) corner. but it also happens with one finger. If i just put a finger on the touchpad and lift it right away, then it happens.
I haven't found a solution for this yet, does the package you posted work?
Offline
By the way, tried the package but it is buggy,sometimes the pointer jumps to a random position when i put a finger on the touchpad, although the scroll-down problem seems to be significantly reduced.
Offline
I don't experience the random positions at all.. It may have to do with a difference in our xorg.conf, this is what I have:
Section "InputDevice"
Identifier "Mouse[1]"
Driver "synaptics"
Option "Device" "/dev/input/mouse2" # this is where my pad resides, could be something else with your laptop
Option "Protocol" "auto-dev"
Option "LeftEdge" "1800"
Option "RightEdge" "5300"
Option "VertTwoFingerScroll" "1"
Option "TopEdge" "1800"
Option "BottomEdge" "5856"
Option "FingerLow" "65"
Option "FingerHigh" "70"
Option "MaxTapTime" "180"
Option "MaxTapMove" "220"
Option "VertScrollDelta" "100"
Option "MinSpeed" "0.06"
Option "MaxSpeed" "0.12"
Option "AccelFactor" "0.0010"
Option "SHMConfig" "on"
Option "HorizEdgeScroll" "off"
Option "CornerCoasting" "off"
Option "EdgeMotionMinZ" "190"
Option "EdgeMotionMaxZ" "200"
Option "RTCornerButton" "0"
Option "RBCornerButton" "0"
EndSection
Offline
Lol, i can't even click!! , i don't think it may have much todo with my config, since it's similar to yours. I'm posting it anyway.
Section "InputDevice"
Identifier "Touchpad"
Driver "synaptics"
Option "Device" "/dev/input/mouse0"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1700"
Option "RightEdge" "5300"
Option "FastTaps" "1"
Option "TopEdge" "1700"
Option "BottomEdge" "4200"
Option "FingerLow" "10"
Option "FingerHigh" "20"
Option "SingleTapTimeout" "100"
Option "MaxDoubleTapTime" "300"
Option "VertScrillDelta" "20"
Option "HorizScrollDelta" "50"
Option "EmulateMidButtonTime" "250"
Option "MaxTapTime" "380"
Option "MaxTapMove" "320"
Option "MinSpeed" "0.12"
Option "MaxSpeed" "0.12"
Option "AccelFactor" "0.0020"
Option "VertTwoFingerScroll" "1"
Option "HorizTwoFingerScroll" "1"
Option "SHMConfig" "on"
EndSection
BTW, what does Edgemotion(max,min) do?
Thanks!
Offline
Thank you very much gondil! Your solution worked quite well for me, although my mouse buttons stopped working. So I modified your line to
if(hw.x == 1 && hw.numFingers > 0) break;
so that it doesn't ignore events when you have no fingers on the touchpad, and then everything seems to work fine. It doesn't work perfectly fine since it sometimes scrolls back slightly, but that seems to be my touchpads fault. It seems like my touchpad registers events even when you only hover your fingers a couple of millimeters above the surface, so it probably registers some movement when I move my fingers away from the touchpad too. I've tried playing with the sensitivity a bit, but it doesn't seem to help. But the random scrolling has now stopped, and two finger scrolling is quite usable. Now I will finally be able to sleep at night
Offline
perost, it's indeed not easy to sleep when you're solving a problem that seems within your range.. Adding the numFingers-thing helped with me too, thanks for the idea!
I also noticed that the FingerLow value had no effect on stopping the scroll motion.. I assume that when calculating the 'amount of scroll', the driver doesn't use this value anymore? (gonna check this)
lonecat, EdgeMotion is the thing that continues moving the pointer when you slide your finger(s) to the edge of the touchpad and hold 'm there. I thought this was part of the problem so I set the Z-values very high so it would never activate. It didn't help.. you can ignore these lines (fyi: http://linux.die.net/man/5/synaptics)
I think you have the same problem as perost (and me btw ) with the clicking, perost's method will work better! (I still think that the higher you set the FingerHigh/Low values, the less jumpy the reactions will be)
Last edited by gondil (2008-08-02 22:31:03)
Offline
I have made a modified (+stripped down) kernel module now. (Only use when you don't have any other ps/2 or serial mouses connected to your pc. My second mouse is an usb-mouse so I don't need any other driver )
http://pieter.kelchtermans.googlepages. … ied.tar.gz
I changed that the module will only send the needed signals (position, pressure, finger-width, finger, double finger, triple finger) when there is actually registered some pressure and of course when hw.x isnt 1 . There is in my opinion no way you need those values when there is no 'touch'!
I can now use the original synaptics package from the repositories without any problems..
PS. To build this, you just have to execute 'make' where you extracted the package. (don't need to be root)
You can try it out by doing 'rmmod psmouse' and 'insmod psmouse.ko'. (as root)
I replaced my original psmouse.ko in /lib/modules/KERNELNAME/kernel/drivers/input/mouse/ now I know it works.
Offline
Ok, sorry to ask (i'm sorta newbie when concerning about kernel modules), does that mean, i don't need, "make install" and what if something goes wrong, i should make a backup of psmouse.ko, just to be sure right? (my lap doesn't even have a ps2 port, so i guess there is no need to worry).
And btw, thanks a lot gondil! you will bring peace to my dreams again (lol), teh force is strong with you.
Offline
lol lonecat
I don't think 'make install' is a good idea here. It's never a bad idea to make a backup first indeed..
Only one thing.. after you insmod'ed the newly built module, you will have to restart Xorg (to re-initialise the xf86-input-synaptics driver) before it really works better
Offline
My laptop broke not the module's fault. It just broke on friday, and i haven't gotten it back from tech service. I'll try the module as soon as i get it back, but whoa, i *almost* installed it on my desktop
Offline
Hey perost or gondil, I am having the same issue with the twofinger scroll continuing to scorll after i take my fingers off the touchpad on my Thinkpad T61p. Where did you go to add that if statement to break out of the while loop? I can't seem to find exactly where you two went to modifty this... Thanks in advance
Edit: AHHhh ... I figured it out. Thank you gondil for your great .ko file, I installed that and noticed a significant change. The 2 finger scroll is working a lot better on my machine, had the same problems as the previous posters.. GREAT WORK!! Keep it up
Last edited by supersako (2008-08-19 00:33:51)
Offline
Just a post to thank you.
I'm using your hack with Ubuntu and it works perfectly ! With horizontal and vertical scrolling
I'm sure your module will be useful for a lot of people. You should post it somewhere so that it won't be lost with the time.
Last edited by SooW (2008-08-24 00:39:23)
Offline