我正在尝试制作一个简单的程序来检测UP键。这是我的c代码:
#include <stdio.h>
#include <ncurses.h>
int main() {
initscr();
noecho();
printw("hello\n");
refresh();
int ch = getch();
if (ch == KEY_UP) {
printw("up!\n");
refresh();
}
getch();
endwin();
return 0;
}
当我编译并运行程序时,它不起作用。当我按下键时它就会退出。
提前感谢。
答案 0 :(得分:4)
您应该致电keypad
告诉curses解释特殊键:
keypad(stdscr, TRUE);
在initscr()
之后。没有它,你的程序将(单独)读取 escape [和 A 。
进一步阅读: