Kuidas siduda globaalseid hotkeys WINE programmiga Linuxi all
Kas olete kunagi Windowsis WINE'i alla installinud Windowsi programmi, et teada saada, et see ei seo enam süsteemi laia kiirklahve? HTG-l on teie ümber otsitud töö.
Pilt djeucalyptuse poolt
Ülevaade
Igaüks, kes on isegi mõelnud Linuxile ülemineku ideele, on ilmselt väga kiiresti silmitsi seisnud probleemiga, et on olemas üks Windowsi rakendus, mida peate kasutama. Oleme juba näidanud, et saate selle Viini abil teha.
Selle kirjaniku jaoks oli rakendus Text-To-Speech rakendus, mis kasutab Microsoft SAPI4 mootorit. Programmi WINE installimine oli imelihtne, kuid pärast lõpetamist avastasin kiiresti, et programmi eri toimingute käivitamiseks kasutatavad kiirklahvid (lugemise alustamine, lugemise lõpetamine jne) ei toiminud ja et see on tuntud probleem veiniga.
Mul on hea meel öelda, et pärast eonite otsimist leidsin ma lõpuks selle lahenduse GNU utiliidi kujul, mis suudab manipuleerida X.org liidesega natiivsete funktsioonide abil. Kuigi see ei ole ainus omataoline, oli xdotool see, mis oli kõige lihtsam töötada ja oli juba Ubuntu / Mintide hoidlates.
xdotool
Programm xdotool saab teha CLI-st palju aknaga seotud ülesandeid, millest öeldakse, et ainult kaks, mida me kasutame, on “otsing” ja “võti”. "Otsing" funktsioon teeb just seda, otsib akna / ID-d vastavalt sellele määratud parameetritele. „Võti“ funktsioon võimaldab teil simuleerida klahvivajutuse akna ID-le.
Paigaldamine ja seadistamine
Eeldatakse, et olete juba paigaldanud veini ja programmi, mida te vajate. Selles näites kasutame Balabolka kui "Windowsi" rakendust, sest see on hea programm, mis vajab algset programmi, mida ma vajain (teine kõnekeskus).
Kui olete valinud ka Balabolka kasutamise, peate aktiveerima selle kiirklahvid.
Märkus: Te võite installida kas TTSReaderi või 2. kõnekeskuse isegi demorežiimis, nii et SAPI hääled installitakse.
Avage programm ja minge seadistustesse (Shift + F6) jaotises "Valikud" -> "Seaded".
Minge kiirklahvide vahekaardile ja märkige märkeruut „Kasutage globaalseid kiirklahve”.
Klõpsake nuppu OK.
Jätke see taustal töötama, et see saaks oma tööd teha, kui me sellele klõpsame.
Installige xdotool, väljastades:
sudo apt-get installige xdotool
Üldine sidumine
Xdotooli programm ise ei aita meil ülemaailmselt siduda kiirklahvidega, kuid saame kasutada juba olemasolevat operatsioonisüsteemi kiirklahvide süsteemi. Mida me teeme on luua lihtne skript, mis kasutab xdotooli, et saata klahvivajutused, mida me tahame Balabolka programmis ja kutsume seda OS-i kiirklahvide süsteemist.
Looge skript nimega “start_read.sh” järgmise sisuga:
xdotool-klahv - window $ (xdotool-otsing - limit 1 - kõik - $ $ (pgrep balabolka) - nimi Balabolka) "ctrl + alt + F9"
Looge seekord teine skript nimega “stop_read.sh”, mille sisu on järgmine:
xdotool-võti - window $ (xdotool-otsing - limit 1 - kõik - $ $ (pgrep balabolka) - nimi Balabolka) "ctrl + alt + F7"
Märkus: ma tean, et tegemist on ühe vooderdisega, mis ei vaja skripti, kuid programmi Mint / Ubuntu “Keyboard Shortcuts” programm ei teinud koostööd, kui ta seda otse kutsus. Kui tead, kuidas seda teha, palun jaga allpool olevad kommentaarid.
Selle käsu pidurdamine komponentidele, mida me näeme, on:
- "Pid $ (pgrep balabolka)" osa käivitab programmi "pgrep", mida me tahame kasutada selle protsessi ID tuvastamiseks. See kitsendab „otsing” -le esitatud xdotooli just sellele PID-le.
- "Xdotool search -limit 1 -all… -name Balabolka" osa kitsendab xdotooli otsingu esitamist veelgi ja piirab tagastatud vastuseid numbrile 1. Nagu meie puhul, ei ole oluline, millised akna ID-d on tagastatud programm, mis piirab tulemust “võtme” käsu vormindajana. Te võite leida, et peate seda osa massaaži rohkem massaaži kasutama, kui see on teie kasutatava programmi jaoks oluline.
- "Xdotool key -window% WINDOW_ID%" ctrl + alt + F7 "" osa saadab soovitud klahvivajutuse akna ID-le, mis saadi eelmistest osadest.
Tehke skriptid käivitatavaks.
Linuxi rahapaja klaviatuur otseteed
Linux Minti all on globaalsed kiirklahvid seatud programmi „Klaviatuuri otseteed”.
Avatud kliki nupul „Lisa“ uue kohandatud otsetee loomiseks:
Andke talle nimi ja andke “Command” all täielik tee ühele ülalkirjeldatud skriptidest. Korrake teist skripti.
Klõpsake veerus „Otseteed“ klõpsates sõna „Keelatud”, et saada uus võtme kombinatsioon.
Märkus: Võite soovi korral kasutada mõnda muud, kui programmi vaikimisi. Mõnes mõttes luuakse „ümberpaigutamine” võtmega seotud sidemetele, mis sõltuvalt kasutatavast programmist oleks muidu teie kontrolli alt väljas.
Tippige valitud kombinatsioon ja kuulake maagiat.
Ubuntu klaviatuur
Ubuntu all nimetatakse programmi, mis määrab globaalsed kiirklahvid, just "Keyboard".
Lülitage vahekaardile "Otseteed" ja valige "Kohandatud otseteed".
Otsetee lisamiseks klõpsake plussmärki. Andke talle nimi ja andke “Command” all täielik tee ühele ülalkirjeldatud skriptidest. Korrake teist skripti.
Nüüd klõpsa sõna „Keelatud”, et saada uus võtmekombinatsioon.
Märkus: Kui soovite, siis mündi jaotise märkme kordamisel võite kasutada midagi muud kui programmi vaikimisi. Mõnes mõttes luuakse „ümberpaigutamine” võtmega seotud sidemetele, mis sõltuvalt kasutatavast programmist oleks muidu teie kontrolli alt väljas.
Autori märkused
Iga kord, kui olen tõsiselt kaalunud Linuxi liikumist, oli see probleem minu esimeses probleemide nimekirjas. See ei ole see, et Linuxil ei ole probleeme, kuid see oli minu jaoks tõeline takistus. Olen proovinud ikka ja jälle, küsinud sõprade / inimeste kohta põllul ja isegi teinud selle loovaks… olen õnnelik, et see saaga on läbi ja et mu hing saab lõpuks puhata.
Ma loodan, et olen aidanud kedagi sealt, et ei peaks sama katsumust läbima.
Doc Brown: See on võtnud mind ligi kolmkümmend aastat ja kogu mu õnn, et realiseerida selle päeva visioon. Minu Jumal, kas see on nii pikk?