ASCII 16 ("data link escape") characters generated by Keyboard.print()

Getting into the Leonardo USB Keyboard functionality now. I'm actually doing this on a Teensy until my Leonardos arrive.

I have a Java (Processing) program that is capturing KeyEvents. Every other time I run the program, I'm seeing KeyEvents with the keycode 16 ( "data link escape" -- C0 and C1 control codes - Wikipedia ) immediately before each KEY_PRESSED and KEY_RELEASED event.

I can just ignore these in my Java code, but that's pretty strange...any idea if these are coming from the board or from the way my software is handling keypresses? It's strange that it happens exactly every other time I run the program, but it's also notable that this does not happen from any other device I use that outputs keystrokes.

Thanks!

Key codes != ASCII codes

aha.
and key code 16 = SHIFT.
not sure why it's only happening every other time i run the java program, but i now realize i have other things to worry about first :wink:

No, key code 16 (0x10) stands for the key "m".

not in java:
http://docs.oracle.com/javase/6/docs/api/constant-values.html#java.awt.event.KeyEvent.VK_SHIFT

nor in javascript:

perhaps arduino does something different with keycodes? not sure where you're getting 'm' from for keycode = 16.

That's the key code transferred over USB. Keycodes in applications (Java is an application in that context) may differ.