web-dev-qa-db-fra.com

Équivalent Autohotkey?

Existe-t-il un produit/méthode équivalent pour AutoHotkey. Pour ceux qui ne connaissent pas, c'est un produit qui vous permet de programmer les mouvements de votre souris et votre clavier. Cela me permet de "macro" certaines fonctions sur les programmes au lieu d'avoir à le faire manuellement. Autrefois, ils les appelaient des poussoirs de clavier. Mais ce n'est que la moitié de la solution car j'ai également besoin d'un stuffer "mouvement de souris".

Y a-t-il une telle bête?

50
Meer Borg

Il existe un port d'AutoHotKey pour Linux appelé IronAHK et un outil similaire appelé Autokey . Je n'ai pas utilisé non plus, je ne sais pas comment ils fonctionnent.

En dehors de ces programmes, vous ne trouverez pas exactement le même type d'outils d'automatisation. L'outil d'automatisation utilisateur de base sur les systèmes Unix est le Shell. Le Shell est la colle qui combine d'autres outils: il peut lancer des programmes externes et contrôler la façon dont ils échangent des données. Le shell lui-même n'inclut rien pour manipuler les concepts de l'interface graphique comme les fenêtres et le pointeur de la souris¹. Ce que vous faites, c'est appeler des outils spécialisés dans un script Shell, en particulier xdotool pour manipuler les fenêtres et injecter touches et événements de souris .

Par exemple, le script suivant clique sur la position (40,20) dans la fenêtre de Myapp.

#!/bin/sh
xdotool search --class Myapp \
        mousemove --window %1 40 20 \
        click 1

¹ Sauf pour dtksh , mais je n'en ai jamais vu de port Linux.

Utilisez AutohotkeyX, c'est un port WINE récent de autohotkey qui, selon les tests de winehq, fait tout ce que Autohokey est capable de faire sur Windows. C'est facilement la meilleure et la plus simple réponse.

https://appdb.winehq.org/objectManager.php?sClass=version&iId=17738

Je n'ai pas personnellement testé cela, mais les résultats de WINEHQ ont tendance

2
DeeJayh

Vous pouvez utiliser xautomation sous Linux. Je l'utilise sur les écrans d'affichage du Raspberry Pi, pour envoyer des rafraîchissements de page F5 et des touches de retour (entrée) pour les connexions.

2
Andy Anderson

Il existe plusieurs projets à ce sujet. Les deux plus actifs, AFAIK, sont sikuli et AutoKey (un projet que j'aide à soutenir.)

Je n'ai pas utilisé sikuli, mais il semble être basé sur la recherche de modèles à l'écran et le déclenchement d'actions basées sur eux.

AutoKey permet à l'utilisateur de définir des phrases de déclenchement et des raccourcis clavier qui développent des phrases (similaires à une fonctionnalité de correction automatique très puissante) ou d'exécuter des scripts écrits en Python3 qui ne sont limités que par les compétences de programmation de l'utilisateur. Il fournit une API pour la génération d'événements de clavier et de souris. Il s'intègre également à Xautomation qui vous permet de trouver une petite image à l'écran et d'y déplacer le curseur de la souris.

J'utilise AutoKey depuis de nombreuses années et le supporte sur notre liste . C'est comme un certain nombre d'outils de productivité: vous pouvez vous en passer, mais une fois que vous commencez à l'utiliser, vous vous demanderez comment vous vous en êtes tiré.

Quelques détails:

AutoKey ne fonctionne pas avec les définitions et scripts AutoHotKey. Ils devront être réécrits.

J'ai écrit un script bash de preuve de concept (disponible sur demande) qui traduit les phrases AutoHotKey en phrases AutoKey, mais ce n'est qu'un point de départ et ignore la plupart des options d'AutoHotKey.

Étant donné que les scripts AutoKey sont écrits en Python3, il est également possible d'appeler des outils tels que xdotool et wmctrl à partir d'un script pour fournir des fonctionnalités supplémentaires, mais ce n'est généralement pas nécessaire. Bien que les scripts AutoKey soient écrits en Python, beaucoup peut être accompli avec une connaissance très limitée de Python. Vous n'avez pas besoin d'être un programmeur courant Python pour la plupart des applications).

Si vous utilisez une distribution basée sur Debian, veuillez ne pas installer la version d'AutoKey fournie par votre distribution. Leur package AutoKey n'est pas entretenu et est très ancien. Obtenez une version actuelle de s .

1
Joe

Utilisez simplement XEV et XMODMAP. SIMPLE et meilleur que les programmes dédiés ou l'émulation d'applications Windows pourries. Tous mes trucs LINUX utilisent des scripts pour redéfinir les touches et changer les modes d'écran, puis, lorsque le programme est terminé et quitte, tout revient à la normale. Il est à peu près aussi facile d'utiliser XMODMAP et de créer un script que de créer un script AHK, mais avec l'avantage supplémentaire de ne pas avoir à exécuter une application Windows émulée. Et pour les gens qui disent que vous ne pouvez pas faire ceci ou cela ... FAUX. Vous pouvez faire plus à partir de Linux Shell que tout autre système d'exploitation et vous pouvez faire tout ce dont nous parlons, y compris déplacer des fenêtres, tout en utilisant des commandes système conviviales intégrées!

0
MENTD

... programmez les mouvements de votre souris et votre clavier. Cela me permet de "macro" certaines fonctions sur les programmes au lieu d'avoir à le faire manuellement.

Kantu est un multiplateforme automatisation de burea outil qui fonctionne très bien sur Ubuntu (je ne l'ai pas testé sur d'autres versions)

L'outil d'automatisation utilisateur de base sur les systèmes Unix est le Shell.

Ouais. Mais AHK et Kantu permettent à l'utilisateur d'automatiser la tâche à l'intérieur d'une application en simulant les clics de souris et les coups de clavier. Le Shell ne peut pas faire cela. Je l'utilise pour des tests automatisés et quelques hacks de productivité.

Bien sûr, vous pouvez combiner kantu avec python ou le démarrer directement à partir du Shell.

0
Jim Grigoryan

Téléchargez Autohotkey sur Linux. Créez un fichier Autohotkey (exemple.ahk). Utilisez wine pour exécuter Ahk2Exe.exe à partir du dossier Autohotkey. Compilez votre fichier example.ahk dans example.exe Utilisez wine pour exécuter example.exe

0
Angelo