2Sep

Jak spojit Global HotKeys s programem WINE pod Linuxem

click fraud protection

Nainstalovali jste někdy program Windows v systému Linux pod WINE, jen aby zjistili, že už neváže systémové klávesové zkratky? HTG má práci, kterou jste hledali.

Image by djeucalyptus

Přehled

Každý, kdo dokonce přemýšlel o myšlence přechodu na Linux, se pravděpodobně velmi rychle setkal s problémem, že existuje jedna aplikace Windows, kterou potřebujete k fungování.Již jsme vám ukázali, že to můžete dosáhnout pomocí WINE.

Pro tento spisovatel byla aplikace aplikace Text-To-Speech, která využívá Microsoft SAPI4 engine. Instalace programu pod WINE byla vítr, ale po dokončení jsem rychle zjistil, že hot-klíče používané ke spuštění různých akcí programu( start čtení, stop čtení, atd.) Nefungovaly a to je známéproblém s WINE.

Jsem rád, že po letech hledání jsem nakonec našel řešení ve formě nástroje GNU, který může manipulovat s rozhraním X.org pomocí nativních funkcí.Zatímco není jediný svého druhu, xdotool je ten, který byl nejsnadnější k práci a byl již v úložištích Ubuntu / Mint.

instagram viewer

xdotool

Program xdotool může provést řadu úloh souvisejících s oknem z CLI, s tím, že jediné dva, které budeme využívat, jsou "hledání" a "klíč".Funkce "vyhledávání" provádí pouze vyhledávání ID okna podle identifikovaných parametrů.Funkce "key"( klíč) umožňuje simulovat stisknutí klávesy na ID okna.

Installation &konfigurace

Předpokládá se, že jste již nainstalovali program WINE a požadovaný program pod ním. V tomto příkladu budeme používat Balabolku jako "Windows" aplikaci, protože to je dobrá freeware replika původního programu, který jsem potřeboval toto řešení pro( 2. řečové centrum).

Pokud jste se rozhodli použít Balabolku také, musíte aktivovat jeho klávesové zkratky.
Poznámka: Možná budete chtít nainstalovat buď TTSReader nebo 2. řečové centrum, a to i v demo režimu, aby byly nainstalovány hlasy SAPI.

Otevřete program a přejděte do nastavení( Shift + F6) pod "Možnosti" - & gt;"Nastavení".

Přejděte na záložku klávesových zkratek a zaškrtněte políčko "Použít globální klávesová zkratka".

Klepněte na tlačítko OK.

Ponechte ji běžící na pozadí, aby mohla vykonávat svou práci, když k ní zavěsíme stisknutí kláves.

Instalace xdotool vydáním:

sudo apt-get install xdotool

Globální vazba

Program xdotool sám o sobě nám nepomáhá globálně svázat s klávesovými zkratkami, ale můžeme použít již existující systém klávesových zkratek OS.Co uděláme, je vytvořit jednoduchý skript, který používá xdotool pro zaslání stisknutí klávesy, které chceme, do programu Balabolka a zavoláme mu z systému klávesových zkratek OS.

Vytvořte skript nazvaný "start_read.sh" s následujícím obsahem:

xdotool key - window $( xdotool search - limit 1 - vše - pgrep balabolka - název Balabolka) "ctrl + alt +F9 "

Vytvořte další skript tentokrát nazvaný" stop_read.sh "s následujícím obsahem:

xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka) - jméno Balabolka)"ctrl + alt + F7 "

Poznámka: Vím, že je to jedna linka, která nevyžaduje skript, ale program Mint / Ubuntu" Keyboard Shortcuts "program nespolupracoval s tím, že ji přímo vyvolal. Pokud víte, jak to udělat, sdílejte prosím následující komentáře.

Brzdění tohoto příkazu na jeho součásti, co vidíme je:

  • Část "-pid $( pgrep balabolka)" provede program "pgrep" v programu, který chceme použít, aby zjistil jeho ID procesu. To zúží xdotool filed "hledání" pouze na toto PID.
  • Část "xdotool search -limit 1 -all. .. -name Balabolka" zužuje ještě více vyhledávací dotaz na xdotool a omezuje vrácené odpovědi na hodnotu 1. Stejně jako v našem případě nezáleží na tom, které z ID oken se vrátilyprogram, který omezuje výsledek, působí jako formátovač příkazu "key".Možná zjistíte, že je třeba masírovat tuto část více, pokud to záleží na programu, který používáte.
  • Část "xdotool key -window% WINDOW_ID%" ctrl + alt + F7 "" odešle požadované stisknutí klávesy do okna, které bylo získáno předchozími částmi.

Spusťte skripty.

Klávesnice Linux Mint klávesové zkratky

V Linux Mint jsou globální klávesové zkratky nastaveny v programu "Klávesové zkratky".

Po otevření klikněte na "Přidat" a vytvořte novou vlastní zkratku:

Zadejte jej název a pod "Příkazem" dejte plnou cestu k jednomu ze skriptů, které jsme vytvořili výše. Opakujte proces druhého skriptu.

Nyní na sloupci "Klávesové zkratky" klikněte na slovo "Zakázáno", abyste získali možnost nastavit nový kombinovaný klíč.
Poznámka: Pokud si přejete, můžete použít něco jiného než výchozí.V jistém smyslu vytvoření "přemapování" klíčových vazeb, které by v závislosti na použitém programu jinak byly mimo vaši kontrolu.

Stiskněte kombinaci, kterou jste vybrali, a uslyšíte kouzlo.

Klávesnice Ubuntu

V programu Ubuntu se program, který nastavuje globální klávesové zkratky, právě nazývá "klávesnice".

Přepněte na kartu "Klávesové zkratky" a vyberte "Vlastní zkratky".

Klepnutím na znaménko plus přidáte zástupce. Dejte jej jméno a pod příkazem "Command" dejte plnou cestu k jednomu ze skriptů, které jsme vytvořili výše. Opakujte proces druhého skriptu.
Nyní klikněte na slovo "Zakázáno", abyste získali možnost nastavit nové klávesové zkratky.

Poznámka: Při opakování poznámky v sekci Mincovna můžete, pokud si přejete, použít něco jiného, ​​než je výchozí.V jistém smyslu vytvoření "přemapování" klíčových vazeb, které by v závislosti na použitém programu jinak byly mimo vaši kontrolu.

Poznámky autorů

Pokaždé, když jsem vážně uvažoval o stěhování do Linuxu, byl tento problém první na mém seznamu problémů.Není to, že Linux nemá problémy, ale pro mě to byla skutečná překážka. Zkoušel jsem znovu a znovu, požádal o přátelé / lidi v terénu a dokonce jsem to udělal jako odměnu. .. Jsem šťastná, že tato sága skončila a že můj duše může konečně odpočívat.
Je mi naděje, že jsem někomu pomohl, aby nemusel projít stejným testem.

Doc Brown: Trvalo mi téměř třicet let a celé rodinné štěstí jsem si uvědomila vize toho dne. Bože, byl to tak dlouho?