2010-09-13 6 views
21

Ich möchte den USB-Anschluss eines Computers A an den USB-Anschluss von Computer B anschließen, damit Computer A als Tastatur des Computers B fungiert.Simulieren einer Tastaturausgabe (Computer als eine andere Computertastatur darstellen)

Irgendeine Idee, wie ich das machen würde?

Ich bin nicht auf der Suche nach einer fertigen Lösung (obwohl wenn bereits existiert und open-sources I würde nicht widersprechen), aber für einen Ausgangspunkt oder eine gute Ressource.

Ich denke, ich müsste einen Treiber schreiben, der das Protokoll der Tastatur simuliert, und ich müsste auch das gesamte USB-Master/Slave-Szenario aussortieren.

Wie auch immer, jede Hilfe wäre willkommen.

P.S. Ich möchte es auch mit der Maus machen, aber ich stelle mir vor, dass es ein sehr ähnlicher Prozess sein wird, und ich denke (aber ich könnte mich sehr irren), dass es einfacher ist, mit der Tastatur zu beginnen.

+1

Haben Sie eine Lösung dafür gefunden? – bchurchill

Antwort

5

Linux hat Unterstützung für USB gadget mode, aber ich denke, dass Sie spezielle Hardware dafür benötigen. I.e. Der USB-Anschluss eines normalen PCs kann den Gadget-Modus nicht ausführen.

Eine Alternative besteht darin, einen LPT-Port mit einem PS/2-Tastatureingang zu verbinden, dies ist technisch einfacher.

0

Wenn es nicht für den USB wäre, würde ich die beiden über LAN verbinden und ein Client/Server-C# -Programm haben, das eine Tastatur/Maus emuliert (z.B. über DirectInput).

Für den USB-Teil, soweit ich sagen kann, benötigen Sie einige Hardware-Adapter. Wenn Sie in der Hardware-Entwicklung sind oder zumindest keine Angst vor einem Lötkolben und einigen μc-Programmierung haben, schauen Sie sich http://www.obdev.at/products/vusb/hidkeys.html an, wo ein HID-Stack für einen kleinen atmel-Chip kostenlos zur Verfügung steht. Für diese Lösung benötigen Sie zwei atmega-Chips, die über I²C oder SPI oder ähnliches kommunizieren.
Ich würde auch eine elektrische Trennung der beiden PCs empfehlen. Sie wissen nie, ob sie die gleiche elektrische Masse teilen oder nicht.

+0

Mit elektrischer Trennung meinst du, dass auf der "Slave" -Seite ich die VCC und GND trennen und die D + und D- Leitungen opto-koppeln sollte? –

+0

Im Grunde, ja, aber: Es ist tatsächlich sehr schwierig, eine USB-Verbindung wegen der unvorhersagbaren Signalrichtungen in den D + und D- Leitungen elektrisch zu trennen. Aber es ist sehr einfach, die SPI-Verbindung zwischen den beiden Mikrocontrollern zu entkoppeln (z. B. optisch). Dann würde jeder μc separat über seine eigene USB-Verbindung versorgt werden. –

+0

An den lieben Downvoter: Wofür ist die -1? Bitte helfen Sie mir zu verbessern: Was ist mit meiner Antwort ist falsch oder off-topic? –

6

Ich bin wirklich aufgeregt, etwas gefunden zu haben, das das von Hagstrom Electronics tun wird. Es nimmt einen seriellen Eingang und sendet eine USB-Tastaturausgabe an einen anderen PC. Wenn Sie dies mit einem leicht verfügbaren USB-zu-Seriell-Adapter kombinieren, dann sind Sie golden.

http://www.hagstromelectronics.com/products/usbkm232.html

Ich habe seit Wochen gesucht, dies zu finden, so entschied ich mich zu einigen Foren zu gehen und die Entdeckung teilen.