1198

A Raspberry PI - USB HID Bridge - to inject keyboard, mouse or joystick events from Raspberry Pi to the PC

A Raspberry PI - USB HID Bridge - to inject keyboard, mouse or joystick events from Raspberry Pi to the PC.
Please see attached Concept drawing.

All my searches on the Internet are with-out success to find something I can use to inject USB - HID data from a Raspberry Pi to the PC.
Currently there exist some Arduino based project, but no general solution.

The purspose of my project would be to
  • provide schematic or assembled PCB
  • FW for the microcontroller on the bridge
  • Protocol description (between uC and Raspi) to inject keyboard and mouse HID data to the PC
  • SW lib for the Raspi to use it in C- Programms and common scripting languages

The applications of such board are:
First I would focus on USB-HID profile, later support for other profiles, like filesystem, etc. can be considered.
  • use the Raspi to enter e.g. the start-up password for encypted boot harddisk of a remote PC
  • Enter text on PC with-out the need of installing any SW on the PC, e.g. remote input or to bridge long distance
  • Media control on the PC via Raspi
  • the board is supported in parallel to an already installed keyboard, if wanted.
 ... (I have more in mind, but what do you have in mind)

As uC for the USB bridge I consider a PIC32, because I have experiance with the provided SW stack from Microchip, but there might be also alternatives.

* The UART connection is indented for the dta protocol to send USB HID events from Raspi to PC
* The GPIOs are considered as control to switch e.g. between USB HID and UART-transparent mode. Because the board could, as a by-product, also act as USB-UART-bridge between PC and Raspi.
* The SPI connection is indent, if more data is be transfered faster, eg. for later extention where the Raspi could emulated a (encrypted) USB -Stick (e.g. with dynamic filesystem)

Please provide your thoughts in the comments!!!