Hmm my earlier reply wasn’t so clear and somewhat misleading.
The zoom-in/out feature is working correctly if implemented as said earlier:
#define PRESS(X) handleKeyswitchEvent(X, Macros.row, Macros.col, keyState)
but in the case of the macro:
return MACRODOWN(D(LeftControl), T(mouseScrollUp), U(LeftControl));
… the extra unmodified scroll event is indeed sent. This in confirmed by observing that a zoom in/out pair implemented as a macro doesn’t restore the original state, whereas it should, and indeed does so in the case of the
This is obviously because the extra scrolling when zoomed out does not counteract the extra scrolling when zoomed in as it is opposite in direction but not equal in magnitude.
Likewise the Shift + Wheel Up/Down for wheel left/right also doesn’t generate the extra scrolling when implemented by
handleKeyswitchEvent and correctly scrolls left/right only.