Smooth scrolling

Max Schwarz Max at x-quadraht.de
Wed Apr 7 17:17:19 PDT 2010


Am Donnerstag 08 April 2010 01:42:00 schrieben Sie:
> for evdev, just applying some velocity calculation and adjusting the number
> of clicks accordingly may be helpful already. Right now, if you scroll 1,
> 1, 1, 1 that looks the same to the client as if you scroll 2, 2. Arguably,
> the latter one is faster and should result in more scrolling.
Well for me the goal of the project is to provide pixel-wise scrolling, which 
just can't be done using the old click events. What you mean is something like 
scroll wheel acceleration, but that's a feature that can come later.
The firefox smooth-scrolling feature already does some "velocity calculation", 
but it only has the low-resolution button events as an input, which is a shame 
as the driver may have higher resolution data.

> for now, rather than worrying about the mapping I'd try out how far you can
> get with this approach alone and look at the results. for evdev, the code
> is in EvdevProcessRelativeMotionEvent().
I already changed evdev to report raw scroll wheel valuator data again (it was 
masked out), set the resolution field of the valuator and extended the scroll 
wheel emulation code to write into the valuator. I just need to detect the 
valuator on the client side and do something with the higher-resolution data.
But as my workload is quite high at the moment that will have to wait for a 
week or two :-)

Max


More information about the xorg-devel mailing list