2Sep

Come associare Global HotKeys a un programma WINE su Linux

click fraud protection

Hai mai installato un programma Windows in Linux con WINE, solo per scoprire che non associa più hot-key a livello di sistema? HTG ha il lavoro che stai cercando.

Immagine di djeucalyptus

Panoramica

Chiunque abbia mai pensato all'idea di passare a Linux, probabilmente ha riscontrato molto rapidamente il problema che esiste questa app di Windows che è necessario FUNZIONARE.Ti abbiamo già mostrato che puoi farlo usando WINE.

Per questo autore, l'applicazione era un'applicazione di sintesi vocale che utilizza il motore Microsoft SAPI4.Installare il programma sotto WINE è stato semplicissimo, tuttavia al termine ho scoperto rapidamente che i tasti di scelta rapida utilizzati per attivare le varie azioni del programma( iniziare a leggere, interrompere la lettura, ecc.) Non funzionavano e che questo è notoproblema con il vino.

Sono lieto di poter dire che, dopo eoni di ricerca, ho finalmente trovato la soluzione sotto forma di un'utilità GNU che può manipolare l'interfaccia X.org usando le funzioni native. Sebbene non sia l'unico nel suo genere, xdotool è quello che è stato il più facile da lavorare ed era già presente nei repository di Ubuntu / Mint.

instagram viewer

xdotool

Il programma xdotool può eseguire molte attività relative alle finestre dalla CLI, con ciò detto, gli unici due che utilizzeremo sono "search" e "key".La funzione "cerca" fa proprio questo, cerca l'ID di una finestra in base ai parametri impostati per esso. La funzione "chiave" consente di simulare un tratto chiave con un ID di finestra.

Installazione &configurazione

Si presume che tu abbia già installato WINE e il programma necessario sotto di esso. In questo esempio useremo Balabolka come applicazione "Windows" perché è una buona replica freeware del programma originale di cui avevo bisogno per questa soluzione( 2 ° centro di sintesi vocale).

Se hai deciso di usare anche Balabolka, devi attivare la sua abilità di tasti di scelta rapida.
Nota: è possibile installare TTSReader o 2nd speech center anche in modalità demo, in modo che vengano installate le voci SAPI.

Apri il programma e vai alle impostazioni( Maiusc + F6) sotto "Opzioni" - & gt;"Impostazioni".

Vai alla scheda dei tasti di scelta rapida e seleziona la casella di controllo "Usa tasti di scelta rapida globali".

Fare clic su OK.

Lascialo in esecuzione in background in modo che possa fare il suo lavoro quando si agganciano i tasti su di esso.

Installa xdotool emettendo:

sudo apt-get install xdotool

Associazione globale

Il programma xdotool da solo non ci aiuta a collegarsi globalmente a tasti di scelta rapida, ma possiamo usare il sistema hotkey OS già esistente. Quello che faremo è creare un semplice script che utilizzi xdotool per inviare le sequenze di tasti che vogliamo al programma Balabolka e chiamarlo dal sistema dei tasti di scelta rapida del sistema operativo.

Crea uno script chiamato "start_read.sh" con il seguente contenuto:

xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka) --name Balabolka) "ctrl + alt +F9 "

Questa volta crei un altro script chiamato" stop_read.sh "con il seguente contenuto:

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

Nota: So che questo è un solo liner che non richiede uno script, ma il programma" Tasti di scelta rapida "di Mint / Ubuntu, non stava cooperando con il solo richiamo diretto. Se sai come farlo, si prega di condividere i commenti qui sotto.

Frenando questo comando ai suoi componenti, ciò che vediamo è:

  • La parte "-pid $( pgrep balabolka)", esegue un "pgrep" sul programma che vogliamo usare per accertare il suo ID di processo. Questo restringerà il file xdotool archiviato di "ricerca" solo a quel PID.
  • La parte "xdotool search -limit 1 -all. .. -name Balabolka", restringe ulteriormente la ricerca di xdotool e limita le risposte restituite a 1. Come nel nostro caso, non importa quale ID della finestra restituisce diil programma, limitando il risultato, funge da formattatore per il comando "chiave".Potresti scoprire che devi massaggiare questa parte di più se è importante per il programma che stai utilizzando.
  • La parte "xdotool key -window% WINDOW_ID%" ctrl + alt + F7 "", invia il tasto desiderato al windowID che è stato ottenuto dalle parti precedenti.

Rende eseguibili gli script.

Tastiera Mint Linux

Tasti di scelta rapida

Sotto Linux Mint, i tasti di scelta rapida globali sono impostati nel programma "Tasti di scelta rapida".

Una volta aperto Fare clic su "Aggiungi" per creare una nuova scorciatoia personalizzata:

Assegnare un nome e in "Comando" fornire il percorso completo a uno degli script creati in precedenza. Ripeti il ​​processo per il secondo script.

Ora, nella colonna "Scorciatoie", fai clic sulla parola "Disabilitato" per ottenere l'opzione per impostare una nuova combinazione di tasti.
Nota: è possibile, se lo si desidera, utilizzare qualcosa di diverso dal valore predefinito del programma. In un certo senso, creare una "rimappatura" per i collegamenti chiave che, a seconda del programma che si usa, sarebbe altrimenti fuori dal proprio controllo.

Colpisci la combo che hai selezionato e ascolta la magia.

Ubuntu Keyboard

Sotto Ubuntu, il programma che imposta i tasti di scelta rapida globali è chiamato semplicemente "Keyboard".

Passare alla scheda "Scorciatoie" e selezionare "Scorciatoie personalizzate".

Fare clic sul segno più per aggiungere un collegamento. Dagli un nome e sotto "Comando" dai il percorso completo a uno degli script che abbiamo creato sopra. Ripeti il ​​processo per il secondo script.
Ora fai clic sulla parola "Disabilitato" per ottenere l'opzione per impostare una nuova combinazione di tasti.

Nota: se si ripete la nota dalla sezione Mint, è possibile, se lo si desidera, utilizzare qualcosa di diverso dal valore predefinito del programma. In un certo senso, creare una "rimappatura" per i collegamenti chiave che, a seconda del programma che si usa, sarebbe altrimenti fuori dal proprio controllo.

Note dell'autore

Ogni volta che ho seriamente preso in considerazione il passaggio a Linux, questo problema è stato il primo della mia lista di problemi. Non è che Linux non abbia problemi, ma questo è stato il vero ostacolo, per me. Ho provato più e più volte, ho chiesto ad amici / persone sul campo e ho persino trasformato una taglia. .. Sono felice che questa saga sia finita e che la mia anima possa finalmente riposare.
La mia speranza è che abbia aiutato qualcuno là fuori a non dover passare attraverso lo stesso calvario.

Doc Brown: Mi ci sono voluti quasi trent'anni e tutta la mia fortuna di famiglia per realizzare la visione di quel giorno. Mio Dio, è passato così tanto tempo?