[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [RFC][Patch] Cirumvent appletouch fuzziness



Hi,

On 5/2/06, Stelian Pop <stelian@popies.net> wrote:
Le mardi 02 mai 2006 à 18:52 +0200, Sven Henkel a écrit :
> Hi!
>
> I frequently experience problems with the "fuzziness" of the touchpad
> in my iBook, using the appletouch driver. From time to time the
> pointer jumps around and clicks randomly and the touchpad becomes
> unusable. The only way out is to reload the appletouch module.
>
> Digging around in the appletouch sources, the problems seems to be
> that the accumulated xy values increase over time (due to temperature
> changes, sweat, or whatever reason ;-) ), eventually become bigger
> than ATP_THRESHOLD and start to influence the pointer position.

Hmm, xy_acc should be reset to 0 each time you stop touching the pad.
You do raise your finger from the pad once in a while, don't you ? :)

Heh, yes :) But that's exactly my problem: xy_acc _should_ be all
zeros when there's no finger on the touchpad, but from time to time
some entries in it grow to values >0, and even >ATP_THRESHOLD. So,
when I use the touchpad in such a failure scenario, it looks to the
appletouch driver as if I had two fingers on the touchpad (one caused
by me, the other one by the failures in xy_acc). Hence moving the
pointer becomes quite ugly and taps result in the wrong mouse-buttons.

> Now, two main solution ideas come into my mind:
>
> 1) Increase ATP_THRESHOLD. This turns out to be a bad idea, as it
> mainly just delays the effect and moreover badly affects fine
> pointer-movements.
>
> 2) Counteract the slow growth of xy_acc. See appended patch for an
> implementation of this idea. The values of xy_acc are slowly decreased
> if they are under a certain threshold. To avoid decreasing "real"
> values in xy_acc (i.e. values which are actually the result of a
> finger on the touchpad, and not some fuzziness problem) big values
> (which are more likely caused by some finger) are decreased slowly,
> small values (which more probably result from fuzziness) are decreased
> a bit faster.
>
> So, some questions for you guys: I have never read a report on this
> fuzziness problem. Am I the only one experiencing it? If yes, forget
> about my patch, as I'd probably be the only happy user of it. ;)

Do you use the synaptics X driver ?

Yes.

I think most of the appletouch users
(including me) use it exclusively through the synaptics driver, which
applies extra algorithms for fuzz and acceleration detection. Maybe you
don't, and this could be a part of the explanation.

Well, unfortunately not. I suspect that I'm the proud owner of an
extremly sensitive touchpad. Note that I'm seeing the very same
problem under MacOS from time to time: Eventually moving the pointer
becomes impossible, but the MacOS driver usually recovers after a few
seconds. Imho, the linux appletouch driver is currently missing such a
recovery mechanism.

Cheers,
Sven



Reply to: