Leonardo: Modifier key for Print Screen button

I have the same problem, after google and found no solution.
So I think I should share my current findings to all.

After reading USB HID specification and Arduino's USBAPI.h/HID.cpp, I found this maybe work:

#define KEY_PRNT_SCRN 206

In HID spec, F12 key id is 69, PrintScreen is 70.
But in arduino's defines, F12 is 205.

Finally I found there is translate in HID.cpp:

size_t Keyboard_::release(uint8_t k)
{
uint8_t i;
if (k >= 136) { // it's a non-printing key (not a modifier)
** k = k - 136;**
} else if (k >= 128) { // it's a modifier key
_keyReport.modifiers &= ~(1<<(k-128));
k = 0;
} else { // it's a printing key
k = pgm_read_byte(_asciimap + k);

You can see, F12 is 205-136=69, so if you want send 70, try 206

Arduino's API try to compitable with ASCII input, and do some convertion.