keytao‑app (键道),一套完整的跨平台 Rime 输入法栈,包含 Tauri 图形管理 App + 各操作系统原生输入法前端。不同于传统 Rime (小狼毫、鼠须管、 Trime ),键道把librime核心抽象出通用 runtime 层, Windows/macOS/Linux/Android/iOS 全部平台复用同一套 Rime 内核逻辑;同时提供图形化工具,一键下载、合并、部署 Rime 方案,自动处理 yaml 合并、部署编译,降低 Rime 上手门槛。
核心架构:通用 keytao‑core 内核 + 各平台系统适配 adapter。内核只实现一遍 librime 调度、会话管理、部署逻辑;各个平台只负责对接系统输入法协议、按键事件、候选 UI 渲染。
工作流程
- 图形 App 拉取输入方案资源,写入 KeyTao 独立用户目录;
- 智能合并
default.custom.yaml、rime.lua,保留用户原有自定义方案与 Lua 脚本,不会覆盖第三方配置; - 调用内置 deploy 能力,完成 schema 、词典、 OpenCC 、 Lua 脚本编译;
- 系统输入法进程读取同一套用户数据目录,创建独立输入 session ;
- 平台适配器将系统按键事件统一转换为 Rime 标准按键消息,交给
keytao‑core处理; - 内核返回预编辑文本、候选列表、上屏文本,由各平台用系统原生接口完成渲染与文字提交;
- 重新部署后,全部平台输入法会检测 reload 标记,自动刷新会话,无需重启程序。
核心功能
1. 统一跨平台 Rime Runtime
keytao‑core:封装 librime 初始化、部署、会话管理、修饰键掩码、 ImeState 状态输出;keytao‑core‑ffi提供 C ABI ,给非 Rust 编写的前端调用;- 主题
theme.yaml统一解析,各平台适配器再映射成本地窗口 UI ; - 全平台共用同一套词库、 schema 、 Lua 、 OpenCC 资源。
2. Tauri 图形管理应用
- 一键下载、更新键道输入方案;
- 智能合并自定义 yaml ,保护用户其他 Rime 方案不被破坏;
- 支持附加组件 Easy‑English 英文方案安装;
- 自动识别用户数据目录,亦可手动指定路径;
- 实时展示安装进度、部署状态、调试诊断日志。
3. 各平台原生输入法前端
| 平台 | 实现方案 | 说明 |
|---|---|---|
| Linux | keytao‑ime Daemon | 支持 Wayland 、 XIM 、IBus; deb/rpm 包分发 |
| macOS | IMKit 输入法 Bundle | 系统原生输入法,安装至/Library/Input Methods,安装后需注销重登录 |
| Windows | TSF TIP (实验性) | DLL 实现 TSF 输入法,仅正式支持 x64 架构 |
| Android | InputMethodService | JNI 接入 keytao‑core ,内置 librime 运行时 |
| iOS / iPadOS | UIInputViewController 键盘扩展 | 通过 App Group 实现主 App 与键盘数据共享, Release 提供未签名 IPA ,需自行签名 |
重要: Windows ARM64 尚未正式支持; iOS IPA 需要用户自行签名才能安装到设备。
4. Easy‑English 附加英文方案
作为离线附加包,安装后复制 schema 、词典、 Lua 脚本到用户目录;升级主方案时保留该附加组件;卸载会清理全部相关资源;移动端可切换完整英文词库,不使用则退回 ASCII 普通英文模式。
安装使用简述
- 在项目 Releases 下载对应平台官方安装包:
- macOS :
.pkg安装包; - Linux :
.deb/.rpm; - Windows : NSIS
.exe; - Android : split‑APK ;
- iOS : unsigned IPA ,需要自行签名。
- macOS :
- 完成系统层面输入法注册启用( macOS 需要注销重登录);
- 打开 KeyTao 图形 App ,下载输入方案,点击部署;
- 切换系统输入法为 KeyTao ,即可开始输入。
各平台独立用户目录:
- macOS :
~/Library/keytao- Windows :
%APPDATA%/keytao- Linux :
~/.local/share/keytao- Android :
/storage/emulated/0/keytao- iOS : App Group 容器路径
