Conversation
appergb
commented
Oct 3, 2026
appergb
left a comment
Collaborator
Author
There was a problem hiding this comment.
已完成对 4fa9599 的 review。未发现未解决的阻断项。
核对了 Fn 空闲/非 Fn 触发路径、CGEvent 指针编码、主队列同步转换的事件生命周期及 flagsChanged 类型过滤;热键监视器的 macOS shutdown 没有等待监听线程的 join,避免主队列转换与退出互相等待。Caps Lock 与 Fn 辅助键的原生回归、本地 hotkey 测试和 debug 构建通过。
该提交的全部 CI 已通过:https://github.com/Open-Less/openless/actions/runs/37138839321 。合并仍需仓库要求的维护者批准。
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.
macOS 上应用停留在主页或设置页时,按中英文切换键(Caps Lock)可能触发 SIGTRAP,导致整个进程退出。实际崩溃栈定位到热键 event tap 线程调用 NSEvent 转换,进入 HIToolbox 只允许主队列访问的输入源代码。
仅在配置为 Fn 且确实按住 Fn 时解析系统控制事件。必要的 NSEvent 转换转到主队列,使用正确的 CGEvent 指针编码与 autorelease pool,并确认转换结果仍为 systemDefined 后再读取 subtype/data1;Caps Lock 转出的 flagsChanged 事件直接忽略。
验证:原生后台线程 Caps Lock 按下/松开与 Fn 辅助键报文回归通过;26 项 Rust hotkey 测试、113 项前端测试及 macOS debug 应用构建通过。尚未替换用户已安装的应用。