文件
crab-input-rtos/README.md
T

5.4 KiB

蟹蟹输入 · RTOS / Android 手表适配改版

为小屏手表准备的离线输入组件:大按键、浅色界面、完整候选、圆屏安全布局。基于 CrabKeyboard / 蟹蟹输入 的词库,由 herry 重写 Glyphix RTOS 与原生 Android 适配;本项目为独立改版,保留原作者及第三方署名。

MIT 开源,允许商用、修改、再分发和闭源集成。 使用时请保留 LICENSE 和 第三方许可。厂商 SDK、运行时与设备固件不包含在本项目授权中。

1.2.0 实际模拟器与手表界面

1.2.0 带来了什么

  • 完整候选采用 4×4 网格,单字 16 项一页;词组占用更多列,长词增加行高,显示完整文字;展开页不显示拼音。
  • 标准 QWERTY 26 键,排列为 qwertyuiop / asdfghjkl / zxcvbnm;同时提供九宫和 14 键双字母模式。
  • 14 键为 QW ER TY UI OP / AS DF GH JK L / ZX CV BN M,参考公开布局,自行实现离线消歧和连续输入;算法说明。
  • 保留全部 104,837 组拼音/缩写索引、163,238 个候选项。按页浏览全部结果,支持分段选词及剩余编码继续输入。
  • 英文、数字、符号、光标移动及 Unicode 删除。圆屏每行按安全宽度排布,避免四角按钮被裁切。
  • 新增 Android 应用内键盘 AAR、演示 APK、独立宿主示例。接入后点击输入框自动弹出,由组件直接回填宿主输入框。

选择适合的平台

平台 接入与产物 已完成的验证
Glyphix RTOS 原生 .ux 页面;圆屏 466×466、方屏 390×450 两屏 QuickApp 完整 ZIP 普通/QuickApp 四配置构建;84 项原生操作、84 项布局、48 个视觉状态
Android 8.1 / API 27+ 原生 AAR;演示 APK;独立 host/ 示例 OWW261 Android 11 真机 8 项交互测试,系统默认输入法保持不变

Android 版本作为应用内公开组件,由每个应用自行接入;组件不注册系统输入法。RTOS 页面也需宿主接入,系统级注册依赖厂商支持。

完全离线,输入功能无需账号。Android 组件不申请网络/外部存储/悬浮窗权限,不保存输入内容;RTOS 端的可选本地学习、私密模式及草稿说明见 隐私说明。

下载、源码与反馈

Git2 免登录浏览、克隆和下载;当前关闭注册,代码和版本由所有者维护。

git clone https://git2.sydxky.cn/sydxky/crab-input-rtos.git

Android 开发

准备 JDK 17、Android SDK compile 37、Python 3;SDK 与签名私钥不随源码分发。

cd android
python scripts/build-dictionary.py
.\gradlew.bat :keyboard:testDebugUnitTest :keyboard:lintRelease :keyboard:assembleRelease :app:assembleDebug :host:assembleDebug

生成的 keyboard/build/outputs/aar/keyboard-release.aar 可直接放入宿主 app/libs/。在 Activity 的 UI 线程使用:

import com.sydxky.crabinput.CrabKeyboard;

CrabKeyboard.Binding keyboard = CrabKeyboard.attach(this, editText);
// 有自己的监听器时,在相应事件中调用 keyboard.show()。
// 绑定自动跟随 Activity 生命周期,也可显式 keyboard.close()。

源码不包含生成的 SQLite,构建脚本从本仓库 RTOS 原始词库无损生成。正式演示 APK 签名由开发者自己的受保护配置提供;AAR 无需应用签名。

RTOS 开发

准备 Windows PowerShell 7、Node.js、Python 3,以及合法取得的 Glyphix SDK。验证版本为 gx v0.10.1 / 3ed38835。将包含 bin/gx.exe 和 share/ 的完整 SDK 放在 temp/glyphix-v0.7.2-windows-x64/:

& .\com.sydxky.rtos.inputmethod\build.ps1

脚本生成词库分片,执行 44 项引擎、32 项 UX 断言,并构建普通/QuickApp 四配置。每屏 QuickApp 都须保留 bundle.pkg、icon.png、manifest.json 三个文件。

复现原生验收时先构建最小参考页并启动一次圆屏模拟器,获得厂商 launcher/global 资源后退出;不要同时占用 Inspector 14201:

& .\com.sydxky.rtos.imefixture\build.ps1
Push-Location .\com.sydxky.rtos.imefixture
& ..\temp\glyphix-v0.7.2-windows-x64\bin\gx.exe emulate -d generic-watch-466x466
Pop-Location
python .\com.sydxky.rtos.inputmethod\tests\native.py --work work/native --output work/evidence
python .\com.sydxky.rtos.inputmethod\tests\visual.py --work work/visual --output work/evidence/visual

视觉脚本依赖 Pillow。RTOS 运行时内存配置保持 8192 KiB。本版本完成模拟器、Android 真机组件及提交包验收;RTOS 真机、长期性能/续航和商店审核尚未验收。