WindInput README

The project's README from github.com/huanfeng/WindInput. As one markdown file: README.md.

清风输入法

清风输入法 (WindInput)

轻量、快速、可定制的开源中文输入法

Platform macOS Linux License

官网 · 下载 · 使用文档 · 更新日志

Featured|HelloGitHub AtomGit

特性

安装

前往 windinput.com/download 下载对应平台的安装包:

Windows 版的程序文件与安装包已做数字签名;SmartScreen 需要下载量积累信誉,新版本发布初期 仍可能拦截,按提示「更多信息 → 仍要运行」继续即可。macOS 版尚未做苹果签名与公证,被 Gatekeeper 拦下时到「系统设置 → 隐私与安全性」放行。

文档

完整的使用说明、配置参考和常见问题都在文档站:windinput.com/docs

仓库范围

本仓库包含清风输入法的核心部分:

组件 技术 职责
wind_input Rust 核心服务:输入引擎、词库、候选管理、UI 渲染、IPC(跨平台)
wind_tsf C++ Windows TSF 输入法框架接口,键盘事件捕获
wind_macos Swift macOS IMKit 输入法客户端
wind_linux C++ Linux Fcitx5 addon(预览版,见 wind_linux/README.md)

发布版安装包还需要以下配套项目,它们在各自的独立仓库中维护:

仓库 技术 职责 开源状态
wind-installer Rust Windows 安装器与卸载器(清单驱动的通用打包器) 已开源
wind-portable Rust Windows 便携版(绿色版)启动器,免安装就地运行 已开源
wind-ui-rust Rust 跨平台轻量 GUI 库,安装器 / 便携版 / 设置程序的界面基础 已开源
wind-setting Rust 图形设置程序 已开源

其中 wind-installer 与 wind-portable 只用于 Windows;macOS 的 .pkg 安装包由本仓库的 scripts/mac/dev.sh pkg 直接打包,Linux 的 .deb 由 scripts/linux/package-deb.sh 打包,均无需额外仓库。

这些配套项目都是可选的:与本仓库放在同级目录时构建脚本会一并构建,缺失则自动跳过, 核心输入法本身可独立构建和运行。完整成品请从下载页获取。

wind-installer 与 wind-portable 通过 crates.io 上发布的 windui 使用 GUI 库,无需本地检出 wind-ui-rust;只有 wind-setting 是 path 依赖(windui = { path = "../wind-ui-rust" }), 构建它时才需要把 wind-ui-rust 一并放到同级目录。

从源码构建

构建脚本会自动下载第三方词库数据并生成完整的数据目录。详细说明见 贡献指南。

参与贡献

欢迎贡献代码、报告 Bug 或提出建议!请阅读 贡献指南。

首次提交 PR 需要签署 贡献者许可协议 (CLA)。

致谢

清风输入法在设计与实现过程中参考了许多优秀的开源输入法项目, 它们的思路、文档与源码为本项目提供了重要的指引,在此一并致谢:

上述项目均为独立作品,本项目仅作实现参考,未复制其源代码; 数据来源部分适用各自的许可证条款,详见 NOTICE.md。

许可证

本项目源代码自 v0.127.0 起采用 GNU 通用公共许可证第 3 版或更高版本(GPL-3.0-or-later)。 v0.127.0 之前发布的版本仍适用其发布时的 MIT 许可证。

基于本项目修改并分发的作品须同样以 GPL-3.0 发布并提供完整源代码。

词库数据来源于 白霜拼音、极点五笔、 pinyin-data、OpenCC 等第三方项目,适用各自的许可证条款,完整声明详见 NOTICE.md。

关于项目名称

GPL 许可证授予您使用、修改与分发源代码的权利,但不包括使用项目名称与标识的权利。

若您将本项目分支后公开发布,请更换项目名称与 logo,并注明为非官方分支, 以便用户区分软件的实际维护者。

本项目未注册商标,上述为约定与请求而非法律条款, 详见 项目名称与标识使用约定。

交流与反馈

相关项目

WindInput (huanfeng/WindInput)

input-method
Searching Database…

What is this?WindInput (清风输入法) is a lightweight, open-source Chinese input method engine written in Rust, built specifically for Wubi and other table-based input schemes while also supporting full pinyin and double pinyin, running on Windows, macOS and Linux.
Is this a single app or several separate projects?This repo holds the core: the Rust input engine, a C++ Windows TSF bridge, a Swift macOS IMKit client, and a preview C++ Fcitx5 addon for Linux. The installer, portable launcher, GUI toolkit and settings app used to build the final packages live in their own separate open-source repos.
How do I install it on my system?Download the package for your OS from windinput.com/download: on Windows 10/11 use the installer or portable build and switch input methods with Win+Space; on macOS 12+ install the .pkg (Apple Silicon/Intel) and add it via System Settings > Keyboard > Text Input; on Linux (preview) install the .deb with apt and add it in Fcitx5 configuration.
Are the macOS and Linux builds fully ready to use?The macOS package is not yet Apple-notarized, so Gatekeeper will block it until you allow it manually in Privacy & Security settings, and the Linux Fcitx5 frontend is still a preview release with known limitations on desktops like KDE Plasma. Fresh Windows releases can also get flagged by SmartScreen until the build accumulates download reputation.
What input schemes can I switch between?It covers Wubi 86 and a mixed Wubi-pinyin mode out of the box, plus full pinyin and double pinyin, with new schemes definable through scheme files.
Does it come with a settings GUI?Yes, a dedicated graphical settings tool lets you adjust configuration visually with changes applied instantly, and it supports light/dark themes that can follow the system automatically.
What inspired WindInput's design?It drew on RIME/librime for scheme and decoding design, Fcitx5/libime for pinyin decoding and word-frequency modeling, 极点五笔 for Wubi interaction conventions, and data from Rime Frost pinyin, pinyin-data and OpenCC.
Is there an earlier version of this project?Yes, WindInput-Go was the Go-based predecessor; this Rust version is a rewrite and port of that earlier implementation.
Creator
huanfeng
Size
31 MB
Stars
1.2K
Age
8mo
Commits · 90 Days