Simulate USB keyboard from machine

Solution 1:

You could use a Raspberry Pi Zero in USB gadget mode. In this mode, the Raspberry Pi can behave as many standard USB devices (keyboard, mouse, mass storage, etc.) and you will then be able to e.g. "inject" keystrokes from a program running on the Pi (and you can then control this program remotely as you see fit).

The Raspberry Pi Zero is not the only device allowing this; but it's cheap, it's easy to get one, and there are many documentations out there explaining how to do this, so it's (IMHO) a pretty good starting point for a project like this!

Solution 2:

You can use usbip to make USB devices (including a keyboard) on a host computer available as USB devices on a client computer over the network. As it's a USB device, it will be indistinguishable from any USB device attached locally.

Clients exist for Windows, and usbip has been a standard part of the kernel for a long time. Under Debian and Ubuntu, the usbip package contains the programs to set up and control such a connection.

Details on how to set it up can be easily googled, e.g. here

Similar questions:

  • USB to wireless

  • https://stackoverflow.com/questions/18837277/using-remote-hosts-usb-port-as-local-usb-linux-and-win

Solution 3:

Pardon the necro, but it appears the thread isn't locked, so here goes.

I'm facing the same situation (specific scenario: I need to unlock my workstation remotely from the PRE-OS BitLocker screen). I've ordered the following HW, so I'm posting this to share my research, but not my experiences

The 'source' computer has the following:

  • USB HDMI capture device. Lower-end devices can be found on AMZN for ~$20 USD.

  • USB peripheral to simulate USB HID This is $90 USD

This should provide the source machine the same functionality as this $500 USB all-in-one.


The 'target' computer has the following:

  • HDMI splitter so I can still have console when I'm at the computer. Lower-end devices can be found on AMZN for $15 USD.

Total cost will be ( $20 + $90 + $15 ) * 2 = $250 USD so each computer in the pair can monitor and manage the other machine from POST to OS fully online (run level 5).

Wish me luck getting my admin to approve this expense!

Solution 4:

Use Logitech Unifying USB receiver and emulate virtual keyboard with this: https://github.com/RoganDawes/LOGITacker

Should be about $20 total.

Solution 5:

I have had success with etherkey, a Teensy and a UART to USB bridge.

The host computer sends commands to the Teensy through the UART bridge. The Teensy pretends it is a keyboard and presses virtual buttons on the other PC. Etherkey is the software that runs on the Teensy and forwards keys from the host computer to the virtual keyboard.

The destination computer detected the new "keyboard" immediately and didn't need any setup.