Убрал лямбду. Иначе во время прокрутки случаются ненужные клики по подвернувшимся объектам.
Клавиши для отправки заменил на колесо.
Ввёл меняющийся шаг.
oSleep := [100,50,20,10,0], I := 0
#If IsMice2
WheelUp::
WheelDown::
HD := A_ThisHotkey = "WheelUp" ? "WheelUp" : "WheelDown"
If (I && HD != D) {
D := HD, I := 0
SetTimer, UpDown, Off
Return
}
D := HD, I := I = oSleep.MaxIndex() ? I : I + 1
;ToolTip,% "5 " oSleep[i] " " D
ToolTip,
SetTimer, UpDown, % "-" oSleep[i]
Return
UpDown:
;ToolTip,% "5 " oSleep[i] " " D
ToolTip, ========================================================================================
SendInput {%D% %I%}
SetTimer, UpDown, % "-" oSleep[i]
;ToolTip
Return
#If
#If I && !(I := 0)
LButton::
I := 0
SetTimer, UpDown, Off
ToolTip,
Return
#If
Хорошо получилось. Раз остановка только на ЛКМ, пока не решил как, и надо ли, сделать так, чтобы и любое встречное движение колеса останавливало прокрутку. Иногда трудно поймать именно 1 щелчок и начинается обратная прокрутка, которую опять надо ловить.