Mājas lapa » » Kā sasaistīt globālās Hotkeys ar VĪNA programmu Linux

    Kā sasaistīt globālās Hotkeys ar VĪNA programmu Linux

    Vai esat kādreiz instalējis Windows programmu Linux sistēmā WINE, lai atklātu, ka tas vairs nesaista sistēmas plašas karstās atslēgas? HTG ir meklētais darbs.

    Attēls ar djeucalyptus

    Pārskats

    Ikviens, kurš pat domāja par ideju par pāreju uz Linux, iespējams, ir ļoti ātri sastapies ar problēmu, ka ir nepieciešama šī Windows lietotne. Mēs jau esam parādījuši, ka jūs varat to paveikt, izmantojot WINE.

    Šim rakstniekam lietojumprogramma bija Text-To-Speech lietojumprogramma, kas izmanto Microsoft SAPI4 dzinēju. Programmas WINE instalēšana bija brīze, tomēr pēc pabeigšanas es ātri noskaidroju, ka karstie taustiņi, kas izmantoti, lai aktivizētu dažādas programmas darbības (lasīt, pārtraukt lasīšanu utt.), Nedarbojās un ka tas ir zināms problēma ar vīnu.

    Es priecājos teikt, ka pēc meklējumiem, beidzot, es beidzot esmu atradis risinājumu GNU lietderības veidā, kas var manipulēt ar X.org interfeisu, izmantojot vietējās funkcijas. Kaut gan ne vienīgais šāda veida, xdotool ir tas, kas bija vieglākais, lai strādātu un jau bija Ubuntu / Mint repozitorijās..

    xdotool

    Programma xdotool var veikt daudzus ar CLI saistītus logu uzdevumus, un tas nozīmē, ka tikai divi, kurus mēs izmantosim, ir “meklēšana” un “atslēga”. “Meklēt” funkcija to dara, meklē logu / ID atbilstoši parametriem, kurus esat iestatījis. Funkcija “atslēga” ļauj simulēt atslēgas taktu uz loga ID.

    Uzstādīšana un konfigurācija

    Tiek pieņemts, ka jūs jau esat instalējis vīnu un programmu, kas jums nepieciešama. Šajā piemērā mēs izmantosim Balabolka kā „Windows” lietojumprogrammu, jo tas ir labs oriģinālprogrammas bezmaksas kopija, kurai man vajadzēja šo risinājumu (2. runas centrs).

    Ja esat izvēlējies izmantot arī Balabolka, jums ir jāaktivizē tās karstie taustiņi.
    Piezīme: Iespējams, vēlēsities instalēt vai nu TTSReader, vai otru runas centru pat demo režīmā, lai SAPI balsis tiktu instalētas. 

    Atveriet programmu un dodieties uz iestatījumiem (Shift + F6) sadaļā “Opcijas” -> “Iestatījumi”.

    Atveriet cilni Karstie taustiņi un atzīmējiet izvēles rūtiņu “Lietot globālos taustiņus”.

    Noklikšķiniet uz Labi.

    Atstājiet to darboties fonā, lai tā varētu veikt savu darbu, kad mēs tam pievienojam taustiņsitienus.

    Instalējiet xdotool, izsniedzot:

    sudo apt-get instalēt xdotool

    Globālā saistība

    Programma xdotool pati par sevi nepalīdz mums visā pasaulē saistīt ar karstajiem taustiņiem, bet mēs varam izmantot jau esošo OS karsto taustiņu sistēmu. Tas, ko mēs darīsim, ir izveidot vienkāršu skriptu, kas izmanto xdotool, lai nosūtītu programmas „Balabolka” programmas taustiņus un to izsauktu no operētājsistēmas Hotkey sistēmas.

    Izveidojiet skriptu ar nosaukumu “start_read.sh” ar šādu saturu:

    xdotool taustiņš - window $ (xdotool meklēšana - ierobežot 1 - visu - $ $ (pgrep balabolka) - vārds Balabolka) "ctrl + alt + F9"

    Šoreiz izveidojiet vēl vienu skriptu ar nosaukumu “stop_read.sh” ar šādu saturu:

    xdotool taustiņš - window $ (xdotool meklēšana - ierobežot 1 - visu - $ $ (pgrep balabolka) - vārds Balabolka) "ctrl + alt + F7"

    Piezīme: es zinu, ka tas ir viens līnijpārvadātājs, kuram nav nepieciešams skripts, bet programma Mint / Ubuntu “Keyboard Shortcuts” nav sadarbojusies, tikai atsaucoties uz to. Ja jūs zināt, kā to izdarīt, lūdzu, dalieties tālāk sniegtajos komentāros.

    Šīs komandas bremzēšana uz tā sastāvdaļām, ko mēs redzam, ir:

    • Daļa “PID $ (pgrep balabolka)” izpilda programmu “pgrep”, kuru mēs vēlamies izmantot, lai noskaidrotu tā procesa ID. Tas sašaurinās “meklēšanu” iesniegto xdotool tikai uz šo PID.
    • “Xdotool search -limit 1 -all… -name Balabolka” daļa sašaurina xdotool meklēšanas vaicājumu vēl vairāk un ierobežo atgrieztās atbildes uz 1. Kā mūsu gadījumā nav svarīgi, kurš no loga ID ir atgriezies programma, ierobežojot rezultātu, darbojas kā “atslēgas” komandas formatētājs. Iespējams, ka jums ir nepieciešams masēt šo daļu vairāk, ja tas ir svarīgi programmai, kuru jūs izmantojat.
    • "Xdotool key -window% WINDOW_ID%" ctrl + alt + F7 "" daļa nosūta vēlamo taustiņu uz loga ID, kas tika iegūts ar iepriekšējām daļām.

    Padariet skriptus izpildāmus.

    Linux Mint Keyboard īsceļi

    Linux Mint, globālie karstie taustiņi ir iestatīti programmā “Tastatūras īsceļi”.

    Pēc atvēršanas Noklikšķiniet uz “Pievienot”, lai izveidotu jaunu pielāgotu saīsni:

    Dodiet tai nosaukumu un zem “Komandu” sniedziet pilnu ceļu uz kādu no iepriekš izveidotajiem skriptiem. Atkārtojiet procesu otrajam skriptam.

    Tagad, slejā “Īsceļi”, noklikšķiniet uz vārda “Atspējots”, lai iegūtu iespēju iestatīt jaunu atslēgu kombināciju.
    Piezīme. Ja vēlaties, varat izmantot kaut ko citu, nevis programmas noklusējumu. Savā ziņā radot „remap” uz galvenajām saistībām, kas, atkarībā no izmantotās programmas, citādi nebūtu jūsu kontrolē.

    Rezultāts ir atlasītais combo un dzirdiet burvību.

    Ubuntu tastatūra

    Saskaņā ar Ubuntu, programma, kas nosaka pasaules karstos taustiņus, tiek saukta par “Keyboard”.

    Pārslēdzieties uz cilni “Īsceļi” un atlasiet “Pielāgotie saīsnes”.

    Noklikšķiniet uz plusa zīmes, lai pievienotu saīsni. Dodiet tai nosaukumu un zem “Komandu” sniedziet pilnu ceļu uz kādu no iepriekš izveidotajiem skriptiem. Atkārtojiet procesu otrajam skriptam.
    Tagad noklikšķiniet uz vārda „Atspējots”, lai iegūtu iespēju iestatīt jaunu atslēgu kombināciju.

    Piezīme. Atkārtojot piezīmi no naudas kaltuves sadaļas, jūs varat, ja vēlaties, izmantot kaut ko citu, nevis programmas noklusējumu. Savā ziņā radot „remap” uz galvenajām saistībām, kas, atkarībā no izmantotās programmas, citādi nebūtu jūsu kontrolē.

    Autora piezīmes

    Katru reizi, kad es nopietni apsveru iespēju pāriet uz Linux, šis jautājums bija pirmais manā problēmu sarakstā. Tā nav tā, ka Linux nav problēmu, bet tas bija īstais šķērslis man. Es esmu mēģinājis atkal un atkal, vaicājis draugiem / cilvēkiem laukā un pat padarījis to par devu ... Es esmu laimīgs, ka šī sāga ir beigusies un ka mana dvēsele var beidzot atpūsties.
    Es ceru, ka es esmu palīdzējis kādam tur, kur nav jāiet cauri tam pašam pārbaudījumam.


    Doc Brown: Man ir vajadzīgi gandrīz trīsdesmit gadi un visa mana ģimenes laime realizēt šīs dienas redzējumu. Mans Dievs, vai tas ir tik ilgi?