3 Commits
Author SHA1 Message Date
MarkandChris233 6a7cd5f4cd fix(macos): 避免 Fn 长按与功能键误触发听写 (#1008)
Auto 和 Toggle 模式只在 Fn 短按松开且未叠加功能层操作时触发听写;长按及亮度、音量等 systemDefined 事件留给 macOS。

保留显式 Hold 模式的按住说话语义,并跳过 Fn 短按释放后的冗余仲裁延迟。

Co-authored-by: Chris233 <h-chris233@outlook.com>
2026-09-08 01:39:55 +08:00
Mark 2981bf28c3 fix(macos): 避免 Keychain 授权弹窗重复出现 (#990) 2026-08-23 22:47:41 +08:00
2b796d067e fix(macos): Fn 键可被录制为听写触发键 (#979) (#981)
* fix(macos): Fn 键可被录制为听写触发键 (#979)

浏览器/WebView 不向网页层下发 Fn 的 keydown(系统修饰键被隐藏),
ShortcutRecorder 无法通过键盘事件捕获 Fn。运行时本可检测 Fn(CGEventTap 看
keycode 63 + kCGEventFlagMaskSecondaryFn),但仅能通过「设置」写入,录制流程录不进。

- ShortcutRecorder:加 allowFn 开关,菜单提供「Fn」一键设置(绕过录制限制)
- macOS CGEventTap:录制态检测 Fn 边沿 → 上报 FnRecordingPressed → coordinator
  emit fn-shortcut-pressed → 前端提交 {primary:'Fn'}
- 关键修复:MacHotkeyAdapter 缺 set_recording_active override,录制态从未传到监听器,
  Fn 检测永不触发
- i18n: 补 comboFnLabel / comboFnHint 五语言文案

refs #979

Co-Authored-By: Claude <noreply@anthropic.com>

* fix(android): gate desktop Fn recording bridge

* refactor(macos): record Fn through backend event

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Chris233 <h-chris233@outlook.com>
2026-08-22 05:19:45 +08:00