for awhile i had been running a modified arduino core. it was modified to use my joystick descriptor since there was no way to do it in a stand alone library. the only catch was i had to port my changes to each new version. until i updated to 1.6.7. after freaking out all morning i realized it was for the better.
so i looked at the way the updated mouse and keyboard and realized i could spin my own library now. i really didnt have to change my code much, my descriptor went into its own block of progmem. my class was moved to its own header, and a few lines of code later my joystick descriptor was happily pushing axes hats and buttons.
i got it to work on the leo initially, and i was curious if it would work on my due. the code compiled but at first it didnt work, after including HID.h i found that the due works with my library too.
so i uploaded it all to github. it supports 8 16 bit axes, 2 8-way hats, and 32 buttons. im thinking about what i can do to make it more flexible to support other axis resolutions, more buttons, etc. but for now i hope you all find it useful.