Finns det en motsvarande produkt / metod för AutoHotkey?
För de som inte vet är det en produkt som låter dig programmera musrörelser och tangentbord. Detta gör att jag kan ”makro” vissa funktioner i program istället för att behöva göra det manuellt. Förr brukade de kalla dem tangentbordstoppare. Men det är bara hälften av lösningen eftersom jag också behöver en ”musrörelse” -stoppare.
Finns det ett sådant odjur?
Svar
Det finns en port av AutoHotKey till Linux som heter IronAHK och ett liknande verktyg som heter Autokey . Jag har inte heller använt det, jag vet inte hur bra de fungerar.
Förutom sådana program hittar du inte exakt samma typ av automatiseringsverktyg . Det grundläggande användarautomationsverktyget på unix-system är skalet. Skalet är limmet som kombinerar andra verktyg: det kan starta externa program och kontrollera hur de utbyter data. Själva skalet innehåller inte något för att manipulera GUI-begrepp som windows och muspekaren¹. Vad du gör är att kalla specialverktyg i ett skalskript, i synnerhet xdotool för att manipulera windows och injicera tangenttryckningar och mushändelser .
Till exempel klickar följande skript på positionen (40,20) i Myapps fönster.
#!/bin/sh xdotool search --class Myapp \ mousemove --window %1 40 20 \ click 1
¹ Förutom dtksh , men jag har aldrig sett en Linux-port på den.
Kommentarer
- Trevlig sammanfattning, synd att projektet är 4 år inaktuellt och binärfilerna är alla 404 ’ s, kommer dock att prova xdotoolen. Tack för att du tog dig tid.
- testade xdotool, fungerar som en charm men du bör definitivt läsa deras dokument innan du börjar
- AFAIK, IronAHK blev aldrig helt implementerad och har övergivits.
Svar
Det finns flera projekt som behandlar detta. De två mest aktiva, AFAIK, är sikuli och AutoKey (ett projekt som jag hjälper till att stödja .)
Jag har inte använt sikuli, men det verkar vara baserat på att hitta mönster på skärmen och utlösa åtgärder baserat på dem.
AutoKey tillåter användaren att definiera triggerfraser och snabbtangenter som expanderar fraser (som liknar en mycket kraftfull autokorrigeringsfunktion) eller kör skript skrivna i Python3 som bara begränsas av användarens programmeringsförmåga. Det ger ett API för generering av tangentbord och mushändelser. Det integreras också med Xautomation som låter för att hitta en liten bild på skärmen och flytta muspekaren till den.
Jag har använt AutoKey i många år och stöttat den i vår -lista . Det är som ett antal produktivitetsverktyg: du kan klara dig utan det, men när du börjar använda det undrar du hur du någonsin klarade dig utan det.
Några detaljer:
AutoKey fungerar inte med AutoH otKey definitioner och skript. De måste skrivas om.
Jag skrev ett proof of concept bash-skript (tillgängligt på begäran) som översätter AutoHotKey-fraser till AutoKey-fraser, men det är bara en utgångspunkt och ignorerar de flesta AutoHotKey-fraser. alternativ.
Eftersom AutoKey-skript skrivs i Python3 är det också möjligt att ringa till verktyg som xdotool och wmctrl inifrån ett skript för att ge ytterligare funktionalitet, men detta är vanligtvis inte nödvändigt. Även om AutoKey-skript är skrivna i Python, en hel del kan åstadkommas med mycket begränsad kunskap om Python. Du behöver inte vara en flytande Python-programmerare för de flesta ändamål.
Om du använder en Debian-baserad distribution, installera inte den version av AutoKey som tillhandahålls av din distribution. Deras AutoKey-paket är underhållet och mycket gammalt. Hämta en aktuell version från oss . Redigera: Detta var korrigerade i Debian-testning och derivat 2020. De erbjuder nu den senaste versionen.
Svar
Du kan använda xautomation i Linux. Jag använder den på Raspberry Pi-skärmar för att skicka F5-siduppdateringar och ”Return” (enter) tangenttryckningar för inloggningar.
Svar
Använd AutohotkeyX, det är en ny WINE-port med autohotkey som enligt winehq-testning gör allt som Autohokey kan göra på Windows. Det är lätt det bästa och mest enkla svaret.
https://appdb.winehq.org/objectManager.php?sClass=version&iId=17738
Jag har inte testat detta personligen, men WINEHQ-resultat tenderar
Svar
Ladda ner Autohotkey på Linux. Skapa en Autohotkey-fil (exempel.ahk). Använd vin för att köra Ahk2Exe.exe från Autohotkey-mappen. Kompilera ditt exempel.ahk-fil till exempel.exe Använd vin för att köra exempel.exe
Kommentarer
- Det ’ s inte ett bra alternativ. För närvarande är funktionaliteten hos Autohotkey genom vin mycket begränsad: appdb.winehq.org/… .
Svar
Här ”är en noob-lösning för noobs som jag:
De flesta skrivbordsmiljöer (DE) inkluderar en inbyggd tangentbordsgenvägsredigerare. Med hjälp av genvägsredigeraren kan du skriva anpassade bash-skript, konsolkommandon etc.
För att få AHK-liknande funktioner utöver vad din DE möjliggör via anpassad genvägar, installera xdotool (sudo apt install xdotool
) och skriv dina xdotool-kommandon i genvägsredigeraren (om du har gett alternativ för flera typer av genvägar, välj ” kommando ” alternativ):
xdotool [command]
(Ange man xdotool
i terminalen för att komma åt xdotool-manualen.)
Om du använder xdotool för att utöka dina anpassade genvägar är det en bra idé att ange ditt kommando i terminalen innan du g det som en snabbtangent, bara för att se till att det fungerar som förväntat.
Jag har ännu inte räknat ut hur jag får AHK-liknande hotstrings i Linux, men jag kommer att uppdatera om jag upptäcker en fungerande lösning.
Svar
Använd bara XEV och XMODMAP. ENKEL och bättre än dedikerade program eller efterliknande skitiga Windows-appar. Alla mina LINUX-grejer använder skript för att omdefiniera tangenter och ändra skärmlägen och sedan, när programmet är klart och avslutas, ställer du allt tillbaka till det normala. Det handlar om lika enkelt att använda XMODMAP och skapa ett skript som att göra ett AHK-skript, men med den extra bonusen att inte behöva köra en emulerad Windows-app.
Kommentarer
- Detta svar kan, för allt jag vet, vara 100% korrekt och korrekt. Det skulle dock vara mycket mer användbart om det innehöll några exempel och / eller instruktioner, eller till och med länkar till ytterligare dokumentation.