Jogos

Como usar o AutoKey para automatizar jogos Linux

Como usar o AutoKey para automatizar jogos Linux
AutoKey é um utilitário de automação de desktop para Linux e X11, programado em Python 3, GTK e Qt. Usando sua funcionalidade de script e MACRO, você pode automatizar pressionamentos de teclas, cliques do mouse e a maioria das partes de uma interface de desktop. Se você está procurando uma alternativa para o programa AutoHotkey do Windows, AutoKey é a melhor opção disponível hoje para usuários Linux.

Observe que este é um aplicativo X11 apenas, o suporte a Wayland não foi adicionado ao aplicativo no momento em que este artigo foi escrito.

Alguns dos recursos do AutoKey são:

Este guia irá mostrar alguns exemplos de AutoKey que são úteis para jogadores de Linux. Para começar, vamos instalar os pacotes do Autokey Ubuntu a partir de sua página GitHub. Baixe os arquivos mencionados abaixo aqui

Depois de baixar os arquivos, execute os seguintes comandos na ordem:

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

Exemplo 1: configuração Chave para salvar jogo automático

É comum ver muitos jogos de PC usando chave para salvar rapidamente e para carregamento rápido. No entanto, muitos outros jogos de PC, especialmente as portas de console, têm uma maneira entediante de salvar o jogo em que você precisa navegar por várias opções de menu. Aqui está uma maquete rápida que desenhei que ilustra isso (desculpe minhas habilidades de desenho):

O jogo quer que você acerte chave para pausar o jogo, então tecla de seta, então chave para salvar o jogo, seguida por tecla novamente para voltar ao jogo. Todo esse processo pode ser facilmente automatizado e mapeado para chave usando AutoKey. Confira o código do script abaixo:

tempo de importação
teclado.send_key ('')
Tempo.dormir (0.25)
teclado.send_key ('')
Tempo.dormir (0.25)
teclado.send_key ('')
Tempo.dormir (0.25)
teclado.send_key ('')

Para adicionar este script ao AutoKey, inicie o aplicativo e clique em uma pasta visível ou clique em uma pasta personalizada criada por você para destacá-la. Clique em Arquivo> Novo> Script opção de menu para criar um novo script dentro dessa pasta, conforme mostrado na imagem abaixo:

Renomeie este script para “Quicksave” e coloque o código acima dentro dele. Em seguida, clique no botão “Hotkey” na parte inferior, conforme mostrado na imagem abaixo:

Na próxima tela, clique no botão “Press to Set” e depois aperte chave para mapeá-lo para o script.

“Chave: (Nenhum)” mudará para “Chave: ”.

Clique em “OK” e pressione para salvar o script. Lembre-se sempre de salvar o script, caso contrário nada será executado quando você pressionar a tecla de atalho mapeada.

O mapeamento de teclado Quicksave está pronto para ser usado. Da próxima vez, quando você pressionar , uma série de pressionamentos de teclas serão executados em ordem.

Observe que mudamos a funcionalidade do chave globalmente em todo o sistema operacional, desde que AutoKey esteja em execução e encaixado na bandeja do sistema. Para restringi-lo a uma janela ou aplicativo específico, você terá que especificar as regras da janela clicando no botão “Filtro de janela” na parte inferior.

Você pode usar o mesmo script acima para criar um script para carregamento rápido também. Você só tem que remover a linha para tecla de seta e mapeie o script para chave.

Se você estiver procurando por nomes de chave corretos para usar em scripts AutoKey Python 3, uma lista de todos os códigos de chave especiais utilizáveis ​​em AutoKey pode ser encontrada aqui. Qualquer chave não mencionada na página acima pode ser inserida usando aspas simples ou duplas. Exemplo: teclado.send_key ('5'), teclado.send_key ('p') e assim por diante.

Exemplo 2: Beba duas poções de saúde seguidas em um RPG

Supondo que a tecla de atalho para beber a poção da saúde em seu jogo é , o script seria:

teclado.send_key ('h', repetir = 2)

O valor da variável de repetição também pode ser alterado para qualquer outro número. Você pode seguir as etapas do primeiro exemplo para mapear o script para a tecla de atalho desejada.

Exemplo 3: Modo Burst para Arma em um Jogo de Tiro

 

Usando o código abaixo, você pode mapear chave para disparar três vezes seguidas. A maneira original de atirar no jogo é pressionar o botão esquerdo do mouse uma vez.

# botões do mouse: esquerda = 1, meio = 2, direita = 3
mouse.click_relative_self (0, 0, 1)
mouse.click_relative_self (0, 0, 1)
mouse.click_relative_self (0, 0, 1)

O script acima iráexecutar o clique esquerdo do mouse três vezes seguidas. Instruções extras podem ser adicionadas se você quiser executar o clique esquerdo mais de três vezes.

Você pode seguir as etapas do primeiro exemplo para mapear o script para tecla de atalho.

Exemplo 4: Crie um menu de jogo personalizado / Transforme um jogo em tempo real em um jogo baseado em turnos

Usando a funcionalidade do menu de lista do AutoKey, mostraremos um menu como uma sobreposição no topo de um jogo em execução. Este menu irá roubar o foco do jogo e devolvê-lo após um clique do mouse ser executado em um dos itens do menu. Assim que o foco for retornado, um pressionamento de tecla automatizado será executado, invocando uma função dentro do jogo.

Dê uma olhada nesta foto:

Na pasta “GameMenu”, criei uma subpasta chamada “Show”. Tanto a pasta “GameMenu” quanto a pasta “Show” têm itens filhos. Aqui está o código que coloquei dentro de cada item filho:

  • Estoque: teclado.send_key ('i')
  • Mapa: teclado.send_key ('m')
  • De volta ao jogo: teclado.send_key ('')
  • Mudar para rifle de assalto: teclado.send_key ('2')
  • Mudar para SMG: teclado.send_key ('1')

Aqui, a pasta “GameMenu” é mapeada para chave e isso é o que parece dentro do jogo em execução:

Cada item do menu tem um número prefixado antes de seu rótulo. Você pode chamar qualquer item do menu pressionando a tecla numérica correspondente no teclado. Por exemplo, pressionando <2> chave aqui vai mudar a arma para rifle de assalto.

Uma pequena demonstração GIF deste exemplo (clique na imagem ou clique com o botão direito e abra o GIF em uma nova guia se a animação parar abaixo):

Este método pode não funcionar com todos os jogos, dependendo de como eles lidam com a renderização em janela e tela inteira. Alguns jogos não pausam quando o foco é roubado, enquanto outros fazem. Se o jogo parar quando o foco for perdido, você essencialmente converteu um jogo em tempo real em um jogo baseado em turnos usando este script AutoKey.

Este exemplo funcionará com jogos caso a caso. No entanto, em meus testes, obtive resultados muito bons com jogos nativos e Steam Proton / Wine.

Conclusão

Todos os exemplos mencionados aqui são básicos, principalmente voltados para jogadores de Linux. Eles cobrem apenas uma parte da poderosa API do AutoKey. AutoKey pode automatizar muito do seu fluxo de trabalho usando seus recursos de script para software diário ou complexo também. Mais alguns exemplos estão disponíveis na documentação oficial do aplicativo.

Como mostrar a sobreposição de OSD em aplicativos e jogos Linux em tela cheia
Jogar jogos em tela cheia ou usar aplicativos em modo de tela cheia sem distração pode cortar você das informações relevantes do sistema visíveis em u...
Top 5 cartas de captura de jogos
Todos nós vimos e amamos streaming de jogos no YouTube. PewDiePie, Jakesepticye e Markiplier são apenas alguns dos melhores jogadores que ganharam mil...
Como desenvolver um jogo no Linux
Uma década atrás, poucos usuários de Linux preveriam que seu sistema operacional favorito um dia seria uma plataforma de jogos popular para videogames...