If-Koubou

Kuinka sitoa Global HotKeys WINE -ohjelmaan Linuxissa

Kuinka sitoa Global HotKeys WINE -ohjelmaan Linuxissa (Miten)

Oletko koskaan asentanut Windows-ohjelmaa Linuxissa WINE-ohjelmassa, vain selville, että se ei sitoudu laajakulmaisia ​​näppäimiä 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 törmännyt ongelmaan, että on olemassa tämä Windows-sovellus, jota 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 tunnettu ongelma VIINISSÄ.

Olen iloinen voidessani sanoa, että eonien etsimisen jälkeen olen viimein löytänyt ratkaisun muodossa GNU-apuohjelman, 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.

xdotool

Xdotool-ohjelma voi tehdä monia ikkunan liittyviä tehtäviä CLI: ltä, ja 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 ja kokoonpano

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

Jos olet päättänyt käyttää Balabolkaa, sinun on aktivoitava 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 "Asetukset" -> "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 voi tehdä tehtävänsä, kun kytketään siihen näppäinpainallukset.

Asenna xdotool antamalla:

sudo apt-get asenna xdotool

Globaali sitoutuminen

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 "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 skripti 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 komentoriviä, mutta Mint / Ubuntu "Keyboard Shortcuts" -ohjelma ei toiminut yhteistyössä vain kutsumalla sitä suoraan. Jos tiedät, miten se tehdään, jaa seuraavat kommentit.

Tämän käskyn jarrutus sen osiin, mitä me näemme:

  • "-Pid $ (pgrep balabolka)" osa suorittaa ohjelman "pgrep", jonka haluamme käyttää sen prosessidunnuksen selvittämiseen. Tämä kaventaa xdotoolin hakua "vain" PID: lle.
  • "Xdotool search -limit 1 - kaikki ... -nimi Balabolka" -osan kaventaa xdotoolin haun arkistointia entisestään ja rajoittaa palautetut vastaukset 1: een. Kuten meidän tapauksessamme ei ole väliä, mikä palautetut ikkunan tunnukset ohjelma, tuloksen rajoittaminen toimii "key" -komennon muotoilijana. 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 "" -osa lähettää halutun painikkeen ikkunan ID: lle, joka on saatu edellisiltä osilta.

Tee komentosarjat suoritettaviksi.

Linux Mint Keyboardpikakuvakkeet

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

Avattu avattu Napsauta "Lisää" luoda uusi mukautettu pikakuvake:

Anna sille nimi ja alla "Komento" anna täydellinen polku yhteen yllä mainituista skripteistä. Toista prosessi toiselle komentosarjalle.

Napsauta nyt pikavalintojen sarakkeesta sana "Disabled", niin saat uuden avaimen yhdistelmän.
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.

Nappaa yhdistelmä, jonka olet valinnut ja kuuntele taikuutta.

Ubuntun näppäimistö

Ubuntun puitteissa ohjelma, joka asettaa maailmanlaajuiset pikanäppäimet, kutsutaan vain nimellä "näppäimistö".

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

Napsauta plusmerkkiä lisätäksesi pikakuvakkeen. Anna sille nimi ja alla "Komento" anna täydellinen polku yhteen yllä mainituista skripteistä. Toista prosessi toiselle komentosarjalle.
Nyt klikkaa "Disabled" -sana saadaksesi mahdollisuuden asettaa uusi avain yhdistelmä.

Huomautus: Toistetaan Mint-osiossa olevasta huomautuksesta. 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.

Tekijän huomautukset

Joka kerta, kun olen vakavasti harkinnut siirtymistä Linuxiin, tämä kysymys oli ensimmäinen listallani ongelmista. 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 nähdäkseni tämän päivän visio. Jumalani, onko se ollut niin kauan?