Kotisivu » miten » Miten sitoa globaalit hotkeys WINE-ohjelmaan Linuxissa

    Miten sitoa globaalit hotkeys WINE-ohjelmaan Linuxissa

    Oletko koskaan asentanut Windows-ohjelman Linuxissa WINE-ohjelman alla vain huomataksesi, että se ei sido järjestelmän laajoja pikanäppäimiä enää? HTG: llä on etsimäsi työ.

    Kuva: djeucalyptus

    Yleiskatsaus

    Jokainen, joka on edes ajatellut ajatusta siirtymisestä Linuxiin, on luultavasti erittäin nopeasti kohdannut ongelman, että tämä Windows-sovellus on tarpeen. Olemme jo osoittaneet, että voit tehdä tämän käyttämällä WINE-ohjelmaa.

    Tätä kirjoitinta varten sovellus oli Text-To-Speech -sovellus, joka hyödyntää Microsoft SAPI4 -moottoria. Ohjelman asentaminen WINE-ohjelman alla oli tuulta, mutta sen päätyttyä olen nopeasti havainnut, että ohjelman eri toimien käynnistämiseen käytettävät pikanäppäimet (lukemisen aloittaminen, lukemisen lopettaminen jne.) Eivät toimi ja että tämä on tunnettu ongelma viinillä.

    Olen iloinen voidessani sanoa, että haun jälkeen, olen löytänyt lopulta ratkaisun GNU-apuohjelman muodossa, joka voi manipuloida X.org-liitäntää käyttäen natiivi-toimintoja. Vaikka Xdotool ei ole ainoa laatuaan, se oli helpoin työskennellä ja oli jo Ubuntu / Mint-arkistossa.

    xdotool

    Xdotool-ohjelma voi tehdä monia ikkunaan liittyviä tehtäviä CLI: ltä, ja sen mukaan vain kaksi, joita aiomme käyttää, ovat haku ja avain. Hakutoiminto tekee juuri sen, etsii ikkunan / tunnuksen sen asettamien parametrien mukaan. ”Avain” -toiminnolla voit simuloida avainnähdettä ikkunan tunnukseen.

    Asennus ja konfigurointi

    Oletetaan, että olet jo asentanut viinin ja sen tarvitseman ohjelman. Tässä esimerkissä käytämme Balabolkaa "Windows" -sovelluksena, koska se on hyvä freeware-kopio alkuperäisestä ohjelmasta, jota tarvitsin tätä ratkaisua varten (toinen puhe-keskus).

    Jos olet valinnut käyttää myös Balabolkaa, sinun täytyy aktivoida sen pikanäppäimet.
    Huomautus: Saatat haluta asentaa joko TTSReaderin tai toisen puhe- keskuksen myös demo-tilassa, jotta SAPI-äänet asennetaan. 

    Avaa ohjelma ja siirry asetuksiin (Shift + F6) kohdassa Asetukset -> Asetukset.

    Siirry pikanäppäinten välilehteen ja valitse "Käytä maailmanlaajuisia pikanäppäimiä" -valintaruutu.

    Valitse OK.

    Jätä se taustalle niin, että se voi tehdä työnsä, kun kiinnitämme näppäimistön siihen.

    Asenna xdotool myöntämällä:

    sudo apt-get asenna xdotool

    Maailmanlaajuinen sitominen

    Xdotool-ohjelma ei yksin auta meitä sitomaan maailmanlaajuisesti pikanäppäimiin, mutta voimme käyttää jo olemassa olevaa käyttöjärjestelmän pikanäppäinjärjestelmää. Mitä me teemme, on luoda yksinkertainen komentosarja, joka käyttää xdotoolia lähettämään haluamasi näppäimistöt Balabolka-ohjelmaan ja kutsumaan sitä käyttöjärjestelmän pikanäppäinjärjestelmästä.

    Luo komento ”start_read.sh”, jonka sisältö on seuraava:

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

    Luo tällä kertaa toinen komentosarja nimeltä “stop_read.sh”, jonka sisältö on seuraava:

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

    Huomautus: Tiedän, että tämä on yksi linja, joka ei vaadi komentosarjaa, mutta Mint / Ubuntu-näppäimistön pikanäppäimet -ohjelma ei ollut yhteistyössä vain vetämällä sitä suoraan. Jos tiedät, miten se tehdään, jaa alla olevat kommentit.

    Tämän komennon jarruttaminen sen osiin, mitä näemme:

    • "Pid $ (pgrep balabolka)" -osa suorittaa "pgrep" ohjelman, jota haluamme käyttää sen prosessitunnuksen varmistamiseksi. Tämä kaventaa “hakua” sisältävää xdotoolia juuri tähän PID: ään.
    • "Xdotool search -limit 1 -all… -name Balabolka" -osa kaventaa entisestään xdotool-haun hakemista ja rajoittaa palautetut vastaukset 1. Kuten meidän tapauksessamme, ei ole väliä, mitkä ikkunan tunnukset palautettiin ohjelma rajoittaa tulosta toimii ”avaimen” komennon muotoilijana. Saatat joutua hieromaan tätä osaa enemmän, jos sillä on merkitystä käytetyn ohjelman kannalta.
    • "Xdotool-näppäin -window% WINDOW_ID%" ctrl + alt + F7 "" -osa lähettää halutun näppäimistön ikkunaanID, joka saatiin edellisillä osilla.

    Tee komentosarjat suoritettaviksi.

    Linux Mint -näppäimistö pikakuvakkeet

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

    Kun olet avannut, luo uusi mukautettu pikakuvake napsauttamalla Lisää.

    Anna sille nimi ja anna komento-komennolla täydellinen polku johonkin edellä luoduista skripteistä. Toista prosessi toiselle komentosarjalle.

    Napsauta "Pikakuvakkeet" -sarakkeessa "Poista käytöstä" -sanaa, jotta saat uuden näppäinyhdistelmän.
    Huomautus: Voit halutessasi käyttää jotain muuta kuin ohjelman oletusarvoa. Jossakin mielessä luodaan "remap" avainliitoksille, jotka muuten käytettävästä ohjelmasta riippuen olisivat poissa käytöstä.

    Osoita valitsemaasi yhdistelmää ja kuule taikuutta.

    Ubuntu-näppäimistö

    Ubuntu-ohjelmassa maailmanlaajuinen pikanäppäimiä määrittävä ohjelma on juuri nimeltään "Keyboard".

    Vaihda pikakuvakkeet-välilehteen ja valitse ”Mukautetut pikakuvakkeet”.

    Lisää pikakuvake napsauttamalla plusmerkkiä. Anna sille nimi ja anna komento-komennolla täydellinen polku johonkin edellä luoduista skripteistä. Toista prosessi toiselle komentosarjalle.
    Napsauta nyt "Pois käytöstä" -sanaa, jotta saat uuden näppäinyhdistelmän.

    Huomautus: Voit toistaa muistiinpanon Mint-osiosta, jos haluat, jos haluat, käyttää jotain muuta kuin ohjelman oletusarvoa. Jossakin mielessä luodaan "remap" avainliitoksille, jotka muuten käytettävästä ohjelmasta riippuen olisivat poissa käytöstä.

    Kirjoittajan muistiinpanot

    Joka kerta, kun olen harkinnut vakavasti siirtymistä Linuxiin, tämä ongelma oli ensimmäinen ongelmani luettelossani. Sen ei ole, että Linuxilla ei ole ongelmia, mutta tämä oli minulle todellinen este. Olen yrittänyt yhä uudelleen, kysynyt ystäviä / ihmisiä kentällä ja jopa tehnyt sen palkiksi… Olen iloinen, että tämä saaga on ohi ja että sieluni voi lopulta levätä.
    Toivon, että olen auttanut jotakuta siellä ei tarvitse käydä läpi saman koettelemuksen.


    Doc Brown: Se vie minut lähes kolmekymmentä vuotta ja koko perheen omaisuuteni toteuttaa tämän päivän visio. Jumalani, onko se ollut niin pitkä?