iOS 上简洁强大的双拼输入法:落格输入法测评
在复杂的世界里一个就够了:ONE一个- 少数派 / kx8020

对于中文用户来说,早期 iOS 很大的问题在于:输入法本地化做得不够好、词库不全面、没有九宫格等,用户只能使用全键盘或者越狱后安装第三方输入法。从 iOS 7 开始,系统内置了九宫格键盘,iOS 8 开放了相关 API 后,各种本地化的输入法百花齐放。
一直以来,我个人对这些第三方输入法一点都不感冒,坚持使用原生的全键盘。原因有三:
- 全键盘的输入效率高于九宫格;
- 第三方输入法的流畅度不如原生键盘;
- 第三方输入法可以获取用户输入的私人数据。
直到去年年底,我接触到落格输入法之后,不由得感叹:「卧 * , 原来 iOS 上第三方输入法可以做得这么好。」
高效的码表输入法
最初接触到落格是因为想学习 双拼,进一步提高自己的输入效率。由于双拼将所有的声母韵母映射在了 26 个英文字母上,所以每个字的拼音只需要按下两个按键就能完成输入。落格输入法可以自行导入码表,无论用户偏好哪种输入方案,甚至是五笔,只要找到了对应的码表,导入后就能开始打字。
对于初级用户,可以在落格输入法主程序内的「对数云」中寻找惯用的输入方案及码表。下载后,在设置内选中,就能开始使用。

动手能力强以及有个人使用偏好的用户,则可以自行制作输入方案和码表,后文进阶部分会讲到相关内容。
丰富的选项
落格提供了丰富的自定义选项,点击每一项都会显示相关说明,这里重点说几个对初学者有用的。

1. 显示编码反查
该选项只有在启用了「主码表」后才能开启。开启后,候选字旁边会显示该字剩下的键码,能够帮助初学者记忆码表。

2. Buffer 显示全拼
启用该选项后,Buffer 内的双拼码会转换为全拼拼音,方便用户及时发现并更正错误,同时也能够加深对码表的记忆。

3. 键盘中长按快捷编辑
长按键盘任意位置,可以对输入框内的文字进行分词,并复制粘贴。需要注意的是,由于输入法权限问题,只能获取光标前后的部分文字。复制粘贴所调用的也只是落格输入法自身的剪贴板,无法与系统剪贴板同步。

点划手势
落格提供了多种隐性的点划手势,能提高输入时的效率,包括:
- 在空格上点划(向上轻扫)来输入通配符
- 在按键上下划打开表情和短语
- 候选栏左划加载更多候选字
- 在候选栏下划收起键盘
- 键盘内临时改变设置
- 输入时移动光标
- 清空输入的 buffer
- 连续退格
- 点划快捷输入符号
- 快捷输入符号
- 锁定大写输入
应用的「常见问题」有对每一种手势作简单的说明,这里说几个非常实用的。
(1) 在按键上下划打开表情和短语
在键盘任意位置下划就能调出「表情和短语」面板,内置了 iOS 10.2 全套的 Emoji 表情和颜文字,并进行了分类,用户就不必额外添加系统自带的 Emoji 键盘。iOS 自身的键盘切换逻辑非常不聪明,添加了超过两个键盘,切换时能把人恶心坏了。

快捷短语这部分,用户可以自定义宏命令,比如希望添加一条显示当时日期的短语,只需在设置内输入:
#yyyy 年 #MM 月 #dd 日
之后每次调用时,就能显示当时的日期。同理,想要显示当时的时间,只需输入:
#HH 点 #mm 分 #ss 秒

完整的快捷短语宏命令也能在「常见问题」里找到,根据自身需求提前设置一下,后续使用时就很方便了。
(2) 点划快捷输入符号
在键盘的每一个按键上进行上划,也可以输入预设的标点符号和自定义宏命令。
我习惯使用直角引号「」,就把字母 L 的自定义上划设置成了「」#光标左移
,每次上划字母 L 后,落格输入法就会输入「」并且将光标向左边移动一个字符,放置到直角引号中间,便于直接开始输入文字。

另一个实用的宏命令是 #撤销上屏
,默认套用在字母 U 上。

完整的宏命令同样可以在「常见问题」里找到,根据自己的偏好设定一下,后续用起来能提升输入效率。

上面这些较为基础的设置,建议各位每一条都仔细看一遍,根据自己需求不断调整,方能找到适合自己的最佳平衡点。
特色功能
落格输入法有两项特色需要单独拿出来重点说一说,一是支持 VoiceOver 辅助功能选项,二是对隐私的保护与承诺。这两项功能对普通人来说不一定能感受到,但对有特殊需求的朋友却很有用。
1. VoiceOver 辅助功能
VoiceOver 普通用户一般用不上,也不太好介绍,我就录了一段视频,有兴趣的朋友可以看看。对于肢体活动有障碍的双拼用户,可谓是福音。
2. 隐私的保护
大部分第三方键盘在安装后都会立刻弹出提醒,让用户去系统设置中开启「完全访问」权限,开启通讯录访问权限。表面上说是为了更好的用户体验,事实上很大一部分是为了获取用户数据进行分析,特别是国产输入法厂商。而落格输入法则完全去掉了「完全访问」这个选项,也不会主动请求通讯录访问权限。
如果用户确实想导入通讯录该怎么办呢?可以通过高级选项内的「自定义编码」来实现。
点击「导入通讯录」,落格会弹出有关隐私和加密的说明,要求用户输入指定的一段文字之后才能执行导入。导入后的条目会在下方展示出来,用户可以自行删减、修改条目。

完成导入后,启用自定义编码,打字时就能方便快捷地输入联系人信息了。

上述这两项不那么显眼的功能,是我当初决定尝试落格输入法的原因。如果你也是一名很在意隐私的双拼用户,或者肢体不太方便,可以下载来试一试。正如落格输入法作者所说:「为安全和隐私付费,是一件值得骄傲的事情。」
码表
这一部分主要是针对有很高自定义需求的用户,讲讲有关落格输入法码表的东西,一般的用户可以略过不看啦。
一套完整的输入方案包含四个文件:
- xxx输入法.plist
- xxx输入法.txt
- xxx输入法辅码.txt
- xxx输入法_rev.plist
其对应关系如下图所示:

下面我逐个讲一讲这几个文件的用法。
1. xxx输入法.plist
这个文件对应的是「输入方案」,本质上是键位的映射,将键盘上的字母映射成拼音中对应的声母和韵母,最终形成一个输入方案。
在打字的过程中,输入法先将输入的字母转化为拼音,再去自带词库中查找拼音所对应的汉字或词组,最后输出,供用户选择。流程大概如下(以小鹤方案为例)。

该文件用文本编辑器打开后结构如下图:

上图中第 5 行的 <key>v</key>
指的是键盘上的按键 V
, 第 6 行的 <string>zh</string>
则代表着 V
所对应的拼音 zh
。
又比如第 23 行的 <key>bb</key>
指的是按下键盘上的 B
两次。根据双拼规则,输入时,第一个 B
代表声母 b
, 第二个 B
代表韵母 in
, 组合起来就是完整的拼音 bin
,也就是第 24 行的内容 <string>bin</string>
。
这样每两行为一组,列出所有的按键组合,最终形成一整套输入方案。
2. xxx输入法.txt
该文件对应的是「主码表」,里面包含了所有常用的单字、词语,并匹配了相应的键码,相当于是一个词库,其优先级高于前面的「输入方案」。

例如上图中选中的「祝愿」,「祝」对应的键码为 VU
, 「愿」对应的键码为 YR
, 组合在一起便成为了该词语所对应的键码 VUYR
。将所有常用的、需要的单字、词语全都列举出来,就可以形成一个「主码表」。
3. xxx输入法辅码.txt
这个文件对应的是「词汇辅码」,其作用在于快速定位所需要的单字或者词语。

如上图所示,「住」的辅码为 R
, 因为在小鹤双拼的规范中,「住」的部首为「人」,其拼音为 ren
, R
便用于指代所有部首为「人」的汉字。
同理,「院」的部首为「耳」,其拼音为 er
, E
就是其辅码。下面举个例子:
比如需要键入「住院」这个词,按下双拼键码 VUYR
之后,候选可能出现「祝愿」、「竹园」、「住院」等,此时需要快速定位「住院」,只需输入「住」的辅码 R
和 「院」 的辅码 E
即可。完整的键码为 VUYRRE
, 输入其他单字、词语的原理与其一致。

需要注意的是,由于最后两位的辅码 RE
会匹配为第三个汉字的双拼键码,在实际打字时,输入 VUYRR
即可匹配「住院」。

将所有常用汉字的辅码都列举出来,就能形成一个「辅码码表」。
4. xxx输入法_rev.plist
这个文件对应的是「按键映射提示」,用于指定每个按键上显示的提示字符。

用文本编辑器打开后,效果如下图,其结构和「输入方案」的结构类似。

第 9 行的 <key>c</key>
指的是键盘上的按键 C
, 第 10 行的 <string>ao</string>
则代表着按键 C
上所显示的提示为 ao
。同样两个为一组,一一对应后,将所有按键的提示组合起来,就成为了一个「按键映射提示」。
一套完整的输入方案所需要的四个文件都已经介绍完毕,动手能力强的朋友根据上述介绍应该可以创建、修改适合自己实用的输入方案,最后通过「Wi-Fi 传表」的方式传入输入法内即可。
还可以改进的地方
这款输入法是一名独立开发者以一己之力完成的,所以在使用过程中还是有一些问题:
- 在每次唤出输入法时,键盘会获取屏幕大小进行自动布局,此时输入法区域会稍微卡顿一下,并出现闪烁现象。
- 对于模糊音的支持还不够完善,拼音学得不是很好的朋友可能还得勤加练习了。
- 对于繁体的支持还不是很好,其繁体输出的实现原理还无法区分比如「頭髮」「發財」中「发」字这种情况。
结语
使用落格输入法一个半月,让我改变了对 iOS 上第三方输入法的看法。原来第三方输入法可以做得这么简洁又强大强大。我强烈推荐给 iOS 上的双拼用户,这也是我写下这篇文章的原因。另外,这也是我第一次写这类测评文章,还请大家指正。
落格输入法还在不断进化,开发者也只是一名学生。如在使用过程中发现了问题,都可以在 Telegram 群里向开发者反馈,开发者对各种问题都能够积极回应并及时加以改进。
少数派更多关于「双拼」的文章:
喜欢少数派?欢迎关注我们的微博:@少数派sspai ,微信公众号: sspaime
少数派( http://sspai.com )

Original Article:
http://sspai.com/37247