#include <conio.h>
int main (void)
{
for (;;)
{
unsigned char ch = getch();
printf ("0x%02X\n", ch);
}
}
我想获取扫描码。
以下是Wikipedia的说明:
Reads a character directly from the console without buffer, and without echo.
当我按 Del 时,它显示0xE0 0x53。
当我按 Ctrl + PgUp 时,它显示0xE0 0x86。
虽然有些与表格相同,但它显示的大多数值都与它不同。
那么,getch()
真的能获得扫描码吗?
这是扫描码表(第2组,最常用)
答案 0 :(得分:0)
我在VS 2012(C ++)中运行了一个控制台应用程序并获得了与您相同的结果。它确实说getch()已被弃用,我应该使用_getch(),但这没有任何区别。
然后我在这里找到了一张与之匹配的表格(最右边一列)。对我来说,“白色”键使用shift和数字键盘等效,“灰色”键是独立的页面向上,向下翻页等。我发现的一个差异是输入数字小键盘是与常规输入键相同。
http://www.itlnet.net/programming/program/Reference/msc/ng7d68f.html
我不知道这张桌子的来源,除非你点击“关于指南”,它说“微软C数据库,版权所有(C)1987,由Peter Norton”。彼得得到它,我不知道。