我在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.
}
Run Code Online (Sandbox Code Playgroud)
很满意,我跑出去买了4台使用Unifying接收器的Logitech K230键盘.遗憾的是,所有键盘数据现在都是多路复用的,并在我的代码中显示为单个键盘!
如何识别输入来自哪个"统一"键盘?理想情况下在C#中,但我想如果存在解决方案,我愿意查看其他语言.