在浏览器里切换标签、关闭窗口、启动常用应用,这些操作单独看并不复杂,但一天重复几十次以后,鼠标在按钮、菜单和程序坞之间来回移动,也会占用不少时间。StrokeMouse试图解决的正是这类重复操作:把一段鼠标轨迹或触控板手势,转换成快捷键、窗口命令、应用启动和脚本动作。

它是一个面向macOS的开源手势自定义工具,常驻在系统菜单栏中运行。用户可以按住指定鼠标键绘制轨迹,也可以按住Fn、Control、Option、Shift或Command中的一个修饰键,通过移动指针完成绘制。项目还提供了实验性的多指触控功能,可识别部分轻触、滑动、缩放和旋转动作。

StrokeMouse:用鼠标手势执行快捷键和窗口操作

它解决的是重复操作

StrokeMouse的价值不在于替代鼠标,而是把原本需要多个步骤完成的操作压缩成一个动作。例如,按住鼠标右键向下再向右绘制,可以绑定关闭窗口;向上绘制可以调用Mission Control;画出另一段轨迹,则可以打开浏览器、播放音乐或执行一组快捷键。

这种操作方式更适合已经形成固定工作流程的用户。经常使用同一批软件、频繁管理窗口,或者每天都要执行相似命令时,手势能够减少寻找按钮和记忆复杂快捷键的成本。对于偶尔才使用电脑的人来说,配置和记忆手势所花的时间,未必能够换来明显收益。

三种输入方式各有侧重

输入方式操作方法更适合的场景需要注意的问题
鼠标绘制按住右键、中键或侧键后绘制轨迹外接鼠标办公、浏览网页、管理窗口需要合理选择触发键,避免影响原有按键习惯
触控板绘制按住单个修饰键并移动指针使用MacBook触控板或没有侧键的鼠标额外按下其他修饰键会取消本次识别
实验性触控手势使用多指轻触、滑动、捏合或旋转希望扩展内置触控板操作方式的用户依赖未公开系统组件,兼容性和稳定性存在限制

鼠标绘制是相对直观的方式。每条手势可以单独指定右键、中键或侧键,软件只监听已启用配置中真正用到的按钮。短按触发键但没有达到最小滑动距离时,软件会将其作为普通点击回放,因此右键菜单仍然可以正常使用。

触控板绘制并不是直接识别手指轨迹,而是按住指定修饰键后,记录系统指针的移动路径。它不会拦截修饰键本身,所以当前应用仍有可能响应这个按键。配置时需要避开软件中已经大量使用的快捷键,以免产生意料之外的操作。

手势匹配后可以做什么

StrokeMouse提供的动作类型比单纯发送快捷键更丰富。手势识别成功后,可以执行以下操作:

  • 发送自定义键盘快捷键;

  • 打开指定应用或网页地址;

  • 执行播放、暂停等媒体控制;

  • 关闭、最小化、缩放、全屏或居中窗口;

  • 运行Shell命令;

  • 执行AppleScript脚本;

  • 调用锁屏、清空废纸篓等预设动作。

其中,Shell和AppleScript让它具备了进一步扩展的空间。开发者或熟悉自动化的用户,可以把文件处理、应用控制和系统命令绑定到手势中。不过,这类动作也意味着更高的风险。导入他人配置时,应当检查其中是否包含脚本,不要直接运行来源不明的命令。

轨迹不是越复杂越好

StrokeMouse会对轨迹进行重采样、归一化和有限角度旋转处理,并结合转折结构进行匹配。用户可以调整全局匹配阈值,绘制过程中也可以显示实时轨迹。

实际配置时,没有必要追求复杂图形。轨迹越长、转折越多,虽然看起来更容易区分,但每次绘制的误差也会增加。直线、L形、折返和简单组合通常更容易形成稳定的肌肉记忆。几条相似手势放在同一作用范围内,也可能因为匹配阈值设置不当而出现误识别。

更稳妥的做法是先配置少量高频操作,使用一段时间后再逐步增加。不同应用可以复用相同轨迹,因此不必为了所有功能设计几十种完全不同的图形。

权限为什么不能省略

StrokeMouse需要macOS辅助功能权限,用于监听全局鼠标和修饰键事件、注入快捷键以及控制窗口。首次启动时,可以根据应用内指引进入系统设置完成授权。没有获得相关权限时,手势引擎不会正常工作。

只有在通过AppleScript控制其他应用时,系统才可能进一步请求自动化权限。是否出现这项授权,与用户配置的具体动作有关,并不是所有基础手势都需要开放。

这类工具能够接触全局输入事件并执行系统级动作,权限范围天然比普通记事本或图片查看器更大。StrokeMouse采用本地运行方式,项目说明中也明确表示不会保存实验性触控功能产生的原始触点轨迹,但用户仍应根据自己的安全要求判断是否授予权限。

配置管理更适合长期使用

手势数量增加以后,管理方式会直接影响使用体验。StrokeMouse按照全局和不同App组织手势,提供搜索、筛选、排序以及批量启停和删除功能。配置可以导入或导出为JSON,遇到重复项目时能够选择跳过或强制导入。

完整配置保存在用户目录下的以下位置:

~/Library/Application Support/StrokeMouse/gestures.json

普通备份可以直接使用软件内的导出功能。需要迁移整套配置时,也可以复制该文件,但手工修改时必须保持JSON结构正确。配置中如果涉及本机应用路径或自定义脚本,迁移到另一台Mac后可能需要重新调整。

参考资料

  1. StrokeMouse GitHub项目

  2. StrokeMouse功能与使用说明

  3. StrokeMouse工程配置

  4. StrokeMouse开源许可证