Er der et ækvivalent produkt / metode til AutoHotkey?
For dem der ikke ved, er det et produkt, der giver dig mulighed for at programmere musens bevægelser og tastatur. Dette giver mig mulighed for at “makro” bestemte funktioner på programmer i stedet for at skulle gøre det manuelt. I gamle dage kaldte de dem tastaturfyldere. Men det er kun halvdelen af løsningen, da jeg også har brug for en “musebevægelses” stopper.
Er der sådan et dyr?
Svar
Der er en port af AutoHotKey til Linux kaldet IronAHK og et lignende værktøj kaldet Autokey . Jeg har heller ikke brugt det, jeg ved ikke, hvor godt de fungerer.
Bortset fra sådanne programmer vil du ikke finde nøjagtig den samme slags automatiseringsværktøjer . Det grundlæggende brugerautomationsværktøj på unix-systemer er skallen. Skallen er limen, der kombinerer andre værktøjer: den kan starte eksterne programmer og kontrollere, hvordan de udveksler data. Selve skallen inkluderer ikke noget til at manipulere GUI-begreber som windows og musemarkøren¹. Hvad du gør er at kalde specialværktøjer i et shell-script, især xdotool for at manipulere windows og injicere tastetryk og musebegivenheder .
For eksempel klikker følgende script på positionen (40,20) i Myapp-vinduet.
#!/bin/sh xdotool search --class Myapp \ mousemove --window %1 40 20 \ click 1
¹ Bortset fra dtksh , men jeg har aldrig set en Linux-port af den.
Kommentarer
- Rart sammendrag, skam, at projektet er 4 år forældet, og binærfiler er alle 404 ‘ s, vil dog prøve xdotool. Tak, fordi du tog dig tid.
- prøvede xdotool, fungerer som en charme, men du bør bestemt læse deres dokumenter, inden du starter
- AFAIK, IronAHK blev aldrig fuldt implementeret og er blevet opgivet.
Svar
Der er flere projekter, der løser dette. De to mest aktive, AFAIK, er sikuli og AutoKey (et projekt, jeg hjælper med at støtte .)
Jeg har ikke brugt sikuli, men det ser ud til at være baseret på at finde mønstre på skærmen og udløse handlinger baseret på dem.
AutoKey giver brugeren mulighed for at definere triggerfraser og genvejstaster, der udvider sætninger (svarende til en meget kraftig autokorrektionsfunktion) eller kører scripts skrevet i Python3, som kun er begrænset af brugerens programmeringsevner. Det giver en API til generering af tastatur og mushændelse. Det integreres også med Xautomation, som giver dig for at finde et lille billede på skærmen og flytte musemarkøren til det.
Jeg har brugt AutoKey i mange år og understøtter det på vores liste . Det ligner et antal produktivitetsværktøjer: du kan klare dig uden det, men når du først begynder at bruge det, vil du undre dig over, hvordan du nogensinde klarede dig uden det.
Nogle detaljer:
AutoKey fungerer ikke med AutoH otKey definitioner og scripts. De bliver nødt til at blive omskrevet.
Jeg skrev et bevis på koncept-bash-script (tilgængeligt efter anmodning), der oversætter AutoHotKey-sætninger til AutoKey-sætninger, men det er kun et udgangspunkt og ignorerer de fleste af AutoHotKey-sætninger valgmuligheder.
Da AutoKey-scripts er skrevet i Python3, er det også muligt at kalde på værktøjer som xdotool og wmctrl fra et script for at give yderligere funktionalitet, men dette er typisk ikke nødvendigt. Selvom AutoKey-scripts er skrevet i Python, en hel del kan opnås med en meget begrænset viden om Python. Du behøver ikke være en flydende Python-programmør til de fleste formål.
Hvis du bruger en Debian-baseret distribution, installer venligst ikke den version af AutoKey, der leveres af din distribution. Deres AutoKey-pakke er ikke vedligeholdt og meget gammel. Hent en aktuel version fra os . Rediger: Dette var korrigeret i Debian-test og derivater i 2020. De tilbyder nu den nyeste udgivelse.
Svar
Du kan bruge xautomation i Linux. Jeg bruger det på Raspberry Pi-skærmbilleder til at sende F5-sideopdateringer og “Return” (indtast) tastetryk til login.
Svar
Brug AutohotkeyX, det er en nylig WINE-port med autohotkey, der ifølge winehq-test gør alt, hvad Autohokey er i stand til at gøre på windows. Det er let det bedste og mest enkle svar.
https://appdb.winehq.org/objectManager.php?sClass=version&iId=17738
Jeg har ikke testet dette personligt, men WINEHQ-resultater har tendens
Svar
Download Autohotkey på Linux. Opret en Autohotkey-fil (eksempel.ahk). Brug vin til at køre Ahk2Exe.exe fra mappen Autohotkey. Kompilér dit eksempel.ahk-fil til eksempel.exe Brug vin til at køre eksempel.exe
Kommentarer
- Det ‘ s ikke en god mulighed. Indtil videre er funktionaliteten af Autohotkey kørt gennem vin meget begrænset: appdb.winehq.org/… .
Svar
Her “er en noob-løsning til noobs som mig:
De fleste desktop-miljøer (DE) inkluderer en indbygget tastaturgenvejseditor. Ved hjælp af genvejseditoren kan du skrive brugerdefinerede bash-scripts, konsolkommandoer osv.
For at få AHK-lignende funktionalitet ud over hvad din DE muliggør via brugerdefineret genveje, installer xdotool (sudo apt install xdotool
) og skriv dine xdotool-kommandoer i genvejseditoren (hvis du har givet indstillinger til flere typer genveje, skal du vælge ” kommando ” option):
xdotool [command]
(Indtast man xdotool
i terminalen for at få adgang til xdotool-manualen.)
Hvis du bruger xdotool til at udvide dine brugerdefinerede genveje, er det en god idé at indtaste din kommando i terminalen, før du sætter g det som en genvejstast, bare for at sikre, at det fungerer som forventet.
Jeg har endnu ikke fundet ud af, hvordan jeg får AHK-lignende hotstrings i Linux, men jeg opdaterer, hvis jeg finder en brugbar løsning.
Svar
Brug bare XEV og XMODMAP. ENKEL og bedre end dedikerede programmer eller efterligning af skøre Windows-apps. Alle mine LINUX-ting bruger scripts til at omdefinere taster og ændre skærmtilstande, og sæt derefter alt tilbage til det normale, når programmet er færdigt og afsluttet. Det handler om lige så let at bruge XMODMAP og lave et script, som det er at lave et AHK-script, men med den ekstra bonus, at du ikke behøver at køre en emuleret Windows-app.
Kommentarer
- Dette svar kan, for alt hvad jeg ved, være 100% korrekt og nøjagtigt. Det ville dog være en masse mere nyttigt, hvis det indeholdt nogle eksempler og / eller instruktioner eller endda links til yderligere dokumentation.