Immagine di djeucalyptus
Panoramica
Chiunque abbia persino pensato all'idea di passare a Linux, probabilmente ha riscontrato molto rapidamente il problema che esiste questa app per 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 è noto problema con il vino.
Sono lieto di poter dire che dopo eoni di ricerca, ho finalmente trovato la soluzione sotto forma di una utility 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.
xdotool
Il programma xdotool può eseguire molti compiti relativi 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 e configurazione
Si presume che tu abbia già installato WINE e il programma che ti serve sotto. 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 scelto di usare 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 (Shift + F6) sotto "Opzioni" -> "Impostazioni".
Lasciarlo 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 legare globalmente a tasti di scelta rapida, ma possiamo usare il sistema di 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'
Crea un altro script questa volta 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 si tratta di un one liner che non richiede uno script, ma il programma Mint / Ubuntu "Keyboard Shortcuts", 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, quello 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 del 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.
Rendi eseguibili gli script.
Tastiera Linux Mint scorciatoie
Sotto Linux Mint, i tasti di scelta rapida globali sono impostati nel programma "Tasti di scelta rapida".
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 vostro controllo.
Tastiera di Ubuntu
Sotto Ubuntu, il programma che imposta i tasti di scelta rapida globali viene chiamato semplicemente "Tastiera".
Fai clic sul segno più per aggiungere una scorciatoia. 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: Ripetendo la nota dalla sezione Mint, puoi, se lo desideri, 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 vostro controllo.
Note dell'autore
Ogni volta che ho preso seriamente 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. Spero 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?