Questa è una questione di decisioni di design. Trovo che ci siano così tante cose su cui lavoro su cui leggere _kbhit()
è incredibilmente utile ma non riesco a trovare (leggi: non c'è) alcuna funzionalità come quella nello standard C ++.
- Esempio: fai in modo che una fotocamera funzioni continuamente (e aggiorni una finestra sullo schermo) finché non colpisci il carattere "escape".
- Esempio: premendo F11 in firefox per ingrandire la finestra.
- Esempio: premendo il tasto W in qualsiasi gioco FPS per spostarsi in avanti
Tutti questi elementi leggono la tastiera senza premere [invio] tra ogni lettura. Come è fatto il diavolo? Sotto Windows uso getch()
in un ciclo continuo eseguito nel suo stesso thread. Non sono sicuro che sia una buona idea per quanto riguarda le prestazioni, ma la maggior parte del software che scrivo in un sistema operativo non è molto critica (sono soprattutto interfacce utente a linea di comando che si interfacciano con i sistemi embedded che sviluppo).
Questo è per un'interfaccia utente per un sistema e l'interfaccia utente deve essere eseguita sotto Linux. Come si legge una hit della tastiera senza chiamare una funzione conio.h
?