Skip to content

[windows][ime] 插入后输入法状态偶发没还原:要按两下才从英文回到中文,无法立刻改错字 #1033

Description

@linonetwo

环境

现象

口述插入完成后,经常要立刻打字改 ASR 错字,但输入法状态没有回到口述前

  1. 插完不能马上用中文改错,敲下去是英文/直出字母。
  2. 再按一下切换键(小狼毫默认 Shift 切中英),任务栏/状态却跳到「英文输入法」。
  3. 再按一下才回到中文输入法,这时才能正常改字。
  4. 不是每次都发生,所以更烦:成功时无感,失败时改一个错字要先跟输入法搏斗。

这和 #1032 的「插入后方向键卡」经常叠在一起,但这里明确是 中/英输入法状态没还原,不是单纯卡顿。

本机日志

每次插入都会激活 OpenLess TSF,再 RestoreSavedProfile 回小狼毫:

restore decision=RestoreSavedProfile
  saved_profile=... clsid={6573078D-...} profile={CE7B668C-...}   # 小狼毫
  openless_was_activated=true activation_failed=false
  active_profile=... clsid={6B9F3F4F-...} profile={9B5F5E04-...}   # 仍是 OpenLess IME
restore succeeded (attempt 0)
restore verification: OpenLess is no longer the active profile (attempt 0)

多数时候 verification 说已经离开 OpenLess IME,但用户侧中/英状态仍是错的。说明当前只检查「profile GUID 不是 OpenLess」,没有恢复 Rime 的中文/ASCII 模式,也没有恢复 IME 开/关、转换模式

间歇失败有硬证据:

  • restore verification: OpenLess is still the active profile (attempt 0) — 至少 15+ 次
  • session began while OpenLess IME was already the active profile — previous session likely failed to restore52 次

即上一次没还干净,下一次又在 OpenLess IME 上开录。OpenLess IME 本身是直出拉丁字符的 TSF,体感就是「变成英文输入法」。小狼毫再用 Shift 切一次,会再叠一层中英状态,所以要按两下才回到能打中文。

复现(间歇)

  1. 系统默认小狼毫,中文模式。
  2. 在 Cursor / ChatGPT 输入框 RightAlt 口述,等文本插入。
  3. 立刻打中文改错字。
  4. 偶发:字母直出 / 无法上屏中文;按一次 Shift 变成英文输入法,再按一次才回中文。

请求

  • 插入结束后必须把 输入法 profile + 开/关 + 中英/转换模式 全部还原到会话开始时,而不是只切回 Weasel GUID。
  • 对小狼毫:不要把 Rime 留在 ASCII/英文模式;不要把 OpenLess IME 留在前台。
  • restore 失败要重试到 verification 通过;不要在 OpenLess IME 仍 active 时开始下一轮。
  • 日志里同时打出 restore 前后的 profile、conversion mode、IME open,方便对上「偶发」。

期望

  • 口述插入后立刻就能用原来的中文输入法改错字,不必先按两下切换键
  • 不再间歇性停留在 OpenLess IME / 英文直出
  • OpenLess is still the active profileprevious session likely failed to restore 不再成对出现

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions