C++密钥输入检查

C++ Key Input check

本文关键字:检查 输入 密钥 C++      更新时间:2023-10-16

我正在编写一个函数,该函数获取用户输入并根据用户输入的内容执行操作。我正在使用一个案例语句来检查用户输入的内容。

我很难看到用户是否按了主页、结束、输入和 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: