Ответ в конечном итоге зависит от того, откуда взялись ключи. Я запустил эту программу под Cygwin:
int main(void)
{
int c=0;
while( c != 'X' ) {
c = getchar();
printf("\nc=%d", c);
}
}
Каждый раз, когда появляется курсор, я вижу escape (27), квадратную скобку и еще один символ.
Так что, если вы получаете такие результаты, вы можете пропустить 3 клавиши каждый раз, когда видите 27. Вы также можете посмотреть на них и использовать их!
Как уже упоминалось, YMMV, особенно для O.S., и фактическая функция получения ключа, которую вы вызываете.