<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body>
<p>
<div>
<b><a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - Wobbly AlpsPS/2 ALPS DualPoint TouchPad"
href="https://bugs.freedesktop.org/show_bug.cgi?id=104828#c18">Comment # 18</a>
on <a class="bz_bug_link
bz_status_ASSIGNED "
title="ASSIGNED - Wobbly AlpsPS/2 ALPS DualPoint TouchPad"
href="https://bugs.freedesktop.org/show_bug.cgi?id=104828">bug 104828</a>
from <span class="vcard"><a class="email" href="mailto:Hi-Angel@yandex.ru" title="Hi-Angel <Hi-Angel@yandex.ru>"> <span class="fn">Hi-Angel</span></a>
</span></b>
<pre>(In reply to Peter Hutterer from <a href="show_bug.cgi?id=104828#c17">comment #17</a>)
<span class="quote">> the algorighm is *really* simple right now - it sets a timer on the last
> motion event. If the timer expires without further motion events (and no
> finger up) we assume that there isn't any wobble. We don't even look at the
> motion events themselves.
>
> For small wobbles setting the fuzz on the axis would be sufficient (kernel
> takes care of that), but that also depends on the distance of the events. I
> haven't found the time to analyse this yet, stuck with other things.</span >
I've looked at hysteresis algo (i.e. evdev_hysteresis function) — I like how
it's being so simple and CPU-nonintensive and yet so efficient.
I think it's better to write a separate function specifically to check the
presence of wobbling, but I admit the solution is unclear. I just wanted to
document some points I found before going to sleep.
1. The wobbling detection in abstract vacuum is indeed easy: after a finger is
down for 100ms, record all movement along X axis, then divide sum of movement
to the left by sum of movement to the right. If the absolute value
less-than-or-equal to 2, it wobbles.
2. This function should only be used when the finger is still, because per my
experiments making a straight line with such a touchpad shows no sign of
wobbling. Detecting a still finger, given a random touchpad can filter out the
wobbling or not, is a question.
3. Before deciding to disable hysteresis (because the function didn't detect
wobbling), this function should be run multiple times. Otherwise it's possible
that upon running the check there was the frame loss which this bug is all
about, thus the function would misdetect like there's no wobbling. And it can
happen again and again. Then, how much should the check be ran to be sure
hysteresis can be safely disabled.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>