Comment utiliser AutoKey pour automatiser les jeux Linux

How Use Autokey Automate Linux Games



Clé automatique est un utilitaire d'automatisation de bureau pour Linux et X11, programmé en Python 3, GTK et Qt. En utilisant ses fonctionnalités de script et MACRO, vous pouvez automatiser les pressions de touches, les clics de souris et la plupart des parties d'une interface de bureau. Si vous cherchez une alternative au programme Windows Raccourci automatique , AutoKey est la meilleure option disponible aujourd'hui pour les utilisateurs de Linux.

Notez qu'il s'agit d'une application X11 uniquement, la prise en charge de Wayland n'a pas été ajoutée à l'application au moment de la rédaction de cet article.







Certaines des fonctionnalités de la clé automatique sont :



  • Prend en charge les abréviations qui peuvent automatiquement développer quelques caractères dans l'une de vos phrases et blocs de texte couramment utilisés.
  • Prend en charge l'envoi de frappes arbitraires et de clics de souris.
  • Prend en charge la spécification de règles pour une fenêtre d'application spécifique.
  • Les scripts Python 3 peuvent être utilisés pour écrire des règles d'automatisation.
  • Possibilité de contrôler les fonctions de la fenêtre comme l'agrandissement, le redimensionnement et le déplacement.
  • Livré avec un ensemble d'exemples préconfigurés pour des scripts plus faciles.
  • Possibilité d'afficher des fenêtres contextuelles de menu personnalisées avec une liste de choix.
  • Possibilité d'enregistrer les frappes et les clics de souris.
  • Possibilité de définir des raccourcis clavier sans touches de modification.
  • Les scripts d'automatisation sont portables et peuvent être facilement partagés avec d'autres utilisateurs.

Ce guide vous montrera quelques exemples AutoKey utiles pour les joueurs Linux. Pour commencer, installons les packages Autokey Ubuntu à partir de sa page GitHub. Téléchargez les fichiers mentionnés ci-dessous à partir de ici



  • autokey-common_x.xx.x-x_all.deb
  • autokey-gtk_x.xx.x-x_all.deb ou autokey-qt_x.xx.x-x_all.deb (télécharger un seul)

Après avoir téléchargé les fichiers, exécutez les commandes suivantes dans l'ordre :





$sudoapteinstaller./autokey-common_0.95.8-0_all.deb
$sudoapteinstaller./autokey-gtk_0.95.8-0_all.deb

Il est courant de voir de nombreux jeux PC utiliser une clé pour une sauvegarde et un chargement rapides. Cependant, de nombreux autres jeux PC, en particulier les ports de console, ont un moyen fastidieux de sauvegarder le jeu où vous devez naviguer à travers plusieurs options de menu. Voici une maquette rapide que j'ai dessinée qui illustre cela (excusez mes compétences en dessin):



Le jeu veut que vous appuyiez sur la touche pour mettre le jeu en pause, puis sur la touche fléchée, puis sur la touche pour sauvegarder le jeu, puis à nouveau sur la touche pour revenir au jeu. L'ensemble de ce processus peut être facilement automatisé et mappé sur une clé à l'aide d'AutoKey. Découvrez le code du script ci-dessous :

importertemps
clavier.send_key('')
le sommeil de temps(0,25)
clavier.send_key('')
le sommeil de temps(0,25)
clavier.send_key('')
le sommeil de temps(0,25)
clavier.send_key('')

Pour ajouter ce script à AutoKey, lancez l'application, puis cliquez sur un dossier visible ou cliquez sur un dossier personnalisé que vous avez créé pour le mettre en surbrillance. Cliquer sur Fichier > Nouveau > Script option de menu pour créer un nouveau script dans ce dossier, comme indiqué dans la capture d'écran ci-dessous :

Renommez ce script en Quicksave et placez-y le code ci-dessus. Cliquez ensuite sur le bouton Hotkey en bas, comme indiqué dans la capture d'écran ci-dessous :

Sur l'écran suivant, cliquez sur le bouton Appuyer pour définir, puis appuyez sur la touche pour le mapper au script.

Clé:(Rien)deviendra Clé :<f5>.

Cliquez sur OK et appuyez sur pour enregistrer le script. N'oubliez pas de toujours enregistrer le script sinon rien ne sera exécuté lorsque vous appuyez sur la touche de raccourci mappée.

Le mappage de touches Quicksave est maintenant prêt à être utilisé. La prochaine fois que vous appuyez sur la touche, une série de pressions sur les touches sera exécutée dans l'ordre.

Notez que nous avons modifié globalement la fonctionnalité de la clé dans tout le système d'exploitation, tant qu'AutoKey est en cours d'exécution et ancré dans la barre d'état système. Pour le restreindre à une fenêtre ou une application particulière, vous devrez spécifier des règles de fenêtre en cliquant sur le bouton Filtre de fenêtre en bas.

Vous pouvez également utiliser le même script ci-dessus pour créer un script pour un chargement rapide. Il vous suffit de supprimer la ligne pour la touche fléchée, puis de mapper le script sur la touche.

Si vous recherchez les noms de clés corrects à utiliser dans les scripts AutoKey Python 3, une liste de tous les codes clés spéciaux utilisables dans AutoKey peut être trouvée ici . Toute clé non mentionnée dans la page ci-dessus peut être insérée à l'aide de guillemets simples ou doubles. Exemple : keyboard.send_key('5'), keyboard.send_key('p') et ainsi de suite.

Exemple 2 : Boire deux potions de santé d'affilée dans un jeu de rôle

En supposant que le raccourci clavier pour boire une potion de santé dans votre jeu soit , le script serait :

clavier.send_key('h',répéter=2)

La valeur de la variable de répétition peut également être remplacée par n'importe quel autre nombre. Vous pouvez suivre les étapes du premier exemple pour mapper le script sur le raccourci clavier souhaité.

Exemple 3 : Mode rafale pour le pistolet dans un jeu de tir

En utilisant le code ci-dessous, vous pouvez mapper la clé pour tirer trois fois de suite avec une arme à feu. La façon originale de tirer dans le jeu est d'appuyer une fois sur le clic gauche de la souris.

# boutons de la souris : gauche=1, milieu=2, droite=3
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)
mouse.click_relative_self(0,0,1)

Le script ci-dessus exécutera le clic gauche de la souris trois fois de suite. Des instructions supplémentaires peuvent être ajoutées si vous souhaitez exécuter un clic gauche plus de trois fois.

Vous pouvez suivre les étapes du premier exemple pour mapper le script sur le raccourci clavier.

Exemple 4 : Créer un menu de jeu personnalisé / Transformer un jeu en temps réel en un jeu au tour par tour

En utilisant la fonctionnalité de menu de liste d'AutoKey, nous afficherons un menu en superposition au-dessus d'un jeu en cours. Ce menu détournera le focus du jeu et le renverra après qu'un clic de souris soit exécuté sur l'un des éléments du menu. Une fois le focus revenu, une frappe automatisée sera exécutée qui invoque une fonction à l'intérieur du jeu.

Regardez cette image :

Dans le dossier GameMenu, j'ai créé un sous-dossier appelé Show. Les dossiers GameMenu et Show ont tous deux des éléments enfants. Voici le code que j'ai mis à l'intérieur de chaque élément enfant :

  • Inventaire : keyboard.send_key(‘i’)
  • Carte : clavier.send_key(‘m’)
  • Retour au jeu : keyboard.send_key(‘’)
  • Passez au fusil d'assaut : keyboard.send_key('2')
  • Basculez vers SMG : keyboard.send_key('1')

Ici, le dossier GameMenu est mappé sur la clé et voici à quoi cela ressemble dans le jeu en cours d'exécution :

Chaque élément de menu a un numéro préfixé avant son étiquette. Vous pouvez appeler n'importe quel élément de menu en appuyant sur la touche numérique correspondante de votre clavier. Par exemple, en appuyant sur la touche ici, le pistolet passera au fusil d'assaut.

Une petite démo GIF de cet exemple (cliquez sur l'image ou faites un clic droit et ouvrez le GIF dans un nouvel onglet si l'animation s'arrête ci-dessous) :

Cette méthode peut ne pas fonctionner avec tous les jeux, selon la façon dont ils gèrent le rendu fenêtré et plein écran. Certains jeux ne s'arrêtent pas lorsque la mise au point est volée, alors que d'autres le font. Si le jeu s'interrompt lorsque la mise au point est perdue, vous avez essentiellement converti un jeu en temps réel en un jeu au tour par tour à l'aide de ce script AutoKey.

Cet exemple fonctionnera avec les jeux au cas par cas. Cependant, lors de mes tests, j'ai obtenu d'assez bons résultats avec les jeux natifs et Steam Proton / Wine.

Conclusion

Tous les exemples mentionnés ici sont basiques, principalement destinés aux joueurs Linux. Ils ne couvrent qu'une partie de la puissante API d'AutoKey. AutoKey peut automatiser une grande partie de votre flux de travail en utilisant ses fonctionnalités de script pour les logiciels quotidiens ou complexes. Quelques autres exemples sont disponibles dans le documents officiels de l'application.