Use a Beaglebone as a USB client for HID

I am wanting to use a Beaglebone (green) as a USB client for HID input as a personal project. Can the Beaglebone do this out of the box with certain pin setup? If so what libraries can I use to do this? PRU is always an option if I have to, but I’d rather not learn in depth the USB protocol at this time. If the board can’t do this out of box, is there an IC I can use to make a custom cape?

You can easily do this. I gave a talk about this at DEFCON 2 years ago called One Device to Pwn Them All. You should be able to find this online multiple places. It is also in my latest book USB Forensics.