2011-03-11 168 views
2

我感興趣的擴展Windows鍵盤上的按鍵(特別是 - 但不一定限於 - Windows 7中)。目前,我可以用這裏提供的鑰匙在我的C#應用​​程序:擴展Windows鍵盤

http://msdn.microsoft.com/en-us/library/system.windows.forms.keys(v=vs.71).aspx

我感興趣的東西做的是擴大現有的鍵碼,所以我可以將它們調整到我的特殊(可編程鍵盤)的硬件,然後能夠將這些註冊到我的C#/ DirectX應用程序中。我知道可以創建熱鍵組合,但我想先探索這個選項。我的問題是:

A)是這種做法完全瘋了嗎?

B)如果A ==假:有沒有人有任何這 實踐經驗。可以 你推薦什麼好的 關鍵字/教程,我應該 在看什麼?

回答

2

這是我的理解是僅適用於Windows接受基於鍵枚舉(虛擬鍵在unmanged世界:http://msdn.microsoft.com/en-us/library/dd375731(v=vs.85).aspx)鼠標/鍵盤輸入。這使您無法在Windows上執行您的選項A.

舉一個具體的例子僅適用於Windows還有5個鼠標按鍵(LButtonRButtonMButtonXButton1XButton2),但你可以購買帶有超過五個按鈕的鼠標代碼。用於擴展按鈕的新虛擬鍵代碼不能即時創建。爲了解決這個限制,像這樣的鼠標隨軟件一起提供,該軟件允許您編程按下每個按鈕的功能。一般來說,您可以找到選項來將擴展按鈕綁定到單擊某個其他虛擬鍵代碼,或者編寫組合多個按鍵的更復雜的宏。

在你的應用程序,你將能夠做的就是確保正確處理全範圍鍵枚舉值(和改性劑的組合)的最好的。然後適當地編程您的鍵盤。這可能意味着利用一些擴展的虛擬密鑰(如BrowserForward)來立即生成更多的虛擬密鑰代碼,或者生成更復雜的宏以輸入快速連續的虛擬密鑰代碼。

+0

謝謝你的反饋Mike。我確實有能力進入快速連續的鍵碼,所以我認爲我只需要將其作爲我的解決方案,並解決任何問題。我問的主要原因是我知道一些控制器(羅技操縱桿,xBox控制器)似乎發送了他們自己的信號/鍵碼,我想要利用這樣的系統。 – 2011-03-11 01:47:43