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:
- para captar combinaciones de teclas
- 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).