keyboard-shortcuts – Reasignación de claves que generan múltiples códigos de escaneo

Pregunta:

Tengo un ThinkPad W540. En su teclado hay cuatro teclas multimedia encima del teclado numérico. Dos de esas claves generan códigos clave (y, aparentemente, códigos de escaneo) que corresponden a la combinación de claves, Win_L + L y Win_L + E. En otras palabras, para la clave que genera Win_L + L ,
showkey --scancodes devuelve esto:

0xe0 0x5b 0x26 0xa6 0xe0 0xdb

El comando setkeycodes requiere secuencias de dos bytes sin escape o con escape de un solo byte para indicar códigos de escaneo, y showkey me da mucho más que eso, por lo que no puedo reasignar esa clave a uno de los códigos de teclas libres en mi sistema con un simple setkeycodes <scancode> <keycode> .

Realmente agradecería cualquier sugerencia sobre cómo puedo reasignar esa tecla a otra cosa que no simplemente duplique una de las combinaciones de teclas existentes en mi teclado.

Respuesta:

Puede hacer esto en dos pasos:

  1. para captar combinaciones de teclas
  2. para simular la escritura de diferentes teclas.

Puede usar xchainkeys para 1. y [xdotool][2] para 2 .:

Para crear la nueva clave simulada con xdotool , la opción --clearmodifiers of key puede ser importante para neutralizar la pulsación del modificador simulado original:

xdotool key --clearmodifiers Shift+a

Esto debería escribir una A mayúscula como prueba.

En la configuración de xchainkeys en ~/.config/xchainkeys/xchainkeys.conf , podemos vincular el comando a una combinación de teclas:

W-l :exec xdotool key --clearmodifiers Shift+a

Ahora, la combinación de teclas Win l ( Win izquierda o derecha hace lo mismo), así como la clave que genera Win_L + L, debería crear una A mayúscula.

(Hay muchos otros programas disponibles para ambas partes. Para el primero, se podría usar la configuración de teclas de acceso rápido de un entorno de escritorio, pero prefiero mantenerlo independiente de los DE).

Leave a Comment

Your email address will not be published. Required fields are marked *

web tasarım