Smooth scrolling - results!
Max Schwarz
Max at x-quadraht.de
Fri Jun 11 15:33:47 PDT 2010
Hi,
results!
I'm finally content with how the code looks and feels :-)
Comparison:
before: http://c-palb.de/~max/before.ogg
after: http://c-palb.de/~max/after.ogg
The videos don't do the change justice, it feels _much_ more natural.
I had to patch the respective input drivers, the server itself (to support
non-integrating axes) and Qt4. The patches can be found in my github
repository (http://github.com/x-quadraht/pscroll). They apply against the
stable Ubuntu Lucid versions of the packages.
I've set up a small ppa with binary packages (https://launchpad.net/~max-x-
quadraht/+archive/pscroll) but it's not up to date yet (building Qt4 on the
launchpad build farm takes _ages_).
The thing I would like to work on now is filtering of the valuator events.
As you may notice in the "after" video, the touchpad even picks up some small
wiggles of my finger when I try to hold the position.
I imagine the "acceleration contexts" Simon mentioned, with a non-linear
curve, will help to surpress these twitches. I want to avoid to set a hard
minimum amount of scrolling.
I will look into "wheel acceleration" next...
As I have already mentioned, the change in GTK seems much more complicated
than in Qt4. Qt has a really nice cross-platform "QScrollEvent" which has a
delta field with defined units. All GTK (GDK really) has to offer is
"GdkScrollEvent" which is a counter of how many scroll button presses to
scroll :-(
Max
More information about the xorg-devel
mailing list