Тема: AHK: Вход в цикл по нажатии заданной в ini клавиши
Добрый день!
Делаю скрипт, который записывает в ini vk-коды нужных клавиш, а затем их считывает и при нажатии на любую из заданных клавиш выполняет что-то.
Чтобы было наглядно и понятно, опубликую весь скрипт - он небольшой:
Items := 3
Global PathIni := A_ScriptDir "\HoldKeys.ini"
/*
Loop
{
Input var, L1, {vkA0}
GoSub start
}
return
*/
start:
Loop % Items {
IniRead HoldKey%A_Index%, % PathIni, HoldKeys, % "HoldKey" A_Index, % A_Space
Loop parse, HoldKey%A_Index%, `n
{
If (A_LoopField = GetAnyKeyVK()) {
GoSub make
Return
}
}
}
F1::
Loop % Items {
Gui Add, Hotkey, % "vHoldKey" A_Index " gWriteIni", % HoldKey%A_Index%
}
Gui Add, Edit, Center ReadOnly vVK wp
Gui Show
Return
make:
MsgBox % "Это ж бубль гум! " GetAnyKeyVK()
GoSub start
Escape::
GuiClose() {
Gui Destroy
}
WriteIni() {
IniWrite % GetAnyKeyVK(), % PathIni, HoldKeys, % A_GuiControl
GuiControl,, VK, % GetAnyKeyVK()
}
GetAnyKeyVK() {
Loop 256
If GetKeyState(Format("vk{:X}", A_Index-1), "P") {
Pkey := GetKeyVK(Format("vk{:X}", A_Index-1))
Return Format("vk{:X}", Pkey)
}
Return 0
}
Вопрос:
Чем заменить этот кусок кода (планировался как стартер, но он блокирует нажатие других клавиш):
Loop
{
Input var, L1, {vkA0}
GoSub start
}
return
чтобы запустить цикл ниже.
Нужно, чтобы скрипт постоянно мониторил нажатия заданных в ini клавиш (желательно без SetTimer) и входил в цикл start, ну или что-то подобное.
В крайнем случае можно стартовать и с любой нажатой клавиши (не с какой-то одной, а именно "Press any key").
Буду признателен за любую помощь!