static A onCharDown(final VF1 onCharDown, final A a) { if (a != null) swing { a.addKeyListener(new KeyAdapter { @Override public void keyTyped(KeyEvent e) { if (e.getModifiers() == 0) pcallF(onCharDown, e.getKeyChar()); } }); } ret a; } static A onCharDown(A a, VF1 onCharDown) { ret onCharDown(onCharDown, a); }