2011-03-11 108 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