C++ 绘制键盘标志,检查哪些标志处于打开状态,还可以使用SHIFT、CTRL和ALT键
因此,我正在使用RAWINPUT,并试图找出如何检查:C++ 绘制键盘标志,检查哪些标志处于打开状态,还可以使用SHIFT、CTRL和ALT键,c++,windows,raw-input,C++,Windows,Raw Input,因此,我正在使用RAWINPUT,并试图找出如何检查: data.keyboard.Flags 要查看哪些标志处于启用状态,我希望能够检查像“向上键”和“向下键”以及“左键”和“右键”之类的内容 您需要这样做吗: if(data.keyboard.Flags == (RI_KEY_MAKE|RI_KEY_E0)) 及 我知道对于SHIFT键,我应该检查生成代码 左:0x2a 正确存在:0x36 CTRL键和ALT键怎么样?您需要知道键的原始扫描代码。他们的核心参考是这个。有点难以理解,第16
data.keyboard.Flags
要查看哪些标志处于启用状态,我希望能够检查像“向上键”和“向下键”以及“左键”和“右键”之类的内容
您需要这样做吗:
if(data.keyboard.Flags == (RI_KEY_MAKE|RI_KEY_E0))
及
我知道对于SHIFT键,我应该检查生成代码
左:0x2a
正确存在:0x36
CTRL键和ALT键怎么样?您需要知道键的原始扫描代码。他们的核心参考是这个。有点难以理解,第16页的扫描代码表是最有用的资源
请注意如何小心使用E0标志。它用于后来键盘设计中添加的键。最初的IBM PC键盘总是有两个shift键,因此它们与专用扫描代码一起发送,而不使用E0。但是后来添加了右Ctrl和右Alt,它们的扫描代码分别是E0 1D和E0 38,左边的扫描代码是1D和38,没有E0标志。所以如果我跟着你向右走,标志实际上没有被使用,我需要使用键的扫描代码,返回键呢?不知道你想说什么。你为什么不试试呢?好吧,我让那个部件工作了,我仍然不知道如何检查钥匙是否打开了,这是唯一缺少的东西。
if(data.keyboard.Flags == (RI_KEY_BREAK|RI_KEY_E0))