Ich glaub ich hab da auch ein Verständnisproblem, wenn ich über die Windowseigen Bildschirmtastatur zwei mal auf Rollen drücke, schaltet der USB-Switch um.
Von meinem Verständnis her ist es ja auch nur eine Software (Bildschirmtastatur), also warum kann ich es auch nicht so machen?
Das ist etwas Anderes.
Es gibt ein paar Tastatur-States, die werden an die Tastatur gesendet und da kann dann auch wieder der Switch drauf reagieren, auf die Befehle an die Tastatur.
Hier muß ja der PC der Tastatur sagen "schalte deine Scroll-Lock-LED an", sonst zeigt die Tastatur-LED etwas anderes/falsches, als der Status im PC aussagt, wenn es von der virtuellen Tastatur kam.
(Scroll-Lock, Shift-Lock und Num-Lock)
Im Prinzip ist es einfach.
Der Switch reagiert nur auf Befehle, welche durch das USB-Kabel wandern.
SendInput und Dergleichen schleußen ihre Signale aber erst nach dem USB-Port in deinem PC ein.
Via Software kannst du dich aber nur an gewissen Stellen einmischen (dort deine virtuellen Tastatur-Events senden), also bei "<---"
und bei "<--- ?" nur, wenn du das Programm hookst, bzw. selber dort etwas dafür einkompiliers.
Alles davor nur über zusätzliche Hardware, oder wenn sich die vorhandene Hardware steuern ließe, also ein
API für den Switch oder eben eine steuerbare Tastatur.
Code:
Tastatur
V
Kabel
V
USB-Switch
V
Kabel
V
USB-Port
V
USB-Treiber
V <---
LowLevel-Tastatur-Funktionen
V <---
HighLevel-Tastatur-Funktionen
V <---
Windows-Messages
V <--- ?
Ereignisbehandlung im Programm
V <--- ?
die Auswertung im Programm
Im Fall der Lock-LEDs ist das halt ein Steuerbefehl für die Tastatur
durch das Kabel, auf welchen der Switch reagieren kann, wenn er auch den Rückkanal überwacht,
aber da ist das eben nicht direkt der Tastatur-Code von der Tastatur durch das Kabel, sondern eben die zugehörige LED, auf welche hier reagiert wird.