利益相关声明:作者与文中产品有直接的利益相关(开发者、自家产品等)

电子书上的输入体验一直为人诟病,尤其是在低刷新率的屏幕上选字,简直是对耐心的考验。为了改善繁体中文用户的输入痛点,我为开源阅读神器 KOReader 开发了原生的“仓颉输入法”。

目前该功能的代码已经提交至 KOReader 官方(Pull Request #15196)。在官方正式合并(Merge)前,这篇文章将与你分享开发初衷,并提供手动安装的抢先体验指南。


为什么在 Kindle 等墨水屏上,仓颉是更好的选择?

如果你经常在 Kindle 等墨水屏设备上使用 KOReader 搜索书名、添加阅读笔记,你一定体会过打字的痛苦。

墨水屏(E-ink)的物理特性决定了它的刷新率远不及智能手机。如果使用拼音等“音码”输入法,整个打字流程通常是:

  1. 输入拼音组合
  2. 屏幕慢半拍刷新,弹出候选词列表
  3. 寻找需要的字,有时甚至需要点击翻页(往往还伴随全局闪烁)
  4. 点击确认选字

在手机上毫秒级的操作,在墨水屏上却会带来强烈的割裂感和等待的烦躁。

仓颉输入法作为纯粹的“形码”,拥有一个杀手级优势:重码率极低,几乎不需要选字
你只需要按照字形拆码,输入完成后,目标文字通常会直接上屏(或始终位于候选首位)。这种“可预期的盲打特性”完美避开了墨水屏刷新慢、需要频繁看屏幕选字的劣势。在 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.lualanguage.lua 是 KOReader 的原生系统文件,强烈建议在覆盖前,先将原机内的这两个文件备份到电脑中。若遇到不可预期的问题,随时可以替换还原。

步骤三:重启与启用

文件替换完成后,安全弹出 USB 连接并重启 KOReader
在需要打字的地方唤出键盘,点击键盘上的语言切换按钮,你就能在菜单中看到期待已久的“仓颉”选项,享受行云流水般的输入体验了!


写在最后:开源需要你的支持

这是我为 KOReader 贡献底层模块的一次尝试。开源项目的维护者通常需要兼顾许多平台的适配,一个 PR 从提交到正式合并,往往需要经过社区的需求验证与代码审查。

如果你也是繁体中文使用者、仓颉爱好者,或者觉得这个功能切实解决了墨水屏输入的痛点,诚挚邀请你前往 GitHub 的 Pull Request #15196 帮忙点个赞(+1)或留下你的使用反馈。

社区的热度与真实用户的声音,是促使官方加速合并的最佳推动力。让我们一起把 KOReader 打磨得更好用!