Autohotkey equivalente?


48

Esiste un prodotto / metodo equivalente per AutoHotkey. Per chi non lo sapesse, è un prodotto che ti consente di programmare i movimenti del mouse e la tastiera. Questo mi permette di "macro" alcune funzioni sui programmi invece di doverlo fare manualmente. Ai vecchi tempi li chiamavano riempitivi per tastiera. Ma questa è solo metà della soluzione, dato che ho bisogno anche di un dispositivo di riempimento "mouse mouse".

C'è una tale bestia?

Risposte:


31

C'è una porta di AutoHotKey su Linux chiamata IronAHK e uno strumento simile chiamato Autokey . Neanche io ho usato, non so quanto bene funzionino.

Oltre a questi programmi, non troverai esattamente lo stesso tipo di strumenti di automazione. Lo strumento di automazione dell'utente di base sui sistemi unix è la shell. La shell è la colla che unisce altri strumenti: può avviare programmi esterni e controllare il modo in cui scambiano dati. La stessa shell non include nulla per manipolare concetti della GUI come Windows e il puntatore del mouse¹. Quello che fai è chiamare strumenti specializzati in uno script di shell, in particolare xdotool per manipolare Windows e iniettare sequenze di tasti ed eventi del mouse .

Ad esempio, il seguente script fa clic nella posizione (40,20) nella finestra di Myapp.

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

¹ Tranne dtksh , ma non ne ho mai visto una porta Linux.


Un bel riassunto, peccato che il progetto sia scaduto di 4 anni e che i binari siano tutti 404, proveremo comunque xdotool. Grazie per aver dedicato del tempo.
Meer Borg,

provato xdotool, funziona come un incantesimo ma dovresti assolutamente leggere i loro documenti prima di iniziare
ConstantineK

1
AFAIK, IronAHK non è mai stato completamente implementato ed è stato abbandonato.
Joe

2

Puoi usare xautomation in Linux. Lo uso su schermi Raspberry Pi, per inviare aggiornamenti di pagine F5 e sequenze di tasti "Invio" (invio) per gli accessi.



1

Scarica Autohotkey su Linux. Crea un file Autohotkey (esempio.ahk). Utilizzare wine per eseguire Ahk2Exe.exe dalla cartella Autohotkey. Compilare il file example.ahk in example.exe Utilizzare wine per eseguire example.exe


2
Non è una buona opzione. Per ora, la funzionalità di Autohotkey che attraversa wine è molto limitata: appdb.winehq.org/… .
banan3'14

1

Esistono diversi progetti che affrontano questo problema. I due più quelli attivi, per quanto ne so, sono Sikuli e Chiave automatica (un supporto help I progetto.)

Non ho usato Sikuli, ma sembra essere basato sulla ricerca di schemi sullo schermo e sull'attivazione di azioni basate su di essi.

AutoKey consente all'utente di definire frasi di trigger e tasti di scelta rapida che espandono le frasi (simili a una funzione di correzione automatica molto potente) o eseguono script scritti in Python3 che sono limitati solo dalle capacità di programmazione dell'utente. Fornisce un'API per la generazione di eventi di tastiera e mouse. Si integra anche con Xautomation che consente di trovare una piccola immagine sullo schermo e spostare il cursore del mouse su di essa.

Uso AutoKey da molti anni e lo sostengo nella nostra lista . È come una serie di strumenti di produttività: puoi cavartela senza di essa, ma una volta che inizi a usarla, ti chiederai come hai mai fatto senza di essa.

Alcuni dettagli:

AutoKey non funziona con le definizioni e gli script AutoHotKey. Dovranno essere riscritti.

Ho scritto uno script bash di prova del concetto (disponibile su richiesta) che traduce le frasi AutoHotKey in frasi AutoKey, ma è solo un punto di partenza e ignora la maggior parte delle opzioni di AutoHotKey.

Poiché gli script AutoKey sono scritti in Python3, è anche possibile richiamare strumenti come xdotool e wmctrl da uno script per fornire funzionalità aggiuntive, ma in genere non è necessario. Sebbene gli script AutoKey siano scritti in Python, è possibile ottenere molte cose con una conoscenza molto limitata di Python. Non è necessario essere un programmatore Python fluente per la maggior parte degli scopi.

Se usi una distribuzione basata su Debian, non installare la versione di AutoKey fornita dalla tua distribuzione. Il loro pacchetto AutoKey non è mantenuto e molto vecchio. Ottieni una versione corrente da noi .


0

... programma i movimenti del mouse e la tastiera. Questo mi permette di "macro" alcune funzioni sui programmi invece di doverlo fare manualmente.

Kantu è uno strumento di automazione desktop multipiattaforma che funziona molto bene su Ubuntu (non l'ho testato su altre versioni)

Lo strumento di automazione dell'utente di base sui sistemi unix è la shell.

Si. Ma AHK e Kantu consentono all'utente di automatizzare l'attività all'interno di un'applicazione simulando i clic del mouse e i tratti della tastiera. La shell non può farlo. Lo uso per test automatici oltre ad alcuni hack di produttività.

Naturalmente, puoi combinare kantu con Python o avviarlo direttamente dalla shell.


2
Jim, se sei affiliato a uno di quei prodotti a cui ti colleghi, tieni presente che il Centro assistenza di questo sito contiene linee guida sul comportamento previsto in merito alla divulgazione della tua affiliazione nelle risposte. Le risposte che non lo includono sono soggette a cancellazione. Grazie!
Jeff Schaller

0

Usa XEV e XMODMAP. SEMPLICE e migliore dei programmi dedicati o dell'emulazione di app scadenti per Windows. Tutta la mia roba LINUX usa gli script per ridefinire i tasti e cambiare le modalità dello schermo e poi, quando il programma è finito ed esce, riporta tutto alla normalità. XMODMAP è altrettanto semplice da usare e creare uno script, quanto lo è fare uno script AHK, ma con l'ulteriore vantaggio di non dover eseguire un'app Windows emulata. E per le persone che dicono che non puoi fare questo o quello ... SBAGLIATO. Puoi fare di più dalla shell Linux rispetto a qualsiasi altro sistema operativo e puoi fare tutto ciò di cui stiamo parlando, incluso lo spostamento di finestre, e utilizzare comunque comandi di sistema intuitivi che sono integrati!


3
Per quanto ne so, questa risposta potrebbe essere corretta e accurata al 100%. Tuttavia, sarebbe  molto più utile se includesse alcuni esempi e / o istruzioni, o anche collegamenti a ulteriore documentazione.
Scott,

0

Vorrei sottolineare che tutte le soluzioni commentate sopra funzionano solo su sistemi X11. Non esiste alcuna soluzione (o almeno non ho ancora trovato nessuno) che funzioni su Wayland.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.