fix(macos): 避免 Fn 长按与功能键误触发听写 - #1008
Merged
H-Chris233 merged 2 commits intoSep 7, 2026
Merged
Conversation
Auto 和 Toggle 模式只在 Fn 短按松开且未叠加功能层操作时触发听写;长按及亮度、音量等 systemDefined 事件留给 macOS。 保留显式 Hold 模式的按住说话语义,并跳过 Fn 短按释放后的冗余仲裁延迟。
Contributor
|
如果你需要使用 FN 键,我不建议你把听写的快捷键设置成 FN。 |
Collaborator
|
认真的吗。。。MacOS的CI都没过。。。 |
Collaborator
|
该PR由我接管,修改完成后会合入主分支 |
Resolve the Core hotkey migration conflict while preserving macOS Fn release arbitration and paired press IDs. The old macOS CI failure came from the removed backend_rust harness compiling hotkey.rs without objc2; the current beta test boundary no longer duplicates that Tauri-only module.
Contributor
你就当他把 PR 当作issue来用算了。 |
H-Chris233
added a commit
that referenced
this pull request
Sep 8, 2026
#1023) * feat(llm): add OpenCode Zen polish provider, default deepseek-v4-flash Dictation polish uses OpenAI-compatible chat/completions. For OpenCode Go, change the Base URL to /zen/go/v1. * fix(macos): 避免 Fn 长按与功能键误触发听写 (#1008) Auto 和 Toggle 模式只在 Fn 短按松开且未叠加功能层操作时触发听写;长按及亮度、音量等 systemDefined 事件留给 macOS。 保留显式 Hold 模式的按住说话语义,并跳过 Fn 短按释放后的冗余仲裁延迟。 Co-authored-by: Chris233 <h-chris233@outlook.com> * fix(asr): 百炼 WebSocket 优先走 IPv4,避开本机 IPv6 黑洞 (#1036) * fix(asr): 百炼 WebSocket 优先走 IPv4,避开本机 IPv6 黑洞 dashscope 的 AAAA 在部分 Windows 双栈网上 TCP 443 会挂死,connect_async 先试 IPv6 会卡满 5 秒超时,听写进不了 Listening。 Co-authored-by: Cursor <cursoragent@cursor.com> * fix(asr): preserve websocket ports and retry handshake addresses --------- Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Chris233 <h-chris233@outlook.com> * fix(updater): Beta 构建默认跟随 Beta 渠道 (#1041) * fix(updater): default beta builds to beta channel (#1034) * fix(updater): persist channel switches atomically * feat(llm): 支持渠道级 Chat Completions、Responses 和 Messages (#1042) * feat(llm): add channel request formats and compatibility presets * fix(llm): harden channel protocol handling * feat(llm): integrate OpenCode Zen with shared request formats --------- Co-authored-by: Mark <shawninjuly@gmail.com> Co-authored-by: Chris233 <h-chris233@outlook.com> Co-authored-by: 浩彬(^-^) <146098469+HKLHaoBin@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
摘要
Follow-up to #981(原问题 #979)。
修正 Fn 作为听写触发键时的双用途键设计缺陷:系统长按和 Fn + 功能键应只交给 macOS,不应同时启动听写。
修复 / 新增 / 改进
systemDefined辅助控制事件,覆盖亮度、音量、媒体和键盘背光;同时排除 Globe/Menu,避免普通 Fn 短按自我取消。兼容
测试计划
npm run buildcargo check --manifest-path openless-all/app/src-tauri/Cargo.toml --libbeta基线通过(仅仓库既有 warnings)。cargo test --manifest-path openless-all/app/src-tauri/Cargo.toml --lib hotkey::platform::testscargo test --manifest-path openless-all/app/src-tauri/Cargo.toml --lib mac_fncargo test --manifest-path openless-all/app/src-tauri/Cargo.toml --lib hotkey::git diff --checkopenless-all/app/src-tauri/src/hotkey.rs、openless-all/app/src-tauri/src/coordinator/dictation.rs。companion_seen=false且未进入 coordinator;AppKit subtype 8 辅助控制事件同样未触发听写。