2009-02-20 9 views
5

Qual è il modo migliore per rilevare in un programma C che il tasto freccia sia premuto su Linux o Solaris?Come rilevare che il tasto freccia viene premuto usando C sotto Linux o Solaris?

Come so che non esiste una funzione C standard in grado di farlo. Non voglio usare la funzione int86. Ho bisogno di farlo in modo portatile.

Modifica: chiedo informazioni sulle applicazioni della console.

+0

Si riferisce a un'applicazione di console (cioè senza finestre) ? –

+0

Sì, applicazione console. –

risposta

5

Si dovrebbe guardare la libreria curses/ncurses che offrirà una gestione avanzata dello schermo e della tastiera per le applicazioni della console.

C'è un sacco di documentation disponibile per curses, che è una vasta libreria.

C'è un write-up su questa domanda disponibile here

+0

Questa risposta è azzeccata. Soprattutto se lo vuoi portatile, non reinventare la ruota, basta usare una libreria e risparmiare il mal di testa. – ypnos

+0

Il primo collegamento è andato a secco! –

+0

Come sottolineato da Francis, il link alla Documentazione originale è ora un 404. Repointed to a new source –

0

Se si desidera eseguire questa operazione senza utilizzare qualcosa come SDL, è necessario esaminare l'istruzione select() e come utilizzarla per leggere dall'input della console.