Robot Java z Azerty vrs Qwerty
Mam nadzieję, że to nie jest duplikat, ale przeczytałem fora i nie znalazłem jeszcze żadnych odpowiedzi.
Mam problemy z aplikacją java używającą klasy Robot do wpisywania tekstu. Tekst jest dostarczany, a aplikacja wypisuje go. Gdy użytkownik ma klawiaturę QWERTY, wszystko działa dobrze. Gdy użytkownik ma klawiaturę AZERTY, wartości są wyświetlane nieprawidłowo.
Na przykład podanie „1234567890” do typów oprogramowania „& é” ”(§è! Çà”
Mam nadzieję, że niektórzy ludzie mają pomysł, jak obsługiwać wiele układów klawiatury. Z góry dziękuję.
Oto fragment
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);
}
Jest tam również kod do