libhid is a rewrite of libHID and aims to provide the same functionality from a more organised framework. It aims to provide a layer of abstraction for accessing HID-class devices over USB or serial lines (similar to what libusb provides for the base USB protocol).