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