Cómo enlazar teclas de acceso rápido globales a un programa WINE en Linux

Tabla de contenido:

Video: Cómo enlazar teclas de acceso rápido globales a un programa WINE en Linux

Video: Cómo enlazar teclas de acceso rápido globales a un programa WINE en Linux
Video: Que es y como editar el archivo hosts en Windows 10 2024, Marcha
Cómo enlazar teclas de acceso rápido globales a un programa WINE en Linux
Cómo enlazar teclas de acceso rápido globales a un programa WINE en Linux
Anonim
¿Alguna vez ha instalado un programa de Windows en Linux bajo WINE, solo para descubrir que ya no vincula las teclas de acceso rápido de todo el sistema? HTG tiene el trabajo que has estado buscando.
¿Alguna vez ha instalado un programa de Windows en Linux bajo WINE, solo para descubrir que ya no vincula las teclas de acceso rápido de todo el sistema? HTG tiene el trabajo que has estado buscando.

Imagen de djeucalyptus.

Visión general

Cualquiera que haya pensado en la idea de cambiar a Linux, probablemente se haya encontrado rápidamente con el problema de que hay una aplicación de Windows que NECESITA funcionar. Ya le hemos demostrado que puede lograr esto utilizando WINE.

Para este escritor, la aplicación era una aplicación de texto a voz que utiliza el motor Microsoft SAPI4. Instalar el programa en WINE fue muy sencillo, sin embargo, al finalizar, rápidamente descubrí que las teclas de acceso rápido utilizadas para desencadenar las diversas acciones del programa (comenzar a leer, dejar de leer, etc.) no funcionaban y esto es un problema conocido. problema con el vino.

Me complace decir que después de eones de búsqueda, finalmente encontré la solución en forma de una utilidad GNU que puede manipular la interfaz X.org utilizando funciones nativas. Si bien no es el único de su tipo, xdotool es el más fácil de trabajar y ya estaba en los repositorios de Ubuntu / Mint.

xdotool

El programa xdotool puede hacer muchas tareas relacionadas con la ventana desde la CLI, dicho esto, las únicas dos que vamos a utilizar son "buscar" y "clave". La función de "búsqueda" hace precisamente eso, busca una ID de ventana / s de acuerdo con los parámetros que usted configuró. La función "clave" le permite simular un golpe de tecla a una identificación de ventana.

Instalación y configuración

Se supone que ya ha instalado WINE y el programa que necesita debajo de él. En este ejemplo, usaremos Balabolka como la aplicación "Windows" porque es una buena réplica gratuita del programa original para el que necesitaba esta solución (segundo centro de voz).

Si has optado por usar Balabolka también, debes activar su habilidad de teclas de acceso rápido. Nota: es posible que desee instalar TTSReader o el segundo centro de voz incluso en modo de demostración, para que se instalen las voces de SAPI.

Abra el programa y vaya a la configuración (Shift + F6) en "Opciones" -> "Configuración".

Vaya a la pestaña de teclas de acceso rápido y marque la casilla de verificación "Usar teclas de acceso rápido globales"
Vaya a la pestaña de teclas de acceso rápido y marque la casilla de verificación "Usar teclas de acceso rápido globales"
 Haga clic en Aceptar.
Haga clic en Aceptar.

Deje que se ejecute en segundo plano para que pueda hacer su trabajo cuando le enganchamos las teclas.

Instala xdotool emitiendo:

sudo apt-get install xdotool

Enlace global

El programa xdotool por sí solo no nos ayuda a vincularnos globalmente a las teclas de acceso rápido, pero podemos usar el sistema de teclas de acceso rápido ya existente. Lo que haremos es crear un script simple que utilice xdotool para enviar las pulsaciones de tecla que deseamos al programa Balabolka y llamarlas desde el sistema de teclas de acceso rápido del sistema operativo.

Cree un script llamado "start_read.sh" con el siguiente contenido:

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

Cree otra secuencia de comandos esta vez llamada "stop_read.sh" con el siguiente contenido:

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

Nota: Sé que se trata de una sola línea que no requiere una secuencia de comandos, pero el programa de "Atajos de teclado" de Mint / Ubuntu, no estaba cooperando con solo invocarlo directamente. Si sabe cómo hacerlo, por favor, comparta los comentarios a continuación.

Frenando este comando a sus componentes, lo que vemos es:

  • La parte “–pid $ (pgrep balabolka)”, ejecuta una “pgrep” en el programa que queremos usar para determinar su ID de proceso. Esto limitará el archivo xdotool de "búsqueda" a solo ese PID.
  • La parte "búsqueda xdotool –límite 1 –todos… –nombre Balabolka”, reduce aún más el archivo de búsqueda de xdotool y limita las respuestas devueltas a 1. Como en nuestro caso, no importa cuál de las ID de ventana devolvió programa, limitando el resultado actúa como un formateador para el comando "clave". Es posible que necesite masajear esta parte más si es importante para el programa que está utilizando.
  • La parte "xdotool clave –window% WINDOW_ID%" ctrl + alt + F7 ", envía la pulsación deseada a la ID de ventana que se obtuvo con las partes anteriores.

Hacer los scripts ejecutables.

Teclado Linux Mint atajos

Bajo Linux Mint, las teclas de acceso rápido globales se configuran en el programa "Métodos abreviados de teclado".

Una vez abierto, haga clic en "Agregar" para crear un nuevo acceso directo personalizado:
Una vez abierto, haga clic en "Agregar" para crear un nuevo acceso directo personalizado:
Asígnele un nombre y debajo de "Comando" proporcione la ruta completa a uno de los scripts que hemos creado anteriormente. Repita el proceso para el segundo script.
Asígnele un nombre y debajo de "Comando" proporcione la ruta completa a uno de los scripts que hemos creado anteriormente. Repita el proceso para el segundo script.

Ahora, en la columna "Accesos directos", haga clic en la palabra "Deshabilitado" para obtener la opción de establecer una nueva combinación de teclas. Nota: puede, si lo desea, usar otra cosa que no sea la predeterminada del programa. En cierto sentido, se crea una "reasignación" a los enlaces de teclas que, de acuerdo con el programa que utilice, estarían fuera de su control.

Pulsa el combo que has seleccionado y escucha la magia.
Pulsa el combo que has seleccionado y escucha la magia.

Teclado de Ubuntu

Bajo Ubuntu, el programa que establece las teclas de acceso rápido globales se llama "Teclado".

Cambie a la pestaña "Accesos directos" y seleccione "Accesos directos personalizados"
Cambie a la pestaña "Accesos directos" y seleccione "Accesos directos personalizados"
Image
Image

Haga clic en el signo más para agregar un acceso directo. Asígnele un nombre y debajo de "Comando" proporcione la ruta completa a uno de los scripts que hemos creado anteriormente. Repita el proceso para el segundo script. Ahora haga clic en la palabra "Deshabilitado" para obtener la opción de establecer una nueva combinación de teclas.

Nota: repitiendo en la nota de la sección de Mint, puede, si lo desea, usar otra cosa que no sea la predeterminada del programa. En cierto sentido, se crea una "reasignación" a los enlaces de teclas que, de acuerdo con el programa que utilice, estarían fuera de su control.

Notas del autor

Cada vez que consideré seriamente el cambio a Linux, este problema fue el primero en mi lista de problemas. No es que Linux no tenga problemas, pero este fue el verdadero obstáculo para mí. He intentado una y otra vez, les he preguntado a mis amigos / personas en el campo e incluso he hecho una recompensa … Estoy feliz de que esta saga haya terminado y que mi alma finalmente pueda descansar. Espero haber ayudado a alguien para que no tenga que pasar por la misma experiencia.

Doc Brown: Me ha llevado casi treinta años y toda la fortuna de mi familia darse cuenta de la visión de ese día. Dios mío, ¿ha pasado tanto tiempo?

Recomendado: