Java机器人与Azerty vrs Qwerty
我希望这不是重复,但我已经搜索了论坛,还没有找到任何答案。
我在使用Robot类输入文本的java应用程序时遇到问题。 提供了文本,应用程序将其输出。 当用户有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); }
那里还有代码
我想您需要了解Keyboard布局,我不确定是否有一些内置函数来指定Robot
类的语言环境,但您可以找到支持不同键盘布局的Robot
类的包装器实现。 这个图书馆