Я пытаюсь заставить клавиши со стрелками перемещаться между символами в одной строке (влево + вправо) и между командами из истории (вверх + вниз) для пользовательской оболочки (семестр проекта).
на этомточка при нажатии одной из стрелок ^ [[A, ^ [[B, ^ [[C или ^ [[D] отображается и после нажатия Enter я узнаю, что одна из них была нажата с помощью:
char a = getchar();
if (a == '\033') {
getchar();
int ch2 = getchar();
switch(ch2){
case 'A':
printf("UP\n");
break;
case 'B':
printf("DOWN\n");
break;
case 'D':
printf("LEFT\n");
break;
case 'C':
printf("RIGHT\n");
break;
default:
printf("SOME OTHER SCROLL KEY PRESSED: %d %d\n", a, ch2);
break;
}
}
Что я хочу получить, так это то, что как только я нажимаю одну из стрелок, действие происходит без отображения чего-либо.