Summary: Fix scrolling behavior for main canvas to support enhanced wheels and trackpads
Currently the canvas scrolling relies on Windows Forms scrollbars and their limited support for mouse wheels and some laptop trackpads. Several "hacks" are in place to allow for things like horizontal scrolling when pressing Ctrl to mimic Photoshop's scrolling behavior.
The proposed enhancement is to read raw scrolling messages sent by wheel mice and laptop trackpads, including horizontal scrolling messages, then translate these accordingly into canvas movements. Also make use of the wheel delta to allow for smaller movements on smooth wheels such as those found on Logitech mice.
Steps to Reproduce
Partially working as of 3.1.0 and a few more bugs worked out in 3.1.1.
Biggest challenge at this point is working around overzealous drivers (like Logitech) which refuse to send the correct WM_MOUSEWHEEL and WM_MOUSEHWHEEL messages. If they see scrollbars, they actually grab the scrollbar and don't forward the wheel message at all.
Additionally, Logitech's "smooth scrolling" driver (both old and new versions) sends 120 deltas every time to all .NET apps for some reason. Doesn't seem to be much documentation about this. I can't do anything about this but I know it's possible in theory since Chrome and MS Office (among others) successfully receive the partial delta scroll messages.
|1/24/2014 01:22 PM CST||1821 days|
|Reported Version||Operating System||Architecture||Fixed Version|