Robô de Java com Azerty vrs Qwerty
Espero que isso não seja uma duplicata, mas eu vasculhei os fóruns e ainda não encontrei nenhuma resposta.
Estou tendo problemas com meu aplicativo java usando a classe Robot para digitar texto. O texto é fornecido e o aplicativo digita. Quando o usuário tem um teclado QWERTY, tudo funciona bem. Quando o usuário tem um teclado AZERTY, os valores saem incorretamente.
Por exemplo, alimentando "1234567890" nos tipos de software "& é" '(§è! Çà "
Espero que algumas pessoas tenham uma ideia de como suportar vários esquemas de teclado. Agradeço antecipadamente.
Aqui está um trecho
String TRANSLATION_SHIFT = "~!@#$%^&*()_+{}|:\"<>?";
String TRANSLATION_NON_SHIFT = "`1234567890-=[]\\;',./";
Robot robot = new Robot();
String text = "1234567890";
int key;
for (char c: text.toCharArray()){
switch(c){
....
case '0':
key = KeyEvent.VK_0;
break;
case '1':
key = KeyEvent.VK_1;
break;
...(etc etc)...
case '9':
key = KeyEvent.VK_9;
break;
...
}
robot.keyPress(key);
robot.keyRelease(key);
}
Há também código lá para