Как использовать AutoKey для автоматизации игр под Linux

AutoKey — это служебная программа для автоматизации рабочего стола для Linux и X11, запрограммированная на Python 3, GTK и Qt. Используя его функции сценариев и MACRO, вы можете автоматизировать нажатия клавиш, щелчки мыши и большинство частей интерфейса рабочего стола. Если вы ищете альтернативу программе Windows AutoHotkey, AutoKey — лучший вариант, доступный сегодня для пользователей Linux.

Обратите внимание, что это только приложение X11, поддержка Wayland не была добавлена ​​в приложение в то время написания этой статьи.

Некоторые из функций AutoKey:

  • Поддерживает сокращения, которые могут автоматически заменять несколько символов на любой из часто используемых предложения и текстовые блоки.
  • Поддерживает отправку произвольных нажатий клавиш и щелчков мыши.
  • Поддерживает определение правил для конкретного окна приложения.
  • Python Для написания правил автоматизации можно использовать 3 сценария.
  • Возможность управлять функциями окна, такими как максимизация, изменение размера и перемещение.
  • Поставляется с набором предварительно настроенных примеров для упрощения написания сценариев. .
  • Возможность показывать пользовательские всплывающие меню со списком вариантов.
  • Возможность записывать нажатия клавиш и щелчки мыши.
  • Возможность установить горячие клавиши без клавиш-модификаторов. i>
  • Сценарии автоматизации переносимы, и ими можно легко поделиться с другими пользователями.

Это руководство покажет вам несколько примеров AutoKey, которые полезны для геймеров Linux. Для начала давайте установим пакеты Autokey Ubuntu со страницы GitHub. Загрузите отсюда указанные ниже файлы

  • autokey-common_x.xx.x-x_all.deb
  • autokey-gtk_x.xx.x-x_all .deb или autokey-qt_x.xx.x-x_all.deb (загрузить только один)

После загрузки файлов выполните следующие команды по порядку:

$ sudo apt install ./autokey-common_0.95.8-0_all.deb
$ sudo apt install ./autokey-gtk_0.95.8-0_all.deb

Обычно во многих играх для ПК используется клавиша для быстрого сохранения и для быстрой загрузки. Однако во многих других играх для ПК, особенно в консольных портах, есть утомительный способ сохранения игры, когда вам нужно перемещаться по нескольким параметрам меню. Вот небольшой набросок, который я нарисовал, который иллюстрирует это (извините за мои навыки рисования):

Игра хочет, чтобы вы нажали клавишу , чтобы приостановить игру, затем клавишу со стрелкой , затем клавишу , чтобы сохранить игру, а затем снова клавишу , чтобы вернуться в игра. Весь этот процесс можно легко автоматизировать и привязать к клавише с помощью AutoKey. Посмотрите на приведенный ниже код скрипта:

время импорта
keyboard.send_key (»)
time.sleep (0.25)
keyboard.send_key (»)
time.sleep (0.25)
keyboard.send_key (»)
time.sleep (0.25 )
клавиатура. send_key (»)

Чтобы добавить этот скрипт в AutoKey, запустите приложение и затем щелкните видимую папку или щелкните созданную вами настраиваемую папку, чтобы выделить ее . Щелкните пункт меню File> New> Script , чтобы создать новый сценарий внутри этой папки, как показано на снимке экрана ниже:

Переименуйте этот скрипт на «Quicksave» и поместите в него приведенный выше код. Затем нажмите кнопку «Hotkey» внизу, как показано на скриншоте ниже:

На следующем экране нажмите кнопку «Нажмите, чтобы установить», а затем нажмите кнопку , чтобы сопоставить его со сценарием.

« Ключ: (Нет) »изменится на« Ключ: ».

Нажмите «ОК» и нажмите , чтобы сохранить сценарий. Всегда не забывайте сохранять сценарий, иначе ничего не будет выполняться, когда вы нажмете назначенную горячую клавишу.

Теперь быстрое сохранение раскладки клавиш готово к использованию. В следующий раз, когда вы нажмете клавишу , серия нажатий будет выполнена по порядку.

Обратите внимание, что мы изменили функциональность клавиши глобально во всей ОС, пока AutoKey запущен и закреплен на панели задач. Чтобы ограничить его конкретным окном или приложением, вам нужно будет указать правила окна, нажав кнопку «Фильтр окон» внизу.

Вы можете использовать тот же сценарий выше, чтобы создать сценарий для быстрой загрузки. Вам просто нужно удалить строку для клавиши со стрелкой , а затем сопоставить скрипт с клавишей .

Если вы ищете правильные имена клавиш для использования в скриптах AutoKey Python 3, список всех специальных кодов клавиш, используемых в AutoKey, можно найти здесь. Любой ключ, не упомянутый на странице выше, может быть вставлен в одинарные или двойные кавычки. Пример: keyboard.send_key (‘5’), keyboard.send_key (‘p’) и т. Д.

Пример 2: выпить два зелья здоровья в Строка в ролевой игре

Предположим, что горячая клавиша для питья зелья здоровья в вашей игре — , сценарий будет выглядеть следующим образом:

keyboard.send_key (‘h’, repeat = 2)

Значение переменной repeat также можно изменить на любое другое число. Вы можете выполнить шаги, описанные в первом примере, чтобы сопоставить сценарий с желаемой горячей клавишей.

Пример 3: режим серийной съемки для оружия в игре-шутере

Используя приведенный ниже код, вы можете сопоставить , чтобы выстрелить трижды подряд. Первоначальный способ стрелять в игре — нажать один раз левой кнопкой мыши.

# кнопки мыши: left = 1, middle = 2, right = 3
mouse.click_relative_self (0, 0, 1)
mouse.click_relative_self (0, 0, 1)
мышь. click_relative_self (0, 0, 1)

Приведенный выше скрипт выполнит щелчок левой кнопкой мыши три раза подряд. Дополнительные операторы могут быть добавлены, если вы хотите выполнить щелчок левой кнопкой мыши более трех раз.

Вы можете выполнить шаги в первом примере, чтобы сопоставить сценарий с горячей клавишей.

Пример 4. Создание настраиваемого игрового меню/превращение игры в реальном времени в пошаговую

Используя функцию меню списка AutoKey, мы покажем меню в виде наложения поверх запущенной игры. Это меню украдет фокус у игры и вернет его после щелчка мышью по одному из пунктов меню. После возврата фокуса будет выполнено автоматическое нажатие клавиши, вызывающее функцию внутри игры.

Взгляните на это изображение:

В папке «GameMenu» я создал подпапку «Показать». У папок «GameMenu» и «Show» есть дочерние элементы. Вот код, который я поместил в каждый дочерний элемент:

  • Inventory: keyboard.send_key (‘i’)
  • Map: keyboard.send_key (‘m’)
  • Вернуться к игре: keyboard.send_key (»)
  • Переключиться на штурмовую винтовку: keyboard.send_key (‘2’ )
  • Переключиться на SMG: keyboard.send_key (‘1’)

Здесь папка «GameMenu» сопоставлена ​​с клавишей и вот как это выглядит внутри запущенной игры:

Перед меткой каждого пункта меню стоит номер. Вы можете вызвать любой пункт меню, нажав соответствующую цифровую клавишу на клавиатуре. Например, нажатие здесь клавиши переключит пистолет на штурмовую винтовку.

Небольшая демонстрация этого примера в формате GIF (щелкните изображение или щелкните правой кнопкой мыши и откройте GIF в новой вкладке, если анимация останавливается ниже):

Этот метод может не работать с все игры, в зависимости от того, как они обрабатывают оконный и полноэкранный рендеринг. Некоторые игры не останавливаются, когда теряется фокус, в то время как другие делают. Если игра приостанавливается при потере фокуса, значит, вы, по сути, преобразовали игру в реальном времени в пошаговую с помощью этого скрипта AutoKey.

Этот пример будет работать с играми от случая к случаю. Однако в моем тестировании я достиг довольно хороших результатов как с родными играми, так и с играми Steam Proton/Wine.

Заключение

Все примеры, упомянутые здесь, являются базовыми, в основном ориентированными на геймеров Linux. Они охватывают только часть мощного API AutoKey. AutoKey может автоматизировать большую часть вашего рабочего процесса, используя функции создания сценариев для повседневного или сложного программного обеспечения. Еще несколько примеров доступны в официальной документации приложения.

Оцените статью
nanomode.ru
Добавить комментарий