Domanda

Nel tentativo di ottenere input da tasti freccia tramite maledizioni (ncurses) che non prenderà come KEY_UP ecc ho usato la funzione tastiera con un vero e proprio argomento, ma getch restituisce comunque una sequenza sfuggito. Come faccio a setacciare i valori restituiti dalla getch () e afferrare i tasti freccia in particolare?

È stato utile?

Soluzione 2

Sono stato Memorizzazione chiamate getch() come char, quando avrebbero dovuto essere Int di. Funziona perfettamente dopo l'interruttore.

Altri suggerimenti

Ho trovato lo stesso problema su Mac OS X. Ma è stato risolto aggiungendo il seguente:

keypad(stdscr, TRUE);

Standard terminali (VT100-simili) inviano una sequenza di caratteri quando vengono premuti i tasti freccia. Devi solo tenere traccia di se queste vengono premuti in sequenza. Ecco il char da guardare per:

Down Arrow  0x1B 0x5B 0x42
Left Arrow  0x1B 0x5B 0x44
Right Arrow 0x1B 0x5B 0x43
Up Arrow    0x1B 0x5B 0x41
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top