This is a work in progress. Trying to make a working arcade button to USB interface with the Nucleo F411RE.
Reference Material for USB HID Implement
As I started out on this project, I had no knowledge of USB, Human Interface Device, or the protocol stack. I quickly had problems understanding the code and nomenclature, so I decided to go back to basics and learn the hard stuff.
Here are some good links to get you started
Introduction to HID Concepts
https://msdn.microsoft.com/en-us/windows/hardware/drivers/hid/introduction-to-hid-concepts
USB.org Developer's page
http://www.usb.org/developers/hidpage/microhid/
MBed's USB Device handbook
https://developer.mbed.org/handbook/USBDevice
USBHID
https://developer.mbed.org/handbook/USBHID
USB HID Tutorial
http://eleccelerator.com/tutorial-about-usb-hid-report-descriptors/