Тема: AHK: Действия по многократному нажатию или удержанию одной клавиши
Всем доброго времени!
Хотелось бы повесить выполнение различных команд на одной клавише, которые будут выполняются по многократному нажатию клавиши или ее удержанию.
По-отдельности куски кода работают нормально:
#NumpadAdd::
; Действие по удержанию клавиши
Keywait NumpadAdd, T0.2
If (ErrorLevel) {
WinMove A,,,, ScreenWidth/1.6, ScreenHeight/1.05
Return
}
Но при совмещении двух кусков кода второй иногда работает не так, как должно:
WinGetPos,,,, TaskBarHeight, ahk_class Shell_TrayWnd
ScreenHeight := A_ScreenHeight-TaskBarHeight+7
ScreenWidth := A_ScreenWidth
#NumpadAdd::
; Действие по удержанию клавиши
Keywait NumpadAdd, T0.2
If (ErrorLevel) {
WinMove A,,,, ScreenWidth/1.6, ScreenHeight/1.05
Return
}
; Многократное нажатие
Counter++
If (Counter = 1) {
SetTimer Action, 777
}
Return
Action:
If (Counter = 1) {
WinMove A,,,, ScreenWidth/1.1, ScreenHeight/1.1
}
Else If (Counter = 2) {
WinMove A,,,, ScreenWidth/1.2, ScreenHeight/1.2
}
Else If (Counter = 3) {
WinMove A,,,, ScreenWidth/1.4, ScreenHeight/1.4
}
Counter := 0
Return
Что я делаю не так?