无法使用ncurses获取KEY_UP

时间:2016-02-27 17:40:39

标签: c ncurses curses

我正在尝试制作一个简单的程序来检测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;
}

当我编译并运行程序时,它不起作用。当我按下键时它就会退出。

提前感谢。

1 个答案:

答案 0 :(得分:4)

您应该致电keypad告诉curses解释特殊键:

keypad(stdscr, TRUE);
initscr()之后

。没有它,你的程序将(单独)读取 escape [ A

进一步阅读: