【问题标题】:Java Robot Keypress Command KeyJava Robot Keypress 命令键
【发布时间】:2013-03-03 09:00:42
【问题描述】:

Mac 上的命令键的 VK_[key] 代码是什么(如果存在)?我正在尝试让机器人(java 机器人)按下命令键。我正在使用命令 keyPress(),我需要知道 mac 上命令键的整数键码。

【问题讨论】:

  • 我相信您在使用 KeyEvent.VK_META,但您需要对其进行测试

标签: java macos keyboard awtrobot


【解决方案1】:

KeyEvent.VK_META,键码为157,是Java 的虚拟键,映射到Mac 命令键。

【讨论】:

  • 这仍然对您有用吗?对我来说,遗憾的是这行不通。
  • @lony 你有简单的示例代码我可以运行来测试它是否工作吗?我可以编写自己的测试,但如果您有一些可以节省我时间的东西,我将不胜感激。
  • 对我来说问题是我需要在这个和其他键选择之间有一个延迟。然后它起作用了。
【解决方案2】:

KeyEvent.VK_META 可用作 Mac OS 中的 COMMAND 按钮。

如果它不适合你,那是因为你需要添加延迟

打开新标签的示例代码

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_META);
robot.delay(200);
robot.keyPress(KeyEvent.VK_T);
robot.keyRelease(KeyEvent.VK_META);
robot.keyRelease(KeyEvent.VK_T);

【讨论】:

    【解决方案3】:

    还有isMetaDown() 方法,在我的情况下,如果有人想使用快捷方式来复制/粘贴文本等,则该方法有效。

    示例代码:

    public void keyPressed(KeyEvent e) {
        if (e.isMetaDown() && (e.getKeyCode() == KeyEvent.VK_V) && readonly.isSelected()){
            e.consume();
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-01
      • 2012-12-11
      • 1970-01-01
      • 2012-01-22
      • 2023-03-14
      • 2011-12-14
      • 2013-10-21
      相关资源
      最近更新 更多