linux上KEY_UP和KEY_DOWN的十进制到底是多少
linux下KEY_UP和KEY_DOWN的十进制到底是多少?用getchar()从linux下获取输入,返回的十进制中,貌似F11,F12,K
linux下KEY_UP和KEY_DOWN的十进制到底是多少?
用getchar()从linux下获取输入,返回的十进制中,貌似F11,F12,KEY_UP,RIGHT,DOWN,LEFT都是返回27,怎么回事?要识别linux下的KEY_UP四个方向键,到底是什么十进制值啊?
[解决办法]
那些键都是一个值序列,以27开始
这个你估计需要使用 curses 库来编程
#include <curses.h>
main()
{
initscr();
keypad(stdscr, true);
printw("%d", getch());
refresh();
endwin();
}
编译
gcc a.c -o tt -lncurses
执行./tt
[解决办法]
[解决办法]L10我已经告诉了你为什么使用curses/ncurses后,printf的内容就不见了。再强调一句,不管是printf还是其他函数,其实它们底层都是基于curses/ncurses的,而curses操作的核心概念是窗口(windows),对,就是窗口,这个窗口和Microsoft的窗口概念是完全一致的。
因为你的标题是linux,而linux下缺省是ncurses来的,而你一直在说的是curses。
至于到底怎样实现读取和区分这些键值,我在L3已经答复了,LZ应该先仔细想想和试试。对L3的答复,实际上本人已经完整实现过的,包括在各种主流的unix/linux下。如果LZ想要源代码,可以提供有偿服务。我实现了curses下windows的大部分界面控件(比如菜单、文本框、编辑框、按钮之类),但没有鼠标模拟操作。
顺便说一句,看看unix的版本历史,microsoft在SYSV上是有版权的,而linux的前身是unix演变来的。我甚至怀疑windows的概念应该是来源于unix的,只是在unix的基础上加入了鼠标。
所以,有没有认真看你的问题,你自己去衡量。你有没有认真看答复,也需要你自己去衡量。
[解决办法]