独特识别罗技Unifying键盘(在C#中)

时间:2012-11-12 00:12:41

标签: c# keyboard keyboard-events logitech

我在C#2010中编写了一个小程序,它可以通过制作一系列设备来分割来自不同键盘的输入,部分使用以下内容:


- 此代码适用于非统一键盘 -

InputDevice id;
NumberOfKeyboards = id.EnumerateDevices();
id = new InputDevice( Handle );
id.KeyPressed += new InputDevice.DeviceEventHandler( m_KeyPressed );
private void m_KeyPressed( object sender, InputDevice.KeyControlEventArgs e ) {
  lbDescription.Text = e.Keyboard.Name;
  // e.Keyboard.* has many useful strings, none work for me anymore.
}


对此非常满意,我跑出去买了4台使用Unifying接收器的Logitech K230键盘。可悲的是,所有键盘数据现在都是多路复用的,并在我的代码中显示为一个键盘!

如何确定输入来自哪个“统一”键盘?理想情况下在C#中,但我想如果存在解决方案,我愿意查看其他语言。

1 个答案:

答案 0 :(得分:1)

我没有统一键盘,但检查是否可以在Windows设备中看到多个键盘。然后你可以尝试这个http://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboard并检查输出。