Se que tiene ya varios años este tema pero de igual forma contestare, estoy desarrollando un teclado tambien y encontre una solucion que a mi parecer es un poco extraña y de bajo rendimiento pero igual funciona...
Al momento de dar un clic en el boton que escribe cualquier letra, numero o simbolo lo que yo hago es mandar llamar las teclas ALT+TAB con las funciones
keyPress y
keyRelease de un objeto robot, de este modo cambio de pantalla y escribo en la pantalla "anterior"
Un pequeño ejemplo:
JButtonMouseClicked{
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_TAB);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_A);
robot.keyRelease(KeyEvent.VK_A);
}
Esto cambia la pantalla y escribe en la pantalla anterior, cabe mensionar que debes de agregar un retardo para tu robot para que presione las teclas en distintos tiempos.
Espero no haber llegado demasiado tarde...