电子书上的输入体验一直为人诟病,尤其是在低刷新率的屏幕上选字,简直是对耐心的考验。为了改善繁体中文用户的输入痛点,我为开源阅读神器 KOReader 开发了原生的“仓颉输入法”。
目前该功能的代码已经提交至 KOReader 官方(Pull Request #15196)。在官方正式合并(Merge)前,这篇文章将与你分享开发初衷,并提供手动安装的抢先体验指南。
为什么在 Kindle 等墨水屏上,仓颉是更好的选择?
如果你经常在 Kindle 等墨水屏设备上使用 KOReader 搜索书名、添加阅读笔记,你一定体会过打字的痛苦。
墨水屏(E-ink)的物理特性决定了它的刷新率远不及智能手机。如果使用拼音等“音码”输入法,整个打字流程通常是:
- 输入拼音组合
- 屏幕慢半拍刷新,弹出候选词列表
- 寻找需要的字,有时甚至需要点击翻页(往往还伴随全局闪烁)
- 点击确认选字
在手机上毫秒级的操作,在墨水屏上却会带来强烈的割裂感和等待的烦躁。
而仓颉输入法作为纯粹的“形码”,拥有一个杀手级优势:重码率极低,几乎不需要选字。
你只需要按照字形拆码,输入完成后,目标文字通常会直接上屏(或始终位于候选首位)。这种“可预期的盲打特性”完美避开了墨水屏刷新慢、需要频繁看屏幕选字的劣势。在 KOReader 上使用仓颉,能让输入效率与流畅度得到质的飞跃。
抢先体验:手动安装指南
这个仓颉键盘布局并非外置插件,而是直接深度整合进 KOReader 原生系统的键盘模块中。虽然目前 PR 还在等待官方团队的 Code Review 和 Merge,但具备折腾精神的少数派读者,完全可以通过手动覆盖文件来抢先体验。
步骤一:下载文件
请前往我的 GitHub 仓库下載所需文件Releases · PP002/koreader,下载本次新增与修改的 5 个核心文件。
步骤二:放入指定路径
将你的墨水屏设备通过 USB 数据线连接至电脑,进入 KOReader 的安装目录。找到 /frontend/ui 文件夹,并按照以下目录结构,将这 5 个文件放入对应位置:
/frontend/ui/
├── data/
│ └── keyboardlayouts/
│ ├── cj_data.lua # 仓颉字库与拆码数据
│ ├── cj_keyboard.lua # 键盘布局定义
│ └── new_cangjie_ime.lua # 输入法核心逻辑
├── widget/
│ └── virtualkeyboard.lua # 修改后的虚拟键盘调用文件
└── language.lua # 语言配置文件⚠️ 注意事项:
由于virtualkeyboard.lua和language.lua是 KOReader 的原生系统文件,强烈建议在覆盖前,先将原机内的这两个文件备份到电脑中。若遇到不可预期的问题,随时可以替换还原。
步骤三:重启与启用
文件替换完成后,安全弹出 USB 连接并重启 KOReader。
在需要打字的地方唤出键盘,点击键盘上的语言切换按钮,你就能在菜单中看到期待已久的“仓颉”选项,享受行云流水般的输入体验了!
写在最后:开源需要你的支持
这是我为 KOReader 贡献底层模块的一次尝试。开源项目的维护者通常需要兼顾许多平台的适配,一个 PR 从提交到正式合并,往往需要经过社区的需求验证与代码审查。
如果你也是繁体中文使用者、仓颉爱好者,或者觉得这个功能切实解决了墨水屏输入的痛点,诚挚邀请你前往 GitHub 的 Pull Request #15196 帮忙点个赞(+1)或留下你的使用反馈。
社区的热度与真实用户的声音,是促使官方加速合并的最佳推动力。让我们一起把 KOReader 打磨得更好用!
