检测按键

时间:2012-10-20 15:44:54

标签: c# keyboard keypress slimdx

我目前正在检查程序中的键盘状态:

SlimDX.DirectInput.KeyboardState keyboardState = keyboard.GetCurrentState();

并检测如下按键:

 if(keyboardState.IsPressed(SlimDX.DirectInput.Key.Q))...

我无法弄清楚如何检测任何按键,而不是特定按键。在浏览SlimDX API文档后,我无法将手指放在上面。毫无疑问,我可能会遗漏一些非常简单的东西。

1 个答案:

答案 0 :(得分:3)

KeyboardState类有一个PressedKeys只读属性,其中包含IList<Key>个按键。

您可以检查此列表是否为空,以便知道没有任何内容被按下(kbd.PressedKeys.Count == 0)。

如果您想响应键盘事件并避免轮询模式(显式检查按键),您应该查看SlimDX.RawInput命名空间并使用按键事件处理,类似于WinForms。