一句话介绍
自动操作+AppleScript+键盘快捷键+Wacom数位板, 实现快速切换橡皮擦操作.
注:上述过程存在变体: 脚本编辑器+Wacom: 将AppleScript文件通过脚本编辑器打包成应用,直接绑定到Wacom (优点是步骤简单切换快,缺点是会跳出全屏,而且修改脚本可能需要重新打包)
其他版本
- MN4Switch2Eraser 标准版——打包app方案
- MN4Switch2Eraser Pro——增加配置文件
- MN4Switch2Eraser Max——模仿pencil切换回原笔功能
效果图
具体步骤
设置自动操作
打开mac的“自动操作”, 图标是一个小机器人
然后跟随动图操作(最后粘贴的代码在下面, 注意代码不能直接使用)
编写脚本
在创建的快速操作中编写自己的脚本,我在下面提供了一个demo,可以直接贴上去,但是要注意自己橡皮在工具栏上的编号,根据编号修改代码中的数字,注意下方的注释文字
try
tell application "System Events"
tell process "MarginNote 4"
set windowList to windows
if (count of windowList) is 0 then
display dialog "No windows found of the MarginNote 4."
else
set targetWindow to item (count of windows) of windows
try
set buttonList to buttons of scroll area 1 of group 3 of group 3 of group 1 of group 1 of group 1 of group 1 of group 1 of targetWindow
end try
set countOfButtons to count of buttonList
if countOfButtons is 0 then
display dialog "No buttons found of the MarginNote 4."
else
--注意,请将下面的数字4换成你的橡皮擦的编号
--从1开始数,数到橡皮擦
--例如:你的工具栏里是“钢笔、钢笔、彩笔、铅笔、橡皮”,就将下方的数字4换成5
set indexOfEraser to 4
set buttonOfEraser to item indexOfEraser of buttonList
if selected of buttonOfEraser then
set buttonOfFirstPen to item 1 of buttonList
try
click buttonOfFirstPen
on error
--display dialog "切换失败,请勿频繁点击!"
end try
else
try
click buttonOfEraser
on error
--display dialog "切换失败,请勿频繁点击!"
end try
end if
end if
end if
end tell
end tell
end try
设置快捷键
脚本修改完, 保存一下快速操作(即按一下command+s),自己起个名字例如“MN4切换橡皮擦”
保存完成后打开: 系统设置-键盘-键盘快捷键-服务-通用-切换橡皮擦
勾选并设置键盘快捷键,例如我使用的是control+command+e
也可看下方动图
设置数位板按键
数位板按键可以自定义,比如绑定快捷.
我们只需要给某个按键绑定上与刚才相同的快捷键即可(例如control+command+e)
以Wacom为例,我选择绑定到笔的按键上,如图
注意事项
- 脚本通过获取软件UI信息并且触发点击事件来切换橡皮擦,所以会触发警告,根据系统提示授予权限即可.
- 脚本默认切换橡皮和第一支笔工具(可以通过修改代码来自行定义),不能实现切回原笔刷功能,
因为我不会写MN4Switch2Eraser Max使用配置文件实现了切回原笔刷功能 - 笔刷工具栏是浮动的,所以定位会改变,位于上下左右四个方向都是不同的,甚至文档和脑图是否展开都会影响笔刷工具所在的group,所以代码可能无法生效
- 想要使用代码一定要保证工具栏位于上方,且文档页面处于“浮动状态”
下方是脚本可以生效的页面情况(即,不要开文档的全屏模式,让手写工具始终在屏幕上缘)