Arduino as a USB HID device.

Good day!

I want to develop a simple USB GPIO device that works as a HID and not require any additional drivers for various OS. Is there a ready library that allows you to connect the Arduino to the USB-host as USB-HID?

I found an interesting implementation of the USB-host for the Arduino, but is there a reverse?