12

私は 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.
}


これに非常に満足して、私は Unifying レシーバーを使用する 4 つの Logitech K230 キーボードを使い果たし、購入しました。悲しいことに、すべてのキーボード データが多重化され、私のコードでは 1 つのキーボードとして表示されます。

入力がどの「統合」キーボードから来ているかを特定するにはどうすればよいですか? 理想的には C# ですが、解決策があれば他の言語も検討したいと思います。

4

1 に答える 1

1

統一キーボードはありませんが、Windowsデバイスで複数のキーボードが表示されるかどうかを確認してください。次に、このhttp://www.codeproject.com/Articles/17123/Using-Raw-Input-from-C-to-handle-multiple-keyboardを試して、出力を確認できます。

于 2012-11-14T14:09:38.567 に答える