Implementing a USB device which conforms to the HID specification is particularly useful if you develop for Windows: Every vendor class device requires a kernel driver, but HID class devices do not. This means that you don’t need an installer, the application can simply be copied to the disk or even be started from a CD.
This example demonstrates the device part of HID only. Since it implements a keyboard, no special software is needed on the host computer. In practice, you usually need a specialized software which controls the device. There are many examples available which show how to communicate between the host software and a HID on Windows, e.g. on Jan Alexon’s web page. Our Automator project is one of them.
If you are new to USB and don’t want to dig into the details of creating report descriptors, look at our PowerSwitch example first. It is the most basic and straight-forward way of USB communication.