3
他们问如何捕获键,如F11或insand getchr不返回键的那些东西,并没有什么我能找到的工作是接受来自输入事件的原始输入..getch返回-1?
我现在想的ncurses /诅咒在C++程序中捕获这些密钥。
我的测试程序很简单,它基本上是:
#include <stdlib.h>
#include <stdio.h>
#include <curses.h>
int main() {
int car;
while(c != '\b') {
c = getch();
printf("%i", c);
}
return 0;
}
我使用它,当然另一个相同的getch()函数,但它返回-1
无限次..我用最近的内核在Arch linux中,在一个标准的终端(也在xterm
中测试过)
是否有某个开关需要打开才能在库中使用此getch()?
我不是诅咒专家,但它似乎也可能要调用'keypad(stdscr,TRUE);'这样ncurses可以转换特殊键转义序列并从getch()返回由* KEY_ *宏。例如'if(getch()== KEY_F0 + 11){/ * f11 pressed * /}' – 2010-11-22 01:23:32
谢谢。由于某些原因,我的FN密钥在Linux上不起作用,所以我无法测试这些密钥,但它确实适用于插入和不希望的奇怪密钥。我希望我不需要将来自内核的原始键盘输入映射到那些fn + ins键和东西得到暂停:\ – John 2010-11-22 01:30:19