LShiftFix
Fixed an issue where holding the left shift key wouldn't let you jump when playing MC 1.8.9 while using multiple input methods.
介绍
Problem
When a Chinese / Japanese / Korean IME is active in Minecraft 1.8.9, the player cannot jump while holding Shift (sneak) and pressing Space. The jump input is swallowed by the OS input method.
Root cause: Almost every IME registers Shift+Space as a full-width/half-width toggle hotkey. Windows routes WM_KEYDOWN through ImmTranslateMessage before dispatching to the app. The IME consumes the combo there, so Minecraft’s Keyboard.next() event queue never sees the key press — keyBindJump.isKeyDown() stays false forever.
Fix
LShiftFix injects at the tail of EntityPlayerSP.updateMovementInput():
Reads the player’s bound jump key (default Space, supports rebinding)
Calls Keyboard.isKeyDown(keyCode) to directly poll the hardware state
If physically pressed but movementInput.jump is still false, force it to true
LWJGL’s keyDownBuffer is populated by WindowProc at a layer lower than WM_KEYDOWN, so IME interception of the event queue doesn’t affect it. The fix is IME-agnostic — works for Sogou, Microsoft Pinyin, QQ Pinyin, Google Input, Japanese IME, Korean IME, etc.
常见问题
LShiftFix 支持哪些 Minecraft 版本?
LShiftFix 支持 Minecraft Java 版 1.8.9,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
LShiftFix 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端 / 服务端。
评论
登录后评论和评分