Linux下如何在C中获取方向键键值
#include <stdio.h>
#include <ncurses.h>
void main()
{
char c=getch();
if (c == -32)
{
c=getch();
if (c == 75 )
{
printw ("left");
}
}
getch();
endwin();
}
求大神解答下 为什么我这样写在ubuntu下面无法获得键值?
按完左方向键后直接退出exe 命令行会多个D 是因为什么
要如何实现?
初学不懂 求指导
[解决办法]
■ 如何利用方向鍵
curses 將一些如方向鍵等特殊控制字元, 以 KEY_ 為開頭定義在 curses.h
這個檔案裡頭, 如 KEY_UP 即代表方向鍵的 " ↑ ". 但, 如果您想使用
curses.h 所為您定義的這些特殊鍵的話, 您就必須將 keypad 設定為
TRUE. 否則, 您就必須自己為所有的特殊鍵定義了.
curses.h 為一些特殊鍵的定義如下:
KEY_UP 0403 ↑
KEY_DOWN 0402 ↓
KEY_LEFT 0404 ←
KEY_RIGHT 0405 →
KEY_HOME 0406 Home key (upward+left arrow)
KEY_BACKSPACE 0407 backspace (unreliable)
KEY_F0 0410 Function keys.
KEY_F(n) (KEY_F0+(n)) Formula for f .
KEY_NPAGE 0522 Next page
KEY_PPAGE 0523 Previous page
以上僅列出筆者較常使用的一些控制鍵, 至於其他控制鍵的定義, 請自行參
閱 man curses (* 註三)
一併為您列出其他常用的一些特殊字元
[TAB] /t
[ENTER] /r
[ESC] 27
[BACKSPACE] 127