所以我正在使用RAWINPUT,我正在试图弄清楚如何检查:
data.keyboard.Flags
要查看正在显示的标志,我希望能够检查按键和按键以及左右键等内容。
你需要做这样的事情:
if(data.keyboard.Flags == (RI_KEY_MAKE|RI_KEY_E0))
和
if(data.keyboard.Flags == (RI_KEY_BREAK|RI_KEY_E0))
我知道SHIFT键我应该检查makecode 留下:0x2a 正确的是:0x36
CTRL和ALT键怎么样
答案 0 :(得分:0)
您需要知道密钥的原始扫描代码。它们的核心参考是Word document。有点难以解决,第16页的扫描码表是最有用的资源。
请注意您必须小心E0标志。它用于在以后的键盘设计中添加的键。最初的IBM PC键盘总是有两个移位键,因此它们使用不带E0的专用扫描码发送。但是后来添加了Right-Ctrl和Right-Alt,它们的扫描码分别是E0 1D和E0 38,左边是1D,38是没有E0标志。