2010-09-13 12 views
21

Quiero conectar el puerto USB de una computadora A al puerto USB de la computadora B para que la computadora A actúe como teclado de la computadora B.Simulando la salida de un teclado (haciendo que una computadora se posicione como el teclado de otra computadora)

¿Alguna idea de cómo iba a hacer eso?

No estoy buscando una solución ya hecha (aunque si ya existe y es de código abierto I no tendría objeciones), sino como punto de partida o como un buen recurso.

Imagino que tendría que escribir un controlador que simule el protocolo del teclado, y también tendría que resolver todo el escenario USB maestro/esclavo.

De todos modos, cualquier ayuda sería apreciada.

P.S. También quiero hacerlo con el mouse, pero me imagino que será un proceso muy similar, y creo (pero podría estar muy equivocado) que comenzar con el teclado será más fácil.

+1

¿Has encontrado alguna solución para esto? – bchurchill

Respuesta

5

Linux tiene soporte para USB gadget mode, pero creo que necesita hardware especial para eso. Es decir. el puerto USB en una PC normal no puede hacer el modo de gadget.

Una alternativa es conectar un puerto LPT a una entrada de teclado PS/2, esto es técnicamente más simple.

0

Si no fuera por el USB, conectaría los dos a través de LAN y tendría un programa cliente/servidor C# que emula un teclado/mouse (por ejemplo, a través de DirectInput).

Por lo que respecta a la parte USB, necesitará un adaptador de hardware. Si está interesado en el desarrollo de hardware o al menos no tiene miedo de un soldador y de alguna programación μc, eche un vistazo a http://www.obdev.at/products/vusb/hidkeys.html donde hay disponible una pila HID para un pequeño chip atmel de forma gratuita. Para esta solución, necesitaría dos chips atmega que se comunican a través de I²C, SPI o similares.
Recomendaría la separación eléctrica de las dos piezas, también. Nunca se sabe si comparten el mismo suelo eléctrico o no.

+0

Por separación eléctrica, ¿quiere decir que en el lado del "esclavo" debería desconectar el VCC y el GND, y acoplar las líneas D + y D? –

+0

En básico, sí, aunque: en realidad es muy difícil separar eléctricamente una conexión USB debido a las direcciones de señal impredecibles en las líneas D + y D-. Pero lo que es muy fácil de hacer es (por ejemplo, ópticamente) desacoplar la conexión SPI o tal entre los dos microcontroladores. Entonces cada μc se alimentaría por separado a través de su propia conexión USB. –

+0

Para el querido infractor: ¿Para qué es -1? Por favor, ayúdame a mejorar: ¿qué pasa con mi respuesta incorrecta o fuera de tema? –

6

Estoy muy emocionado de haber encontrado algo que hará esto con Hagstrom Electronics. Toma una entrada en serie y envía una salida de teclado USB a otra PC. Si combina esto con un adaptador USB a serie fácilmente disponible, entonces está dorado.

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

que han estado buscando durante semanas para encontrar esto, así que decidimos volver a algunos foros y compartir el descubrimiento.

Cuestiones relacionadas