On Wed, Oct 03, 2012 at 07:17:08PM +0200, Sascha Hlusiak wrote: > Hi Peter, > > I'd like to implement smooth scrolling in the joystick input module. By > calling > > SetScrollValuator(pDevice, 2, SCROLL_TYPE_VERTICAL, 100, 0); > > I can set the scroll resolution of the valuator 2 to 100. As far as I > understand, I now can send valuator movement that XI2 applications already > can use for smooth scrolling.
correct. > In the case for legacy button scroll events, the server keeps track of the > accumulated scroll delta and after reaching 100, will generate a XI1/legacy > scroll button down/up sequence. Is there a way to reset that server internal > delta to 0 after scrolling stops? It seems that smooth scrolling might leave > that value at 99, which makes it impossible for me to predict when the next > legacy button scroll event will happen. no, not really. this is a missing API but I do wonder how useful this API would be. The scroll resolution is supposed to represent one unit of scrolling, so it should be hard to repeatedly accumulate 99 - that would just mean the resolution is too high, wouldn't it? > In the case of the joystick module, where deflecting the axis generates a > whole scroll unit, followed by smooth scrolling, this results in sometimes > two units from the start. I'm not sure what you mean by "Followed by smooth scrolling". Once you enable smooth scrolling, you don't send button 4/5 presses anymore, only the valuator events. the rest is handled in the server. are you still setting button events as well? > Did I miss something in the API? > > Is there any bigger application out there that uses smooth scrolling right > now? AFAIK, no major browser does. I think GTK 3.6 has it implemented already, though for driver testing I do recommend xinput to make sure the events arrive as-is. Cheers, Peter _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
