Smooth scrolling - results!
Max Schwarz
Max at x-quadraht.de
Sat Jun 12 09:03:24 PDT 2010
Hi Simon,
> You'll have to rebase them against git master to get into mainline. Why
> didn't you use git master to start with?
That's because I like to work with the versions I have installed. Otherwise I
would need to compile the whole Xorg stack, this way I can just change one
component at a time...
Well, that was my decision, I will do the rebase some time this week.
> Cool - but I'm not sue you'll get what you like. The acceleration is not
> overly noise-resistant, though that may be made better.
>
> The closes equivalent to your description would be an acceleration
> profile which simply is zero below some threshold. But for handling
> noise, you'll have to do some extra checks.
>
> From your description, the following might work: You feed all wheel data
> into an accel context (i.e. call ProcessVelocityData2D), as well as
> keeping a sum yourself.
>
> If PVD2D returns true, reset your sum to 0 and don't emit anything.
> If PVD2D returns false AND abs(sum) > your_threshold (say 1 or 2), you
> start emitting scrolling events until PVD2D gives you true again.
>
> True means a lot of time has passed since the last call, by default 200 ms.
Thanks for the pointers. Do you think it would be better to implement this in
the input drivers or in the server itself?
I'll experiment with cutting the events below a certain threshold to
reduce/block the noise.
Max
More information about the xorg-devel
mailing list