从Direct Input和GetDeviceState()接收键状态(C ++)

时间:2012-04-12 15:51:22

标签: c++ windows directinput

我正在使用Direct Input制作键盘输入的包装器。要获取关键状态,使用char缓冲区调用函数GetDeviceState()

这一切都很好,但现在发送关键事件我必须遍历缓冲区并检查所有按下的键。我希望会有一个回调,而只是传递了被按下的键码。

如果有人有直接输入的经验,那么通过密钥代码缓冲区迭代检查按键的唯一方法是什么?

1 个答案:

答案 0 :(得分:1)

答案是使用GetDeviceData()代替。您将能够获得按键是否被按下或释放以及按下的键的偏移量,这与我正在寻找的非常接近,因为现在我可以启动我自己的回调以及如果没有按下按键则开销是最小的。