Java的机器人与AZERTY VRS Qwerty键盘(Java Robot with Azert

2019-07-19 14:50发布

我希望这不是一个重复的,但我已经走遍了论坛,还没有找到任何答案。

我有使用机器人类键入文本我的Java应用程序的问题。 文本提供和应用类型出来。 当用户有一个QWERTY键盘,一切工作正常。 当用户有一个AZERTY键盘值出来不正确。

例如喂养“1234567890”到软件类型“&E”'(§è!CA”

我希望有些人有一个想法如何支持多种键盘布局。 先感谢您。

这里是一个片段

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);
}

也有代码在那里

Answer 1:

我想你会需要知道的键盘布局的,我不知道是否有一些内置的功能,以指定区域的Robot类,但你可以找到一个包装实现Robot类,支持不同的键盘布局看这个库



文章来源: Java Robot with Azerty vrs Qwerty