libhid is a user-space HID access library. It provides a generic and flexible way to access and interact with USB HID devices, much like libusb does for plain USB devices. It is based on libusb, thus it requires no HID support in the kernel. Furthermore, it aims to support all operating system supported by libusb: Linux, BSD, OS X, and Windows. Python bindings are provided, and other high-level bindings are available upon request.