matsuu@gentoo.org libhid 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 and provides means to take control over a device even if the kernel governs it.