The difficulty of writing device drivers is one of the major barriers to the adoption of the USB. The USB HID class is a powerful and versatile way to get your device on the USB. If your USB device can exist within the bandwidth limits of the HID driver,
http://www.edn.com/article/CA243218.html