Slik binder Global HotKeys til et WINE-program under Linux

Innholdsfortegnelse:

Slik binder Global HotKeys til et WINE-program under Linux
Slik binder Global HotKeys til et WINE-program under Linux

Video: Slik binder Global HotKeys til et WINE-program under Linux

Video: Slik binder Global HotKeys til et WINE-program under Linux
Video: Telnet vs SSH Explained - YouTube 2024, April
Anonim
Har du noen gang installert et Windows-program på Linux under WINE, bare for å oppdage at det ikke binder systembrede hurtigtaster lenger? HTG har det arbeidet du har latt etter.
Har du noen gang installert et Windows-program på Linux under WINE, bare for å oppdage at det ikke binder systembrede hurtigtaster lenger? HTG har det arbeidet du har latt etter.

Bilde av djeucalyptus

Oversikt

Alle som selv har tenkt på ideen om å bytte til Linux, har sannsynligvis svært raskt støtt på problemet at det er denne Windows-appen du trenger å fungere. Vi har allerede vist deg at du kan oppnå dette ved hjelp av WINE.

For denne forfatteren var søknaden en tekst-til-tale-applikasjon som benytter Microsoft SAPI4-motoren. Installering av programmet under WINE var en bris, men etter ferdigstillelse har jeg raskt funnet ut at hurtigtaster som brukes til å utløse de forskjellige handlinger av programmet (begynner å lese, stoppe lesing, osv.) Ikke fungerte, og at dette er kjent problem med vin.

Jeg er glad for å si at etter eons of searching, har jeg endelig funnet løsningen i form av et GNU-verktøy som kan manipulere X.org-grensesnittet ved hjelp av innfødte funksjoner. Selv om det ikke er det eneste i sitt slag, er xdotool det som var det enkleste å få jobbe og var allerede i Ubuntu / Mint-repositoriene.

xdotool

Xdotool programmet kan gjøre mange vindu relaterte oppgaver fra CLI, med det sagt, de eneste to vi skal bruke er "søk" og "nøkkel". Funksjonen "søk" gjør nettopp det, søker etter et vindu / s-ID i henhold til parametere du angir for det. Med "nøkkel" -funksjonen kan du simulere et tastetrykk til et vindu-ID.

Installasjon og konfigurasjon

Det antas at du allerede har installert WINE og programmet du trenger under det. I dette eksemplet bruker vi Balabolka som "Windows" -applikasjonen fordi det er en god freeware-kopi av det opprinnelige programmet jeg trengte denne løsningen for (2. talesenter).

Hvis du har valgt å bruke Balabolka, må du aktivere hurtigtastens evne. Merk: Du vil kanskje installere enten TTSReader eller 2. talesenter selv i demomodus, slik at SAPI-stemmer blir installert.

Åpne programmet og gå til innstillinger (Shift + F6) under "Options" -> "Settings".

Gå til hurtigtast-fanen og merk av i avkrysningsruten for "Bruk globale hurtigtaster"
Gå til hurtigtast-fanen og merk av i avkrysningsruten for "Bruk globale hurtigtaster"
 Klikk på OK.
Klikk på OK.

La den løpe i bakgrunnen slik at den kan gjøre jobben sin når vi henger tastetrykkene på den.

Installer xdotool ved å utstede:

sudo apt-get install xdotool

Global binding

Xdotool-programmet i seg selv hjelper oss ikke med å binde globalt til hurtigtaster, men vi kan bruke det allerede eksisterende operativsystemet for hurtigtast. Det vi skal gjøre er å lage et enkelt skript som bruker xdotool til å sende tastetrykkene vi ønsker å Balabolka-programmet og kalle det fra OS-hurtigtastsystemet.

Opprett et skript kalt "start_read.sh" med følgende innhold:

xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) 'ctrl+alt+F9'

Opprett et nytt skript denne gangen kalt "stop_read.sh" med følgende innhold:

xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) 'ctrl+alt+F7'

Merk: Jeg vet at dette er en liner som ikke krever et skript, men programmet Mint / Ubuntu "Tastaturgenveier", samarbeidte ikke med å bare anrope det direkte. Hvis du vet hvordan du gjør det, vennligst del i kommentarene nedenfor.

Bremsing denne kommandoen til komponentene, det vi ser er:

  • Den "-pid $ (pgrep balabolka)" delen, utfører en "pgrep" på programmet vi vil bruke for å fastslå sin prosess ID. Dette vil begrense xdotolen arkivert av "søk" til bare den PID.
  • "Xdotool search -limit 1 -all … -name Balabolka" -delen, innsnevrer innsendte søk av xdotool enda mer og begrenser de returnerte svarene til 1. Som i vårt tilfelle spiller det ingen rolle hvilken av vinduets ID-er som er returnert av Program, som begrenser resultatet, fungerer som en formatter for "nøkkel" -kommandoen. Du må kanskje finne at du må massere denne delen mer hvis det betyr noe for det programmet du bruker.
  • "Xdotool-nøkkelen -vind% WINDOW_ID%" ctrl + alt + F7 "" delen, sender ønsket tastetrykk til vinduetID som ble oppnådd av de forrige delene.

Gjør skriptene kjørbare.

Linux Mint Keyboard snarveier

Under Linux Mint er de globale hurtigtaster satt i "Tastaturgenveier" -programmet.

Når åpnet Klikk på "Legg til" for å opprette en ny egendefinert snarvei:
Når åpnet Klikk på "Legg til" for å opprette en ny egendefinert snarvei:
Gi det et navn og under "Kommando" gi hele banen til et av skriptene vi har opprettet over. Gjenta prosessen for det andre skriptet.
Gi det et navn og under "Kommando" gi hele banen til et av skriptene vi har opprettet over. Gjenta prosessen for det andre skriptet.

Nå, i "Snarveier" -kolonnen, klikk på "Disabled" ordet for å få muligheten til å sette en ny tastekombinasjon. Merk: Du kan, hvis du ønsker, bruke noe annet enn programmets standard. På en måte skape en "remap" til nøkkelbindinger som ellers vil være ute av kontroll, avhengig av hvilket program du bruker.

Hit den kombinasjonsboksen du har valgt og høre den magiske.
Hit den kombinasjonsboksen du har valgt og høre den magiske.

Ubuntu-tastatur

Under Ubuntu blir programmet som setter de globale hurtigtaster bare kalt "Tastatur".

Bytt til "Snarveier" -fanen og velg "Tilpassede snarveier"
Bytt til "Snarveier" -fanen og velg "Tilpassede snarveier"
Image
Image

Klikk på plustegnet for å legge til en snarvei. Gi det et navn og under "Kommando" gi hele banen til et av skriptene vi har opprettet over. Gjenta prosessen for det andre skriptet. Klikk nå på "Disabled" ordet for å få muligheten til å angi en ny tastekombinasjon.

Merk: Gjenta på notatet fra Mint-delen, kan du, hvis du ønsker, bruke noe annet enn programmets standard. På en måte skape en "remap" til nøkkelbindinger som ellers vil være ute av kontroll, avhengig av hvilket program du bruker.

Forfatterens notater

Hver gang jeg seriøst vurdert å flytte til Linux, var dette problemet det første på listen over problemer. Det er ikke at Linux ikke har problemer, men dette var den virkelige hindringen, for meg. Jeg har prøvd gang på gang, spurte venner / folk i feltet og til og med gjort det til en god pris … Jeg er glad denne saga er over, og at min sjel endelig kan hvile. Det er mitt håp at jeg har hjulpet noen der ute for ikke å gå gjennom samme prøvelse.

Doc Brown: Det har tatt meg nesten tretti år og hele familien min for å realisere visjonen om den dagen. Min Gud, har det vært så lenge?

Anbefalt: