2009-02-20 30 views
5

¿Cuál es la mejor manera de detectar en un programa C que se presiona la tecla de flecha en Linux o Solaris?¿Cómo detectar esa tecla de flecha presionando C en Linux o Solaris?

Como sé, no hay una función C estándar que pueda hacerlo. No quiero usar la función int86. Necesito hacerlo de una manera portátil.

Editar: Estoy preguntando acerca de las aplicaciones de la consola.

+0

¿se refiere a una aplicación de consola (es decir, sin ventanas) ? –

+0

Sí, aplicación de consola. –

Respuesta

5

Debería mirar la biblioteca de curses/ncurses que le dará una pantalla avanzada y manejo de teclado para aplicaciones de consola.

Hay una gran cantidad de documentation disponible para curses, que es una extensa biblioteca.

Hay un reportaje sobre esta misma cuestión disponibles here

+0

Esta respuesta es inmediata. Especialmente si lo quiere portátil, no reinvente la rueda, solo use una biblioteca y ahorre el dolor de cabeza. – ypnos

+0

¡El primer enlace se ha secado! –

+0

Como lo señaló Francis, el enlace de Documentación original ahora es un 404. Reúne a una nueva fuente –

0

Si desea hacer esto sin utilizar algo como SDL, debe buscar en la instrucción select() y cómo usarla para leer desde la entrada de la consola.

Cuestiones relacionadas