他们询问如何捕获键,如F11或insand getchr没有为这些键返回任何内容,并且我找不到任何可以接受来自输入事件的原始输入的东西。
我现在正在尝试在C++程序中使用ncurses/curses来捕获这些键。
我要测试的程序很简单,它基本上是:
#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(),我需要打开某个开关吗?
发布于 2010-11-22 08:54:36
在调用getch()之前,您需要调用initscr();来初始化curses。
此外,您可能需要非行缓冲模式,因此还应该调用cbreak(); noecho(); (回显模式不应与cbreak模式一起使用)。
https://stackoverflow.com/questions/4241366
复制相似问题