2

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

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

并像这样检测按键:

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

我不知道如何检测任何按键,而不是特定键。在浏览了 SlimDX API 文档后,我无法理解它。毫无疑问,我可能错过了一些非常简单的东西。

4

1 回答 1

3

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

您可以检查此列表是否为空,以了解未按下任何内容 ( kbd.PressedKeys.Count == 0)。

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

于 2012-10-20T15:50:57.370 回答