This is a work in progress. Trying to make a working arcade button to USB interface with the Nucleo F411RE.
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
USB.org Developer's page
MBed's USB Device handbook
USB HID Tutorial