如何在wpf 2键盘中使用?

时间:2016-06-10 13:06:49

标签: c#

如何在连接到我的电脑的wpf 2键盘(它的项目部分)中使用?

例如,如果我使用“w”,它将激活一个按钮,但在第二个键盘上它不会激活它。

2 个答案:

答案 0 :(得分:1)

使用Windows Raw Input API。它为应用程序提供了一种接受来自任何HID的原始输入的方法,包括键盘和鼠标。

答案 1 :(得分:1)

您可以使用Windows Raw Input API。通常情况下,Windows会截取键盘输入并使其更容易处理。使用原始输入API,您可以直接处理每个键盘,而不是让Windows将键盘视为单个键盘。缺点是相互作用会更低。你如何处理取决于你的用例,但这是你在User32.dll中可能关心的主要方法:

  • GetRawInputDeviceList 检索附加到系统的输入设备列表。
  • RegisterRawInputDevices 允许应用程序注册要监视的输入设备。
  • GetRawInputData 从输入设备检索数据。
  • GetRawInputDeviceInfo 检索设备上的信息。

您可以导入这些方法以从C#调用它们,例如:

[DllImport("User32.dll")] 
extern static uint GetRawInputDeviceList(IntPtr pRawInputDeviceList, ref uint uiNumDevices, uint cbSize);
编辑:我之前没有尝试过,但是这个库看起来可以为这种工作提供一个很好的API。 https://github.com/aelij/RawInputProcessor