LShiftFix
Исправлена проблема, из-за которой удержание левого Shift не позволяло прыгать при игре в MC 1.8.9 с использованием нескольких способов ввода.
- Загрузчики
- Forge
- Скачиваний на Modrinth
- 194
- Подписчиков на Modrinth
- 0
- версия
- 1
- Обновлён
- 19 июля 202619 июл.
- Опубликован
- в 2026
Коротко о моде
Нужен в игре; на сервере — по желанию
Проблема Когда в Minecraft 1.8.9 активен китайский / японский / корейский IME, игрок не может прыгнуть, удерживая Shift (красться) и нажимая Space. Ввод прыжка поглощается методом ввода ОС. Первопричина: почти каждый IME регистрирует Shift+Space как горячую клавишу переключения полной/половинной ширины. Windows пропускает WM_KEYDOWN через ImmTranslateMessage перед отправкой в приложение. IME поглощает комбинацию там, поэтому очередь событий Keyboard.next() в Minecraft никогда не видит нажатие клавиши — keyBindJump.isKeyDown() навсегда остаётся false. Исправление LShiftFix внедряется в конец EntityPlayerSP.updateMovementInput(): Считывает привязанную к игроку клавишу прыжка (по умолчанию Space, поддерживает переназначение) Вызывает Keyboard.isKeyDown(keyCode) для прямого опроса состояния железа Если физически нажата, но movementInput.jump всё ещё false, принудительно устанавливает true keyDownBuffer в LWJGL заполняется WindowProc на уровне ниже WM_KEYDOWN, поэтому перехват очереди событий со стороны IME на него не влияет. Исправление не зависит от IME — работает для Sogou, Microsoft Pinyin, QQ Pinyin, Google Input, японского IME, корейского IME и т. д.
Частые вопросы
Как установить LShiftFix?
Установите Forge под свою версию Minecraft, скачайте LShiftFix под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть LShiftFix?
У LShiftFix есть сборки для Minecraft 1.8.9.
Нужен ли LShiftFix на сервере?
Нужен в игре; на сервере — по желанию