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