105 行
7.2 KiB
Markdown
105 行
7.2 KiB
Markdown
# 蟹蟹输入 · RTOS / Android 手表适配改版
|
||
|
||
为小屏手表准备的离线输入组件:大按键、浅色界面、完整候选、圆屏安全布局。基于 [CrabKeyboard / 蟹蟹输入](https://github.com/crabPangXie/crabKeyboard) 的词库,由 herry 重写 Glyphix RTOS 与原生 Android 适配;本项目为独立改版,保留原作者及第三方署名。
|
||
|
||
**MIT 开源,允许商用、修改、再分发和闭源集成。** 使用时请保留 [LICENSE](LICENSE) 和 [第三方许可](NOTICE.md)。厂商 SDK、运行时与设备固件不包含在本项目授权中。
|
||
|
||

|
||
|
||
## 1.2.4 光标贴合、26键扩大与大小写切换
|
||
|
||
- RTOS光标改为独立1像素细线,紧贴前后文字,保留真实空格、emoji与私密遮蔽;长文本仍保持光标可见。Android预览及示例编辑框去掉额外字间距。
|
||
- 扩大26键,标准10/9/7三排;圆屏逐排按安全宽度收放,方屏充分利用宽度。
|
||
- 点“abc”进入英文,再点“大写”切到大写,点“小写”恢复小写;按钮显示下一步动作,键面与实际输入同步。
|
||
- 保留1.2.3未完成拼音补全、上下文续词及稳定刷新:全拼/九宫/14键同步支持;完全离线,密码不参与上下文。
|
||
|
||
RTOS **59项引擎、49项UX及四配置生产构建通过**。独立原生测试工程中,生产键盘组件源码逐字节相同,圆/方普通及QuickApp四配置共96个状态全部通过,光标额外布局间距0px、26个按键边界合格;各配置均实际点击输入`qQq`。96张原生截图随验收ZIP提供。
|
||
|
||
Android **7项Java测试及OWW261后台原生组件4项通过**,包含24帧非空绘制/控件复用、补全/续词、密码隔离、实际大小写切换和圆屏边界。Release APK/AAR、生产签名及API27元数据通过。上述是组件回归,未代替最终发布APK的前台端到端验收;本版未重跑原前台交互。RTOS截图来自明确标记的原生测试工程,Android截图为历史资料。
|
||
|
||
[本版RTOS验收](com.sydxky.rtos.inputmethod/VALIDATION_1.2.4.md) · [本版Android验收](android/VALIDATION_1.2.4.md)
|
||
|
||
## 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`,参考公开布局,自行实现离线消歧和连续输入;[算法说明](com.sydxky.rtos.inputmethod/KEYBOARD_14.md)。
|
||
- 保留全部 **104,837 组拼音/缩写索引、163,238 个候选项**。按页浏览全部结果,支持分段选词及剩余编码继续输入。
|
||
- 英文、数字、符号、光标移动及 Unicode 删除。圆屏每行按安全宽度排布,避免四角按钮被裁切。
|
||
- 新增 **Android 应用内键盘 AAR**、演示 APK、独立宿主示例。接入后点击输入框自动弹出,由组件直接回填宿主输入框。
|
||
|
||
## 选择适合的平台
|
||
|
||
| 平台 | 接入与产物 | 已完成的验证 |
|
||
| --- | --- | --- |
|
||
| Glyphix RTOS | 原生 `.ux` 页面;圆屏 466×466、方屏 390×450 两屏 QuickApp 完整 ZIP | 普通/QuickApp四配置构建;59项引擎和49项UX;独立原生组件四配置96状态/截图通过 |
|
||
| Android 8.1 / API 27+ | 原生 AAR;演示 APK;独立 `host/` 示例 | OWW261后台原生组件4项通过;24帧非空绘制及控件复用;前台交互未重跑 |
|
||
|
||
Android 版本作为**应用内公开组件**,由每个应用自行接入;组件不注册系统输入法。RTOS 页面也需宿主接入,系统级注册依赖厂商支持。
|
||
|
||
完全离线,输入功能无需账号。Android 组件不申请网络/外部存储/悬浮窗权限,不保存输入内容;RTOS 端的可选本地学习、私密模式及草稿说明见 [隐私说明](com.sydxky.rtos.inputmethod/PRIVACY.md)。
|
||
|
||
## 下载、源码与反馈
|
||
|
||
- [v1.2.4 发行包与更新说明](https://git2.sydxky.cn/sydxky/crab-input-rtos/releases/tag/v1.2.4):AAR、演示 APK、两屏 RTOS QuickApp、原生组件验收记录/截图及 SHA-256。
|
||
- [Android 接入文档](android/README.md) · [RTOS 接入文档](com.sydxky.rtos.inputmethod/README.md)
|
||
- [实际界面截图](docs/SCREENSHOTS.md) · [RTOS 验收](com.sydxky.rtos.inputmethod/VALIDATION_1.2.0.md) · [Android 真机验收](android/VALIDATION_1.2.0.md)
|
||
- [已有问题](https://git2.sydxky.cn/sydxky/crab-input-rtos/issues) · [免注册提交问题与建议](https://git2.sydxky.cn/feedback/sydxky/crab-input-rtos)
|
||
|
||
Git2 免登录浏览、克隆和下载;当前关闭注册,代码和版本由所有者维护。
|
||
|
||
```sh
|
||
git clone https://git2.sydxky.cn/sydxky/crab-input-rtos.git
|
||
```
|
||
|
||
## Android 开发
|
||
|
||
准备 JDK 17、Android SDK compile 37、Python 3;SDK 与签名私钥不随源码分发。
|
||
|
||
```powershell
|
||
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 线程使用:
|
||
|
||
```java
|
||
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/`:
|
||
|
||
```powershell
|
||
& .\com.sydxky.rtos.inputmethod\build.ps1
|
||
```
|
||
|
||
脚本生成词库分片,执行 59 项引擎、49 项 UX 断言,并构建普通/QuickApp 四配置。每屏 QuickApp 都须保留 `bundle.pkg`、`icon.png`、`manifest.json` 三个文件。
|
||
|
||
复现原生验收时先构建最小参考页并启动一次圆屏模拟器,获得厂商 launcher/global 资源后退出;不要同时占用 Inspector 14201:
|
||
|
||
```powershell
|
||
& .\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
|
||
```
|
||
|
||
本版光标和26键回归可在独立原生模拟器中执行,不启用Inspector:
|
||
|
||
```powershell
|
||
python .\com.sydxky.rtos.inputmethod\tests\console-native.py --work work/caret --output work/evidence/caret
|
||
```
|
||
|
||
视觉脚本依赖 Pillow。RTOS 运行时内存配置保持 8192 KiB。本版本已完成上述算法、组件回归与构建检查;未完成的整包前台交互、RTOS真机、长期性能/续航和商店审核范围见本版验收记录。
|