Есть такой код с использованием ncurses
#include <iostream>
#include <ncurses.h>
#include <unistd.h>
using namespace std;
int main()
{
char c = 'a';
initscr();
noecho();
do {
c = getch();
addch(c);
} while(c != 'q');
endwin();
return 0;
}
который печатает символы, вводимые с клавиатуры. Если зажать какую-нибудь клавишу, то сперва выведется один символ, затем, через некоторый промежуток времени будут выводиться остальные пока клавиша зажата. Как можно избавиться от вышеупомянутой паузы? Вручную опрашивать клавиатуру каким-либо образом?
Пробовал сделать неблокирующий getch() с помощью
nodelay(stdscr, TRUE);
и обрабатывать ERR в цикле, эффект остаётся.