2010-09-13 13 views
21

Desidero poter collegare la porta USB di un computer A alla porta USB del computer B in modo da rendere il computer A un computer come la tastiera di B.Simulazione dell'output di una tastiera (creazione di un computer come tastiera di un altro computer)

Qualche idea su come farei per farlo?

Non sto cercando una soluzione già pronta (anche se ne esiste già una ed è open-source I non obietterà), ma per un punto di partenza o una buona risorsa.

Immagino che avrei bisogno di scrivere un driver che simuli il protocollo della tastiera, e avrei anche bisogno di risolvere l'intero scenario master/slave USB.

In ogni caso, qualsiasi aiuto sarebbe apprezzato.

P.S. Voglio farlo anche con il mouse, ma immagino che sarà un processo molto simile, e penso che (ma potrei sbagliarmi molto) che iniziare con la tastiera sarà più facile.

+1

Hai trovato una soluzione per questo? – bchurchill

risposta

5

Linux ha il supporto per USB gadget mode, ma penso che sia necessario un hardware speciale. Cioè la porta USB in un normale PC non può fare la modalità gadget.

Un'alternativa è quella di collegare una porta LPT a un ingresso tastiera PS/2, ciò è tecnicamente più semplice.

0

Se non fosse per l'USB, collegherei i due via LAN e avrò un programma C# client/server che emula una tastiera/mouse (ad esempio tramite DirectInput).

Per la parte USB, per quanto ne so, è necessario un adattatore hardware. Se sei interessato allo sviluppo dell'hardware o non hai paura di un saldatore e di qualche programmazione in μc, dai uno sguardo allo http://www.obdev.at/products/vusb/hidkeys.html dove uno stack HID per un piccolo chip atmel è disponibile gratuitamente. Per questa soluzione sono necessari due chip Atmega che comunicano tramite I²C o SPI o simili.
Consiglierei anche la separazione elettrica dei due pezzi. Non si sa mai se condividono la stessa terra elettrica o no.

+0

Per separazione elettrica, intendi che sul lato "dello schiavo" dovrei disconnettere il VCC e il GND e opto-accoppiare le linee D + e D-? –

+0

In base, sì, però: In realtà è molto difficile separare elettricamente una connessione USB a causa delle direzioni del segnale imprevedibili nelle linee D + e D-. Ma ciò che è molto facile da fare è (per esempio otticamente) disaccoppiare la connessione SPI-o-tale tra i due microcontrollori. Quindi ogni μc verrebbe alimentato separatamente tramite la propria connessione USB. –

+0

Per il caro downvoter: A cosa serve il -1? Per favore aiutami a migliorare: che dire della mia risposta è sbagliata o fuori tema? –

6

Sono davvero entusiasta di aver trovato qualcosa che lo farà da Hagstrom Electronics. Prende un ingresso seriale e invia un'uscita tastiera USB a un altro PC. Se si combina questo con un adattatore USB-seriale prontamente disponibile, allora sei d'oro.

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

ho cercato per settimane per trovare questo, così ho deciso di tornare a qualche forum e condividere la scoperta.

Problemi correlati