I did a very similar project (see current dev version, its better and will be merged in 2 days):
https://github.com/NicoHood/HID
In combination with your Arduino Uno Firmwares this could be very useful while debugging the code (also dev branch):
https://github.com/NicoHood/HoodLoader2
You dont have to flash the firmware over and over, just put the 16u2 into bootloader mode to update the 328 again.
I am also planning on working on some 16u2 hardcoded firmwares. Meaning they will receive data via Serial and translate it to usb. One problem I noticed was: What will you do if the USB Host is too slow and does not read in the data fast enough (like a raspberry pi). How do you send an acknowlegde back to the 328 or how do you solve this problem? Maybe we could work together on that and create a proper API and Protocol for this. If you are interested contact me on www.nicohood.de
Something I just found while looking through the code. Outcomment this line, maybe in other examples as well: https://github.com/AlanChatham/UnoJoy/blob/master/UnoJoy/Examples/PaintController/UnoJoy.h#L195
I did a very similar project (see current dev version, its better and will be merged in 2 days): https://github.com/NicoHood/HID
In combination with your Arduino Uno Firmwares this could be very useful while debugging the code (also dev branch): https://github.com/NicoHood/HoodLoader2 You dont have to flash the firmware over and over, just put the 16u2 into bootloader mode to update the 328 again.
I am also planning on working on some 16u2 hardcoded firmwares. Meaning they will receive data via Serial and translate it to usb. One problem I noticed was: What will you do if the USB Host is too slow and does not read in the data fast enough (like a raspberry pi). How do you send an acknowlegde back to the 328 or how do you solve this problem? Maybe we could work together on that and create a proper API and Protocol for this. If you are interested contact me on www.nicohood.de