Подтвердить что ты не робот

Имитация выхода на клавиатуре (создание компьютера представляет собой другую компьютерную клавиатуру)

Я хочу иметь возможность подключить компьютер. USB-порт к USB-порту компьютера B, чтобы компьютер A работал как клавиатура компьютера B.

Любая идея, как я буду это делать?

Я не ищу готового решения (хотя, если он уже существует и является открытым исходным кодом I не будет возражать), но для начальной точки или хорошего ресурса.

Я предполагаю, что мне нужно будет написать драйвер, который имитирует протокол клавиатуры, и мне также нужно будет разобраться со всем сценарием master/slave USB.

В любом случае, любая помощь будет оценена.

P.S. Я тоже хочу сделать это с помощью мыши, но я думаю, что это будет очень похожий процесс, и я думаю (но я мог бы ошибаться), что начать с клавиатуры будет проще.

4b9b3361

Ответ 1

Я очень рад найти что-то, что сделает это от Hagstrom Electronics. Он принимает последовательный вход и отправляет выход USB-клавиатуры на другой компьютер. Если вы совместите это с легко доступным USB-адаптером последовательного интерфейса, тогда вы будете золотыми.

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

Я искал несколько недель, чтобы найти это, поэтому решил вернуться на некоторые форумы и поделиться открытием.

Ответ 2

Linux поддерживает режим гаджета USB, но я думаю, для этого вам нужно специальное оборудование. То есть порт USB на обычном ПК не может работать в режиме гаджета.

Альтернативой является подключение LPT-порта к входу клавиатуры PS/2, это технически проще.

Ответ 3

Если бы не USB, я бы подключил их через LAN и имел клиентскую/серверную С# -программу, которая эмулирует клавиатуру/мышь (например, через DirectInput).

Для части USB, насколько я могу судить, вам понадобится какой-то аппаратный адаптер. Если вы занимаетесь разработкой аппаратного обеспечения или, по крайней мере, не боитесь паяльника и некоторых программ микропрограмм, посмотрите http://www.obdev.at/products/vusb/hidkeys.html, где HID стек для небольшого чипа atmel доступен бесплатно. Для этого решения вам понадобятся два чипа atmega, которые обмениваются данными через I²C или SPI. Я бы рекомендовал также электрическое разделение двух ПК. Вы никогда не знаете, имеют ли они одну и ту же электрическую землю или нет.