There are several ways to zoom, and several OS-specific scrolling settings that can be set. There is “natural scrolling” where it is more like pushing the page up/down (makes more sense on a trackpad) which is default on Mac, versus “reverse scrolling” which tells the OS which direction to go. In addition, sometimes a system may have different options for a touchpad vs. mouse.
Here is what I would expect when using a mouse with a wheel or two-finger (or edge) scrolling on a touchpad/trackpad:
- Push wheel up/move fingers on touchpad up = zoom out (pushing objects “farther” away)
- Push wheel down/move fingers on touchpad down = zoom in (bringing objects “closer”)
- Push wheel up/move fingers on touchpad up = zoom in
- Push wheel down/move fingers on touchpad down = zoom out
In addition, touchpads that support pinch-to-zoom (e.g. Macbooks) should always have that option, since I don’t think the reverse pinch behavior is used much.
Is this what most users would expect? Or should any of these options be changed? One possibility would be to add an Avogadro-specific setting to reverse direction of scrolling, which would make it up to the user to decide what feels right to them.
There could be ways to implement this on an OS-specific basis, with
#ifdef conditionals. On Linux, for instance, the Qt property
.inverted() is always false, so we cannot assume that that property is set properly.