¿Utiliza el teclado numérico USB con escritura similar a la de un teléfono?

¿Utiliza el teclado numérico USB con escritura similar a la de un teléfono?

Tengo un teclado numérico USB como este:

ingrese la descripción de la imagen aquí

Necesito escribir caracteres (de la A a la Z) en este teclado, por lo que mi idea es usarlo como en un teléfono celular antiguo:

ingrese la descripción de la imagen aquí

Si presiono 1x 2 escribe A, 2x 2 - B, 4x 9 - Z, etc.

¿Es posible hacerlo? ¿Y cómo? ¿Usando udev?

Respuesta1

No tengo una respuesta completa, pero aquí hay algunas cosas que pueden ayudar.

Si su teclado está conectado a una computadora con un escritorio GUI basado en Gnome o KDE,Clave automáticase puede utilizar para convertir las teclas en teclas de acceso rápido que pueden hacer casi cualquier cosa que se te ocurra. Dado que las pulsaciones de teclas en el teclado probablemente no se distingan de las teclas correspondientes en su teclado normal, cualquier cosa que haga las afectará también.

Ejecute xevdesde una terminal y presione cada tecla en el teclado para ver qué códigos clave se generan. Probablemente sean los mismos que los de un teclado normal, pero si no, puedes utilizar esos códigos para diferenciarlos.

Si está en un sistema integrado (o incluso en un servidor) sin interfaz gráfica de usuario, lo anterior no funcionará.

No estoy muy versado en dispositivos Linux, peroesteLa publicación puede darle una pista sobre cómo procesar la entrada del teclado directamente en un script o programa. Una vez que presione las teclas en el script, puede hacer lo que quiera en respuesta a ellas.

Dado que se trata de un script/programa, tendría que encontrar una manera de llevar su salida al destino deseado.

El primer método que me viene a la mente es utilizar una tubería. Eso funcionará si la salida solo va a un programa.

Si la solución necesita ser un poco más general, una canalización con nombre puede funcionar. No he tenido que usarlos todavía, así que no sé cómo usar la misma tubería con nombre conectada en serie a diferentes programas.

Respuesta2

La solución es usar.multiprensamétodo de entrada.

En la aplicación es necesario configurar manualmente el método de entrada de pulsación múltiple. Si desea tener multipress como predeterminado, debe crear un archivo /.xinputrccon contenido:

GTK_IM_MODULE=multipress
QT_IM_MODULE=multipress

información relacionada