模组简介
以撒输入法冲突修复 · 忏悔龙版(IME Fix for REPENTOGON) (玩以撒时输入法还开着,按 WASD 角色不动、突然弹出拼音选词框,角色原地发呆被怪打死?或者厌烦了每次启动游戏都要手动切一次输入法?这个 Mod 会让游戏窗口自动保持英文键盘布局,根治这个问题。) 这是「IME Conflict Fix」的忏悔龙适配版 原版 IME Conflict Fix 通过给 isaac-ng.exe 打 PE 补丁来加载 DLL。但在 REPENTOGON(忏悔龙) 下这条路走不通:真正运行游戏的进程是 Repentogon\isaac-ng.exe ,由 REPENTOGON Launcher 注入启动,原版的补丁打在了错误的 exe 上。因此原版作者也明确写了「暂不针对 REPENTOGON 做专门兼容」。 本版换了一条完全不同的技术路线: 做成 ZHL DLL mod,由 REPENTOGON 自己的 zhlLoader 加载 。不碰任何 exe、不需要打补丁、不改注册表、不需要备份还原。 思路与原始实现来自 Nepcnk825/ime-conflict-fix ( 已获原作者授权 )。 核心功能 • 自动保持英文布局: 游戏窗口的键盘布局一旦变回中文,会在 0.4 秒内自动切回英文,按键不再被输入法吞掉。 • 只改游戏线程: 键盘布局是线程级状态,只修改游戏窗口所属的那个线程。QQ、浏览器、编辑器等其它程序完全不受影响。 • 完全可逆: 不使用不可逆的 ImmDisableIME ,退出游戏后不留下任何后台进程或系统改动。 • 不修改游戏文件: 只往 Repentogon\ 目录放一个 DLL。Steam 验证游戏完整性、游戏本体更新都不受影响。 • 不占回调: 它几乎不算一个真正的 Lua mod,不占用任何游戏回调,与其它 Mod 零冲突。 安装步骤(重要,需要手动做一次) 以撒的 Lua API 没有任何文件读写能力( io 为 nil, package 为 nil),所以 DLL 没法自动就位,需要你手动放一次: • 1. 订阅本 Mod,等 Steam 下载完成。 • 2. 打开游戏目录下的 mods 文件夹,进入 ime-fix-repentogon 开头的那个文件夹。 • 3. 双击 install.bat 。它会自动定位游戏目录并复制 DLL;万一没找到,会提示你手动输入路径。 • 4. 用 REPENTOGON Launcher 启动游戏,生效。 如果 install.bat 不方便运行,也可以纯手动:把 zhlIMEFix.bin 复制到 ...\The Binding of Isaac Rebirth\Repentogon\ 目录下, 并改名为 zhlIMEFix.dll (必须改,REPENTOGON 只加载 .dll);再把 zhlimefix.ini 一起放进去。 为什么发布包里是 .bin 而不是 .dll? 因为 Steam 的 Mod Uploader 会直接拒收 .dll / .exe / .so / .app,只能改后缀才能上传。 卸载 双击 uninstall.bat ,或者直接删除 Repentogon\zhlIMEFix.dll 这一个文件。 游戏本体文件从未被修改,不需要 Steam 验证完整性,也没有任何残留。 如何确认生效? • 任务栏观察: 窗口化运行游戏,主菜单时任务栏输入法指示器应为英文(ENG)。手动切中文,约 0.4 秒内会被切回英文。 • 日志验证: 打开 Repentogon\zhlimefix.log ,应当能看到 ModInit entered 、 worker started 以及 layout switched to target 。 • 操作测试: 游戏内按 WASD 移动角色,不再弹出拼音候选框。 兼容性 • 必需: REPENTOGON(忏悔龙)。没装的话本 Mod 不起作用。 • 性能: 默认 400ms 轮询一次,只调用 GetKeyboardLayout 这一个开销极低的 Windows API,实测对帧率(TPS)无影响。可在 ini 里调 PollMs 。 • 输入法: 直接切键盘布局,所以微软拼音、搜狗、小狼毫、QQ 拼音等都通用。 • 其它 Mod: 不冲突。不占用回调、不读写任何游戏数据。 • 官中补丁: 不涉及 exe,与忏悔+官中补丁无交互。 • 注意: 本 Mod 会让游戏窗口 无法输入中文 (这正是它的目的)。如果需要在游戏内用中文聊天,卸载即可恢复。 安全性 DLL 只做三件事:找游戏窗口、读当前键盘布局、需要时切到英文。不注入其它进程、不联网、不写注册表、不碰游戏内存。 全部源代码随 Mod 一起发布 (见 source 文件夹,含 zhlimefix.c 与 BUILD.txt 编译说明),可用 w64devkit 自行编译核对。 FAQ • 问:为什么不直接装原版? 答:原版靠给 exe 打补丁加载 DLL,在忏悔龙下补丁打错了目标进程,因此不生效。本版改成由 REPENTOGON 自己加载,从根上绕开了这个问题。 • 问:装完游戏起不来 / 闪退? 答:先看 Repentogon\zhlimefix.log 有没有内容。把 Repentogon\zhlIMEFix.dll 删掉就能完全恢复原状,随即可确认是不是本 Mod 引起的。另外请注意:本作在部分环境下本来就有约 50% 概率在启动时崩溃(与本 Mod 无关,删掉 DLL 照样会崩),重试一两次即可进入游戏。 • 问:每次游戏更新要重新装吗? 答:游戏本体更新不会删除 Repentogon\ 里的 DLL。只有重装 REPENTOGON 才可能需要再放一次,重跑 install.bat 即可。 • 问:为什么还要手动装一次?别的 Mod 都不用。 答:因为以撒的 Lua 环境里 io 和 package 都是 nil,没有任何文件写入能力,Lua 侧没法把 DLL 复制到 Repentogon\ 。这是引擎限制,不是偷懒。 • 问:为什么发布包里的文件叫 .bin 不叫 .dll? 答:Steam 的 Mod Uploader 有一份硬编码黑名单, .dll / .exe / .so / .app 一律拒收(报错「files that are not allowed to be uploaded」)。所以发布包里是 zhlIMEFix.bin , install.bat 会在复制时自动改名成 zhlIMEFix.dll 。手动安装的话记得自己改后缀。 • 问:杀软报毒? 答:DLL 使用了 LoadKeyboardLayout / PostMessage 这类常见 API,可能被启发式误报。源码公开,可自行编译核对。 • 问:Steam Deck / Linux 能用吗? 答:不能。本版依赖 Windows 的 ZHL DLL 加载机制,仅支持 Windows。 致谢 • 思路与原始实现: Nepcnk825/ime-conflict-fix (已获作者授权) • 加载机制: TeamREPENTOGON/REPENTOGON
详情图片
条目信息
- 所属游戏
- 以撒的结合:重生 (The Binding of Isaac: Rebirth)
- 创意工坊 ID
- 3832319588
- 文件名
- 3832319588.bin
- 文件大小
- 227.0 KB
- 最后更新
- 2026/11/02
- 内容版本
- v1793621950-6834104c66fd7040
- 作者与来源
- 由原作者发布于 Steam 创意工坊。本站不改变署名,作者信息与原始内容请以 Steam 原始页面 为准。
