Keyboard Maestro 使用记录
前言
使用 Keyboard Maestro 做自动化管理是,Actions太多了,总是记不住,这里特意记录一下
应用变量的两种方式
在Keyboard Maestro中,获取变量的语法确实有两种写法:“%Variable%VarName%”和“%VarName%”。它们之间的区别在于变量的作用域和引用方式:
- %Variable%VarName%:
- 这种写法用于引用Keyboard Maestro中的变量。VarName是变量的名称,可以是你在Keyboard Maestro中定义的任何变量。
- 这种写法明确指示了要获取的是Keyboard Maestro中的一个变量。
- %VarName%:
- 如果你使用的是%VarName%这种写法,Keyboard Maestro会首先尝试查找一个叫做VarName的本地变量(Local Variable),如果没有找到,则尝试查找全局变量(Global Variable)。
- 这种写法可以更简洁地引用变量,特别是在没有局部变量与全局变量同名时。
常用的 Actions 记录
触发键盘按键 Type a Keystroke
Categories: Interface Control
Actions: Type a Keystroke
功能:输入一个按键,可以是组合键,可以是单个按键。
示例:按下回车键发送消息,触发某个应用的快捷键。
选择某个APP的菜单栏按钮
Categories: Interface Control
Actions: Select or Show a Menu Item
功能:选择某个App的某个菜单栏按钮
示例:按下Esc按键,通过点击菜单栏最小化窗口
将剪贴板内容存储到变量token
Categories: Text
Actions: Set Clipboard to Text
功能:将剪贴板的内容存储到 %VarName% 变量中
弹框提示 带确定取消
Categories: Notifications
Actions: Alert
功能:弹出带确定取消按钮的弹框,确定继续执行,取消停止执行
弹框提示 仅通知
Categories: Notifications
Actions: Notification
功能:弹出一条通知
将某个文件复制到剪贴板
Categories: Clipboard
Actions: Set Clipboard to File Reference
功能:将剪贴板指向某个文件
使用:搭配 Paste 可以直接粘贴某个文件到输入框
脚本暂停几秒再继续执行
Categories: Control Flow
Actions: Pause
功能:暂停时间
使用:如果你希望暂停5秒钟,可以在“Pause” Action中输入 5 秒。
使用 Keyboard Maestro 控制浏览器前提
Keyboard Maestro 通过 JavaScript 操作浏览器时,需要先授权,需要在浏览器设置中「允许 Apple Events 中的 JavaScript」。具体操作如下:
- 在 Safari 中,点击菜单栏「开发 」,勾选「Allow JavaScript from Apple Events」,输入用户密码即可。
- 在 Chrome 中,点击菜单栏「查看」 -> 「Developer」,然后勾选「允许 Apple Events 中的 JavaScript」。
在脚本中如何获取变量
1. javascript
- 【脚本运行在km里】在javaScript 中如何获取KM变量
var variableValue = Application("Keyboard Maestro Engine").getvariable("MyVar"); // MyVar 是变量名
- 【脚本运行在浏览器】在浏览器的控制台中获取KM的变量:
var selectorVar = kmvar.MySelector
2. shell
直接引用,使用时,给变量前面添加KMVAR_
前缀
echo "$KMVAR_SelectedFilePath"
echo "$KMVAR_Pan123PId"
在 shell 中如何获取剪贴板的内容:
pbpaste
配合 管道符 使用。
> pbcopy 复制命令(echo "abc" | pbcopy)
> pbpaste 粘贴命令(pbcopy | xxx)
给脚本添加一个说明
Categories: Keyboard Maestro
Actions: Comment Action
功能:添加一个说明,什么都不会做
使用:如果你想给你的这个脚本添加一个说明,可以用这个Action
拖动一个文件到另一个地方
Actions:Move or Click Mouse
功能:鼠标移动、点击、拖动
使用:比如拖动文件上传
注意:拖动时,拖动不能夸屏幕,比如有多个屏幕时,拖动夸屏幕失效
注意:拖动有Bug,对同一个文件不能多次拖动,第一次生效,后续拖动就不生效了;解决办法,手动随便挪动一个文件即可。