Depois de mexer por um bom tempo, eu criei esse script que funciona razoavelmente bem. Segurar CapsLock entra no modo "roda do mouse". Também é possível manter o CapsLock + Ctrl para obter um comportamento alternativo (como o zoom), dependendo do aplicativo. O script precisa redefinir constantemente a posição do mouse para mantê-lo na tela, para que ele esconda o cursor durante a duração do modo (pegue o script de ocultação do cursor também.
CoordMode, Mouse, Screen
*CapsLock::
MouseGetPos, xposinit, yposinit
xposlast := xposinit
yposlast := yposinit
SystemCursor("Off")
SetTimer, ButtonHold, 10
KeyWait, CapsLock
SetTimer, ButtonHold, off
MouseMove, xposinit, yposinit, 0
SystemCursor("On")
Return
ButtonHold:
MouseGetPos, xpos, ypos
if (ypos > yposlast) {
MouseClick, WheelDown
} else if (ypos < yposlast) {
MouseClick, WheelUp
}
MouseMove, xposlast, yposlast, 0