Server 在低级键盘钩子里逢 Caps Lock 按下就翻转一次自记的状态,从不与系统 对账。长按 Caps Lock 时钩子会收到不带重复标记的自动重复,而 Windows 只在 首次按下时切换,重复次数为奇数时状态就此反向;锁屏、UAC 等安全桌面上的 切换钩子看不到,也会造成同样的漂移。反向的状态还会经 CapsLockChanged 广播 回 TSF,连带英文标点跟随和语言栏图标一起错。 - 钩子记录 Caps Lock 是否按住,松开前的重复按下不再翻转。 - TSF 在 Caps Lock 切换与焦点进入时发来的 IMESwitch 带有前台线程读到的 真实状态,Server 据此校正自记状态,有变化时刷新工具栏并通知 TSF。
Metasequoia IME for Windows
中文 README · Website · Docs · Privacy · Code signing policy
A free and open-source Chinese and Japanese input method for Windows 10 and 11, built on TSF with no legacy IMM32 path.
This repository is the whole Windows product: the TSF text service DLL, the resident server, the conversion engine, a self-written native GUI framework, the HTML surfaces and the installer. The engine was imported from MSIME-Engine and specialized for Windows; it now lives in engine/ as a first-party component, so a plain clone builds the product. See engine/UPSTREAM.md.
This is a public beta. Expect rough edges and read the release notes before upgrading.
Install
Download the installer from Releases or the download page, run it, then switch with Win + Space.
Current builds are not code signed. SmartScreen will block them and uiAccess is unavailable, which means the candidate window cannot float above elevated applications. Verify the download with the SHA256 published on the download page.
You need the Microsoft Visual C++ 2015–2022 Redistributable (x64). The server and settings app are 64-bit; the x86 redistributable is a separate package and does not substitute for it. If you cannot switch to the IME, the server keeps exiting, or the settings window closes immediately, install that first.
What it does
- Chinese input: full pinyin, double pinyin (Xiaohe / Ziranma / Shoudao / Microsoft / Sogou / Ziguang / Zhineng ABC / Guobiao / Pinyin Jiajia), Wubi 86
- Japanese input: romaji, with hiragana, katakana and dictionary candidates; also available as a temporary mode from Chinese
- Helpcode (形码) filtering on pinyin schemes: six tables, single- and double-code
- Optional cloud candidates, and AI suggestions via DeepSeek / OpenAI / SiliconFlow / Groq
- English-Chinese glosses in the vertical candidate window
- Mixed Chinese-English input, emoji and kaomoji, a dedicated English candidate mode
- Local input statistics (off by default): character counts and active time stay on this machine; view and clean them under Settings → Statistics
- Voice input with streaming recognition and optional cleanup
- Handwriting, on-screen keyboard, floating toolbar, clipboard history
- User dictionary management, candidate frequency tuning, skins with light and dark variants
Privacy
An input method sees every keystroke, so the boundaries are stated explicitly in PRIVACY.md: which features reach the network, what each one sends, what the defaults are, and how to turn each off.
Two things worth knowing up front. Cloud candidates are on by default — the composition spelling goes to Google's input-tools service, and it is the only network feature that works without you supplying a credential. API tokens are stored in plain text in config.toml, unlike macOS and Linux which use the Keychain and Secret Service.
There is no telemetry, analytics or crash reporting of any kind.
Building and contributing
CONTRIBUTING.md has the environment, the build order and what to run before opening a pull request. Contributions do not have to be code — dictionary entries, documentation, icons and compatibility testing all count, and the recruiting page lists them by area.
Note that most issues, documentation and code comments are in Chinese. English pull requests and issues are welcome.
Code signing policy
Free code signing provided by SignPath.io, certificate by SignPath Foundation.
What is signed, who the committers, reviewers and approvers are, the build and release process and the current status are in the code signing policy. The privacy policy is PRIVACY.md.
Licence
GPL-3.0. See LICENSE and THIRD_PARTY_NOTICES.txt.