Skip to content

Releases: UniversesAurora/KeyPersona

KeyPersona 1.1.1

Choose a tag to compare

@UniversesAurora UniversesAurora released this 20 Sep 02:56

KeyPersona 1.1.1 修复自动记忆把状态记到错误窗口,以及清除记忆后立即重新生成记忆的问题。

下载

  • KeyPersona-1.1.1-windows-x64.zip:包含 EXE、默认配置示例、README、CHANGELOG 和 MIT License。
  • KeyPersona.exe:单文件程序,适合直接替换现有 EXE。
  • SHA256SUMS.txt:EXE 和 ZIP 的 SHA-256。

修复后台窗口错误学习

窗口切换完成后,KeyPersona 不再重新读取已经失去前台的旧窗口。输入法采样现在只接受仍与当前前台顶层 HWND 一致的窗口。

这可以避免以下情况:

  • Raycast 中手动切换到英文后,关闭搜索框时又被错误记回中文。
  • 新窗口的 TSF active profile 被写入上一个窗口。
  • 后台线程的默认 IME window 状态被误认为输入框退出前的状态。

清除记忆后不再立即重新学习

清除当前或全部自动记忆后,当前输入法只作为未持久化的观察基线:

  • 匹配用户规则时显示用户规则来源。
  • 匹配全局默认时显示全局默认来源。
  • 其他状态显示“当前状态(未记忆)”。
  • 观察基线不会写入 state.ini,也不会在下次进入窗口时覆盖规则。
  • 只有之后发生的稳定状态变化才会成为新的自动记忆。

升级

退出旧版后替换 KeyPersona.exe 即可。现有 config.ini、state.ini 和用户规则可以继续使用,不需要迁移配置。

ZIP 中的 config.example.ini 仅供新安装参考,不要用它覆盖自己的 config.ini。

已知限制

  • 仅支持 64 位 Windows 10 和 Windows 11。
  • 程序目录必须允许当前用户写入。
  • 已验证英语(美国)和微信输入法 2.1.4.6;其他 TSF 输入法会自动发现,但内部模式读写取决于其 IMM 支持。
  • 普通权限进程可能无法控制管理员权限窗口的输入法。
  • 发布文件没有数字签名,Windows SmartScreen 或安全软件可能提示风险。

验证

本版本通过源码自检、编译后自检和隔离烟雾测试。回归自检覆盖前台 HWND 校验、观察基线、规则回退、清除全部记忆和状态备份。

KeyPersona 1.1.0

Choose a tag to compare

@UniversesAurora UniversesAurora released this 18 Sep 01:35

KeyPersona 1.1.0 调整了用户规则与自动记忆的关系。应用规则和当前窗口规则现在只提供没有记忆时的默认输入法,不再持续锁定窗口。

下载

  • KeyPersona-1.1.0-windows-x64.zip:包含 EXE、默认配置示例、README、CHANGELOG 和 MIT License。
  • KeyPersona.exe:单文件程序,适合直接替换现有 EXE。
  • SHA256SUMS.txt:EXE 和 ZIP 的 SHA-256。

规则不再阻止手动切换

  • 自动记忆开启时,KeyPersona 依次使用会话记忆、持久记忆、用户规则和全局默认。
  • 用户规则只在窗口没有记忆时提供初始输入法。
  • 进入窗口后手动切换输入法不会再被规则改回;稳定后的状态会成为该窗口的新记忆。
  • Windows Terminal 的英语规则仍可作为初始默认值,但用户可以随时切换到中文。

自动记忆开关

托盘菜单新增“自动记忆输入法”:

  • 开启:学习并恢复每个窗口最后使用的输入法。
  • 关闭:不读取或写入自动记忆,只在进入窗口时执行匹配的用户规则。
  • 关闭时没有规则的窗口保持原状,用户在窗口内仍可自由切换输入法。

清除记忆

  • “清除当前窗口的自动记忆”只重置当前窗口。
  • “清除所有自动记忆…”会清空会话记忆、state.ini 和 state.ini.bak。
  • 两个操作都保留 config.ini 中的命名输入法、用户规则和全局默认设置。

升级

退出旧版后替换 KeyPersona.exe 即可。保留原有 config.ini、state.ini 和 state.ini.bak;不要用 ZIP 中的 config.example.ini 覆盖自己的配置。

旧配置没有 autoMemory 时默认开启,不需要手动迁移。通过托盘设置新的当前窗口默认输入法时,程序会清除该窗口的旧自动记忆,让新默认值立即生效。

已知限制

  • 仅支持 64 位 Windows 10 和 Windows 11。
  • 程序目录必须允许当前用户写入。
  • 已验证英语(美国)和微信输入法 2.1.4.6;其他 TSF 输入法会自动发现,但内部模式读写取决于其 IMM 支持。
  • 普通权限进程可能无法控制管理员权限窗口的输入法。
  • 发布文件没有数字签名,Windows SmartScreen 或安全软件可能提示风险。

验证

本版本通过源码自检、编译后自检和隔离烟雾测试。自检覆盖规则优先级、自动记忆开关、清除全部记忆、状态备份、动态输入法发现和旧版本迁移。

KeyPersona 1.0.0

Choose a tag to compare

@UniversesAurora UniversesAurora released this 17 Sep 07:29

KeyPersona 1.0.0 是首个正式开源版本。

下载

  • KeyPersona-1.0.0-windows-x64.zip:包含 EXE、默认配置示例、README、CHANGELOG 和 MIT License。
  • KeyPersona.exe:单文件程序,首次运行会在同一目录创建配置和状态文件。
  • SHA256SUMS.txt:两个发布文件的 SHA-256。

功能

  • 按窗口记忆并恢复输入语言和可读写的输入法中英文模式。
  • 支持全局默认、应用用户规则和当前窗口用户规则。
  • 自动学习 Win+Space、语言栏及输入法内部切换后的状态。
  • 自动发现新增输入法,并把可选状态写入运行时 config.ini。
  • 清理重复或已经不可用的输入法状态、规则和学习记录。
  • 前台切换后先等待 Windows 自己恢复输入法,仅在状态不符时补偿切换。
  • 托盘菜单支持左右键打开、开机自启动、状态查看、配置与记录管理。
  • 可选修正中文模式下反引号键输出,不影响 Ctrl、Alt、Win、Shift 组合键。

从 IME Memory 升级

  1. 退出旧程序。
  2. 保留原有 config.ini、state.ini 和 state.ini.bak。
  3. 把 KeyPersona.exe 放到原程序目录,或把这些文件一起复制到新的可写目录。
  4. 运行 KeyPersona.exe。

程序会迁移旧日志、自启动快捷方式和 Run 注册项。ZIP 中的 config.example.ini 仅供参考,不要覆盖已有 config.ini。

已知限制

  • 仅支持 64 位 Windows 10 和 Windows 11。
  • 程序目录必须允许当前用户写入。
  • 已验证英语(美国)和微信输入法 2.1.4.6;其他 TSF 输入法会自动发现,但内部模式读写取决于其 IMM 支持。
  • 普通权限进程可能无法控制管理员权限窗口的输入法。
  • 发布文件没有数字签名,Windows SmartScreen 或安全软件可能提示风险。

验证

本版本通过源码自检、编译后自检、隔离烟雾测试、迁移测试和独立目录构建测试。