Juegos

Cómo usar AutoKey para automatizar juegos de Linux

Cómo usar AutoKey para automatizar juegos de Linux
AutoKey es una utilidad de automatización de escritorio para Linux y X11, programada en Python 3, GTK y Qt. Usando su funcionalidad de scripting y MACRO, puede automatizar pulsaciones de teclas, clics del mouse y la mayoría de las partes de una interfaz de escritorio. Si está buscando una alternativa al programa AutoHotkey de Windows, AutoKey es la mejor opción disponible hoy para los usuarios de Linux.

Tenga en cuenta que esta es solo una aplicación X11, el soporte de Wayland no se ha agregado a la aplicación en el momento de escribir este artículo.

Algunas de las características de AutoKey son:

Esta guía le mostrará algunos ejemplos de AutoKey que son útiles para los jugadores de Linux. Para comenzar, instalemos los paquetes de Autokey Ubuntu desde su página de GitHub. Descargue los archivos que se mencionan a continuación desde aquí

Después de descargar los archivos, ejecute los siguientes comandos en orden:

$ sudo apt install ./ autokey-common_0.95.8-0_todos.debutante
$ sudo apt install ./ autokey-gtk_0.95.8-0_todos.debutante

Ejemplo 1: Configuración Clave para guardar juegos automáticamente

Es común ver muchos juegos de PC usando tecla para guardar rápidamente y para carga rápida. Sin embargo, muchos otros juegos de PC, especialmente los puertos de consola, tienen una forma tediosa de guardar el juego en la que tienes que navegar a través de múltiples opciones de menú. Aquí hay una maqueta rápida que he dibujado que ilustra esto (disculpe mis habilidades de dibujo):

El juego quiere que le pegues tecla para pausar el juego, luego tecla de flecha, luego tecla para guardar el juego, seguida de clave de nuevo para volver al juego. Todo este proceso se puede automatizar y asignar fácilmente a clave usando AutoKey. Consulte el código de secuencia de comandos a continuación:

tiempo de importación
teclado.tecla Enviar('')
hora.dormir (0.25)
teclado.tecla Enviar('')
hora.dormir (0.25)
teclado.tecla Enviar('')
hora.dormir (0.25)
teclado.tecla Enviar('')

Para agregar este script a AutoKey, inicie la aplicación y luego haga clic en una carpeta visible o haga clic en una carpeta personalizada creada por usted para resaltarla. Haga clic en Archivo> Nuevo> Script opción de menú para crear un nuevo script dentro de esa carpeta, como se muestra en la captura de pantalla a continuación:

Cambie el nombre de esta secuencia de comandos a "Quicksave" y coloque el código anterior en su interior. Luego haga clic en el botón "Tecla de acceso rápido" en la parte inferior, como se muestra en la captura de pantalla a continuación:

En la siguiente pantalla, haga clic en el botón "Presione para configurar" y luego presione clave para asignarlo al script.

"Clave: (Ninguno)" cambiará a "Clave: ".

Haga clic en "Aceptar" y presione para guardar el guion. Recuerde siempre guardar el script; de lo contrario, no se ejecutará nada cuando presione la tecla de acceso rápido asignada.

La asignación de teclas de Quicksave ya está lista para usarse. La próxima vez que presione tecla, se ejecutará una serie de pulsaciones de teclas en orden.

Tenga en cuenta que hemos cambiado la funcionalidad de clave globalmente en todo el sistema operativo, siempre que AutoKey se esté ejecutando y esté acoplado a la bandeja del sistema. Para restringirlo a una ventana o aplicación en particular, tendrá que especificar las reglas de la ventana haciendo clic en el botón "Filtro de ventana" en la parte inferior.

También puede usar el mismo script anterior para crear un script para una carga rápida. Solo tienes que quitar la línea para tecla de flecha y luego mapear el script a clave.

Si está buscando nombres de clave correctos para usar en los scripts de AutoKey Python 3, puede encontrar una lista de todos los códigos de teclas especiales que se pueden usar en AutoKey aquí. Cualquier clave no mencionada en la página anterior se puede insertar usando comillas simples o dobles. Ejemplo: teclado.send_key ('5'), teclado.send_key ('p') y así sucesivamente.

Ejemplo 2: Beber dos pociones de salud seguidas en un juego de rol

Asumir que la tecla de acceso rápido para beber poción de salud en tu juego es , el guión sería:

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

El valor de la variable de repetición también se puede cambiar a cualquier otro número. Puede seguir los pasos del primer ejemplo para asignar el script a la tecla de acceso rápido que desee.

Ejemplo 3: modo de ráfaga para pistola en un juego de disparos

 

Usando el siguiente código, puede mapear clave para disparar un arma tres veces seguidas. La forma original de disparar en el juego es presionar el botón izquierdo del mouse una vez.

# botones del mouse: izquierda = 1, centro = 2, derecha = 3
ratón.click_relative_self (0, 0, 1)
ratón.click_relative_self (0, 0, 1)
ratón.click_relative_self (0, 0, 1)

El script anterior ejecutará el clic izquierdo del mouse tres veces seguidas. Se pueden agregar declaraciones adicionales si desea ejecutar el clic izquierdo más de tres veces.

Puede seguir los pasos del primer ejemplo para asignar el script a tecla de acceso rápido.

Ejemplo 4: crear un menú de juego personalizado / convertir un juego en tiempo real en un juego por turnos

Usando la funcionalidad del menú de lista de AutoKey, mostraremos un menú como una superposición en la parte superior de un juego en ejecución. Este menú robará el foco del juego y lo devolverá después de que se ejecute un clic del mouse en uno de los elementos del menú. Una vez que se devuelve el foco, se ejecutará una pulsación de tecla automatizada que invoca una función dentro del juego.

Eche un vistazo a esta imagen:

En la carpeta "GameMenu", he creado una subcarpeta llamada "Mostrar". Tanto la carpeta "GameMenu" como la carpeta "Show" tienen elementos secundarios. Aquí está el código que he puesto dentro de cada elemento secundario:

  • Inventario: teclado.send_key ('yo')
  • Mapa: teclado.send_key ('m')
  • Volver al juego: teclado.tecla Enviar('')
  • Cambiar a rifle de asalto: teclado.send_key ('2')
  • Cambiar a SMG: teclado.send_key ('1')

Aquí la carpeta "GameMenu" está asignada a clave y así es como se ve dentro del juego de carrera:

Cada elemento del menú tiene un número prefijado antes de su etiqueta. Puede invocar cualquier elemento del menú presionando la tecla numérica correspondiente en su teclado. Por ejemplo, presionando <2> La tecla aquí cambiará el arma al rifle de asalto.

Una pequeña demostración GIF de este ejemplo (haga clic en la imagen o haga clic derecho y abra el GIF en una nueva pestaña si la animación se detiene a continuación):

Es posible que este método no funcione con todos los juegos, dependiendo de la forma en que manejen el renderizado en ventana y en pantalla completa. Algunos juegos no se detienen cuando se roba el enfoque, mientras que otros lo hacen. Si el juego se detiene cuando se pierde el enfoque, básicamente ha convertido un juego en tiempo real en un juego por turnos utilizando este script de AutoKey.

Este ejemplo funcionará con juegos caso por caso. Sin embargo, en mis pruebas, he logrado resultados bastante buenos con los juegos nativos y Steam Proton / Wine.

Conclusión

Todos los ejemplos mencionados aquí son básicos, principalmente enfocados a jugadores de Linux. Cubren solo una parte de la potente API de AutoKey. AutoKey también puede automatizar gran parte de su flujo de trabajo utilizando sus funciones de scripting para software diario o complejo. Algunos ejemplos más están disponibles en la documentación oficial de la aplicación.

Las mejores distribuciones de Linux para juegos en 2021
El sistema operativo Linux ha recorrido un largo camino desde su apariencia original, simple y basada en servidor. Este sistema operativo ha mejorado ...
Cómo capturar y transmitir su sesión de juego en Linux
En el pasado, los juegos solo se consideraban un pasatiempo, pero con el tiempo la industria del juego experimentó un gran crecimiento en términos de ...
Los mejores juegos para jugar con el seguimiento de manos
Oculus Quest presentó recientemente la gran idea del seguimiento manual sin controladores. Con un número cada vez mayor de juegos y actividades que ej...