概述
此模组是 游戏中中文输入法冲突修复(1.7.2-1.12.2)的 1.14.4+ 版本,能够在游戏中自动切换输入法开关状态。
功能
修复在正常游戏的时候和中文,日文,韩文输入法冲突的现象,让你在开着输入法的时候也可以正常进行游戏,操控游戏,不会冲突;
监测聊天栏文本是否为命令格式并自动切换中英文状态;
修复输入法候选词框无法定位至文本框的问题(当前仅支持 Windows);
令输入法候选词框可以在 Windows 全屏模式下显示。
模组已支持 Fabric 1.17+,其它 Fabric 支持版本请移步 输入法冲突修复。
原理
决定输入法状态的根本因素:
在一个标准的图形界面框架中,有且仅有一个组件会接收并响应非全局键盘事件,它被称为焦点组件;
当持有焦点时,一部分组件希望接收到文本字符(如各种文本框),另一部分组件则希望接收到原始键盘输入(如游戏操作界面、按钮、列表等),它们的首选按键接收类型决定了输入法的首选状态;
在 Minecraft 的界面实现中,虽然没有统一的焦点管理机制,但总会仅存在一个组件可以接收并响应键盘输入,称之为等效焦点组件;
在 Minecraft 中,并非所有组件的焦点变化请求都是有效的,本模组会根据情况过滤无效请求。
IMBlocker 的输入状态识别:
例外情况:
问题:
已原生兼容的模组
原版游戏及以下拥有独立界面框架的模组的文本框组件,均已原生支持输入法切换和候选框定位:
如果你的模组未在此列出且其中的文本框无法在获得焦点后激活输入法,请先将屏幕白名单用作临时方案并进行反馈。
反馈注意事项
为方便问题的跟踪与管理,请尽量前往 GitHub 仓库通过提交议题(Issue)的方式进行反馈,否则不能保证及时受理;
在提交漏洞型议题时请至少附带游戏日志或崩溃报告这样最基本的信息,未包含任何有效信息的此类议题将会被立即关闭;
提交任何类型的议题时请确保其基于模组的最新版本,若议题中的功能建议已实现或漏洞已修复开发者将会在验证后关闭该议题。
替代品
(Neo)Forge
游戏内输入法(1.7.10-1.16.5)(停更);
游戏内输入法续更版 / 游戏内输入法 Forge 重置版(Forge 1.16.4-1.20.1 & NeoForge 1.20.1)(停更);
输入法冲突修复(Forge 1.14.4-1.20.4 & NeoForge 1.20.6+)(活跃);
游戏中中文输入法冲突修复(1.7.2-1.12.2)(停更)。
Fabric
游戏内输入法(1.14.4-1.19.2)(停更);
游戏内输入法续更版 / 游戏内输入法 Forge 重置版(1.16.4-1.20.1)(停更);
游戏内输入法 XPlus 版(1.21+)(活跃);
输入法冲突修复(1.17+)(活跃);
输入法冲突修复 Fabric 版(1.14-1.20.1)(停更);
游戏内输入法 Super(1.20.6+)(活跃)。