2Sep

Kuinka sitoa Global HotKeys WINE -ohjelmaan Linuxissa

click fraud protection

Oletko koskaan asentanut Windows-ohjelmaa Linuxissa WINE-ohjelmassa, vain selville, että se ei sitoudu laajakuvakehyksiä enää?HTG on työssäsi, jota olet etsinyt.

Kuva: djeukalyptus

Yleiskatsaus

Jokainen, joka on edes ajatellut siirtymistä Linuxiin, on todennäköisesti erittäin nopeasti joutunut kohtaamaan ongelman, että tämä on yksi Windows-sovellus, jonka tarvitset. Olemme jo osoittaneet, että voit tehdä tämän käyttämällä VIINI.

Tämän kirjoittajan sovellus oli Text-to-Speech-sovellus, joka hyödyntää Microsoft SAPI4-moottoria. Ohjelman asentaminen WINE-ohjelmaan oli tuulta, mutta päätyttyä olen nopeasti huomannut, että kuumapainikkeet, joita käytetään käynnistämään ohjelman eri toimintoja( aloittaa lukeminen, lopettaa lukeminen jne.), Eivät toimineet ja että tämä on tunnettuongelma VIINISSÄ.

Olen iloinen voidessani sanoa, että eonien etsimisen jälkeen olen löytänyt ratkaisun GNU-apuohjelman muodossa, joka voi manipuloida X.org-käyttöliittymää käyttämällä alkuperäisiä toimintoja. Vaikka se ei ole ainoa laatuaan, xdotool on se, joka oli helpoin saada toimimaan ja oli jo Ubuntu / Mint-arkistossa.

instagram viewer

xdotool

xdotool-ohjelma voi tehdä monia ikkunan liittyviä tehtäviä CLI: ltä, sillä sanotaan, että vain kaksi, jotka aiomme hyödyntää, ovat "haku" ja "avain"."Haku" -toiminto tekee juuri tämän, etsii ikkunan / s ID: n parametrien mukaan."Avain" -toiminnolla voit simuloida avain-iskun ikkunan tunnukselle.

Asennus &kokoonpano

Oletetaan, että olet jo asentanut viinin ja sen alla olevan ohjelman. Tässä esimerkissä käytämme Balabolkaa "Windows" -ohjelmana, koska se on hyvä ohjelmistopaketti alkuperäisestä ohjelmasta, jonka tarvitsin tämän ratkaisun( toinen puheen keskus).

Jos olet päättänyt käyttää Balabolkaa, sinun on aktivoitava sen pikanäppäimet.
Huomaa: Voit halutessasi asentaa joko TTSReaderin tai toisen puhepalvelukeskuksen demo-tilaan, jotta SAPI-äänet asennetaan.

Avaa ohjelma ja siirry asetuksiin( Shift + F6) kohdassa "Options" - & gt;"Asetukset".

Siirry pikanäppäimet-välilehteen ja valitse "Käytä globaaleja pikanäppäimiä" -valintaruutu.

Napsauta OK.

Jätä se taustalle niin, että se pystyy tekemään tehtävänsä, kun kytketään siihen näppäinpainallukset.

Asenna xdotool julkaisemalla:

sudo apt-get asenna xdotool

Globaali sitominen

Itse xdotool-ohjelma ei auta meitä sitomaan maailmanlaajuisesti pikanäppäimiin, mutta voimme käyttää jo olemassa olevaa pikanäppäimiä.Meidän on tehtävä yksinkertainen komentosarja, joka käyttää xdotoolia lähettämään Balabolka-ohjelmalle haluamamme näppäimistön ja soittamalla sen OS: n pikanäppäimistöstä.

Luo käsikirjoitus nimeltä "start_read.sh" seuraavalla sisällöllä:

xdotool avain --window $( xdotool haku --limit 1 --all --pid $( pgrep balabolka) - nimi Balabolka) ctrl + alt +F9 "

Luo toinen käsikirjoitus tällä kertaa nimeltään" stop_read.sh "seuraavalla sisällöllä:

xdotool avain --window $( xdotool haku --limit 1 --all --pid $( pgrep balabolka) - nimi Balabolka)ctrl + alt + F7 "

Huomaa: Tiedän, että tämä on yksi linjaliikennettä, joka ei vaadi komentorivejä, mutta Mint / Ubuntu" Keyboard Shortcuts "-ohjelma ei toiminut yhteistyössä vain kutsumalla sitä suoraan. Jos tiedät, miten se tehdään, jaa seuraavat kommentit.

Komennon jarruttaminen sen komponentteihin, mitä näemme on:

  • "-pid $( pgrep balabolka)" osa suorittaa ohjelman "pgrep", jota haluamme käyttää sen prosessidunnuksen selvittämiseen. Tämä kaventaa xdotoolin hakua "vain" PID: lle.
  • "xdotool search -limit 1 - kaikki. .. -nimi Balabolka" -osan kapea xdotoolin haun arkistointi entisestään ja rajoittaa palautetut vastaukset 1: een. Kuten meidän tapauksessamme ei ole väliä, mikä palautetut ikkunan tunnuksetohjelma rajoittaa tulosta toimii muotoilijana "avain" -komennolle. Saatat joutua hieromaan tätä osaa enemmän, jos sillä on merkitystä ohjelmalle, jota käytät.
  • "xdotool-avain -window% WINDOW_ID%" ctrl + alt + F7 "" -osio lähettää halutun näppäinpainalluksen ikkuna-ID: hen, joka saatiin edellisiltä osilta.

Tee komentosarjat suoritettaviksi.

Linux Mint Keyboard -pikakuvakkeet

Linux Mintin alla globaalit pikanäppäimet asetetaan "Keyboard Shortcuts" -ohjelmassa.

Avattu Napsauta "Lisää" luodaksesi uuden mukautetun pikakuvakkeen:

Anna sille nimi ja osoita "Komento" antaa täydellinen polku johonkin edellä luotuihin komentojoihin. Toista prosessi toiselle komentosarjalle.

Nyt "Pikakuvakkeet" -sarakkeessa napsauta "Disabled" -sana saadaksesi mahdollisuuden asettaa uusi avainyhteys.
Huomaa: Voit halutessasi käyttää jotain muuta kuin ohjelman oletusasetukset. Tietyssä mielessä luomalla "remap" avainsiteille, jotka käyttämästäsi ohjelmasta riippuen olisivat muutoin pois ohjauksestasi.

Napauta valitun yhdistelmän ja kuuntele taikuutta.

Ubuntu-näppäimistö

Ubuntun alla oleva ohjelma, joka asettaa maailmanlaajuiset pikanäppäimet, kutsutaan vain nimellä "Keyboard".

Vaihda "Pikakuvakkeet" -välilehdelle ja valitse "Mukautetut pikakuvakkeet".

Voit lisätä pikakuvakkeen napsauttamalla plusmerkkiä.Anna sille nimi ja alla "Komento" anna täydellinen polku yhteen yllä mainituista skripteistä.Toista prosessi toiselle komentosarjalle.
Klikkaa nyt "Ei käytössä" sanaa saadaksesi mahdollisuuden asettaa uusi avain yhdistelmä.

Huomautus: Toistetaan Mint-osiossa olevasta muistiosta, jos haluat, käyttää jotain muuta kuin ohjelman oletusarvo. Tietyssä mielessä luomalla "remap" avainsiteille, jotka käyttämästäsi ohjelmasta riippuen olisivat muutoin pois ohjauksestasi.

Tekijän huomautukset

Joka kerta, kun olen vakavasti harkinnut siirtymistä Linuxiin, tämä kysymys oli ensimmäinen ongelmal lista. Se ei ole, että Linuxilla ei ole ongelmia, mutta tämä oli todellinen este, minulle. Olen kokeillut kerta toisensa jälkeen, kysyin ystäviä / ihmisiä kentällä ja jopa tehnyt sen palkkiona. .. Olen onnellinen, että tämä saga on ohi ja että sieluni voi lopulta lepää.
Toivon, että olen auttanut jokua siellä, ettei tarvitse käydä samaa koettelemusta.

Doc Brown: Minulla on ollut lähes kolmekymmentä vuotta ja koko perheen omaisuuteni ymmärtämään kyseisen päivän visio. Jumala, onko se ollut niin kauan?