Xime 输入法的 v2.5.0

Xime 输入法 v2.5.0 重大更新:新增九键拼音、笔画键盘、手写键盘、悬浮键盘、常用符号键盘布局,支持个人词库管理、文件浏览器、方案清单管理,重构键盘自定义配置结构,同时也带来了一些 breaking 变化。

发布于 约 5 分钟

这是一个巨大的更新,甚至出现了一些不应该出现的 breaking 特性。

由于我早期对 Xime 输入法最初的定位是一个定制化的五笔输入法,但是太多人提需求了,导致不可避免的方向转变,因此出现了一些 breaking 特性。

因此,如果你更新后出现不兼容或者有异常的问题,可以先清空数据或者卸载重新安装。

九键拼音

这次添加了九键拼音,现在无论是内置方案还是第三方方案,只要配置有T9 的方案都会自动调用九键拼音键盘UI。

但是!目前的九键拼音只能算是可用状态,目前还有一些小问题。由于我本人是不会打九键拼音的,所以很多测试结果我无法感知,所以,需要你的测试和反馈(最好不要在公众号里反馈,到仓库 issue 里反馈)。

t9

感谢 @minilulubai 的贡献!

常用符号键盘布局

之前的符号键盘不太符合主流的布局,很多人用的不习惯,于是,只能跟随主流,添加符号键盘布局,总体上,它的布局类似于全键盘,只有数字和常用符号。如果要找更多符号就需要走以前的符号键盘布局。

common symbol

当然了,符号键盘本来可以钉在工具栏上,作为快捷入口。

快捷发送置顶功能

目前快捷发送做了样式重构,可以显示更全的内容,同时支持置顶。

shortcut

笔画键盘

添加了一个笔画键盘。

storke

但是!由于默认方案并没有笔画方案,因此,如果你有笔画方案的话。。。 虽然方案市场里有一个笔画方案,然而,这是我基于 rime 官方的繁体版本修改,并去除了不常见的繁体字而得到了。这只能做为我开发时的测试案例,并不具备主用属性。

你可以自行维护方案,只需要参考我的这个来 https://github.com/ximeiorg/rime-stroke 就可以调起笔画键盘。

悬浮键盘功能

目前已经支持悬浮键盘功能,只是安卓手机/平板如此之多,悬浮键盘功能的适配可能会存在一些问题,你也可以反馈给我。

float

“?123” 支持键盘记忆

现在,你可以通过全键盘的 “?123” 键长按选择你要快速进入的键盘布局。原因是有一些人喜欢进入常用符号键盘布局,但是像我,就非常讨厌常用符号键盘布局,我一般只使用 数字键盘布局。

jiyi

手写键盘

现在支持2种手写键盘: 一种是高度为屏幕的1/2 的专用手写键盘,一种是专用于快速找字的手写键盘。

handwriting

这个手写键盘的手写模型识别是我专门为 Xime 输入法从零训练的。这里有相关的技术实现细节: Xime 输入法的手写输入技术实现

总的来说手写功能目前并不完美,比如还不支持叠写功能。比如连笔过多会造成无法识别。

原因是我使用的是开源的数据集,我自己并没有能力去采集更多的数据,因此这个功能无法做到商用输入法这么好用,毕竟,它们可以收集用户数据做训练。

个人词库管理

现在,你可以管理自己方案里的个人词库和自定义短语。需要注意的是,这是 rime 的自有功能,它是完完全全跟着方案走的,也就是说,你用的是什么方案,你就得在具体的方案里添加个人词库和自定义短语。方案之间不互通。

dict

有一些方案已经自带了一些个人词库和自定义短语,你也可以通过这个功能查看。

文件浏览器功能

现在,提供了 rime 目录文件浏览器功能,也就是说,你可以从更底层去操控你的 rime 文件,同样支持编辑功能。

file

但是,如果你不知道 rime 是什么的话,我强烈不推荐你去碰它。

这里也引申一个问题,就是为什么不提供外部存储 rime 目录?

答案是, 随着安卓的版本的提升,这个外部存储功能的权限在收紧,不同版本的权限申请还不太一样。我希望 app 保持最小权限原则,目前提供的导入方式也比直接使用外部存储更方便,而且还不用担心意外情况。

方案清单管理系统

不同的方案来源可能使用的是类似的文件名称,加上之前的方案删除其实是删除不干净的,这会造成一个问题,就是有很多人会尝试多个方案切换,来感受哪个更好用。

但是这个也造成了一些莫名其妙的BUG,因此方案来源之间的隔离,是必不可少的了。

现在方案的删除只能整体删除,切换方案的时候也会先删除已安装的方案,再进行安装。

import

⚠️ 需要注意的是这会造成你的个人词库和自定义短语的丢失,所以,最好先备份。

键盘自定义配置结构

这个可能对于要自定义键盘的人来说,是一个 breaking 功能。现在,2.4.2 的键盘配置文件不能用了。现在需要新的配置布局。

请参考最新的文档: https://ime.ximei.me/features/keyboard-config.html

也可以参考源代码的 docs\config_examples 目录。

具体来说,就是结构变了,这是为了分离键盘,同时也为了其他键盘布局的自定义做准备。

keyboard:      
    qwerty:
         button_layout: compact
    ...
    qwerty_en:
    ...

现在会提供按键的紧凑模式,它可以支持双拼提示,甚至五笔键盘字根:

double_pinyin wubi

具体可以看这个实现:https://github.com/ximeiorg/Xime/issues/361

键盘底部高度

还有一个影响比较大的,就是键盘底部的高度逻辑实现变了,原来是固定的40dp,这对于很多手机来说兼容性太差,所以改成了使用边衬区自动适配。但是这又又又会造成一部分人的手机可能不太正常,原因是可能之前就保存有默认的高度值。

如果你的高度不正常,请通过键盘调节来实现调整。很多人不知道的是,键盘调节其实有2个功能:拉伸和间距。前者拖动顶部小横条,后者直接拖背景。