I'm making a keyboard and I prefer to use the C interface of the USB functions. For sending normal keys I set keyboard_modifier_keys and fill the keyboard_keys[] buffer and then call usb_keyboard_send(). I would like to do the same with the consumer media keys, i.e. fill the keymedia_consumer_keys[] buffer and call usb_keymedia_send(). However, usb_keymedia_send() is static, so it can't be called from my code. So, I'd suggest that you add the following to usb_keyboard.h:
int usb_keymedia_send(void);
extern uint16_t keymedia_consumer_keys[4];
extern uint8_t keymedia_system_keys[3];
And remove static from usb_keyboard.c.

Of course, I can easily do this myself (as I have done), but then I have to make the change the next time I update the teensy library. Others will most likely benefit from it too. I can't see any downsides with change.

Thanks for all the great code! It was so easy to make a fully functional keyboard with the teensy.