boolean (@NotNull KeyEvent e) { myLastTypedActionTimestamp = -1; if (e.getID() != KeyEvent.KEY_TYPED) return false; char c = e.getKeyChar(); if (UIUtil.isReallyTypedEvent(e)) { // Hack just like in javax.swing.text.DefaultEditorKit.DefaultKeyTypedAction myLastTypedActionTimestamp = e.getWhen(); myLastTypedAction = Character.toString(c); processKeyTyped(c); return true; } else { return false; } }