2Sep
Har du noen gang installert et Windows-program i 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 applikasjonen 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 kjentproblem 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 &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" - & gt;“Innstillinger”.
Gå til hurtigtast-kategorien og merk av i avkrysningsruten for "Bruk globale hurtigtaster".
Klikk på OK.
La det løpe i bakgrunnen slik at det kan gjøre jobben sin når vi henger tastetrykkene til 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 eksisterende OS-hurtigtastsystemet. 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 nøkkel --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka) - navn Balabolka) "ctrl + alt +F9 "
Lag et nytt skript denne gangen kalt" stop_read.sh "med følgende innhold:
xdotool nøkkel --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka) - navn 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.
Brems denne kommandoen til komponentene, det vi ser er:
- Den "-pid $( pgrep balabolka)" delen, utfører en "pgrep" på programmet vi vil bruke til å fastslå sin prosess ID.Dette vil begrense xdotolen arkivert av "søk" til bare den PID.
- Den "xdotool search -limit 1 -all. .. -name Balabolka" -delen, innsnevrer innsending av 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 returnert avProgrammet, 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 key -window% 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-tastatur 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:
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, klikker du på "Disabled" ordet for å få muligheten til å sette en ny nøkkelkombinasjon.
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.
Trykk på kombinasjonsboksen du har valgt og hør den magiske.
Ubuntu-tastatur
Under Ubuntu blir programmet som setter de globale hurtigtastene bare kalt "Tastatur".
Bytt til "Snarveier" -fanen og velg "Tilpassede snarveier".
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 å sette inn 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?