Početna » kako da » Kako povezati globalne hotkeove s WINE programom pod Linuxom

    Kako povezati globalne hotkeove s WINE programom pod Linuxom

    Jeste li ikada instalirali Windows program u Linuxu pod WINE, samo da biste otkrili da više ne veže vruće tipke sustava? HTG ima posao oko kojeg ste tražili.

    Slika djeucalyptusa

    Pregled

    Svatko tko je čak i pomislio na ideju prelaska na Linux, vjerojatno je vrlo brzo naišao na problem da postoji ova jedna Windows aplikacija koju trebate funkcionirati. Već smo vam pokazali da to možete postići koristeći WINE.

    Za ovog pisca, aplikacija je Text-To-Speech aplikacija koja koristi Microsoft SAPI4 motor. Instalacija programa pod WINE-om bila je povjetarac, no nakon završetka brzo sam otkrila da vruće tipke koje se koriste za pokretanje različitih akcija programa (početak čitanja, zaustavljanja čitanja, itd.) Nisu funkcionirale i da je to poznato problem s vinom.

    Drago mi je što mogu reći da sam, nakon eona pretraživanja, konačno pronašao rješenje u obliku GNU-ovog programa koji može manipulirati sučeljem X.org koristeći izvorne funkcije. Iako nije jedini takve vrste, xdotool je onaj koji je bio najlakši za rad i već je bio u skladištima Ubuntu / Minta..

    xdotool

    Xdotool program može obaviti mnoge zadatke povezane s prozorima iz CLI-ja, s tim da su samo dvije koje ćemo koristiti koristiti "search" i "key". Funkcija "traži" radi upravo to, traži prozor / s ID prema parametrima koje ste odredili. Funkcija "tipka" omogućuje vam simulaciju tipke ključa na ID prozora.

    Instalacija i konfiguracija

    Pretpostavlja se da ste već instalirali WINE i program koji vam je potreban. U ovom primjeru koristit ćemo Balabolku kao "Windows" aplikaciju jer je to dobra freeware replika izvornog programa za koje sam trebala ovo rješenje (2. govorni centar).

    Ako ste se odlučili za korištenje Balabolka, kao i, morate aktivirati svoje hotkeys sposobnost.
    Napomena: Možda ćete htjeti instalirati ili TTSReader ili drugi govorni centar čak iu demo načinu, tako da će SAPI glasovi biti instalirani. 

    Otvorite program i idite na postavke (Shift + F6) u odjeljku "Opcije" -> "Postavke".

    Idite na karticu hotkeys i označite potvrdni okvir "Use global hotkeys".

    Kliknite U redu.

    Ostavite ga da radi u pozadini tako da može obaviti svoj posao kada spojimo tipke na njega.

    Instalirajte xdotool izdavanjem:

    sudo apt-get install xdotool

    Globalno vezanje

    Sam program xdotool nam ne pomaže da se globalno vežemo za hotkeys, ali možemo koristiti već postojeći OS hotkey sustav. Ono što ćemo učiniti je stvoriti jednostavnu skriptu koja koristi xdotool za slanje pritisaka na tipke koje želimo u program Balabolka i pozvati ga iz OS hotkey sustava.

    Izradite skriptu pod nazivom "start_read.sh" sa sljedećim sadržajem:

    xdotool key --window $ (pretraživanje xdotool - ograničenje 1 - sve --pid $ (pgrep balabolka) - ime Balabolka) "ctrl + alt + F9"

    Napravite drugu skriptu ovog puta pod nazivom "stop_read.sh" sa sljedećim sadržajem:

    xdotool key - prozor $ (xdotool pretraživanje - ograničenje 1 - sve --pid $ (pgrep balabolka) - ime Balabolka) "ctrl + alt + F7"

    Napomena: Znam da je ovo jedan liner koji ne zahtijeva skriptu, ali program Mint / Ubuntu "Keyboard Shortcuts" nije surađivao samo s njegovim izravnim pozivanjem. Ako znate kako to učiniti, molimo podijelite komentare u nastavku.

    Kočenje ove naredbe na komponente, ono što vidimo je:

    • "-Pid $ (pgrep balabolka)" dio, izvršava "pgrep" na programu koji želimo koristiti kako bismo utvrdili njegov ID procesa. To će suziti xdotool podnesenu od "pretraživanja" na taj PID.
    • Dio "xdotool search-limit 1 -all… -name Balabolka" još više sužava polje pretraživanja xdotoola i ograničava vraćene odgovore na 1. Kao što je u našem slučaju nije važno koji od ID-ova prozora vraćeni program, ograničavanje rezultata djeluje kao format za naredbu “ključ”. Možda ćete morati više masirati ovaj dio ako je to važno za program koji koristite.
    • "Ključ xdotool - prozor% WINDOW_ID%" ctrl + alt + F7 "", šalje željeni pritisak na prozor prozor koji je dobio prethodnim dijelovima.

    Napravite izvršne skripte.

    Linux Mint tipkovnica prečaci

    Pod Linux Mintom, globalni hotkeys su postavljeni u programu "Keyboard Shortcuts".

    Nakon otvaranja Kliknite na "Dodaj" da biste izradili novi prilagođeni prečac:

    Dajte mu ime i pod "Command" dati pun put do jedne od skripti koje smo stvorili gore. Ponovite postupak za drugu skriptu.

    Sada u stupcu "Prečaci" kliknite riječ "Disabled" da biste dobili opciju postavljanja novog ključa.
    Napomena: Ako želite, možete upotrijebiti nešto drugo osim zadanog programa. U određenom smislu, kreiranje "preslikavanja" ključnih vezova koje bi, ovisno o programu koji koristite, inače bili izvan vaše kontrole.

    Pogodite kombinaciju koju ste odabrali i čujete čaroliju.

    Ubuntu tipkovnica

    Pod Ubuntuom se program koji postavlja globalne hotkeys naziva samo "tipkovnica".

    Prebacite se na karticu "Prečaci" i odaberite "Prilagođene prečice".

    Kliknite znak plus da biste dodali prečac. Dajte mu ime i pod "Command" dati pun put do jedne od skripti koje smo stvorili gore. Ponovite postupak za drugu skriptu.
    Sada kliknite na "Disabled" riječ da biste dobili opciju postavljanja novog kombiniranog ključa.

    Napomena: Ponavljajući na bilješci iz odjeljka Mint, možete, ako želite, upotrijebiti nešto drugo osim zadanog programa. U određenom smislu, kreiranje "preslikavanja" ključnih vezova koje bi, ovisno o programu koji koristite, inače bili izvan vaše kontrole.

    Autorske bilješke

    Svaki put kad sam ozbiljno razmislio o prelasku na Linux, ovo pitanje je bilo prvo na mom popisu problema. Ne radi se o tome da Linux nema problema, ali ovo je za mene bila prava prepreka. Pokušao sam uvijek iznova, pitao prijatelje / ljude na terenu, pa čak i ušao u blagodat ... Sretan sam što je ova saga gotova i da se moja duša konačno može odmoriti.
    Nadam se da sam nekome pomogao da ne mora proći kroz ista iskušenja.


    Doc Brown: Trebalo mi je gotovo trideset godina i cijelo moje obiteljsko bogatstvo da ostvarim viziju tog dana. Moj Bože, je li bilo tako dugo?