OSX系统快捷键能否调用Photoshop JSX脚本内的指定函数?
macOS下Photoshop JSX脚本多快捷键绑定实现方案
第一步:改造现有JSX脚本支持参数调用
在你的layermask-1.jsx文件最顶部添加以下参数解析逻辑,原有5个函数无需修改直接保留即可:
// 头部新增参数匹配逻辑 if (typeof $ !== 'undefined' && $.arguments && $.arguments.length > 0) { var actionName = $.arguments[0]; switch(actionName) { case 'newLayer': newLayer(); break; case 'addMask': addMask(); break; case 'invertMask': invertMask(); break; case 'previewMask': previewMask(); break; case 'deleteMask': deleteMask(); break; default: alert('未匹配到对应操作'); } } // 此处保留你原来的5个函数代码即可 function newLayer() { /* 原有实现逻辑 */ } function addMask() { /* 原有实现逻辑 */ } function invertMask() { /* 原有实现逻辑 */ } function previewMask() { /* 原有实现逻辑 */ } function deleteMask() { /* 原有实现逻辑 */ }
第二步:配置macOS端快捷键绑定
总共需要创建5个快速操作,分别对应不同的快捷键和调用参数:
- 打开自带的自动操作(Automator),新建「快速操作」类型的项目
- 右侧配置项:工作流收到选择
没有输入,位于选择Photoshop.app - 左侧搜索「运行Shell脚本」动作,拖到右侧工作区,填入对应调用命令,示例如下:
# 注意替换成你自己的PS版本、脚本实际存储的绝对路径 osascript -e 'tell application "Adobe Photoshop 2024" to do javascript (POSIX file "/Users/你的用户名/scripts/layermask-1.jsx") with arguments {"newLayer"}' - 保存快速操作,命名可对应功能比如「PS新建图层_F19」
- 打开系统设置→键盘→快捷键→服务,找到刚才保存的快速操作,绑定对应快捷键即可,对应关系如下:
- F19 → 绑定参数为
newLayer的快速操作 - Cmd+F19 → 绑定参数为
addMask的快速操作 - Option+Cmd+F19 → 绑定参数为
invertMask的快速操作 - Control+Option+Cmd+F19 → 绑定参数为
previewMask的快速操作 - Shift+Control+Option+Cmd+F19 → 绑定参数为
deleteMask的快速操作
- F19 → 绑定参数为
注意:如果快捷键触发无响应,先在「系统设置→隐私与安全性→辅助功能」中给自动操作、Photoshop开启权限,同时检查调用命令里的PS版本、脚本路径是否正确。
内容的提问来源于stack exchange,提问作者sepablo
相关产品推荐
相关产品推荐

