2012-10-20 177 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。