代码之家  ›  专栏  ›  技术社区  ›  Heetola

Java机器人无法控制整个键盘

  •  0
  • Heetola  · 技术社区  · 11 年前

    我试图制作一种键盘控制器类,但java机器人似乎无法控制整个键盘。

    我试过了

    robot.keyPress(i);
    Thread.currentThread().sleep(50);
    robot.keyRelease(i);
    

    从0到255,并且该键从未被按下(该键存在于所有azerty键盘上)。

    enter image description here

    知道为什么吗? 谢谢

    Ps:您不需要按CTRL或ALT即可使用此键,它会生成以下内容:“”

    1 回复  |  直到 11 年前
        1
  •  2
  •   vandale    11 年前

    你可以尝试创建一个新窗口,让它捕捉并打印出按键的按键代码。然后运行它并按下有问题的键。然后应该打印 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

    看见 http://docs.oracle.com/javase/7/docs/api/constant-values.html#java.awt.event.KeyEvent.CHAR_UNDEFINED 对于所有“KeyCode”值