Как да използвате AutoKey за автоматизиране на Linux игри

How Use Autokey Automate Linux Games



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

Имайте предвид, че това е само приложение X11, поддръжката на Wayland не е добавена към приложението по време на писането на тази статия.







Някои от функциите на AutoKey са:



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

Това ръководство ще ви покаже някои примери за 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подходящИнсталирай./autokey-common_0.95.8-0_all.deb
$sudoподходящИнсталирай./autokey-gtk_0.95.8-0_all.deb

Обичайно е да виждате много компютърни игри, използващи ключ за бързо запазване и за бързо зареждане. Въпреки това, много други компютърни игри, особено конзолните портове, имат досаден начин да запазите играта, където трябва да се придвижвате през множество опции в менюто. Ето един бърз макет, който нарисувах, който илюстрира това (извинете уменията ми за рисуване):



Играта иска да натиснете клавиша, за да поставите играта на пауза, след това клавиша със стрелка, след това клавиша за запазване на играта, последван от клавиша отново, за да се върнете в играта. Целият този процес може лесно да се автоматизира и да се картографира до ключ с помощта на AutoKey. Вижте кода на скрипта по -долу:

вносвреме
keyboard.send_key('')
време.спане(0,25)
keyboard.send_key('')
време.спане(0,25)
keyboard.send_key('')
време.спане(0,25)
keyboard.send_key('')

За да добавите този скрипт към AutoKey, стартирайте приложението и след това щракнете върху видима папка или щракнете върху потребителска папка, създадена от вас, за да я маркирате. Кликнете върху Файл> Ново> Скрипт опция от менюто, за да създадете нов скрипт в тази папка, както е показано на екрана по -долу:

Преименувайте този скрипт на Quicksave и поставете горния код вътре в него. След това щракнете върху бутона Hotkey в долната част, както е показано на екрана по -долу:

На следващия екран щракнете върху бутона Натиснете, за да зададете и след това натиснете клавиша, за да го свържете със скрипта.

Ключ:(Нито един)ще се промени на Key:<f5>.

Щракнете върху OK и натиснете, за да запазите скрипта. Винаги не забравяйте да запишете скрипта, в противен случай нищо няма да се изпълни, когато натиснете картографираната клавишна комбинация.

Съставянето на клавиши Quicksave вече е готово за използване. Следващия път, когато натиснете клавиш, серия от натискания на клавиши ще бъдат изпълнени в ред.

Обърнете внимание, че сме променили функционалността на ключа в световен мащаб в цялата операционна система, стига AutoKey да работи и да е закачен в системната област. За да го ограничите до определен прозорец или приложение, ще трябва да посочите правилата на прозореца, като щракнете върху бутона Прозорен филтър в долната част.

Можете да използвате същия скрипт по -горе, за да създадете и скрипт за бързо зареждане. Просто трябва да премахнете реда за клавиша със стрелка и след това да съпоставите скрипта с ключ.

Ако търсите правилни имена на ключове, които да използвате в скриптове на AutoKey Python 3, може да се намери списък на всички специални кодове на ключове, използваеми в AutoKey тук . Всеки ключ, който не е споменат на страницата по -горе, може да бъде вмъкнат с единични или двойни кавички. Пример: keyboard.send_key (‘5’), keyboard.send_key (‘p’) и т.н.

Пример 2: Изпийте две здравословни отвари на ред в ролева игра

Ако приемем, че клавишната комбинация за пиене на отвара за здраве във вашата игра е, скриптът ще бъде:

keyboard.send_key('h',повторете=2)

Стойността на повтарящата се променлива може да бъде променена и на всяко друго число. Можете да следвате стъпките в първия пример, за да съпоставите скрипта с желаната от вас клавишна комбинация.

Пример 3: Режим на взрив за пистолет в стрелба игра

Използвайки кода по -долу, можете да картографирате ключ, за да стреляте с пистолет три пъти подред. Оригиналният начин да стреляте в играта е да натиснете веднъж с левия бутон на мишката.

# бутони на мишката: ляво = 1, средно = 2, дясно = 3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

Горният скрипт ще изпълни левия бутон на мишката три пъти подред. Допълнителни изявления могат да бъдат добавени, ако искате да изпълните левия бутон повече от три пъти.

Можете да следвате стъпките в първия пример, за да съпоставите скрипта с клавишна комбинация.

Пример 4: Създайте персонализирано меню за игри / Превърнете играта в реално време в игра на поредица

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

Разгледайте тази снимка:

В папката GameMenu създадох подпапка, наречена Show. И папката GameMenu, и Show имат дъщерни елементи. Ето кода, който поставих във всеки дъщерен елемент:

  • Инвентар: keyboard.send_key (‘i’)
  • Карта: 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 може да автоматизира голяма част от вашия работен поток, като използва своите скриптови функции и за ежедневието или за сложен софтуер. Още няколко примера са налични в официална документация на приложението.