AutoHotkey
Входит в Macro DeckХраните скрипты AutoHotkey v2 в Macro Deck, запускайте и останавливайте их кнопкой и позволяйте им читать и задавать переменные.
Вкладка «Скрипты» интеграции AutoHotkey со списком скриптов и одним скриптом, открытым в редакторе
- Пишите, проверяйте и тестируйте скрипты AutoHotkey v2 прямо в Macro Deck
- Запускайте с кнопки скрипты, файлы .ahk или встроенный код
- Запускайте, останавливайте и переключайте скрипты, которые продолжают работать
- Безопасно передавайте значения в виде параметров
- Скрипты могут читать и задавать переменные и показывать уведомления
Интеграция AutoHotkey запускает скрипты AutoHotkey v2 с ваших кнопок и из автоматизаций: отправка клавиш окну в фоне, расстановка окон, горячие клавиши для отдельных приложений и всё остальное, что умеет AutoHotkey. Она доступна только в Windows и выключена, пока вы её не включите. AutoHotkey не входит в Macro Deck: Macro Deck находит установленный вами AutoHotkey v2 или выбранную вами портативную версию. AutoHotkey v1 не поддерживается.
Что можно делать
- Храните скрипты на вкладке Скрипты интеграции, редактируйте их с подсветкой синтаксиса, проверяйте кнопкой Проверить синтаксис и запускайте прямо там. Последний запуск показывает, как прошёл последний запуск: его результат, ошибки с номером строки и вывод скрипта.
- Запускайте скрипт из библиотеки действием Запустить скрипт AutoHotkey, файл
.ahkтам, где он хранится, действием Запустить файл AutoHotkey или код, написанный прямо в действии, действием Выполнить встроенный код AutoHotkey. - Скрипты с горячими клавишами или таймерами можно запускать вместе с Macro Deck, а запускать и останавливать действием Переключить скрипт AutoHotkey. Кнопка показывает Выполняется или Не выполняется.
- Передавайте значения в скрипт как Параметры. Macro Deck никогда не вставляет значения в текст скрипта, поэтому значение не может сломать или изменить ваш код. Скрипт читает их как
MacroDeck.Params["name"]. - Скрипт может отвечать через помощник Macro Deck:
MacroDeck.GetVarиMacroDeck.SetVarчитают и задают переменные,MacroDeck.Notifyпоказывает уведомление, аMacroDeck.SetResultсообщает результат действию. - Запускайте автоматизацию, когда скрипт запускается, завершается или даёт сбой.
Примеры настройки:
- Кнопка Переключить скрипт AutoHotkey для скрипта с вашими игровыми горячими клавишами, с отдельным оформлением для Выполняется и Не выполняется.
- Кнопка, которая запускает скрипт с параметром
volume, равным{{ vars.volume }}, а скрипт вызываетSoundSetVolume MacroDeck.Params["volume"]. - Автоматизация по событию Сбой скрипта AutoHotkey, которая показывает
{{ event.reason }}на кнопке.
Как выполняются скрипты
AutoHotkey никогда не показывает свои диалоги ошибок для скриптов, которые запускает Macro Deck: ошибки загрузки и выполнения появляются в разделе Последний запуск, а действие, ожидающее завершения скрипта, завершается с ошибкой. Остановленному скрипту сначала предлагается закрыться, чтобы выполнилась его процедура OnExit; если он не закроется за время, заданное в поле Время на завершение при остановке, с, он завершается принудительно. Остановка и переключение затрагивают только скрипты, запущенные Macro Deck. Когда Macro Deck завершает работу или вы выключаете интеграцию, он останавливает все запущенные им скрипты AutoHotkey.
При переходе с Macro Deck 2 кнопки плагина AutoHotkey от jbcarreon123, которые запускают скрипты AutoHotkey v2, переносятся на эти действия.
Что понадобится
- Windows.
- AutoHotkey v2, установленный или портативный. В Macro Deck он не входит.
Настройка
Шаг 1: Установите AutoHotkey v2
Скачайте AutoHotkey v2 с autohotkey.com и установите его. Macro Deck найдёт его там, куда его поместил установщик.
Шаг 2: Включите интеграцию
В Macro Deck нажмите Интеграции на боковой панели, выберите AutoHotkey и включите переключатель в правом верхнем углу. Если Macro Deck не может найти AutoHotkey v2, на странице отображается AutoHotkey не найден: установите его и нажмите Проверить снова.
Шаг 3: Проверьте настройки AutoHotkey
На вкладке Обзор нажмите Настроить в разделе Настройка. В диалоге Настройки AutoHotkey показаны используемый AutoHotkey и его версия. Для портативного AutoHotkey выберите в поле Исполняемый файл AutoHotkey вариант Выбрать исполняемый файл и укажите его
AutoHotkey64.exeв поле Исполняемый файл. Нажмите Продолжить.Шаг 4: Напишите скрипт
Откройте вкладку Скрипты и нажмите + рядом с заголовком списка. Введите имя, нажмите Создать скрипт и напишите скрипт в редакторе, например
MsgBox "Hello from Macro Deck". Нажмите Сохранить, а затем Запустить, чтобы попробовать его.Шаг 5: Добавьте действие на кнопку
На странице Панель нажмите на кнопку, которую хотите использовать. Панель должна быть разблокирована: если кнопка в правом верхнем углу называется Заблокировать, панель разблокирована. Откроется редактор, в котором выбран триггер Короткое нажатие. Нажмите + Добавить действие, слева в диалоге Добавить действие выберите AutoHotkey и затем Запустить скрипт AutoHotkey. Выберите свой скрипт в поле Скрипт AutoHotkey и нажмите Сохранить.
Шаг 6: Нажмите кнопку
Нажмите кнопку на панели. Скрипт выполнится, а Последний запуск на вкладке Скрипты покажет, как он прошёл.
Действия7
Назначьте их на кнопку или запускайте из цепочки действий.
- Запустить скрипт AutoHotkey
- Запускает скрипт с вкладки Скрипты с параметрами и может ждать его завершения.
- Запустить файл AutoHotkey
- Запускает файл
.ahkтам, где он хранится на компьютере, с аргументами вA_Argsи параметрами. - Выполнить встроенный код AutoHotkey
- Выполняет код AutoHotkey v2, написанный прямо в действии.
- Остановить скрипт AutoHotkey
- Останавливает скрипт или файл, запущенный Macro Deck: все экземпляры или только последний.
- Перезапустить скрипт AutoHotkey
- Останавливает скрипт или файл и снова запускает его с новыми параметрами либо просто запускает, если он не выполняется.
- Переключить скрипт AutoHotkey
- Запускает скрипт или файл, если Macro Deck его не выполняет, и останавливает, если выполняет. Показывает на кнопке Выполняется или Не выполняется.
- Открыть Window Spy
- Открывает Window Spy из AutoHotkey, чтобы узнать заголовки, классы и элементы управления окон.
Триггеры3
Кнопка или цепочка действий может реагировать на эти события.
- Скрипт AutoHotkey запущен
- Скрипт, запущенный Macro Deck, загрузился и выполняется.
- Скрипт AutoHotkey завершился
- Такой скрипт завершил работу; событие содержит код завершения и время работы.
- Сбой скрипта AutoHotkey
- Скрипт не удалось запустить или загрузить, он сообщил об ошибке или не завершился вовремя.
Переменные4
Показывайте эти значения на кнопках и виджетах или используйте их в условиях.
autohotkey_installed,autohotkey_version- Нашёл ли Macro Deck рабочий AutoHotkey v2, и его версия.
autohotkey_running_scripts- Сколько скриптов AutoHotkey Macro Deck выполняет в данный момент.
autohotkey_last_script,autohotkey_last_exit_code,autohotkey_last_result,autohotkey_last_error- Скрипт, который последним завершился или дал сбой, его код завершения, результат, переданный через
MacroDeck.SetResult, и причина сбоя, если он был. autohotkey_script_<name>_running- Выполняется ли скрипт из библиотеки, по одной переменной на каждый скрипт. Имя не меняется при переименовании скрипта.
Часто задаваемые вопросы
Работает ли это со скриптами AutoHotkey v1?
Нет. Macro Deck поддерживает только AutoHotkey v2, а код, написанный для AutoHotkey v1, в v2 не загружается. Проверить синтаксис на вкладке Скрипты показывает строку первой ошибки.
Как передать значение из Macro Deck в скрипт?
Добавьте его как параметр в действии, например volume со значением {{ vars.volume }}, и прочитайте его в скрипте как MacroDeck.Params["volume"]. Значения всегда приходят как текст, ровно в том виде, в каком введены. Скрипт также может в любой момент прочитать переменную с помощью MacroDeck.GetVar("name").
Почему мой скрипт не отправляет клавиши в игру или программу?
Macro Deck запускает скрипты без прав администратора, а Windows не позволяет им отправлять нажатия клавиш или щелчки в окно программы, запущенной от имени администратора.
Что происходит с моими скриптами, когда Macro Deck закрывается?
Macro Deck останавливает все запущенные им скрипты AutoHotkey, когда завершает работу или когда вы выключаете интеграцию. Включите Запускать вместе с Macro Deck в разделе Настройки скрипта, чтобы он работал всегда, когда работает Macro Deck. Программы, открытые скриптом, остаются открытыми.
Можно ли и дальше использовать мои файлы .ahk?
Да. Запустить файл AutoHotkey запускает файл там, где он хранится, поэтому A_ScriptDir указывает на его папку. Также файл можно импортировать в библиотеку на вкладке Скрипты.
Ещё в группе «Ваш компьютер»
Система
Входит в Macro DeckУправляйте компьютером с панели: приложения, громкость, команды, уведомления, спящий режим и выключение.
Клавиатура
Входит в Macro DeckНажимайте сочетания клавиш, вводите текст и выполняйте последовательности клавиш на компьютере одной кнопкой.
Мышь
Входит в Macro DeckЩёлкайте, перемещайте указатель, перетаскивайте и прокручивайте на компьютере одной кнопкой.
ADB / Android Debug Bridge
Входит в Macro DeckУправляйте телефоном или планшетом Android по USB или Wi-Fi: будите его, запускайте приложения, нажимайте, вводите текст и делайте снимки экрана.
Steam
Входит в Macro DeckЗапускайте и закрывайте игры Steam и показывайте на панели, во что вы играете, своих друзей и библиотеку.