Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 机器人按键,用于;“控制”;mac上的键_Java_Macos_Keypress_Awtrobot - Fatal编程技术网

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

Java 机器人按键,用于;“控制”;mac上的键,java,macos,keypress,awtrobot,Java,Macos,Keypress,Awtrobot,谁能告诉我mac上的“控制”键的机器人按键是什么? 我试过VK_控件、VK_META、CTRL_MASK和CTRL_DOWN_MASK,但都没用 请注意:它是mac上唯一一个控制键,位于“fn”键左侧。不是选项或命令。谢谢我想是代码59-请参阅。使用数值常量不好。我可以在Groovy中提供运行示例,这将证明Robot.keyPress(KeyEvent.VK_CONTROL)工作正常。可能是您忘记了呼叫releaseKey 用Java 1.6在Macos Maveric上测试了p.S.和这样的代

谁能告诉我mac上的“控制”键的机器人按键是什么? 我试过VK_控件、VK_META、CTRL_MASK和CTRL_DOWN_MASK,但都没用


请注意:它是mac上唯一一个控制键,位于“fn”键左侧。不是选项或命令。谢谢

我想是代码59-请参阅。

使用数值常量不好。我可以在Groovy中提供运行示例,这将证明
Robot.keyPress(KeyEvent.VK_CONTROL)
工作正常。可能是您忘记了呼叫
releaseKey

用Java 1.6在Macos Maveric上测试了p.S.和这样的代码片段。(Groovy)

已编辑(我可能认为,您需要更改Ctrl和F12的发布顺序。应在按住Ctrl键的同时释放F12,然后修改器将正确设置,F12将被视为Ctrl+F12)


我不知道为什么KeyEvent.VK_控件不起作用。你能提供一个你给出的可运行的例子吗?我应该提到的是,我正在尝试让Android仿真器旋转
robot.keyPress(KeyEvent.VK_控件);机器人按键(KeyEvent.VK_F12);robot.keyRelease(KeyEvent.VK_控制);robot.keyRelease(KeyEvent.VK_F12)尝试添加一个,我发现这在很多情况下都有帮助是的!就这样谢谢你,先生。在方法之间暂停线程是一个技巧。用魔法数字解决问题实际上是个坏主意。它可能会随时更改,并且不容易读取、重构或搜索。59不起作用,但关键代码的大量参考。我希望它是一个更新的mac键盘表示。谢谢,关闭。我正在keyevent中使用release,但仍然没有得到我需要的结果<代码>robot.keyPress(KeyEvent.VK_控件);机器人按键(KeyEvent.VK_F12);robot.keyRelease(KeyEvent.VK_控制);robot.keyRelease(KeyEvent.VK_F12)@jermobileqa答案已编辑。我无法检查,Android emulator的按键是否正确,但它可以在其他应用程序中工作(选中Ctrl+O,Ctrl+S)
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);
}    }     }) }