Java机器人无法控制整个键盘
我试图制作一种键盘控制器类,但java机器人似乎无法控制整个键盘 我试过了Java机器人无法控制整个键盘,java,keyboard,automation,Java,Keyboard,Automation,我试图制作一种键盘控制器类,但java机器人似乎无法控制整个键盘 我试过了 robot.keyPress(i); Thread.currentThread().sleep(50); robot.keyRelease(i); 从0到255,此键从未按下(此键出现在所有azerty键盘上) 知道为什么吗? 谢谢 Ps:使用此键不需要按CTRL或ALT键,它会产生这样的结果:“²”您可以尝试创建一个新窗口,让它捕获并打印出所按下键的键代码。然后运行它并按相关键。然后,它应该为它打印KeyCode:
robot.keyPress(i);
Thread.currentThread().sleep(50);
robot.keyRelease(i);
从0到255,此键从未按下(此键出现在所有azerty键盘上)
知道为什么吗?
谢谢
Ps:使用此键不需要按CTRL或ALT键,它会产生这样的结果:“²”您可以尝试创建一个新窗口,让它捕获并打印出所按下键的键代码。然后运行它并按相关键。然后,它应该为它打印
KeyCode
:
public static void main(String[] args) {
JFrame frame= new JFrame();
frame.addKeyListener(new KeyAdapter() {
@Override
public void keyPressed(KeyEvent e) {
System.out.println(e.getExtendedKeyCode());
}
});
frame.setBounds(0, 0, 100, 50);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
使用虚拟键盘执行此操作给了我16777394
有关所有“键码”值的信息,请参见。@vandale在每个键盘中,此键将具有此键码…?@crAlexander这取决于此键的含义:它们在该物理位置的值将根据布局而变化。但是,具有该值的键应该具有一致的keycode,而不考虑位置(尽管有numpad键)@vandale,例如,如果我有代码(134)并且我说if(keycode==134)如果存在VK_DEAD_overdot,它会找到该按钮,或者该键码可能来自另一个按钮?@crAlexander它可能来自用户希望被视为VK_DEAD_overdot的任何按钮。如果用户愿意,可以将键盘上的每个键都设置为“a”。鼠标甚至可以创建键盘事件。因此,是的,假设键存在,但不要假设它在键盘上的物理位置