Come posso inviare sequenze di escape del terminale in modalità di ingresso crudo?
Domanda
Ho un programma che utilizza un terminale in modalità raw e voglio spostare il cursore. Dove posso trovare la sequenza di escape per questo e come posso inviarlo al terminale da dentro il mio programma c?
Ecco quello che ho attualmente:
char code[4];
code[0] = 27;
code[1] = 91;
code[2] = '*';
code[3] = 'D';
write(1, code, 4);
Soluzione
Se si desidera che il controllo dello schermo pieno, quindi si dovrebbe guardare il ncurses biblioteca . Si tratta di una semplice libreria per console programmi a schermo intero che contiene tra le altre cose
- posizionamento schermata di testo
- Uso della tastiera completa inclusi i tasti funzione, inserimento / cancellazione etc
- L'uso di attributi per la colorazione, evidenziando di testi etc
Altri suggerimenti
Si desidera utilizzare termcap per ottenere queste informazioni, in quanto varia, a seconda di cosa tipo di terminale dell'utente è a.
Vorrei suggerire di guardare duro al maledizioni o ncurses librerie, e prevede di utilizzare uno o l'altro, piuttosto che rotolare il proprio. L'obiettivo è di utilizzare il terminfo sistema delle descrizioni terminali piuttosto che il più vecchio sistema termcap . Vedere anche i libri O'Reilly " TERMCAP e terminfo " e il mio titolo preferito (soprattutto perché mi sembra di spendere un sacco di tempo imprecazioni durante la programmazione) " Progamming maledizioni ". (Tuttavia, quel libro è antica - 1986 - e ci sono altri libri più recenti, sullo stesso argomento che probabilmente sarebbe scelte migliori;. Amo ancora il titolo, però)