If-Koubou

Kā piesaistīt globālos HotKeys uz WINE programmu zem Linux

Kā piesaistīt globālos HotKeys uz WINE programmu zem Linux (Kā)

Vai jūs kādreiz esat instalējis Windows programmu Linux saskaņā ar WINE, tikai lai atklātu, ka tas vairs nesaista sistēmas karstos taustiņus? HTG ir darbs ap jums meklējat.

Attēls ar djeukaliptu

Pārskats

Ikviens, kurš pat domāja par domu par pāreju uz Linux, iespējams, ļoti ātri saskaras ar problēmu, ka ir šī viena Windows lietojumprogramma, kurai Vajadzīga funkcija. Mēs jau esam parādījuši, ka jūs varat to paveikt, izmantojot WINE.

Šim rakstniekam lietojumprogramma bija programma "Teksts uz runu", kurā izmantots Microsoft SAPI4 dzinējs. Programmas instalēšana ar WINE bija brīze, taču pēc pabeigšanas es ātri noskaidroju, ka karstie taustiņi, kurus izmanto, lai aktivizētu dažādas programmas darbības (sāktu lasīt, pārtraukt lasīšanu utt.), Nedarbojās un ka tas ir zināms problēma ar vīnu.

Es esmu priecīgs teikt, ka pēc meklēšanas mēnešiem es beidzot ir atradis risinājumu GNU lietderība, kas var manipulēt ar X.org saskarni, izmantojot vietējās funkcijas. Lai gan tas nav vienīgais šāda veida līdzeklis, xdotool ir tas, kurš visvieglāk strādāja un kurš jau bija Ubuntu / naudas kaltuves krātuvēs.

xdotool

Xdotool programma var veikt daudzus ar logu saistītus uzdevumus no CLI, ar to teica, ka tikai divi, ko mēs izmantosim, ir "meklēšana" un "atslēga". Funkcija "meklēšana" veic tikai to, kas meklē loga / ID ID atbilstoši jūsu iestatītajiem parametriem. Funkcija "taustiņš" ļauj simulēt atslēgas gājienu uz loga ID.

Uzstādīšana un konfigurēšana

Tiek pieņemts, ka jau esat instalējis WINE un programmu, kas jums ir nepieciešama. Šajā piemērā mēs izmantosim Balabolka kā "Windows" lietojumprogrammu, jo tā ir laba oriģinālās programmas, kas nepieciešama šim risinājumam (2. runa centram), oriģinālās programmas replikā.

Ja esat izvēlējies izmantot arī Balabolka, jums ir jāaktivizē tās karsto taustiņu spēja.
Piezīme. Iespējams, vēlēsities instalēt vai nu TTSReader, vai arī 2. runas centru pat demo režīmā, lai uzstādītu SAPI balsis.

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

Atveriet karsto taustiņu cilni un atzīmējiet izvēles rūtiņu "Izmantot globālos karstos taustiņus".

Noklikšķiniet uz Labi.

Atstājiet to fonā, lai tas varētu paveikt darbu, kad mēs uzliekam taustiņsitienus.

Instalējiet xdotool, izdodot:

sudo apt-get install xdotool

Pasaulē saistošs

"Xdotool" programma pati par sevi nepalīdz mums saistīt globālos sarežģītākos taustiņus, bet mēs varam izmantot jau esošo OS karsto taustiņu sistēmu. Ko mēs darīsim, ir izveidot vienkāršu skriptu, kas izmanto xdotool, lai nosūtītu taustiņsitienus, kurus mēs vēlamies izmantot Balabolka programmai, un izsauktu to no OS operētājsistēmas karsto taustiņu sistēmas.

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

xdotool atslēga - window $ (xdotool meklēšana --limit 1 --all --pid $ (pgrep balabolka) - vārds Balabolka) "ctrl + alt + F9"

Šoreiz izveidojiet citu skriptu ar nosaukumu "stop_read.sh" ar šādu saturu:

xdotool atslēga - window $ (xdotool meklēšana --limit 1 --all --pid $ (pgrep balabolka) --name Balabolka) "ctrl + alt + F7"

Piezīme. Es zinu, ka tas ir viens cilindrs, kuram nav nepieciešams skripts, bet Mint / Ubuntu "Tastatūras saīsnes" programma nesadarbojās, tikai tieši atsaucoties uz to. Ja jūs zināt, kā to izdarīt, lūdzu, dalīties ar komentāriem zemāk.

Bremzējot šo komandu uz tā sastāvdaļām, mēs redzam:

  • Daļa "-pid $ (pgrep balabolka)" izpilda programmu "pgrep", kuru mēs vēlamies izmantot, lai noskaidrotu procesa ID. Tas sašaurinās xdotool iesniegto "meklēšana" tikai uz šo PID.
  • Daļa "xdotool search-limit-1-all ... -name Balabolka" sašaurina xdotool meklēšanas vaicājumu un ierobežo atgriezušās atbildes uz 1. Tāpat kā mūsu gadījumā tas nav svarīgi, kurš loga ID ir atgriezies no programma, kas ierobežo rezultātu, darbojas kā "atslēgas" komandas formatētājs. Jums var rasties nepieciešamība masāžas šo daļu vairāk, ja tas attiecas uz programmu, kuru izmantojat.
  • "Xdotool taustiņš-window% WINDOW_ID%" ctrl + alt + F7 "" daļa, nosūta vajadzīgo taustiņu uz windowID, kuru iegūst iepriekšējās daļas.

Padariet skriptus izpildāmus.

Linux Mint tastatūrasaīsnes

Zem Linux Mint globālie karstie taustiņi ir noteikti programmā "Tastatūras saīsnes".

Kad atvērts, noklikšķiniet uz "Pievienot", lai izveidotu jaunu pielāgotu saīsni:

Nosauciet nosaukumu un zem komandas "norādiet pilnu ceļu uz kādu no iepriekš izveidotajiem skriptiem. Atkārtojiet otrā skripta procesu.

Tagad kolonnā "Īsceļi" noklikšķiniet uz vārda "Atspējots", lai iegūtu iespēju iestatīt jaunu taustiņu kombināciju.
Piezīme. Jūs varat, ja vēlaties, izmantot kaut ko citu, tad programmas noklusējuma iestatījumu. Tādā nozīmē radot "pārkārtošanu" uz galvenajām saistībām, kas atkarībā no izmantotās programmas citādi būtu ārpus jūsu kontroles.

Izbaudiet izvēlēto kombināciju un dzirdiet burvju.

Ubuntu tastatūra

Saskaņā ar Ubuntu programma, kas nosaka globālās hotkeys, ir tikko saukta par "Keyboard".

Pārslēdzieties uz cilni "Īsceļi" un atlasiet "Pielāgoti īsceļi".

Noklikšķiniet uz pluszīmes, lai pievienotu saīsni. Nosauciet nosaukumu un zem komandas "norādiet pilnu ceļu uz kādu no iepriekš izveidotajiem skriptiem. Atkārtojiet otrā skripta procesu.
Tagad noklikšķiniet uz vārda "Atspējots", lai iegūtu iespēju iestatīt jaunu taustiņu kombināciju.

Piezīme: atkārtojot Mint sadaļas piezīmi, jūs varat, ja vēlaties, izmantot kaut ko citu, tad programmas noklusējuma iestatījumu. Tādā nozīmē radot "pārkārtošanu" uz galvenajām saistībām, kas atkarībā no izmantotās programmas citādi būtu ārpus jūsu kontroles.

Autora piezīmes

Katru reizi, kad es nopietni uzskatu, ka pāreja uz Linux, šī problēma bija pirmā manā problēmu sarakstā. Tā nav tā, ka Linux nav problēmu, bet man tas bija patiesais šķērslis. Esmu mēģinājis atkal un atkal, esmu lūdzis draugus / cilvēkus šajā jomā un pat padarījis to par veltēm ... Es priecājos, ka šī sāga ir beigusies un ka mana dvēsele beidzot var atpūsties.
Tā ir mana cerība, ka esmu palīdzējis kādam no turienes, lai viņiem nebūtu jāpārvar tas pats pārbaudījums.

Doc Brown: mani aizveda gandrīz trīsdesmit gadus un visa mana ģimenes laime, lai saprastu šīs dienas vīziju. Mans Dievs, vai tā ir tik ilga?