我正在编写一个函数,该函数获取用户输入并根据用户输入的内容执行操作。我正在使用一个案例语句来检查用户输入的内容。
我很难看到用户是否按了主页、结束、输入和 del。 默认变量(如 HOME、INSERT、DELETE 和 END)似乎没有效果,但箭头键使用 LEFT 和 RIGHT。我在GNU/Linux中这样做。我不确定我做错了什么。
任何帮助将不胜感激。
这是问题:
#include <stdio.h>
//Compiled on GNU/Linux
//By: Saulius Grybas
int main()
{
int key;
bool done = false;
while (!done)
{
key = getchar();
switch (key){
case HOME:
//Home key is pressed / perform action
done = true;
break;
case END:
//END key is pressed / perform action
done = true;
break;
case DEL:
//DEL key is presed / perform action
done = true;
break;
case BACKSPACE:
//backspace is pressed / perform action
done = true;
break;
default:
done = false;
break;
}
printf ("%d%sn", key, " - Integer of key is pressed!");
}
return 0;
}
这些定义密钥的扫描代码 (IBM PC)。所有数字均为十进制。
#define PAGE_UP 73
#define HOME 71
#define END 79
#define PAGE_DOWN 81
#define UP_ARROW 72
#define LEFT_ARROW 75
#define DOWN_ARROW 80
#define RIGHT_ARROW 77
#define F1 59
#define F2 60
#define F3 61
#define F4 62
#define F5 63
#define F6 64
#define F7 65
#define F8 66
#define F9 67
#define F10 68
#include <iostream>
#include <conio.h>
以下是Linux扫描代码 http://www.comptechdoc.org/os/linux/howlinuxworks/linux_hlkeycodes.html: