Skip to content

[windows/ime] 恢复语音输入前的用户输入法 #481

@Cooper-X-Oak

Description

@Cooper-X-Oak

This was generated by AI during triage.

Parent

#478

Triage

  • Category: bug
  • State: ready-for-agent
  • Requested state label: ready-for-agent
  • Requested repository labels (not applied by this run due label permissions): bug, windows, priority: high

What to build

修复 Windows 语音输入后输入法固定在 OpenLess 输入法的问题。OpenLess 可以在插入期间切换到自身 TSF/IME 后端,但必须在插入成功、剪贴板 fallback、取消、错误退出等路径后恢复用户原本的输入法或 language profile。

Acceptance criteria

  • 语音输入前记录当前前台线程/窗口相关的输入法或 language profile。
  • 插入成功后恢复语音输入前的输入法。
  • 剪贴板 fallback 后也恢复语音输入前的输入法。
  • 用户取消、ASR/LLM 错误、插入错误退出时也不会永久停留在 OpenLess 输入法。
  • 微信输入法场景复测通过。
  • Windows 10 22H2 场景复测通过。
  • 恢复失败时日志记录具体 Windows API 层原因,而不是静默失败。

Blocked by

None - can start immediately.

Evidence

#469: Reporter 表示 Windows 语音输入后,输入法 100% 固定在 OpenLess 输入法,不会自动切回;输入法为微信输入法;环境为 Windows 10 专业版 22H2,OS build 19045.5854。

Expected / Actual

Expected: OpenLess 的输入法切换是无感、临时的;语音输入结束后用户继续手动打字时,仍使用之前的输入法。

Actual: 用户每次语音输入后都需要手动从 OpenLess 输入法切回原输入法,体验严重下降。

Validation gate

  • 安装/注册 IME 后运行:powershell -ExecutionPolicy Bypass -File .\scripts\windows-ime-install-smoke.ps1 -InstallerKind nsis -InstallerPath <installer>
  • 人工复测:Windows 10 22H2 + 微信输入法,语音输入前后确认输入法自动恢复。
  • 覆盖成功插入、fallback、取消、错误四条路径。
  • 如改动 TSF/IME 注册或提交路径,运行相关 Windows IME packaging/test gate。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions