Como usar o AutoKey para automatizar jogos Linux

Como usar o AutoKey para automatizar jogos Linux
A Autokey é um utilitário de automação de desktop para Linux e X11, programado em Python 3, GTK e QT. Usando seu script e funcionalidade macro, você pode automatizar o KeyPresses, os cliques do mouse e a maioria das partes de uma interface de desktop. Se você está procurando uma alternativa ao programa Windows AutohotKey, o Autokey é a melhor opção disponível hoje para usuários do Linux.

Observe que este é apenas um aplicativo X11, o suporte de Wayland não foi adicionado ao aplicativo no momento da redação deste artigo.

Alguns dos recursos do AutoKey são:

  • Suporta abreviações que possam expandir automaticamente alguns caracteres em qualquer uma de suas frases e blocos de texto comumente usados.
  • Suporta o envio de teclas arbitrárias e cliques de mouse.
  • Suporta especificar regras para uma janela de aplicativo específica.
  • Scripts Python 3 podem ser usados ​​para escrever regras de automação.
  • Capacidade de controlar as funções da janela, como maximizar, redimensionar e mover.
  • Vem com um conjunto de exemplos pré -configurados para obter um script mais fácil.
  • Capacidade de mostrar pop -ups de menu personalizado com uma lista de opções.
  • Capacidade de registrar teclas e cliques de mouse.
  • Capacidade de definir teclas de atalho sem teclas de modificador.
  • Os scripts de automação são portáteis e podem ser facilmente compartilhados com outros usuários.

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

  • AutoKey-common_x.xx.x-xl.Deb
  • Autokey-gtk_x.xx.x-xl.Deb ou Autokey-qt_x.xx.x-xl.Deb (baixe apenas um)

Depois de baixar os arquivos, execute os seguintes comandos em 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: Chave de configuração para economia automática de jogos

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

O jogo quer que você acerte Key para paus. Todo esse processo pode ser facilmente automatizado e mapeado para a chave usando Autokey. Confira o código do script abaixo:

tempo de importação
teclado.send_key ('')
tempo.sono (0.25)
teclado.send_key ('')
tempo.sono (0.25)
teclado.send_key ('')
tempo.sono (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á -lo. Clique em Arquivo> Novo> Script Opção de menu para criar um novo script dentro dessa pasta, conforme mostrado na captura de tela 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 captura de tela abaixo:

Na próxima tela, clique no botão "Pressione para definir" e pressione a tecla para mapeá -la no 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 QuickSave Keymapping agora está pronto para ser usado. Da próxima vez que você pressionar a tecla, uma série de presságio será executada em ordem.

Observe que mudamos a funcionalidade da Key Globalmente em todo o sistema operacional, desde que a Autokey esteja funcionando e ancorada para a bandeja do sistema. Para restringi -lo a uma janela ou aplicativo específico, você precisará 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 carregar rápido também. Você só precisa remover a linha para a tecla de seta e depois mapear o script para a chave.

Se você está procurando nomes de chave corretos para usar em scripts Autokey Python 3, uma lista de todos os códigos de chave especiais utilizáveis ​​no Autokey pode ser encontrado aqui. Qualquer chave não mencionada na página acima pode ser inserida usando citações únicas 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 jogo de dramatização

Supondo que a tecla de atalho beba poção de saúde no seu jogo seja, o script seria:

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

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

Exemplo 3: Modo Burst for Gun em um jogo de tiro

Usando o código abaixo, você pode mapear a tecla para atirar em uma arma três vezes em uma linha. A maneira original de gravar no jogo é pressionar o mouse esquerdo, clique uma vez.

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

O script acima executará o mouse esquerdo, clique três vezes em uma linha. As declarações extras podem ser adicionadas se você quiser executar o clique esquerdo mais de três vezes.

Você pode seguir as etapas no primeiro exemplo para mapear o script para a 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 da lista do AutoKey, mostraremos um menu como uma sobreposição em cima de um jogo de corrida. Este menu roubará o foco do jogo e o devolverá depois que um clique do mouse for executado em um dos itens do menu. Depois que o foco for devolvido, será executado um pressionamento automatizado que invoca uma função dentro do jogo.

Dê uma olhada nesta foto:

Na pasta "GameMenu", criei uma subpasta chamada "show". A pasta "gamemenu" e "show" tem itens infantis. Aqui está o código que coloquei dentro de cada item infantil:

  • Inventário: teclado.send_key ('i')
  • Mapa: teclado.send_key ('m')
  • Voltar ao jogo: teclado.send_key ('')
  • Mudar para o rifle de assalto: teclado.send_key ('2')
  • Mudar para SMG: teclado.send_key ('1')

Aqui, a pasta "GameMenu" é mapeada para Key e é assim que se parece dentro do jogo de corrida:

Cada item de menu tem um número prefixado antes do rótulo. Você pode invocar qualquer item de menu pressionando a tecla número correspondente no seu teclado. Por exemplo, pressionar a tecla aqui mudará a arma para assaltar o rifle.

Uma pequena demonstração do GIF deste exemplo (clique na imagem ou clique com o botão direito do mouse 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 da maneira como eles lidam com a renderização em janela e tela cheia. Alguns jogos não param quando o foco é roubado enquanto outros fazem. Se o jogo faz uma paus.

Este exemplo funcionará com jogos caso a caso. No entanto, em meus testes, consegui resultados muito bons com jogos nativos e de prótons a vapor / vinho.

Conclusão

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