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.
- Loaders
- Forge
- Downloads on Modrinth
- 194
- Followers on Modrinth
- 0
- version
- 1
- Updated
- July 19, 2026Jul 19
- Published
- in 2026
At a glance
Needed in the game; optional on the server
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.
FAQ
How to install LShiftFix?
Install Forge for your Minecraft version, download LShiftFix for the same version and loader, put the file into the mods folder and launch the game with the loader profile.
Which Minecraft versions does LShiftFix support?
LShiftFix has builds for Minecraft 1.8.9.
Is LShiftFix needed on the server?
Needed in the game; optional on the server