先套盾:我的体验时间并不长,有些东西可能研究不够透彻,项目也处在早期状态,我仍然是爱 Fcitx5 的。

TL; DR

未 来 可 期。

什么情况下我推建议你使用:

  1. 新就是好!有鲜为什么不尝
  2. 不用开源软件我咳嗽/不应该需要联网的工具应用上传数据我就会死
  3. 我非常想体验 iOS 双拼(开个玩笑
  4. 我在用全面屏并且我想把按键放到离曲面那地方越远越好(半开玩笑

优点:

  • 基于成熟可扩展的 Linux 输入法 Fcitx5 框架
  • 开源且高自定义度,以至于「双曲面福音」
  • 可免 Root 使用自定义词库
  • 支持剪贴板
  • 支持内嵌自动填充建议

缺点:

  • 项目处在早期状态,功能不够完善
    • 剪贴板仅支持文本
    • 语音输入疑似不工作
    • 语言支持较少
    • 一些处理逻辑可能不完善
  • (虽然这个对手选的不合理但对比 Gboard)功能缺失
    • 缺少双拼纠错 <- 为什么说 「这次看齐 iOS 了」
    • 缺少英文滑动输入
    • 快速输入没有直接搜索表情/贴图好用(当然我本来就不太懂快速输入就是)
    • 没有单手/悬浮模式
    • Material 了但不 You

简介

先说我怎么想起来要用 Fcitx5 For Android 的,前两天朋友发了个拼音输入法词库的仓库 CustomPinyinDictionary,里面提到了对于手机输入法的支持:Fcitx 5 For Android 能直接导入,Gboard 只能使用 Magisk 模块,而且用模块体验也不一定有多好,这里先放着后面再说。没 Root 的我于是对 Fcitx 5 For Android 产生兴趣了。

然后解释俩名词:

  • Fcitx 5:一个输入法框架,支持中文、日文等语言,我现在电脑上就在用,包括写这篇的时候。
    • Github 仓库:https://github.com/fcitx/fcitx5
    • 项目主页:https://fcitx-im.org/wiki/Fcitx_5/zh-cn
  • Fcitx 5 For Android: Fcitx5 的 Android 移植版
    • Github 仓库:https://github.com/fcitx5-android/fcitx5-android
    • 项目主页:https://fcitx5-android.github.io/
    • 当前使用版本:
      • Fcitx5 For Android: 0.0.5-57
      • Anthy 插件:0.0.5-49

关于前面提的 Gboard 用模块也不好使的情况,参见这个 issue。大致上是这么几点

  • 当前词库的实现方式更像是「自定义短语」而非「词库」,从而可能会导致「词语和拼音被莫名分割」的问题,这个限制更多是 Gboard 实现上导致的限制。
  • Gboard 的词库设置有一个 500000 的容量上限,只要词库达到这个上限,输入法会将其整个清空。并且如果用户无意触发 bug 也会导致词库被清空,虽然我暂时似乎没遇到但是我朋友遇到好几次了。
  • 即使能绕开 Gboard 实现上的限制,导入「词库」的体验也相当不好。

外观

Material 了但不 You

组合图

直接看图,虽然可能是我的印象出错,但是给我一种当年 Google 拼音输入法的感觉,包括那个主题界面。遗憾的地方也在小标题里了:目前我没有找到关于应用 Monet 主题色的功能,比起来现在华丽胡哨的 Gboard 观感上确实少了点趣味。话说回来,Monet 的支持一方面非常看开发者的个人喜好,另一方面对于一个起步阶段的项目优先级靠后也可以理解。

自定义程度高到成为曲面屏福音

主题/键盘设置图

除了常规的设置键盘背景、按键边框、亮色暗色主题设置之外(似乎复制现有主题修改的功能还没有做完?),Fcitx5 还给了按键横向和竖向间距的设置以及按键全角半径的设计,理论上做个类似当年全键盘那样的小圆键也可以。

然后重头戏来了,键盘设置里除了键盘高度,可以设置键盘两侧边距,不需要等什么奇怪的 OEM 键盘私货啦!向让键盘离曲面多远就多远!

功能

基础功能

输入法的基础功能自然是输入,但是问题也就在这里了,很显然输入体验这种东西要么靠积累要么靠咋资源,但是对于开源项目来说,尤其是从桌面向移动端移植的情况想要打造好的输入体验是难上加难。

英语

Fcitx5 在桌面上的英语输入法等于……没有。当然这在桌面上是很常见的,接个键盘都可以敲字符嘛对不对。但是到了移动端就是另外一个情况了,六七寸大的屏幕上的虚拟键盘精确性比不上实体键盘,输入法至少应该有联想功能 <- 这点满足了。

但是我还有一个被 Gboard 惯坏了的需求,也是海外输入法市场早就开始有的东西:滑动输入。能够在屏幕上大概一划你想要的词就出现在屏幕上不得不说愉悦,尤其是对于我经常出现的想要哪个词但是只能想起来「似乎是这么拼吧」的情况,一个滑动输入比自己敲来的高效的多。遗憾的是目前我没有在 Fcitx5 上找到有关功能。

中文(双拼)

到中文上就更加麻烦了,虽然 Fcitx5 的高自定义程度一定程度能够弥补甚至反杀,但还是任重道远。

  • 词库

这就是高自定义程度的好处,一个属于自己的、可自定义的词库对于桌面输入法用户并不太陌生,但是到了某家公司的移动输入法手里就变成了天方夜谭(Gbord 开始打喷嚏了,为什么呢),这点也是吸引我尝试的点。

  • 双拼方案支持

双拼方案/键盘支持图像

这也是自定义的好处,你有各种输入方案可选,就算没有你也可以自己上手自定义,我在用的自然码自然也被囊括其中,虽然其实这里有一个问题是从桌面版带到手机上的,就是 Fcitx5 有一个自然码的输入法和一个双拼输入法里的自然码布局,我们常说的「自然码」是后者,前者虽然也是自然码布局,但是似乎是要必须用码表的样子?我没太仔细研究其实不是很懂。

  • 纠错

前面就是地狱了。
纠错老大难了,全拼可能还有人分享经验,双拼这种小众方式说实话我其实也没期待有纠错,但是中间切回 Gboard 真的感觉就是 读 心 术,这种关键的地方差距太明显了。(此处应该插入 meme:男人端盘子,我用双拼是因为输入效率高打字快吗,不,是因为我贱.jpg)
怎么说呢,权当体验 iOS 双拼了(再次缺德

  • 字符全角半角

符号页

这里是我没有理明白的地方,同样 Gboard 举例:什么输入法对应什么样的全角半角符号,英文全半角,中文符号全角数字半角,日语全是全角,非常容易懂。Fcitx5 这边就比较的迷茫,堪比在 Gboard 添加三种及以上语言后点击切语言图标不知道下一个输入法会冒出来啥的迷茫。它给出了一个专门的「全角」Tab,里面所有的符号和数字都是全角,然后如果你需要半角,要点击前面的 Tab。然后是我这边的问题,一是我早期很容易把这个「全角」当成一个按钮,即再点一下就是半角了,但它只是个 Tab;二是我这边似乎在中文下点符号随机进半角或全角,非常迷茫。

日语

这部分其实没啥好说的,我虽然名义上在「学日语」,但是用「替多邻国刷日活」更合适。

日语输入法截图

首先是 Github 版本没有日语选项,然后在 Jenkins 上的最新的 CI 版本搭配同样在 Jenkins 上的 fcitx5-android-plugin-anthy 可以实现日语输入,但是目前我似乎没有找到选词窗口,可能是早期版本或者我不会用? 谢谢 @reiuyfan 提醒,是用空格来选词。但是这套插件系统其实挺不错的,如果能够有社区支持其实能搞出来很多玩法。

其他功能

对于早期阶段的输入法再要求更多华丽胡哨的功能其实是不客观的,但还是念叨几句。

  • 剪贴板

对于我来说其实纯文字已经够用了,无非 Gboard 支持图片,但谁天天在手机上粘图片啊,惦记生产力的去买 Chromebook 好不好。

  • 语音输入

我看到了按钮,但是点了没反应,不知道是系统问题还是还没做好或者是触发了 bug。不过语音输入我也不怎么用,对于一个专门鼓捣个应用来缓解自己对手机可能没有处在静音状态的焦虑的用户来说,语音输入还是太奢侈了,能够「小点声,你吵到我用 TNT 了」的美好未来还是留给罗老师吧。

  • 内嵌自动填充建议

这个功能让我从「下下来看看」到「用几天试试」,体验太好了,但别的也没啥可说的了,和我在用的 Keepass2Android 配合很好,没了。

  • emoji/贴图

emoji 的输入和 Gboard 没法比,但也不丢人,他们 Google 老本行就是搜索没办法。不过其实这里 Fcitx5 有「快速输入」的支持,也就是说如果你在桌面端有维护自己的一份快速输入配置,在手机上应该也能用的很快乐,但是我没有,为了没有纠错的输入法专门去整一个还是太花时间了。

贴图倒是很爽快压根没有,还是那句这不是对早期项目应该有的期待。

  • 单手模式/悬浮键盘没有,同样不应该期待,但是自定义布局似乎在做了,自定义的好处就在这里啊。

最后

再次感到了语言的匮乏和表达能力的欠缺。

Fcitx5 for Android 其实挺不错的,对上 Gboard 吃亏只能说「奈何对面有高达」,希望能越来越好。

彩蛋(大嘘

origin os

你们大厂能不能别天天魔改了。