IMEInputBackport

Quick rating

Community listing page, reviews may not be monitored by the author.

IMEInputBackport

By SeniyeOwner

No reviews yet

Modern IME User Interface in Minecraft version 1.7.10. Inline pre-edit text, a candidate window that follows the caret, and sane key handling while composing.

Mod Loaders
Minecraft

About

Description

IMEInputBackport

Backports modern (26.1+-style) CJK input method support to Minecraft 1.7.10 Forge — inline pre-edit text, a candidate window that follows the caret, and sane key handling while composing. Type Chinese/Japanese/Korean in chat like it's 2026.


What it does

Vanilla 1.7.10 predates proper IME integration: composing CJK text in chat means typing blind into a system window floating in a corner (or nothing at all in fullscreen). This mod hooks the OS input method directly into the game:

  • Inline composition — the pre-edit string renders right at the text caret inside chat, sign, book and anvil text fields.
  • Candidate window — either the OS/IME native one positioned next to the caret, or a mod-drawn overlay that is fully themeable via resource packs.
  • Correct key semantics while composing — letter keys don't leak into the text field twice, Escape cancels the composition instead of closing the screen, and everything passes through untouched when you're not composing.

Platform support

Platform Backend Notes
Windows x64 / x86 / arm64 TSF, falls back to IMM32 works with MS-Pinyin, Sogou, Rime (weasel), Microsoft IME, …
Linux x64 IBus and Fcitx5 (both D-Bus, X11 / XWayland) AUTO picks one by the IME environment variables (XMODIFIERS, GTK_IM_MODULE, …) with the other as fallback; both bridges ship in the same .so
Linux arm64 — not supported
macOS — not supported

The native libraries are bundled inside the jar and extracted at runtime — no manual setup. The Linux backends bind libdbus-1.so.3 at runtime via dlopen, so there is no extra package to install beyond a working IBus or Fcitx5 setup.

Fcitx5 compatibility notes:

  • Requires fcitx5 ≥ 5.1.5 (the InputContext1 D-Bus protocol). Older fcitx5 and classic fcitx 4 are not supported.
  • The mod talks to fcitx5 directly over the session bus — it does not depend on the desktop's IME framework switch, so IBus and Fcitx5 can be installed side by side; whichever daemon is running is reachable.
  • A freshly created input context starts in English direct mode (fcitx5's per-context activation state). Press your activate hotkey (default Ctrl+Space) once after focusing a text field; fcitx5 remembers the state per application afterwards.
  • Engines verified: Rime (fcitx5-rime). Any engine that consumes ProcessKeyEvent normally (pinyin via fcitx5-chinese-addons, etc.) works.

Requirements

CatFrame for the hard prerequisites for the overlay system and the keyboard event.
UniMixins for the mixin requirements.
Forge 1.7.10-1614 + Java 8

Configuration (config/imeinput.cfg)

Key Default Meaning
general.backend AUTO AUTO matches the platform (Windows: TSF → IMM32 fallback; Linux: IBus). TSF / IMM32 force a Windows backend, IBUS forces IBus on Linux. Values for the other platform degrade to AUTO.
general.candidateNativeBar true true = the OS/IME draws its own candidate window; false = hide it and let the mod self-draw the candidate box (stacked under the pre-edit box, themeable). Needs a game restart.

The look of everything the mod draws is controlled by assets/imeinput/ime_theme.json, overridable by any resource pack — see Themes.md.

For Developers, this doc (API) is provided to integrate with it.

License

MIT

Note: JNI implement see here