Java-робот с Azerty против Qwerty
Я надеюсь, что это не дубликат, но я просмотрел форумы и пока не нашел ответов.
У меня проблемы с моим Java-приложением, использующим класс Robot для ввода текста. Текст предоставляется, и приложение печатает его. Когда у пользователя QWERTY-клавиатура, все работает нормально. Когда у пользователя есть клавиатура AZERTY, значения выводятся неправильно.
Например, ввод "1234567890" в типы программ "& é" '(§è! Çà "
Я надеюсь, что у некоторых людей есть идея, как поддерживать несколько раскладок клавиатуры. Заранее спасибо.
Вот фрагмент
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);
}
Там также есть код, чтобы