Имитация USB-клавиатуры от машины


5

Я хочу использовать один компьютер в качестве клавиатуры USB для другого компьютера. Это должно быть неотличимо от фактической клавиатуры USB. Как мне этого добиться?

Решение, которое работает с любой из Ubuntu Linux 14 и выше, OS X 10.11 или Windows 10 будет приемлемым. Должен работать с USB 2.0 или 3.0.

РЕДАКТИРОВАТЬ: машина для получения ввода не должна требовать какого-либо специального программного обеспечения или доступа к сети. Мне нужно использовать физический USB-кабель, и конечный компьютер должен реагировать так, как если бы на этом USB-порту присутствовала физическая клавиатура.


это о: компьютерном программном обеспечении, и я не спрашиваю о рекомендации продукта / услуги / учебного материала
— miguelv

1
Я перефразировал ваш вопрос, чтобы он не звучал как вопрос о рекомендации программного обеспечения.
— Гроностай

хорошо, возможно это не рекомендация программного обеспечения, но все еще низкого качества. Какую ОС вы используете? Что вы уже пробовали ... Пожалуйста, прочитайте Как мне задать хороший вопрос? и улучшить это.
— Матэ Юхас

Я признаю низкое качество и внес изменения, но это не те моменты, которые вы подняли в первую очередь. И, честно говоря, я немного разочарован сообществом, так как мне приходилось переходить от сообщества Stack Exchange к сообществу, и меня всегда увольняли как не по теме или как слишком общий для решения проблемы и очень мало конструктивных усилий со стороны кого-либо, кроме @gronostaj, являющегося положить, чтобы помочь мне решить подлинную проблему, которая должна иметь хорошо известное решение IMO.
— miguelv

Вопрос очень ясен для меня, и я согласен, что у него должны быть лучшие ответы. Представьте, что у вас есть компьютер, на котором вы не можете изменить программное обеспечение, но у него есть клавиатура USB. Вы хотите автоматизировать набор текста, используя другой компьютер для имитации устройства клавиатуры USB. Конечно, существуют устройства для этого.
— Грег Чабала

Ответы:


3

Вы можете использовать Raspberry Pi Zero в режиме USB-гаджета. В этом режиме Raspberry Pi может вести себя как многие стандартные USB-устройства (клавиатура, мышь, запоминающее устройство и т. Д.), И тогда вы сможете, например, «вводить» нажатия клавиш из программы, запущенной на Pi (и затем вы можете контролировать эта программа удаленно, как вы считаете нужным).

Raspberry Pi Zero - не единственное устройство, позволяющее это сделать; но это дешево, его легко получить, и есть много документов, объясняющих, как это сделать, так что (ИМХО) довольно хорошая отправная точка для такого проекта!


1

Вы можете использовать usbip, чтобы сделать USB-устройства (включая клавиатуру) на главном компьютере доступными в качестве USB-устройств на клиентском компьютере по сети. Так как это USB-устройство, оно будет неотличимо от любого USB-устройства, подключенного локально.

Клиенты существуют для Windows, и usbip уже долгое время является стандартной частью ядра. В Debian и Ubuntu usbipпакет содержит программы для настройки и управления таким соединением.

Подробности о том, как его настроить, можно легко найти, например, здесь.

Похожие вопросы:


1
Ценю ваш ответ, но я собирался использовать настоящий физический USB-кабель и не должен требовать установки программного обеспечения на компьютер, на который я хочу отправить вход.
— miguelv

1
@miguelv: вам нужно аппаратное USB-устройство, чтобы оно воспринималось как клавиатурное устройство. Никакое количество программного обеспечения не приведет к тому, что хост-порт USB будет работать как устройство.
— Бен Фойгт

Да. По какой причине вы не просто отсоединяете USB-клавиатуру от одного ПК, а подключаете ее к другому ПК? Они, очевидно, достаточно близко, чтобы проложить кабель между ними. Другими словами, какую именно проблему вы хотите решить?
— Диркт

И добавить к @BenVoigt, будет трудно найти любой аппарат для ПК, который будет выступать в роли USB-клиента (неважно, USB OTG или нет).
— Диркт
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.