AutoClipType 是一个 macOS 菜单栏工具,用来把本机剪贴板里的文本模拟成逐字键盘输入。它适合 VNC、远程桌面等不支持剪贴板共享或剪贴板同步不可靠的场景。
- 菜单栏常驻,不显示 Dock 图标
- 可通过菜单项或全局热键触发输入
- 默认热键:Control + Option + V
- 输入过程中再次按热键可停止
- 字符间延迟可设置为 0 到 5 秒,默认 0.02 秒
- 开始前延迟可设置为 0 到 5 秒,默认 0 秒
- 延迟和热键均可一键恢复默认值
- 换行模拟为 Enter
- 使用
CGEventKeyboardSetUnicodeString发送 Unicode 字符,支持中文和常见 Unicode 文本 - 重要错误才请求并发送系统通知,例如缺少辅助功能权限或剪贴板没有文本
- 设置页显示辅助功能权限状态,并可跳转系统设置
- 支持用户明确开启的登录后自动启动,默认关闭
- 支持英文和简体中文,默认跟随系统语言
- 支持浅色和深色外观,默认跟随系统主题
- 通过 Developer ID 签名并公证后分发,未启用 App Sandbox(原因见下文「为什么无法启用 App Sandbox」)
AutoClipType 纯本地运行。它只会在你主动点击菜单或按下热键时读取当前剪贴板文本,不监听剪贴板变化,不保存剪贴板历史,不上传任何内容,也不需要网络功能。
macOS 要求模拟键盘输入的 app 获得辅助功能权限。
首次使用前,请打开:系统设置 > 隐私与安全性 > 辅助功能,然后允许 AutoClipType。
设置窗口中也会显示当前辅助功能权限状态,并提供打开系统设置的按钮。
AutoClipType 靠 CGEventPost 合成并发送键盘事件来"打字",这属于控制整台电脑的行为,macOS 要求它获得**辅助功能(Accessibility)**权限。
而 App Sandbox 的设计目标恰恰是禁止 app 越出自身沙盒去控制系统,两者在架构层面根本冲突。一旦启用 App Sandbox:
- 辅助功能授权弹框永远不会出现;
- app 无法出现在「系统设置 > 隐私与安全性 > 辅助功能」列表里,用户连手动「+」添加都无法真正生效;
AXIsProcessTrusted()始终返回false,即输入功能完全不可用。
关闭 App Sandbox 后,上述一切恢复正常。这也意味着本 app 无法上架 Mac App Store(App Store 要求必须开启 App Sandbox,且不允许此类全局键盘控制功能)——对需要辅助功能的工具类 app 来说,走 Developer ID 签名 + 公证的分发方式是标准做法。
这一限制已由 Apple 官方开发者论坛中同类案例(菜单栏工具 + Accessibility)以及 Apple DTS 工程师的答复所证实,并非本项目的配置问题。
签名、公证、打包(zip / DMG / PKG)以及 GitHub Actions 自动发布的完整说明,见 docs/NOTARIZATION.md(面向新人的分步教程)。打 tag 自动出公证包的工作流见 .github/workflows/release.yml。