как лучше всего обнаружить escape-последовательности в необработанном режиме ncurses.
Мне приходит на ум сделать getch, а затем добавить его в какой-то буфер, а затем, когда текст соответствует известной escape-последовательности, выполнить соответствующую команду, в противном случае проигнорировать последовательность.
Однако в этом алгоритме, если я нажму escape-последовательность, о которой система не знает, даже если я буду продолжать вводить другие символы, они будут рассматриваться как часть escape-последовательности. Существуют ли какие-либо правила относительно длины escape-последовательности или некоторых стандартных символов, которыми заканчивается escape-последовательность?
Или есть способ определить в ncurses, когда пользователь перестал вводить символы? например, escape-последовательность обычно представляет собой последовательность символов, но у меня нет возможности обнаружить последний символ, потому что у меня есть блокировка, которая просто блокируется, когда нет символов из системы ввода.
например, если я нажму страницу вниз и кнопку c, у меня будет непрерывный поток символов escape-последовательности ^[[6~, а затем символ c. как я могу обнаружить между теми двумя, что пользователь нажал первую escape-последовательность, а затем символ c, если у меня нет предопределенного набора известных escape-последовательностей