Il Robot lavora con i KeyCode (vedi KeyEvent)
Quindi devi giocartela. Per simulare la digitazione di un carattere al di fuori degli standard, devi simulare quello che potrebbe fare un utente: ALT + (codice ASCII esteso).

Questo esempio scrive una "è":


codice:
      // Press ALT
      r.keyPress(KeyEvent.VK_ALT);

      // 138
      r.keyPress(1 + KeyEvent.VK_NUMPAD0);
      r.keyRelease(1 + KeyEvent.VK_NUMPAD0);
      r.keyPress(3 + KeyEvent.VK_NUMPAD0);
      r.keyRelease(3 + KeyEvent.VK_NUMPAD0);
      r.keyPress(8 + KeyEvent.VK_NUMPAD0);
      r.keyRelease(8 + KeyEvent.VK_NUMPAD0);

      // Release ALT
      r.keyRelease(KeyEvent.VK_ALT);

Si può generalizzare in una funzioncina:

codice:
   public static void premiCarattere(Robot r, char ch) {
      r.keyPress(KeyEvent.VK_ALT);

      for(int i = 3; i >= 0; i--) {
         // otteniamo i quattro caratteri del valore ASCII del carattere passato
         int valCifra = ch / (int) (Math.pow(10, i)) % 10;

         // Aggiungiamo lo scostamento da VK_NUMPAD0
         int tastoNumpad = valCifra + KeyEvent.VK_NUMPAD0;

         // Premi e rilascia
         r.keyPress(tastoNumpad);
         r.keyRelease(tastoNumpad);
      }

      r.keyRelease(KeyEvent.VK_ALT);
   }

Un esempio d'uso:

codice:
Robot r = new Robot();
premiCarattere(r, 'à');

Ciao.