Homepage » hogyan kell » Hogyan kössük össze a globális hotke-eket egy WINE programhoz Linux alatt

    Hogyan kössük össze a globális hotke-eket egy WINE programhoz Linux alatt

    Volt már telepítve egy Windows programot a Linux alatt a WINE alatt, csak azért, hogy felfedezhesse, hogy ez már nem köti össze a rendszerszintű forró kulcsokat? A HTG-nek van a munkája, amit keresett.

    Kép djeucalyptus

    Áttekintés

    Valaki, aki még gondolta a Linuxra való áttérés eszméjét, valószínűleg nagyon gyorsan találkozott azzal a problémával, hogy van egy olyan Windows alkalmazás, amelyre szüksége van. Már megmutattuk, hogy ezt a WINE segítségével végezheti el.

    Ehhez az íróhoz az alkalmazás egy Text-To-Speech alkalmazás volt, amely a Microsoft SAPI4 motort használja. A WINE programban a program telepítése szellő volt, de a befejezés után gyorsan megállapítottam, hogy a program különböző műveleteinek elindításához használt gyorsbillentyűk (elolvasás, olvasás leállítása, stb.) Nem működtek, és ez egy ismert probléma a WINE-vel.

    Örülök, hogy elmondom, hogy a keresést követő évek után végül megtaláltam a megoldást egy GNU segédprogram formájában, amely natív függvényekkel manipulálhatja az X.org felületet. Míg nem az egyetlen ilyen jellegű, az xdotool az, amelyik a legegyszerűbb volt, hogy dolgozzon, és már az Ubuntu / Mint tárolóban volt..

    xdotool

    Az xdotool program számos ablakhoz kapcsolódó feladatot tud végrehajtani a CLI-től, és ez az egyetlen, amit csak a „keresés” és a „kulcs” fog használni. A „keresési” funkció csak ezt teszi, keres egy ablak / azonosítót az általuk beállított paraméterek szerint. A „kulcs” funkció lehetővé teszi, hogy szimuláljon egy kulcs ID-t.

    Telepítés és konfiguráció

    Feltételezzük, hogy már telepítetted a WINE-t és az ehhez szükséges programot. Ebben a példában a Balabolka-t „Windows” alkalmazásként fogjuk használni, mert ez egy jó ingyenes replikája az eredeti programnak, amire szükségem volt erre a megoldásra (2. beszédközpont).

    Ha úgy döntött, hogy Balabolka-t is használ, aktiválnia kell a gyorsbillentyűket.
    Megjegyzés: Előfordulhat, hogy a TTSReader vagy a 2. beszédközpont is telepíthető demo módban is, így a SAPI hangok telepítve lesznek. 

    Nyissa meg a programot, és menjen a beállításokhoz (Shift + F6) a „Beállítások” -> „Beállítások” alatt.

    Lépjen a gyorsbillentyűk lapra, és jelölje be a "Gyorsbillentyűk használata" jelölőnégyzetet.

    Kattintson az OK gombra.

    Hagyja, hogy a háttérben futjon, hogy elvégezhesse a munkáját, amikor a gombnyomásokat ráhúzzuk.

    Az xdotool telepítése a következővel:

    sudo apt-get install xdotool

    Globális kötés

    Az xdotool program önmagában nem segít világszerte a gyorsbillentyűkhöz kötni, de a már létező operációs rendszer gyorsbillentyű rendszerét is használhatjuk. Mit fogunk tenni egy olyan egyszerű szkript létrehozása, amely az xdotool-t használja a balabolka programhoz szükséges billentyűleütések elküldéséhez, és az operációs rendszer gyorsbillentyű rendszeréből hívja..

    Hozzon létre egy „start_read.sh” nevű parancsfájlt a következő tartalommal:

    xdotool gomb - $ $ (xdotool keresés - limit 1 --all -pid $ (pgrep balabolka) - név Balabolka) "ctrl + alt + F9"

    Hozzon létre egy másik szkriptet, melynek neve „stop_read.sh” a következő tartalommal:

    xdotool gomb - $ $ (xdotool keresés - limit 1 --all -pid $ (pgrep balabolka) - név Balabolka) "ctrl + alt + F7"

    Megjegyzés: Tudom, hogy ez egy olyan bélés, amely nem igényel parancsfájlt, de a pénzverde / Ubuntu „Billentyűparancsok” program nem működött együtt azzal, hogy közvetlenül hívta fel. Ha tudja, hogyan kell csinálni, kérjük, ossza meg az alábbi megjegyzéseket.

    Ezt a parancsot az összetevőkre fékezzük, amit látunk:

    • A "-pid $ (pgrep balabolka)" rész egy "pgrep" -et hajt végre a programban, amelyet a folyamat azonosítójának megállapításához használunk. Ez szűkíti az „xdotool” -ot a „keresés” -re, és csak a PID-re.
    • Az „xdotool search -limit 1 -all… -name Balabolka” rész még jobban szűkíti az xdotool keresési kérelmét, és korlátozza a visszajuttatott válaszokat az 1-re. program, az eredmény korlátozása a „kulcs” parancs formázója. Előfordulhat, hogy ezt a részt még inkább masszírozni kell, ha számít a használt programra.
    • Az "xdotool key -window% WINDOW_ID%" ctrl + alt + F7 "" rész elküldi a kívánt billentyűzetet az ablaknak, amelyet az előző részek kaptak.

    Végezze el a parancsfájlok futtatását.

    Linux menta billentyűzet hivatkozások

    A Linux Mint alatt a globális gyorsbillentyűk a „Billentyűparancsok” programban vannak beállítva.

    Megnyitás után Kattintson az „Add” gombra, hogy új egyéni parancsikont hozzon létre:

    Adjon meg egy nevet, és a „Parancs” alatt adja meg az összes létrehozott parancsfájl teljes elérési útját. Ismételje meg a folyamatot a második szkripthez.

    Most, a "Gyorsbillentyűk" oszlopban kattintson a "Letiltva" szóra, hogy megadhassa az új kulcskombináció beállításának lehetőségét.
    Megjegyzés: Ha kívánja, használhat valamit más, mint a program alapértelmezett. Bizonyos értelemben létrehoz egy „remap” -t a kulcskötésekhez, amelyek az Ön által használt programtól függően egyébként nem lennének az Ön irányításában.

    Hit a kombinált, amit választott, és hallja a varázslatot.

    Ubuntu billentyűzet

    Az Ubuntu alatt a globális gyorsbillentyűket meghatározó program neve „Keyboard”.

    Váltás a „Gyorsbillentyűk” fülre, és válassza az „Egyéni parancsikonok” lehetőséget.

    Kattintson a pluszjelre, hogy hozzáadjon egy parancsikont. Adjon meg egy nevet, és a „Parancs” alatt adja meg az összes létrehozott parancsfájl teljes elérési útját. Ismételje meg a folyamatot a második szkripthez.
    Most kattintson a „Letiltva” szóra, hogy megadhassa az új kulcskombináció beállítását.

    Megjegyzés: Ha meg szeretné ismételni a pénzverés részen lévő jegyzetben, akkor a program alapértelmezett beállításait használhatja. Bizonyos értelemben létrehoz egy „remap” -t a kulcskötésekhez, amelyek az Ön által használt programtól függően egyébként nem lennének az Ön irányításában.

    Szerzői megjegyzések

    Minden alkalommal, amikor komolyan gondoltam, hogy Linuxra költöztem, ez a probléma volt az első a listán. Nem az, hogy a Linuxnak nincs problémája, de ez az igazi akadály volt számomra. Megpróbáltam újra és újra, megkérdeztem barátaidat / embereket a területen, és még bounty-ra is tettem… Boldog vagyok, hogy ez a saga véget ért, és hogy a lelkem végre pihen.
    Remélem, hogy segítettem valaki odakint, hogy ne kelljen átmennie ugyanazon a próbán.


    Doc Brown: Majdnem harminc évig tartottam, és az egész családi szerencsém, hogy megvalósítsam az adott nap jövőjét. Istenem, olyan hosszú volt?