2016-02-27 76 views
1

我想做一個簡單的程序來檢測UP鍵。這裏是我的C代碼:無法獲得與ncurses KEY_UP

#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; 
} 

當我編譯和運行該程序,它不起作用。當我按下鍵時,它只是退出。

在此先感謝。 initscr()

keypad(stdscr, TRUE); 

回答

3

你應該叫keypad告訴詛咒解釋特殊鍵。沒有這個,你的程序將會讀取(單獨)轉義[A

延伸閱讀:

+0

它的作品!當我按下鍵時,它會打印「up!」但後來當我按另一個鍵(包括向上鍵)它存在。有任何想法嗎? – Philosoraptor

+0

您的程序只會對'getch'進行兩次調用,並在第二次調用後退出。另外,你可能想調用'cbreak'。 –