HID (Human Interface Device)
To illustrate, the diagram below shows a typical HID cable environment.
The keyboard sends data over a USB cable to the computer monitor which then displays the data.

Using the HID profile in this example, Roving Networks essentially replaces the USB cable with a wireless Bluetooth connection.
Specifically, the ASCII value of key press is converted to a Scan code in a raw HID report that the Bluetooth module sends over the Bluetooth link to the host. The host driver software decodes the raw HID report and passes the key values to the application running on the PC. Now instead of using a cable, data is transmitted over Bluetooth using Roving's Bluetooth HID profile which is based upon the standard HID interface for computers.
The Bluetooth HID profile enables customers to develop products such as a game controller, keyboard, mouse, or pointing device. Additionally, Roving has extended the basic HID capability to allow programmability and control of devices like the iPad, for example.
Getting Technical

The HID profile defines the protocol between:
- Device (HID) — Services human data input and output to and from the host.
- Host — Uses or requests the services of a Human Interface Device.
The Roving HID profile allows users to control the HID descriptor which defines the device's feature set and the HID report which is how the host interprets the data as ASCII values, movement, etc. The HID report format follows the standard universal serial bus (USB) HID protocol to leverage existing host drivers.
The type of HID device, such as keyboard, mouse or joystick, is defined by the HID descriptor in the raw HID report. Examples of HID devices that have been Bluetooth enabled are:
- Computer keyboards and keypads
- Trackballs, mice, and other pointing devices
- Game controllers (gamepads, joysticks, steering wheels, etc.)