我有兴趣扩展Windows键盘上的键(特别是 - 但不一定限于 - Windows 7)。目前我可以在我的C#应用程序中使用此处提供的密钥:
http://msdn.microsoft.com/en-us/library/system.windows.forms.keys(v=vs.71).aspx
我感兴趣的是扩展可用的密钥代码,以便我可以将它们定制到我的特定(可编程键盘)硬件,然后能够在我的C#/ DirectX应用程序中注册它们。我知道可以创建热键组合,但我想首先探索这个选项。我的问题是:
A)这种方法完全疯了吗?
B)如果A == false:有人有 实践经验。能够 你推荐任何好的 我应该是关键词/教程 看着?
答案 0 :(得分:2)
据我了解,Windows仅接受基于密钥枚举的鼠标/键盘输入(无人管世界中的虚拟密钥:http://msdn.microsoft.com/en-us/library/dd375731(v=vs.85).aspx)。这使得您的选项A无法在Windows上执行。
作为具体示例,Windows仅包含五个鼠标按钮的代码(LButton
,RButton
,MButton
,XButton1
,XButton2
),但您可以购买一个带有五个以上按钮的鼠标。无法动态创建扩展按钮的新虚拟键代码。为了解决这个限制,像这样的老鼠带有软件,可以让你编程按下每个按钮的功能。通常,您可以找到将扩展按钮绑定到其他一些虚拟键代码的选项,甚至可以编写更复杂的宏来组合多个按键。
在您的应用程序中,您将能够做的最好的事情是确保您正确处理Keys枚举中的所有值(和修饰符组合)。然后适当地编程键盘。这可能意味着利用一些扩展的虚拟密钥(如BrowserForward
)来使一组更大的虚拟密钥代码立即可用,或者生成更复杂的宏来输入快速连续的虚拟密钥代码。