Arduino Micro as USB Joystick and keyboard

I found the website http://www.imaginaryindustries.com/blog/?p=80 which has enabled my Micro to be a USB joystick. However I would really like it to be able to send keyboard presses as well.

I read through the USBAPI.h & HID.cpp files and un-commented the KBAM_ENABLED define. When I compiled the code it threw up an error on line 56 in HID.cpp which was due to:

#if KBAM_ENABLED

and should have been:

#ifdef KBAM_ENABLED

once I changed the #if to #ifdef it complied correctly. However while I gained the ability to send keyboard commands I lost the joystick.

Am I hitting some limit of the HID protocol that doesn't allow a keyboard and joystick at the same time?