Я пытался найти решение этого в течение довольно долгого времени; Я не могу получить окно терминала, чтобы распознать клавиатуру.ncurses Не распознает макросы со стрелкой
Вот мой код:
while (1){
if (cmd != ERR) {
printw("Controls: LEFT/RIGHT and SPACEBAR (Q TO QUIT)");
if (cmd == ' '){
// Stuff
}
else if (cmd == KEY_LEFT){
// Stuff
}
else if (cmd == KEY_RIGHT){
// Stuff
}
else if (cmd == 'q'){
// Stuff
}
refresh();
}
cmd = getchar();
}
Он признает, что я вхожу в пространство (случай 1) или «Q» (случай 4), но он не распознает встроенные проклятия макросов. Я использую для этого обычный C, а не C++. Какие-либо предложения?
Вероятно, OP просто использует 'getch()' без передачи указателя 'WINDOW', поэтому' keypad (stdscr, TRUE) 'будет обычной рекомендацией. Обратите внимание, что проклятия определяют «ИСТИННЫЙ», а не «истинный» (два равны, если ncurses правильно настроены). –
Я использую 'keypad (stdscr, TRUE)' и он все равно не влияет на распознавание клавиш со стрелками. Я пробовал пройти ИСТИННУЮ и правдивую безрезультатно. – user3245474