Skip navigation

emUSB-Host HID Class

  • Communicate with virtually any keyboard & mouse
  • Receive and send data from vendor-specific HID devices
  • Small memory footprint, ideal for embedded devices

About the Human Interface Class

The Human Interface Device class (HID) is an abstract class protocol defined by the USB Implementers Forum. This protocol was defined for the handling of devices which are used by humans to control the operation of computer systems. The class enables the use of input devices such as keyboards, mice, trackballs or touch-controllers.

Typical Applications

Keyboard & Mouse



Touch Screen






Fingerprint Sensor



Software Protection Dongle



Types of HIDs

  • "True" HIDs: joystick, mouse, keyboard, trackball, touch-interface
  • HID for data: software protection dongle, uninterruptible power supply

Example Code Included

Example code which is provided with any shipment or eval software including emUSB-Host. It outputs mouse and keyboard events to the terminal I/O of debugger. Several application samples can also be found on the emUSB-Host sample page.


Components required to use emUSB-Host HID:

  • emUSB-Host HID (Included in emUSB-Host Base package)
  • emUSB-Host core (Included in emUSB-Host Base package)
  • emUSB-Host target driver (One driver is included in emUSB-Host PRO package)
  • RTOS (embOS)