Repository navigation
v1.1.0 — 拼音 IME 优化 + 物理键盘体验
基于 v1.0.0 的拼音 IME 系统性优化,围绕物理键盘 (蓝牙 / 2.4G / Type Folio) 打中文的体感做了三块改造。
安装(沿用 v1.0.0 流程)
curl -fLO https://github.com/boangs/rmkit/releases/latest/download/rmkit-cn-v1.1.0.tar.gz
tar -xzf rmkit-cn-v1.1.0.tar.gz
cd rmkit-cn-v1.1.0
bash installer/install.shOTA 后或者从旧版升级也是同一条命令 (install.sh 6 阶段防砖部署, 0 风险)。
本版核心改动
1. long-poll 0-polling 字符流
旧版 charPoller 50ms 固定 polling, 中文模式下 xochitl 持续 30-60% CPU, 每字符平均 25ms 等待。新版改成事件驱动:
- ime_hook 写 char_queue 后通过 unix datagram socket 异步通知 ime-server
- ime-server 新增
/pop-all-chars-blockinglong-poll endpoint, 字符到达立刻返回 - QML chain mode: xhr 响应回调里递归发下次, 形成持续 long-poll
字符拉取延迟 25ms → ~5ms; 空闲 CPU 接近 0%。
2. 候选框 e-ink 友好渲染
物理键盘场景候选框出现在文档主体区 (e-ink 慢 waveform), 每次刷新视觉明显。优化:
- 候选框从深色块 (#222 + 白字) 改成 白底 + 1px 黑边 + 黑字 (像素变化最少)
- 候选词 200ms debounce: 连续按键只在最后停手后查一次, 避免每按一字母都重绘
- debounce 期间保留旧候选, 新结果替换而非"满→空→满"抖动
- 无候选时整框隐藏, 不显示一条 16px 高的细线
3. 物理键盘快捷键
| 按键 | buffer 非空 | buffer 空 |
|---|---|---|
| 1–9 | 选当前页第 N 个候选 | 数字直接输入 |
| 空格 | commit 第一候选 | 普通空格 |
| 回车 | buffer 原文上屏 (英文模式) | 普通回车 |
| , | 上一页候选 | , (全角逗号) |
| . | 下一页候选 | 。 (句号) |
| ? ! : ; ( ) < > \ | commit 第一 + 中文标点 | 直接中文标点 |
Release Assets
- rmkit-cn-v1.1.0.tar.gz (77MB) — 完整安装包: 源码 + 编译产物 + vendor 依赖
- dist.tar.gz (34MB) — 仅编译产物, 给 git clone 用户
兼容性
- reMarkable 2 (rm2, armv7l)
- reMarkable Paper Pro (RMPP, aarch64)
- reMarkable Paper Pro Move (RMPPM, aarch64)
升级注意
从 v1.0.0 升级: 直接跑新 install.sh, 6 阶段防砖部署会原子替换 ime-server / ime_hook.so / pinyin_interceptor.qmd 三个核心文件, 无需手动处理。