-
Notifications
You must be signed in to change notification settings - Fork 0
Similar tools English
繁體中文 · English · 简体中文 · 日本語 · 한국어
Others have built for this need — but every option hits a wall somewhere. This page is organised as problem → where the alternatives stall → how this utility gets past it, so you can see how its strengths answer the others' pain points.
The alternatives (Windows' built-in "different input method per app window", most indicator tools) only remember which input method each window used. But the real irritation is the native/alphanumeric conversion mode within a Chinese IME — Windows treats it as per-thread, so switching windows snaps it back to the default. Across the English, Japanese and Chinese communities the stock advice for "switching windows flips my language" is to toggle that built-in setting — a partial fix, because it governs a different layer.
How this utility gets past it: it tracks and carries the conversion mode itself (via WM_IME_CONTROL IMC_GET/SETCONVERSIONMODE) to the next window — not just the input method.
The closest peer, KBLAutoSwitch and similar, are built on AutoHotkey. For general automation AHK typically installs a low-level global keyboard hook and synthesises input with SendInput — exactly the macro signature anti-cheat (EAC / BattlEye / Vanguard) watches for, so it's often blocked or gets you flagged; game handling is left unaddressed.
How this utility gets past it: native C++ with no keyboard hook and no synthesised keystrokes at all (only a passive foreground WinEvent). It doesn't look like a macro tool, so it works inside anti-cheat games. (Verifiable: the whole src/ has no SetWindowsHookEx, SendInput, or keybd_event.)
The built-in setting and message tricks do nothing for a fullscreen game that reads the keyboard directly (e.g. Helldivers 2) — it doesn't participate in IME state management, and its executable path can't even be read.
How this utility gets past it: it uses TSF to set the input language at the framework level and identifies such games by window class, pinning them to English (see the Helldivers 2 guide).
LangIndicator, ImTip and IMEIndicator only show the current state at the cursor or in the tray — no persistence, no app binding.
How this utility gets past it: persistence plus app binding plus a cursor indicator in one; the indicator is just one optional add-on, not the whole tool.
AHK's IME libraries (s-show/IME.ahk, eamat's, etc.) are just blocks that read/set IME state; per-window persistence is left for you to write and maintain.
How this utility gets past it: a ready-to-run tray utility — install it and it works, no script to write or keep alive.
For everyday Chinese/English switching plus an indicator, tools like KBLAutoSwitch are already mature; but the moment you care about conversion-mode persistence across windows, using it inside an anti-cheat game, or not depending on AutoHotkey, this utility is the one built to clear those three walls.
- KBLAutoSwitch — https://github.com/flyinclouds/KBLAutoSwitch
- LangIndicator — https://github.com/ZGGSONG/LangIndicator
- ImTip — https://www.appinn.com/imtip-for-windows/
- IMEIndicator — https://github.com/Icecovery/IMEIndicator
- AHK IME.ahk — https://github.com/s-show/AutoHotKey/blob/AutoHotKey/IME.ahk
ImeModePersistence · 下載 / Releases · 問題回報 / Issues · README · 設計筆記 / Design notes · MIT
本 Wiki 是操作說明;實作理由與被否決的做法記在設計筆記。發佈的檔案未經簽章。 This wiki is the how-to; implementation reasoning and rejected approaches live in the design notes. Released files are unsigned.
繁體中文
English
简体中文
日本語
한국어