是否可以在 Mountain Lion 中创建用于在屏幕特定区域单击鼠标的快捷方式?

是否可以在 Mountain Lion 中创建用于在屏幕特定区域单击鼠标的快捷方式?

我目前正在评估包含腹足类动物心跳概况的数千个文件的质量(是的!)。

为了完成这项任务,我使用 R 编写了一个界面,让我可以绘制一个文件,决定它是好是坏(捕捉心跳时有很多事情出错......),单击相应的按钮(OK 与 BAD)并继续绘制下一个文件。

这是我必须使用的界面(没有替代品),而且没有办法绕过单击任一按钮的需要(没有办法为该按钮创建快捷方式)。我可以使用 TAB 来循环切换按钮,但这是完全不切实际的,因为它也会循环切换窗口按钮(FILE、EDIT 等)。

鉴于上述情况,我想知道是否有办法创建键盘快捷键来模拟在屏幕上特定位置的点击... 这样我就可以为按钮所在的位置设置 2 个快捷方式,这样我就可以按 OPTION+G 来处理好文件,按 OPTION+B 来处理坏文件,而无需将鼠标引导到实际按钮上(请记住,我必须这样做 > 80000 次...)。提前谢谢!

答案1

尝试指定快捷方式像这样的脚本:

tell application "System Events"
    tell (process 1 where frontmost is true)
        click at {60, 5}
    end tell
end tell

或者直接点击按钮:

tell application "System Events"
    tell process "AppName"
        -- UI elements of window 1
        click button 2 of window 1
    end tell
end tell

答案2

我想这意味着我应该在发布问题之前进行更彻底的搜索,但我猜这对其他用户也会有用,所以并非一切都丢失了。

在等待答案的时候,在 MaQleod 的推动下,我搜索了更多关于可以满足我需求的自动化程序,最终我找到了一个解决方案。

我找到了这个免费的小 shell/终端应用程序“cliclick”(下载自http://www.bluem.net/en/mac/cliclick/)。它允许非常轻松地通过终端执行鼠标命令。

然后我点击自动化程序并创建了以下服务自动化程序脚本:

  • 服务未收到输入
  • 使用“运行 shell 脚本”操作
  • 我删除了自动弹出的“cat”字符串
  • 我输入了“cliclick -w 100 m:970,870 c:”。
    • '-w 100' = 每一步后等待 100 毫秒
    • 'm:970,870' = 将鼠标移动到 x=970 和 y=870
    • 'c:.' = 点击当前位置

我只需使用 COMMAND+SHIFT+4 快捷键即可获得坐标,它会立即将鼠标指针变成十字线,同时显示屏幕坐标......

将这个小脚本保存为服务后,我只需要转到系统偏好设置/键盘/键盘快捷键/服务,查找我新保存的自动化服务,然后设置键盘快捷键,就可以了!

希望其他人也觉得这有用。

答案3

我认为你必须选择工具

它是 unix,文档齐全,而且由于您是程序员,我想您安装它不会有问题。我很想知道它在 Mac 上是如何工作的。

相关内容