2012-10-20 135 views
2

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

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

并检测这样的按键:

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

我无法弄清楚如何检测任意键按,而不是特定的键。在通过SlimDX API文档进行拖网之后,我无法将其指向它。我可能错过了一些非常简单的事情。

+0

这是什么平台? – LightStriker

+0

SlimDX,.NET 4. – CdrTomalak

+0

不是目标平台。 Windows我猜测?为什么不使用正常形式回电? – LightStriker

回答

3

KeyboardState类具有PressedKeys只读属性,其中包含按下的键的IList<Key>

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

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