Expected zoom direction when scrolling

I have raised a Github issue about this (and a possible pull request), but we were wanting some community feedback about usage and improvements.

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:

Natural scrolling

  • 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”)

Reverse scrolling

  • 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.

1 Like

I asked for the thread, because at least on my MacBook, the current code “feels right” and what’s described here is the opposite.

But it’s possible to either have an option / preference - or that it’s wrong on Windows or Linux.

Thoughts? Concerns? How does zooming “feel” at the moment?