Some infomation about recent Qt5 mouse handling work.

Weng Xuetian wengxt at gmail.com
Wed Nov 8 09:22:53 UTC 2017


On Tuesday, 7 November 2017 05:21:38 PST,Jan-Marek Glogowski wrote:
> 
> Thanks for the info. It'll definitely be handy at some time.
> 
> I found https://doc.qt.io/qt-5/qwheelevent.html#angleDelta, which even
> has a little example and which I kind of copied. The larger problem is
> to understand, what the LO VCL event expects.
> 
Just to point out that the code snippet that you point to is not fully 
correct, because angleDelta may return value less than 8. This is common on 
modern touchpad when you move finger slowly, and that's the root clause why you 
don't feel right when using touchpad.

One way to resolve this is to follow the text above the example:  
"cumulatively adding the delta" and trigger based on a certain value (not 
necessary 120). Still, trigger threshold should be a factor of 120, because 
low-precision mouse wheel will generate 120 per click.

Just take your implementation as an example, since you intent to scroll 3 line 
per click, you may convert it to 40 unit per line so user can get more fine-
grained control if they're using touchpad or high-precision mouse. And keep 
track of the remainder of delta and add it to the delta value for the next qt 
wheel event.

Regards,
Xuetian



More information about the LibreOffice mailing list