promotional bannermobile promotional banner

VoxKbd

VoxKbd adds keyboard layers to Minecraft. Switch key sets on the fly — one key, many uses. No more conflicts
Back to Files

voxkbd-1.0.3-26.2-neoforge.jar

File namevoxkbd-1.0.3-26.2-neoforge.jar
Uploader
AUGUHDARAUGUHDAR
Uploaded
Sep 29, 2026
Downloads
12
Size
137.2 KB
Mod Loaders
NeoForge
File ID
9010623
Type
B
Beta
Supported game versions
  • 26.2

Curse Maven Snippet

NeoForge

implementation "curse.maven:voxkbd-1674735:9010623"

Learn more about Curse Maven

What's new

1.0.3

键盘拦截范围限制到 Minecraft 窗口内,同时修掉 1.0.1 遗留的三个致命问题。

关于键鼠拦截(平台审核要求)

1.0.1 及更早的包在 Windows 上装的是系统级键盘钩子(WH_KEYBOARD_LL),钩子常驻,MC 不在前台时也照样挂着。平台审核判定它"会拦截电脑上所有程序的按键",直接退回。

1.0.3 做了两层限制:

  • 只对 Minecraft 自己生效。 钩子回调里加了一步前台窗口校验(GetForegroundWindow + GetWindowThreadProcessId):当前台窗口不属于 Minecraft 所属进程,事件原样放行,既不拦截也不记录。
  • 窗口失焦即卸载钩子。 钩子生命周期跟随窗口焦点,切出去就卸载,切回来重新装。不在前台的时候,系统里根本没有这个钩子。

这两条覆盖 Windows 桌面后端;安卓后端本来就在 MC 进程内工作,不涉及系统级钩子。

修复

  • ZL2 / FCL 上切换键盘后键值不变。 这两个启动器在安卓进程里跑的是完整桌面版 JVM,不是 Dalvik,模组靠虚拟机名字判断平台,判断落空后整个翻译管线没有启动。现在按启动命令行特征补了兜底判定(-Dos.version=Android-*、pojav.path.*、glfwstub.*、/system/build.prop),桌面 Linux 不可能同时命中。
  • Forge 1.20.1 加载时弹"未能加载有效的 ResourcePackInfo"。 Forge 1.20.1 要求模组 jar 里有 pack.mcmeta,1.0.1 的包全部缺这个文件。已补。
  • "始终显示"悬浮标在 1.20 ~ 1.21.11 上从未显示过。 悬浮标的 mixin 参数和各版本 Gui.render 的真实签名对不上(1.20 系缺 float partialTick,1.21 系缺 DeltaTracker),编译期不报错、运行期静默失效。本轮逐版本对照官方映射文件全部修正。
  • Forge / NeoForge 没有安卓注入桥。 1.0.1 的桥类只打在 Fabric 包里,Forge 和 NeoForge 玩家在 FCL / ZL2 上翻译管线是死的。已按版本族补齐 17 个包。
  • 切换键可能被自己的钩子吞掉。 判断"这个键归模组所有"时拿 Windows 虚拟键码去比 GLFW 键码表,两套编号不同,按 ` 或 [ ] 时有几率切不出键盘。已统一成 GLFW 键码。

新增

  • 更新检测。 启动后查一次 GitHub Releases(每实例每天最多一次,失败静默),进世界后在聊天栏提示新版本号与下载地址。

支持范围

Forge 补上了 26.3,三个加载器合共覆盖 Minecraft 1.20 ~ 26.3,28 个包。

加载器 版本范围 包数
Fabric 1.20 ~ 26.3 9
Forge 1.20 ~ 26.3 10
NeoForge 1.20.1 ~ 26.3 9

关于 26.3 和安卓

Minecraft 26.3 移除了 GLFW 改用 SDL3,安卓注入桥重写为直接拦截 KeyboardHandler#keyPress,不再依赖启动器的注入接口;焦点检测从回调改为轮询。1.20 ~ 26.2 沿用原来的回调包装方案,1.21.9+ 已核实内部调用点仍然存在。

这些链路做过逐版本签名核对(官方映射文件级),但安卓真机与 26.3 桌面端尚未实机验证。遇到问题请带上 latest_game.log 反馈。

已知限制

  • 1.20 ~ 1.21.11 的包内置 JNA;26.x 用 JDK 内置的 FFM,不内置。
  • 1.20 系的安卓桥读默认键码表,改过键码表配置的玩家在安卓上会错位(1.21 起读配置)。
  • 只有简体中文和英文两套翻译。

This mod has no related projects