ver entrar ejemplos directorio contenido como comandos comando basicos archivo linux terminal keypress ncurses tty

entrar - terminal linux



¿Recibir pulsaciones de teclas y eventos de liberación de teclas en aplicaciones de terminal de Linux? (3)

Esto no funcionará en el caso general. Los terminales ANSI (de los que descienden todos los emuladores) representan solo eventos de "presión" de tecla. No graban eventos arriba / abajo de forma independiente.

Si necesita acceso a eventos de teclado de bajo nivel, el entorno adecuado es realmente un programa GUI. Incluso una aplicación web tendrá un acceso más limpio a eventos clave que un terminal.

Me gustaría escribir un programa en C simple que realice diferentes acciones basadas en los eventos "tecla abajo" y "tecla arriba". Este programa se ejecutará desde el interior de rxvt .

¿Qué biblioteca o mecanismo debo usar para acceder tanto a las pulsaciones de teclas como a las liberaciones? ¿Es cierto que reading /dev/tty solo proporcionará lanzamientos clave? ¿Esto también es cierto para termcap, terminfo, ncurses y argot? ¿Hay una manera de lograr esto desde una aplicación de terminal?


Los siguientes enlaces pueden ser de alguna ayuda para utilizar el modo RAW de teclado, que le dará acceso a los eventos del teclado en lugar de solo versiones clave.

  1. Este article Linux Journal
  2. Este article en SourceForge
  3. Y este HOWTO para cuando todo salga mal.

Sin embargo, el modo Raw tiene la desventaja de que tiene que hacer su propia conversión de códigos de escaneo a caracteres.


No creo que los ncurses funcionen. El enlace que proporcionó Basilevs habla sobre la tecla de "flecha hacia arriba" y la tecla de "flecha hacia abajo", no se pulsa y suelta una tecla.