Mantenga presionado para capitalizar

Mantenga presionado para capitalizar

Elergodox-ezEl teclado tiene una característica interesante que se describe de la siguiente manera:

ingrese la descripción de la imagen aquí

Teclas de doble función

Toque la tecla Z y enviará la letra Z como se esperaba. Mantenlo presionado... y se convierte en Alt. Ese es el poder de las teclas de doble función: cuando se tocan, envían un carácter. Cuando se mantienen, actúan como un modificador. Alt, Ctrl y amigos nunca han sido tan fáciles de alcanzar.

He configurado el mío para que cada letra se convierta en su versión en mayúscula cuando se mantiene presionada (por lo tanto, un toque ligero aproduce "a", un toque más largo produce "A"), pero no siempre tengo acceso a ese teclado y Extraño esa característica.

¿Hay alguna manera de lograr lo mismo independientemente del hardware?

Hay algo bastante parecidoque existe para AutoHotkey(cf. tambiénaquí), pero estoy buscando una solución Unix (preferiblemente KDE).

Tal vez haya algo conclave automática?

Respuesta1

Llegué tarde a la fiesta, pero hice mi propia solución porque no pude encontrar una manera adecuada de imitar elmorsefunción de AutoHotkey. Aunque utiliza permisos de bajo nivel para leer las salidas de/dev.

Este es un ejemplo de salida de /dev/input/event

Event: time 1677080541.072921, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1677080541.072921, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 1
Event: time 1677080541.072921, -------------- SYN_REPORT ------------
Event: time 1677080541.319094, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1677080541.319094, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 2
Event: time 1677080541.319094, -------------- SYN_REPORT ------------
Event: time 1677080541.348759, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1677080541.348759, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 2
Event: time 1677080541.348759, -------------- SYN_REPORT ------------
Event: time 1677080541.379604, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9d
Event: time 1677080541.379604, type 1 (EV_KEY), code 97 (KEY_RIGHTCTRL), value 0

La salida va de 1 (presionar tecla), 2 (tecla mantenida) y luego 0 (soltar tecla). Usando esto pude crear un script simple para enviar comandos de acuerdo con ciertos patrones de pulsaciones de teclas. Hice esto específicamente para usarlo con los controles multimedia, pero si se ajustaran los tiempos podría cumplir esta función. Aquí esta lagithub.

Editar: Esto también puede ser deinterés, es una solución usandoAHK_X11.

información relacionada