2009-02-20 10 views
5

Quelle est la meilleure façon de détecter dans un programme C que la touche fléchée est enfoncée sous Linux ou Solaris?Comment détecter que la touche fléchée est enfoncée en utilisant C sous Linux ou Solaris?

Comme je sais qu'il n'y a pas de fonction C standard qui peut le faire. Je ne veux pas utiliser la fonction int86. Je dois le faire de manière portable.

Édition: Je pose des questions sur les applications console.

+0

Êtes-vous référence à une application console (pas de fenêtres) ? –

+0

Oui, application console. –

Répondre

5

Vous devriez regarder la bibliothèque curses/ncurses qui vous donnera un traitement avancé de l'écran et du clavier pour les applications console.

Il y a beaucoup de documentation disponible pour les malédictions, qui est une vaste bibliothèque.

Il y a une écriture sur cette question très disponible here

+0

Cette réponse est spot-on. Surtout si vous le voulez portable, ne réinventez pas la roue, utilisez simplement une bibliothèque et évitez le mal de tête. – ypnos

+0

Le premier lien est devenu sec! –

+0

Comme l'a souligné Francis le lien Documentation original est maintenant un 404. Rejoint à une nouvelle source –

0

Si vous vouliez le faire sans utiliser quelque chose comme SDL, vous devriez regarder dans l'instruction select() et comment l'utiliser pour lire depuis l'entrée de la console.

Questions connexes