AutoHotkey-ekvivalent

Finnes det et tilsvarende produkt / metode for AutoHotkey?

For de som ikke vet, er det et produkt som lar deg programmere musebevegelser og tastatur. Dette tillater meg å «makro» visse funksjoner på programmer i stedet for å måtte gjøre det manuelt. I gamle dager kalte de dem tastaturstoppere. Men det er bare halvparten av løsningen da jeg også trenger en «musebevegelse» -stopp.

Er det et slikt dyr?

Svar

Det er en port av AutoHotKey til Linux kalt IronAHK og et lignende verktøy kalt Autokey . Jeg har heller ikke brukt det, jeg vet ikke hvor godt de fungerer.

Annet enn slike programmer, finner du ikke nøyaktig samme type automatiseringsverktøy. . Det grunnleggende brukerautomatiseringsverktøyet på unix-systemer er skallet. Skallet er limet som kombinerer andre verktøy: det kan starte eksterne programmer og kontrollere hvordan de utveksler data. Selve skallet inkluderer ikke noe som kan manipulere GUI-begreper som windows og musepekeren¹. Det du gjør er å kalle spesialverktøy i et skallskript, spesielt xdotool for å manipulere windows, og injisere tastetrykk og mushendelser .

For eksempel klikker følgende skript på posisjonen (40,20) i vinduet til Myapp.

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

¹ Bortsett fra dtksh , men jeg har aldri sett en Linux-port på den.

Kommentarer

  • Fin oppsummering, synd at prosjektet er 4 år utdatert og binærfilen er alle 404 ‘ s, vil gi xdotool et forsøk skjønt. Takk for at du tok deg tid.
  • prøvd ut xdotool, fungerer som en sjarm, men du bør definitivt lese dokumentene deres før du starter
  • AFAIK, IronAHK ble aldri fullt implementert og har blitt forlatt.

Svar

Det er flere prosjekter som adresserer dette. De to mest aktive, AFAIK, er sikuli og AutoKey (et prosjekt jeg hjelper med å støtte .)

Jeg har ikke brukt sikuli, men det ser ut til å være basert på å finne mønstre på skjermen og utløse handlinger basert på dem.

AutoKey lar brukeren definere triggerfraser og hurtigtaster som utvider setninger (ligner på en veldig kraftig autokorrigeringsfunksjon) eller kjører skript skrevet i Python3 som bare er begrenset av brukerens programmeringsevner. Det gir et API for generering av tastatur og mus. Det integreres også med Xautomation som lar deg for å finne et lite bilde på skjermen og flytte musepekeren til det.

Jeg har brukt AutoKey i mange år og støttet det på -listen . Det er som en rekke produktivitetsverktøy: du kan klare deg uten det, men når du begynner å bruke det, vil du lure på hvordan du noen gang klarte deg uten det.

Noen detaljer:

AutoKey fungerer ikke med AutoH otKey definisjoner og skript. De må skrives om.

Jeg skrev et proof of concept bash-skript (tilgjengelig på forespørsel) som oversetter AutoHotKey-setninger til AutoKey-setninger, men det er bare et utgangspunkt og ignorerer de fleste AutoHotKey-setningene. alternativer.

Siden AutoKey-skript er skrevet i Python3, er det også mulig å ringe til verktøy som xdotool og wmctrl fra et skript for å gi ekstra funksjonalitet, men dette er vanligvis ikke nødvendig. Selv om AutoKey-skript er skrevet i Python, kan ganske mye oppnås med svært begrenset kunnskap om Python. Du trenger ikke å være en flytende Python-programmerer for de fleste formål.

Hvis du bruker en Debian-basert distribusjon, ikke installer versjonen av AutoKey levert av distribusjonen. AutoKey-pakken deres er ikke vedlikeholdt og veldig gammel. Få en nåværende versjon fra oss . Rediger: Dette var korrigert i Debian-testing og derivater i 2020. De tilbyr nå den nyeste utgivelsen.

Svar

Du kan bruke xautomation i Linux. Jeg bruker den på Raspberry Pi-skjermbilder, for å sende F5-sideoppdateringer og «Return» (enter) tastetrykk for pålogginger.

Svar

Bruk AutohotkeyX, det er en nylig WINE-port med autohotkey, som ifølge winehq-testing gjør alt som Autohokey er i stand til å gjøre på windows. Det er lett det beste og mest enkle svaret.

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

Jeg har ikke testet dette personlig, men WINEHQ-resultatene pleier

Svar

Last ned Autohotkey på Linux. Opprett en Autohotkey-fil (eksempel.ahk). Bruk vin til å kjøre Ahk2Exe.exe fra Autohotkey-mappen. Sett sammen ditt eksempel.ahk-fil til eksempel.exe Bruk vin til å kjøre eksempel.exe

Kommentarer

  • Det ‘ s ikke et godt alternativ. For nå er funksjonaliteten til Autohotkey gjennom vin veldig begrenset: appdb.winehq.org/… .

Svar

Her «er noob-løsning for noobs som meg:

De fleste skrivebordsmiljøer (DE) inkluderer en innebygd hurtigtasteditor. Ved hjelp av snarveieredigereren kan du skrive tilpassede bash-skript, konsollkommandoer osv.

For å få AHK-lignende funksjonalitet utover hva DE gjør mulig via tilpasset snarveier, installer xdotool (sudo apt install xdotool) og skriv xdotool-kommandoene i snarveieredigereren (hvis du har gitt muligheter for flere typer snarveier, velg » kommando » alternativ):

xdotool [command] 

(Skriv inn man xdotool i terminalen for å få tilgang til xdotoolmanualen.)

Hvis du bruker xdotool for å utvide dine egendefinerte snarveier, er det en god ide å legge inn kommandoen din i terminalen før du setter inn g det som hurtigtast, bare for å sikre at det fungerer som forventet.

Jeg har ennå ikke funnet ut hvordan jeg kan få AHK-lignende hotstrings i Linux, men jeg oppdaterer hvis jeg oppdager en brukbar løsning.

Svar

Bare bruk XEV og XMODMAP. ENKEL og bedre enn dedikerte programmer eller etterligning av skitne Windows-apper. Alle LINUX-tingene mine bruker skript for å omdefinere taster og endre skjermmodus, og deretter, når programmet er ferdig og avsluttet, setter du alt tilbake til det normale. Det handler om like enkelt å bruke XMODMAP og lage et skript som det er å lage et AHK-skript, men med den ekstra bonusen at du ikke trenger å kjøre en emulert Windows-app.

Kommentarer

  • Dette svaret kan, for alt jeg vet, være 100% riktig og nøyaktig. Det ville imidlertid være mye mer nyttig hvis det inkluderte noen eksempler og / eller instruksjoner, eller til og med lenker til ytterligere dokumentasjon.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *