I ein kleines Programm in C# 2010 geschrieben sind, die Eingaben von verschiedenen Tastaturen, indem sie eine Reihe von Geräten, teilweise aufgespalten können, die folgenden:Einzigartig Logitech Verbindende Keyboards identifizieren (in C#)
--Dieser Code funktioniert gut für nicht-einheitliche keyboards--
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.
}
Sehr glücklich damit, ich lief aus und kaufte 4 Logitech K230 Tastaturen, die den Unifying-Empfänger verwenden. Leider sind alle Tastaturdaten jetzt gemultiplext und erscheinen in meinem Code als eine einzige Tastatur!
Wie kann ich feststellen, von welcher "einheitlichen" Tastatur die Eingabe kommt? Idealerweise in C#, aber ich nehme an, dass ich bereit bin, andere Sprachen zu betrachten, wenn Lösungen existieren.
Ich habe einen Linux-Treiber gesehen, der die "vereinheitlichte" Eingabe auseinander bricht, so dass die HID-Ebene verschiedene Tastaturen sehen kann (und sie anders behandeln). Dies machte mich optimistisch, dass eine Windows-Lösung auch existieren sollte. – cdehaan
Es tut mir leid, so viele Kommentare zu meiner eigenen Frage hinzuzufügen, aber für alle Interessierten ist dies das Projekt, bei dem meine ursprüngliche Eingangsaufteilung kam: http://www.codeproject.com/Articles/17123/Using-Raw-Input-from -C-to-handle-multiple-keyboard – cdehaan
Der USB-Dongle ist ein USB-HID-Gerät, daher handelt es sich bei all dem Verkehr, den Sie sehen, grundsätzlich um generischen HID-Verkehr, der vom USB-Dongle erzeugt wurde. Es sei denn, die Spezifikationen haben irgendeinen Einfluss auf den Traffic, der generiert wird und Metadaten enthält. Ich denke nicht, dass es möglich ist. Sie können möglicherweise [USBlyzer] (http://www.usblyzer.com/download.htm) verwenden, um den USB-Datenverkehr zu erkennen. Wenn Sie eine Verbindung mit dem USB-Dongle herstellen können, können Sie möglicherweise Informationen von ihm anfordern. – jduncanator