我正在为 Linux 上的控制台程序编写命令行界面。我希望能够在其中使用箭头之类的键。因此,为了捕获代码,我使用了这个简单的程序:
int main()
{
int c = 0;
while (c != 3) { // ctrl-c
c = getchar();
printf("%d\n", c);
}
}
这样做我在捕获 HOME 键时遇到了问题。在一台计算机上,我得到序列“27 91 72”,在另一台计算机上得到“27 79 72”,在第三台计算机上得到“27 91 49 126”。
我不知道为什么我在 HOME 和 END 键上得到如此不同的代码(箭头和 F1-F12 键在三台计算机上给出了相同的序列)。
有没有一种标准的方法来获取这个密钥,或者某种配置可以在所有机器上给我相同的序列?