# 8.2.0 Pro 自定义快捷键 TODO 目标:让 Pro 用户可以自定义全局快捷键;免费用户继续固定使用默认快捷键,不允许保存或启用自定义快捷键。 ## 版本与范围 - 版本号:8.2.0 - 保持默认快捷键不变: - 显示应用列表:Option + Shift + Space - 全局 Quick Search:Fn + Space - 不做原生三指/四指捕获。 - 不引入 Accessibility、Input Monitoring、CGEventTap 或私有 API。 - 不迁移旧实验快捷键 key;旧 key 继续由 `AppDefaults.removeShortcutCustomizationDefaults()` 清理。 ## 实现 TODO - [x] 增加 `ProFeature.customHotkeys`,把自定义快捷键纳入 Pro 权益体系。 - [x] 增加统一的快捷键存储与校验层,使用新命名空间 `customHotkeys.v1.*`。 - [x] App 启动和菜单显示统一读取“有效快捷键”: - 免费用户:始终默认快捷键。 - Pro 用户:合法自定义快捷键优先,否则默认快捷键。 - [x] 注册快捷键时采用事务式流程:候选快捷键先注册成功,再替换旧引用并保存。 - [x] 设置页快捷键页签增加自定义入口、恢复默认入口、录制状态与错误提示。 - [x] Pro 状态变化时重新注册有效快捷键。 - [x] 更新 29 语种本地化文案。 ## QA TODO - [x] 静态检查 Pro gate:UI、保存、注册有效快捷键均不能绕过 Pro。 - [x] 静态检查 Carbon-only:不得出现 CGEventTap、Accessibility、Input Monitoring 等路径。 - [x] 静态检查默认快捷键:免费状态始终回退默认值。 - [x] 静态检查事务式注册:失败时旧快捷键不被先卸载。 - [x] 29 语种本地化完整性检查。 - [x] macOS 14 availability/typecheck。 - [x] build.sh 构建与版本元数据检查。 ## Go / No-Go - Go:源码、QA、构建、版本号和 changelog 全部通过后冻结。 - No-Go:任何 Pro gate 可绕过、快捷键注册失败导致默认快捷键不可用、或引入额外系统权限。 ## 完成记录 - 版本:8.2.0 - Build:20260628.2308 - QA: - `Scripts/pro_custom_hotkeys_qa.sh` - `Scripts/pro_feature_gate_qa.sh` - `Scripts/pro_localization_qa.sh` - `Scripts/macos14_availability_typecheck_qa.sh` - `Scripts/macos14_build_metadata_qa.sh` - 构建产物: - `build/TagLauncher.app` - `build/TagLauncher.dmg` - DMG SHA256:`493b77349285f0254935ffa10feefbc278ad18b5f91c12fca5579d6599810bea`