首先关闭:我正在使用azerty键盘。 我想按下左上角的按钮,就在“逃生”的正下方。 我相信这是qwerty键盘的'〜'(因为它是'²')
我不知不觉地搜索它的密钥代码然后我发现了这个: java.awt.event.KeyEvent not capable of fully mappin AZERTY keyboard?
运行他的代码我得到了这个:
Pressed : unknown keyCode: 0x0 / ² code = 0
通过在调试时检查keyEvent对象,我得到了这个
extendedKeyCode = 16777394
keyLocation = 1
id = 401
我怎么能解决这个问题? 你认为我可以自己实现keyEvent,构建一个类似于keyEvent的实现吗?
感谢。
答案 0 :(得分:0)
好吧,我刚刚做了一个循环来按下keyEvent从0到10 000 000并且'²'从未被按下。
package keyCodeTester;
import java.awt.Robot;
import java.awt.event.KeyEvent;
public class KeyCodeTester {
public static void main(String args[]) throws Exception {
Robot robot = new Robot();
robot.delay(5000);
for(int i=41; i<10000000; i++) {
try {
if (i>=112 && i<=123) {
throw new IllegalArgumentException("touche fonction");
}
robot.keyPress(i);
robot.delay(100);
robot.keyPress(KeyEvent.VK_ENTER);
robot.delay(100);
} catch (IllegalArgumentException iae) {
System.out.println("iae pour " + String.valueOf(i));
}
}
}
}
我猜机器人只适用于qwerty。 我将制作一些C代码并从java中调用它。