Skip to content

qt: 接入有界 IME preedit、字面提交与焦点隔离 - #165

Closed
JavaZeroo wants to merge 36 commits into
mainfrom
feat/qt-ime-r2
Closed

JavaZeroo wants to merge 36 commits into
mainfrom
feat/qt-ime-r2

Conversation

@JavaZeroo

@JavaZeroo JavaZeroo commented Oct 29, 2026 •

Copy link
Copy Markdown
Owner

Qt 终端接入有界 preedit、属性/光标与公开 query,将合法 UTF-16 commit 字面编码为 UTF-8;取消、失焦、隐藏/切换/关闭及失败目标清理本地组合状态。256 单位/属性上限及替换范围限制是当前 TermForge 工程策略,尚不声明完整 WindTerm 行为等价。测试 observer 记录实际事件、GUI-thread provider 和几何;immutable snapshot 发布规避正在覆盖的 legacy JSON 读取。

当前冻结源 5fab30b1a27781ae05d2d312018b319ffa4d367c,未合入 main。公开事件五组、字面 NUL/08、重复 commit、真实 ConPTY receiver 与 normal/cancel app.exec 生命周期已有定向验证。新 console observer 17 例已纳入 CI;当前 head 的六个 push/PR workflow 均 success,日志内部计数未核不推算。本机独立编译 exit0 后有未知 Job 成员,按失败保留;另一个 focused-only lease 在同一产物上 4/4、自然回收,不追认编译整树自然。

隔离 Win11/固定 Microsoft 拼音的 N9 仅执行一次:13 批、SendInput 返回30/30,A恰一次 commit“你好”/raw e4bda0e5a5bd,B取消/raw0,UI与两个receiver自然exit0/Job0。62 immutable packets 与 complete 精确绑定,134私有归档文件逐字节核对,原始 OS 图和本机身份不公开。外层自然exit1,明确状态 observation_complete_pending_candidate_review。旧N1–N8观察失败独立保留,QSaveFile witness只证明覆盖机制、不识别旧确切持有者。

候选框已补固定即时/延后配对,输出/字体变化后的固定延后点仍在旧位置;原因、完整覆盖及与官方 WindTerm 2.7.0 的对应行为尚未闭合;Ctrl-C没有C KeyPress或03,consumption未知。native acceptance与presented_done继续null,因此保持Draft,不据此关闭#155/#30/#31/#7或声明R2完成。

Refs #155

JavaZeroo added a commit that referenced this pull request Oct 31, 2026
#165 的实现已被 #205/#230 取代(main 上已有组合/提交/取消),但两份计划文档在 main 缺失:
qt-ime-integration-plan.md、qt-ime-native-observation-plan.md。
仍为纯新增,不修改 main 已有文件。
@JavaZeroo

Copy link
Copy Markdown
Owner Author

关闭原因:实现已被 main 取代。main 上已有 IME 组合/提交/取消:dea6065(PR #205)与 a44bd2c(PR #230),两者均refs #155。本 PR 是同一需求的另一套实现(clear_composition()/accepts_ime() 对 main 的 preedit_),合并会造成两条 IME 路径。

两份计划文档(qt-ime-integration-plan.md、qt-ime-native-observation-plan.md)已在 #261 摘取入库。

#155 本身保持开放,范围收窄为验收(固定拼音、真实 OS IME、候选框位置、Ctrl-C delivery)。

@JavaZeroo JavaZeroo closed this Oct 31, 2026
JavaZeroo added a commit that referenced this pull request Oct 31, 2026
#165 的实现已被 #205/#230 取代(main 上已有组合/提交/取消),但两份计划文档在 main 缺失:
qt-ime-integration-plan.md、qt-ime-native-observation-plan.md。
仍为纯新增,不修改 main 已有文件。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant