Smooth scrolling again

Simon Thum simon.thum at gmx.de
Sun Nov 7 10:12:01 PST 2010


On 11/07/10 14:56, Max Schwarz wrote:
> Hi,
> 
> I finally found some time for smooth scrolling.
Great news, thanks for your efforts!
> I've got rebased patches against git versions for
> xserver, xf86-input-evdev, xf86-input-synaptics
> in my github repo at https://github.com/x-quadraht/pscroll.
> 
> Would you mind checking them and telling me what needs to be done to get them 
> merged?
IMO they're mostly fine, except for some whitespace changes. A thing I'm
missing is how you're establishing the relationship of smooth and button
scrolling? It might just be me since I'm only looking at the diffs.

A minor objection is that the evdev wheel resolution is not
axis-dependent. This may (or may not) be a problem. Also minor: axes
seem to gain a mode (rel/abs), maybe we can make that
(rel/abs/non-integrating rel)?

> 
> Another question: The output from the synaptics driver fluctuates quite a bit 
> when one tries to stay at the current scrolling position. Do you think 
> filtering would need to be implemented in the synaptics driver or globally in 
> the server?
Personally I think that noise isn't a synaptics-only problem, so if you
can come up with sensible helper functions which can be shared among
drivers this would fit nicely. Something like:

int rel_hysteresis(int old, int window_size, int current) {
 if (current > old + window_size)
    return current - old + window_size;
 if (current < old - window_size)
    return current - old - window_size;
 return 0;
}

may be of use for more than one driver - likely it already exists
somewhere. But OTOH the Server isn't a library for drivers, so it may be
better to keep in synaptics. In any case, make sure people can tune
these settings.

Cheers,

Simon


More information about the xorg-devel mailing list