1

我正在使用 Windows XP 专业版 SP3。标准英文键盘。我住在美国; 从来没有碰过键盘设置。库存安装。因此,当我按检查我的程序返回的扫描码时,它们如下所示:

A = 30
S = 31
D = 32
F = 33
G = 34

当我检查微软规范(文档的第 11 页:: http: //download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/scancode.doc )它说:

A = 31
S = 32
D = 33
F = 34
G = 35

他们落后 1 分!任何想法为什么?

4

2 回答 2

1

您引用的 Microsoft 键盘扫描代码规范有六列。对于 A 键:

键位:31
键盘:A
scan 1 make: 1E
scan 1 break: 9E
scan 2 make: 1C
scan 2 break: F0 1C

看起来“扫描 2”集是与原始 IBM PC 扫描代码(“扫描 1”)不同的备用硬件扫描代码。请注意,“关键位置”是 31,“扫描 1 制作”是 30。这可能有助于解释您使用最初发布的值看到的内容。也许您可以尝试查看每组中完全不同的键,例如 Esc 和 `(而不是仅仅相差一个,我认为这是误导)。

您没有说明您使用哪个 API 或 Windows 消息来获取您报告的扫描码值,但是如果您查看详细文档以了解您正在使用的任何内容,您可能会找到更多信息。

于 2009-11-20T01:48:23.160 回答
-1

是硬件级别的键盘故障还是键盘驱动程序有问题,您能确定吗?

于 2009-11-20T00:31:31.563 回答