Могу ли я изменить клавиши ввода (GetKeyState) и вывода (Send,) на основе пользовательского ввода (предпочтительно InputBox)?

Я хочу сделать скрипт, который будет временно создавать кнопку Turbo, с вводом / выводом, настраиваемым для каждого запуска. В идеале что-то вроде

InputBox, TriggerKey, Input Trigger Here    ; Custom turbo trigger
InputBox, TurboKey, Input Turbo Button Here ; and custom turbo key
while NOT GetKeyState("F12", "P") { ; Just so the loop would close if you ran this
  while GetKeyState(%TriggerKey%, "P") { ; when the inputted trigger is held...
    Send, %TurboKey%                     ; rapid-fire the inputted turbo
    Sleep 50
  }
}

Приведенный выше код не сработал, и я не уверен, является ли это проблемой форматирования GetKeyState/InputBox, проблемой пользовательского ввода (я не вставлял правильные строки), или я просто не могу сделать индивидуальный турбо как это.

Самая последняя идея, которая у меня была для этого, состояла в том, чтобы просто написать и запустить другой файл.ahk с введенными ключами, но если это возможно без необходимости управлять несколькими файлами, это было бы здорово.

1 ответ

Решение

Это было бы лучше сделать с Hotkey команда. Таким образом, все, что вводится в поле ввода как TriggerKey будет запускать любой код под меткой.

InputBox, TriggerKey, Input Trigger Here    ; Custom turbo trigger
InputBox, TurboKey, Input Turbo Button Here ; and custom turbo key

Hotkey, % TriggerKey, TriggerKey
Return

TriggerKey:
    While ! GetKeyState("F12", "P") 
    {
        Send, %TurboKey%
        Sleep 50
    }
Return
Другие вопросы по тегам