Quote Originariamente inviata da Malto Cortese Visualizza il messaggio
Ora devo capire come riconoscere se il sistema (linux e/o win) fa il dispatch di un evento quando una text box di un qualsiasi programma prende il focus, in modo da richiamare la tastiera.
Cioè quando l'utente dà il focus ad una qualunque textbox nel sistema o altra applicazione, tu vuoi aprire/mostrare la tua tastiera virtuale?
Questo è altamente più critico e difficile. E ti spiego anche con un caso (nemmeno tanto) particolare: se fosse un'altra applicazione Java, magari usa Swing come interfaccia grafica. I componenti Swing sono disegnati e gestiti da codice Java e NON "esistono" per il sistema.
Quindi (correggetemi se sbaglio) non c'è una API nativa che ti permetta di sapere dell'esistenza di una textbox Swing, né quindi che le è stato dato il focus. E anche riferito a componenti "nativi" del sistema, il focus può essere dato anche a pulsanti, listbox, ecc...

La cosa più semplice/banale è tenere la finestra della tua tastiera come "always-on-top". A certe condizioni (minimo: che la funzionalità sia supportata), vedi l'uso e la documentazione di setAlwaysOnTop di java.awt.Window.