JavaFX custom control - screen keyboard with swappable layouts