Estoy tratando de transformar un Minitel en una computadora con una Raspberry Pi.
Este es un minitel:
Así que solde la matriz del teclado minitel a una pcb de teclado usb, así:
Todo funciona bien, recibo algunas teclas de mi teclado personalizado. Solo necesito reasignar las claves adecuadamente.
Así que estoy tratando de crear un programa que me pida que presione a
y atrape el código clave correspondiente, y luego con todas las teclas de mi teclado personalizado, para finalmente producir un archivo xmodmap.
El único problema que tengo es que no puedo entender cómo puedo obtener ese código clave (¡y solo eso!). Lo intenté xev
pero se muestran demasiados datos para filtrarlos.
Sé que podría rastrear todos los códigos clave a mano, pero transformaré 10 Minitels, ¡así que preferiría una forma más rápida!
fuente
Respuestas:
Supongo que está tratando de hacer esto en shell o similar (de lo contrario, solo usaría las bibliotecas X directamente). Si es así, puede ser
xinput --test «device-name»
mucho más fácil de analizar.Desafortunadamente, realmente no es amigable con los scripts de shell. Pero puedes hacer que funcione
stdbuf
. Se ejecuta hasta que lo matas, pero tu script de shell podría canalizarloread
.Entonces, puedes hacer algo como esto:
Deberá usar el nombre de teclado correcto en lugar del "teclado AT Translated Set 2". Puedes encontrarlo con
xinput list
:Desafortunadamente, tiene que usar un dispositivo específico, no puede usar el teclado central.
(Además, necesitará encontrar una forma de eliminar el xinput en lo anterior, o simplemente contentarse con presionar Control-C cuando haya ingresado todas las claves. Y probablemente desee enumerar más claves que qwerty. )
fuente
id
el teclado en lugar de su nombre, porque tuve conflictos con 2 mismos nombres. Entonces, ¿xinput test 18
dónde 18 es la identificación de mi teclado?test.c
, parece que la función relevante esprint_events
. ¿Quizás xorg tomaría un parche para agregar una bandera para detenerse después de n eventos?xinput --query-state
da el estado actual y sale inmediatamente. Podrías ocuparlo.