Help with USB HID source code with Leonardo / Pro Micro

Hi. Yes, I am new at this, but desperately want to learn! I have an Uno R3, a Leonardo, and (2) Pro Micros. Just saying that so you know what I'm working with. My goal is to use the ATMega32U4 to actually BE (not just emulate) a USB HID gamepad (or Joystick). My physical application will only involve buttons, not axis of any sort. I have read article after article about the LeoJoy, Big Joystick, etc. Hours upon hours. I am really missing something somewhere, or its right in front of me and I just don't see it. I have a basic understanding of C++, and a basic understanding of USB HID descriptors, but I can't seem to find anything that tells (or shows) me how to tie everything together. I understand the need to #include header files, which include the device descriptor. I understand how to work with switches on my Arduino boards, but what goes in the source code that makes it show up as a "USB HID GamePad" when plugged into any other PC? This is probably a really weak question, but I'm doing my best. If someone can point me in the right direction, I would really appreciate it. If someone can build me an example, that would be even better :) Starting simple here. I just want a "USB HID GamePad" with 4 buttons. That's it. Please help? Thanks, Karl.

bump. I'm still lost.

Hi, I´m in a similar project too.

Some time ago I saw a youtube video of a man doing it with an Arduino Uno, the software UnoJoy and an SNES Controller, I did it exactly as he does it in the video and it works great! I’m leaving the video link here:

The thing is that now I have an Arduino Pro Micro (The Sparkfun stuff) and I want to do exactly the same with this MicroController, I’m awared that Pro Micro has the ATMega32U4 and this is like I had an Arduino Leonardo, for instance I should try with LeoJoy instead of UnoJoy but I can’t find information about this.

For your project I recommend using MMJoy (I copy the link here)
http://simhq.com/forum/ubbthreads.php/topics/3899105/mmjoy-mmjoy2-build-your-own-usb-controller}

That’s a Software a Russian Guy have created for working with the ATMega32U4 Microcontrollers, maybe it works great with your desires.

I hope I could help you.