After we have switched to using InputMethods for embedded applets in JDK-7156194, Key events are generated synthetically in AWT/FX code. This caused a lot of issues, regressions and code duplication between FX and AWT.
It is suggested to make a proper implementation for the KeyEvent generation on the deploy side. It should be synchronized with changes both in FX and AWT.
Currently known issues:
1. Some of the buttons (backspace) does not generate KeyReleased events
2. Holding a key makes a loop of pressed->typed->released events which is inconsistent with the behavior of a Window-based app.
3. Firefox has a bug which generates additional KeyReleased events when typing very fast.