Como uso o getch de maldições sem limpar a tela?
Estou aprendendo a programar em C e quero poder digitar caracteres no terminal enquanto meu código está sendo executado sem pressionarRetorna. Meu programa funciona, no entanto, quando ligoinitscr()
, a tela é limpa - mesmo após a chamadafilter()
. A documentação parafilter
sugere que ele desative a limpeza - no entanto, esse não é o meu caso.
#include <stdio.h>
#include <curses.h>
#include <term.h>
int main(void) {
int ch;
filter();
initscr();
cbreak();
noecho();
keypad(stdscr, TRUE);
while((ch = getch()) != EOF);
endwin();
return 0;
}
Por que o código acima ainda limpa a tela e o que poderia ser feito para corrigi-lo?
Estou usando o Debian Lenny (stable) e o gnome-terminal, se isso ajudar.