机器人按键用于mac上的“控制”键

时间:2014-01-15 20:36:01

标签: java macos keypress awtrobot

有谁能告诉我机器人键盘是什么用于Mac上的“控制”键? 我还没试过VK_Control,VK_META,CTRL_MASK和CTRL_DOWN_MASK。

请注意:它是“fn”键左侧旁边mac上唯一的控制键。不是选项或命令。感谢

2 个答案:

答案 0 :(得分:0)

我认为这是代码59 - 请参阅here

答案 1 :(得分:0)

使用数字常量是不好的。我可以在Groovy中提供运行示例,这将证明Robot.keyPress(KeyEvent.VK_CONTROL)正在完美运行。可能是,你忘记了致电releaseKey

P.S。使用Java 1.6使用此片段在Macos Maveric上进行测试。(Groovy)

已编辑(我猜可能需要更改 Ctrl F12 发布顺序。 F12 应该是释放,而 Ctrl 仍然按下,然后修改器将被正确设置, F12 将被视为 Ctrl + F12

new SwingBuilder().frame(pack: true, show: true, defaultCloseOperation: JFrame.EXIT_ON_CLOSE) {
    textField(keyPressed: { KeyEvent e ->
        println("$e.keyCode, $e.modifiers") // prints 123 2 in response to Robot event.
        if (e.keyCode == KeyEvent.VK_SPACE)
        {
            new Robot().with {
                robot.keyPress(KeyEvent.VK_CONTROL);
                robot.keyPress(KeyEvent.VK_F12);
                robot.keyRelease(KeyEvent.VK_F12); // Release it first.
                robot.keyRelease(KeyEvent.VK_CONTROL);
}    }     }) }