声笔飞码

1 飞码概述

声笔飞码,简称飞码,是在输入法界影响最大的顶功输入法,可以说是它直接或者间接地激发了其它非声笔系列顶功输入法的产生。

1.1 发展历史

声笔飞码有着「悠久」的历史,同时又在不断的进化、发展,一直处在高效顶功输入法的前沿,探索并创造新的顶功编码模式。

声笔飞码在2005年首次发布时引起了输入法圈子内巨大的震动,因为其纯单字的输入效率,在使用26个字母编码的前提下,比当时效率最高的五笔字型提高了35%,而且其学习难度也比五笔字型小得多,这让许多人难以相信,但却是千真万确的事实。

声笔飞码经过了十多年的发展和创新,从1.00版到现在的9.50版,尝试了各种各样的顶功模式,终于确定下了现在主词的飞码。在飞码的基础上,还衍生出了主单的飞讯以及整句型的飞整几个输入方案。另外,还有专门为单字派准备的飞单,它的码表是开放的,可以进行完全的定制。

1.2 业界影响

虽然绝大多数人在飞码出现之初都对其效率持怀疑态度,但是通过了解声笔飞码的编码原理和输入原理,人们都领悟了其中的奥妙。于是,许多知名的输入法论坛“大侠”给予声笔飞码以高度的评价,更有不少人积极地实践,用声笔飞码的技术来改进和创制新的高效输入法。

受声笔飞码的直接或接间影响,现在已经产生出了许多顶功输入法。化外愚民先生在声笔飞码的基础上取消飞码的词组,增加几个标点符号进行编码,以进一步增强飞码的单字能力,形成了“西风瘦码”。目前在互联网上,有关顶功输入法的讨论更是非常热烈,各种顶功思路层出不穷,令人眼花缭乱、应接不暇。除了早期的声笔码、声笔飞码、声笔快码和西风瘦码外,后来出现的有一码起顶的左飞1811,二码起顶的小兮码、灵形速影、左飞双拼、顶功雅歌,三码起顶的左飞三码、听雨三码,二四顶屏的顶功希码,星空系列的星空两笔、星空键道及其变种,采用四二顶的C42,采用五二顶的徐码五二顶等等。

后起的顶功输入法,最初都非常追求单字的效率,甚至达到了偏执的程度,于是采用无理码的风气盛行一时。但是,在二码顶的基础上,试图采用增加一定的码元、增加编码的复杂规则,甚至增加大量无理码来缩短码长,收效都是不大的,这是汉字的统计特性所决定的。顶功输入并不意味着就是单字输入,词组的作用在顶功输入法中也是非常重要的。顶功和单字没有必然的联系,顶功输入法既有以单字为主的,也有以词组为主的。

1.3 比较优势

提到定位于高效的专业型输入法,一般人想到的大都是五笔字型。然而,目前在专业型的输入方案中,飞码的综合性能才是最好的,所以有不少五笔用户都转学了飞码。飞码以音托为主的部首比字根学习起来更容易,其输入效率更是全面超越了五笔。

即使在主词的时候,飞码单字码长也因为三简字可以省略空格而比五笔短,词组能力更是因为独享编码空间而大大优于五笔。扩展编码则使得飞码能轻松支持几十上百万的词库。动态调频能进一步缩短码长,自动造词则可以进一步缓解打空的问题。

对于单字派来说,飞码单字模式的优势更是让五笔望尘莫及。在都采用纯单字输入的时候,若以码长来衡量,飞码单字模式的速度要比五笔快35%。

飞码的多个衍生方案(飞讯、飞单、飞整)还为用户提供了更多的选择和根据不同应用场景切换使用的灵活性。

1.4 主要内容

本文将详细讲解飞码方案,然后对照飞码,各花一节的篇幅来讲解飞讯、飞单和飞整,只讲有区别的地方,以免重复、罗嗦。飞码是飞讯的基础,所以飞码的内容是必须先掌握的。如果学习飞单的话,只需要先看一下飞码的单字部分,然后就看飞单那一节。

注意,飞码一词有广义和狭义之分。广义的飞码指飞码子系列,它既包括了狭义的飞码,也包括了飞讯、飞单和飞整这些方案;而狭义的飞码专指飞码方案,它与飞讯、飞单和飞整是并列的关系。根据上下文,不难区分出所述飞码是广义的还是狭义的。

强调一下,飞码是声笔系列码中效率最高,也是难度最大的。对于没有经验的初学者,一定要仔细阅读教程并对照例子来理解,不要试图拿着就开打。那样会遇到很多问题,而且也可能走不少的弯路。如果还没有看声笔基础 一章,也务必先仔细阅读,否则会缺乏一些基础知识,成为学习的障碍。

2 飞码初阶

2.1 快速入门

飞码单字的编码为声母加部首加两个笔画。声母不分平翘舌,零声母用v表示。部首一般就是查字典时用的偏旁部首,并用其声母作为编码。笔画分为横竖撇捺折五种,分别用eiuoa表示。为了减轻初学者的记忆负担,手机上提供了助记皮肤,如下图所示,可以长按上N键打开或者关闭助记。

img

以上偏旁部首中,需要注意的有(包字头)、(像小写字母 l)、廴辶(像 L)、(烈字底)、衤礻止(形状勉强像 N)、(弄字底)、 丿彡(撇起笔)、(敲字旁)、攵(夂 夊)(反文旁)、(文字头)、(寻字头)、疋(音为 ya)、(置字头)、(长字音)、(甾)字头;可以通过以上不同的方式来辅助记忆它们的代码。

以下是两个单字编码的例子。

例如,「编」字的声母为b,部首为「纟」(其名称为绞丝旁,「绞」的声母为j),剩余部分为「扁」(其前两笔都是点折,分别用oa表示),所以「编」的编码为bjoa。

再如,「码」字的声母为m,部首为「石」(其声母为s),剩余部分为「马」(其前两笔都是折,用a表示),所以「码」的编码为msaa。

当然,深入到细节后,有些字的编码并不容易,特别是部首的提取在个别情况下是难度比较大的。

飞码二字词的编码为两字的前两码。例如,「编码」一词,根据前面「编」和「码」两字的编码,立刻就得到其编码应为bjms。

飞码三字词的编码为前两字的首码加末字的前两码。例如,「输入法」的编码为srfd,其中前三码为各字的声母,第四码为「法」字部首「氵」名称「三点水」,取「点」的声母作为其编码,所以为d。

飞码多字词的编码就更加简单了,其前三末一字的声母作为编码即可。例如,「声笔系列」的编码为sbxl。

当然,在实际输入的时候,一般是不会输入四码的,越是常见的字词码长会越短。另外,还有特殊的声笔字需要注意。在出现重码字词的时候,飞码用aeuio代替传统输入法的12345来选择重码,操作更加方便,这时aeuio不再代表笔画,而仅仅是一种无理选择。需要翻页的时候,飞码用Tab和Shift+Tab而不是传统上的逗号和句号,这样可以解放出常用的按键,用于直接输入标点等。

除了以上飞码的基本内容,还有续码顶屏、动态码长、扩展编码、字词分流、自动造词、数选简词等等声笔特有的强大功能,会在后续的讲解中逐一介绍。

2.2 编码反查

在学习飞码之初,往往会遇到不会打的字。怎么办呢?系统提供了丰富的反查手段,可以通过笔画、拼音和声笔来反查编码和部首。在完全不知道读音的时候直接用aeuio按顺序输入笔画进行反查,在不知道字形时用a引导拼音反查(注意零声母要用v),在知道声母但不知道部首时直接用声母和笔画输入四码进行反查。反查的结果不仅会显示编码,而且会显示拆分的部首,以方便理解。

以下是几个反查的例子。左边是笔画反查的例子,中间是拼音反查的例子,右边是声笔反查的例子。在笔画反查的例子中,直接输入uuao后,出现了以这四个笔画开头的字;第一项是反fy【又】,表示「反」字的编码为fy,其部首为「又」;第二项为般bz【舟】 pzua【舟】,说明「般」是个多音字,有两个编码。在拼音反查的例子中,是用字母a引导的,所以实际的输入为afang和avan,只是没有显示引导字母而已,其中an前还加了v,因为an是零声母音。在声笔反查的例子中,是不需要引导的,直接输入声母和笔画就行了,适用于仅仅不知道部首的时候进行反查。

飞码反查

另外,通过i引导的拼音还支持用字海两分法来进行反查, 支持查找八万多汉字,一般用于难读而易于两分的字进行反查或者GBK以外字的输入。GBK以外的字,飞码不提供正常编码,不能按正常方式输入,只能在两分查找到后选择输入。

下面是字海两分法查找的例子。第一个例子是想通过输入两个long来反查或者输入「龖」字。第二个例子,是通过输入「尸」和「水」的拼音来反查「尿」的编码。

image-20220124140055033

3 单字输入

声笔飞码一共收录了GBK的2万多单字,单字编码格式有两种,它们是sb(声母+首笔)和spbb(声母+部首+首笔+次笔)。飞码中采用sb格式的字称为声笔字,它们是105个高频字,而其它的字都是spbb格式的,称为普通字。还有一类可选的sbb字(声笔笔字)。

3.1 声笔字

声笔字增加了飞码的复杂性,却增强了飞码的离散能力,更重要的是给飞码带来了巨大的灵活性,为后起的优秀主单方案——飞讯的诞生创造了条件。为了便于记忆和练习,把声笔字编成口诀如下:

如同孔明自快话,开口正道无怕经,二双公民来前线
年内安然回南国,若说阿维当农夫,片上方家暗笑她
进得高中好体面,心想事成且大为,别看晚儿那小子
强力对手也头破,从此把着全日用,除非白天会给还
部分次品立飞过,让利几起眼皮边,名门里外有意见

输入声笔字时,一般是需要空格上屏的,例如:二双公民来前线的输入码为ve_sa_gu_ma_le_qo_xa_

由于声笔字与其它字有着不同的输入路径,为了避免用户的死记,在输入声母后,就对它们进行了提示,如下图所示。这样,初学者只需观察提示中没有想要的单字,没有时才输入后面的编码。

image-20220718010239839

声笔字不仅在第一码后有提示,在第三码后也是有提示的,只是提示的方法不一样,如下所示,其中前两码为前一字对应的编码,第三码为第二字的第一码。这上面列出的两个字不一定是一个词,仅仅是为了提示声笔字而已。

image-20220718010331258

3.2 普通字

与传统四码输入法一样,飞码在形式上也有一、二、三级简码和全码,分别对应一简字、二简字、三简字和全码字。但是,在实质上是有很大区别的,其中最大的区别是,飞码的三简字可以被顶上屏幕,全码字的重码是用aeuio来选择而不是用难以击打的数字键。

另外,与传统高效输入法一样,飞码采用的出简不出全策略,有简码的字就不会有全码,以便节约有限的编码空间,并强制用户采用最高效的输入方式,形成快速的条件反射。所以,一定要注意,飞码输入汉字时,“过了这个村就没有这个店了”,不能输完四码再看有没有你要的字。初学的时候一定要每输入一码就看有没有你要的字,没有的话才能输入后面的编码,否则就可能错过你要的字。当然,在你在使用中记住了字的码长,形成条件反射后,是完全可以不看提示行的。

(1) 一简字

飞码有21个一简字:不bh 平ph 没md 发fy 的db 他tr 你nr 了lz 个gr 可kk 和hh 就jw 去qt 下xb 在zt 出cc 是sq 人rp 而vh 一yh 我wg。这些字在单独用的时候,只需输入一码然后空格上屏,但是用在二字词中或三字词末则需要两码。

(2) 二简字

飞码的二简字有441个,其格式为sp,所以又称为sp字或者声偏字,其中的大多数也是相当常用的,例如:加jl 尽js 量lq等。

与传统输入法一样,声笔飞码的二简字一般需要加空格上屏。例如,解jj_ 所sj_ 摸mf_等等,其中_表示空格。当然,如果后接的是数字、标点符号等非编码字符时,这个空格仍然是可以省略的。

(3) 三简字

飞码的三简字格式为spb,所以又称为spb字或者声偏笔字,例如:慕mxe 覆fxu 您nxu等等。这类字数量庞大,在GBK二万字集中有2135个,其中不乏常见的字。传统输入法的三简字一般是需要空格上屏的,而飞码的三简字在连续输入时是无需空格键的,可以被后续的编码顶上屏幕。当然,如果没有后续的输入而要马上上屏的时候,仍然需要空格。但是,这种情况在正常的输入过程中是很少的。三简字不需要空格上屏是声笔飞码的单字输入比传统输入法高效的一个重要原因。

(4) 全码字

声笔飞码的全码是四码,编码格式为spbb,即声母加偏旁部首再加剩余部分的前两个笔画,例如:码msaa 巨jkae 瞄mmei等。但是,在出现重码字时,声笔飞码采用了更加快捷的选择方式,不是用数字键,而是用aeuio来进行选择,如下所示。

image-20220718010457098

3.3 缩码字

飞码中仍然存在个别需要选重的非罕见字,为了缩短它们的码长,特提供了sbb字(又称缩码字),通过声母加前两笔的方式为它们提供更短的缩减码。需强调的是,缩码字不是强制使用的,用户不用它们也是可以的,使用正常编码就是了。

例如,「瞄」的正常编码为mmei,还需要用e选择上屏,而它的缩减码为mia,可以节约两键。

再如,「代」的正常编码为drea,虽然是四码的首选,因为该字常见,所以也提供了缩减码dui,可以节约一键。

在用常码输入的时候,如果某个字有sbb简码,那么会在该字后进行提示,以便用户决定是否采用。

image-20220718010904338

为了有效地利用编码空间,有的sbb字第三码是无理的,与字的第二笔并无对应关系,例如上例中的「睦miu」;而有的采用了四码,即声母加前三笔,如上例中的「檬meiu」,仍然可以节约一码。

为了便于用户对不满意的飞码的sbb字进行调整,还特别提供了fmsbbtz词典(在声笔可定制词典扩展包中)。用户可以在该词典中添加词条来新增或者修改现有的sbb字。

3.4 重要说明

虽然飞码的形基本上都是音托,总体来说是比较简单的。但是,作为一个定位于高效的输入方案,在编码上采用了一些特殊的离散措施,用户在学习的时候可能会碰到几个难点。为了便于用户克服这些难点,以下对其进行一些解释说明。

飞码的部首通常就是人们查字典时使用的偏旁部首。为了便于记忆,在声笔飞码中一般取偏旁部首(或其名称)的声母作为它的代码。但是,为了提高编码的效率,有的偏旁部首采取了形托归类的方法来确定其代码。同时,在确定归属部首时,字典中一般将偏旁部首归于其自身,而声笔飞码将偏旁部首归于其首笔画,这一方面提高了编码的效率,另一方面也突出了偏旁部首的作用,有助于用户建立起识别偏旁部首的条件反射。还有,字典中一个字可以归于几个部,而声笔飞码中一个字只能归于一个部。

与字典的部首类似,飞码所取的部首可能在前面也可能在后面,这个初学者带来了一定的困难,但这是为了获得强大离散能力必须作出的牺牲。不过,只要掌握了一般的拆分原则,绝大多数困难都会迎刃而解。这个拆分原则是:尽量直观二分后按顺序取部首,前部不是就取后部,但是单笔画除外;若都不是部首,则继续拆分。注意,为了尽量离散重码,存在个别另外。

在声笔飞码中所取笔画并不一定是从汉字的第一笔开始取的,这依赖于偏旁部首是否位于字的前面。如果偏旁部首位于字的前面,即偏旁部首前没有任何其它的笔画,那么追加的笔画就除偏旁部首外的第一笔开始取,否则就从字本身的第一笔开始取。

例如,字的偏旁部首是位于该字的前面的,所以追加的笔画应从除外的剩余部分即的第一笔开始。再如,字的偏旁部首是位于该字的后面的,不是位于字的前面,所以追加的笔画应从该字的第一笔开始。注意,有的字的偏旁部首是夹在了前后笔画的中间,如字的偏旁部首。这时,字的偏旁部首仍然不是位于字的前面,所以追加的笔画还是应从该字的第一笔开始。

在声笔飞码中,若偏旁部首本身是一个成字,那么就取它的第一个笔画作为部首,并用zhpsd来编码。非成字偏旁部首没有常规编码,只能按笔画反查方式输入。

为了区分常用字的重码,有几个成字偏旁部首没有取其第一笔作为偏旁部首,这些字为走麦广,它们都是取字的子部首。另外,字的部首没有按顺序取而取了字的部首没有取而取了。还有的字没有取常规的部首,例如:重 垂取的是最下面的而不是首笔撇;奏 三取的是上面的取的而不是取的而不是取的而不是取的而不是取的而不是,等等。这些都是为了增强编码的离散而采取的变通取法。

4 词组输入

词组,特别是二字词,在现代汉语中是占主导地位的,任何输入法都不能忽视。飞码对二字词特别重视,致力于提高其输入效率。飞码词组按其组成字的多少分为二字词、三字词和多字词,现分述如下。

4.1 二字词

飞码的二字词取各字的前两码来编码,例如:不能bhns 下台xbts 大汉dehd 心爱xovz 常规cjgj 电脑dqnv 洞见ddji 健全jrqu 淹没ydmd等。需要注意的是,一简字在组词的时候要输入其第二码,如前面例子中的不bh 下xb 没md,而声笔字的第二码不变,如前面例子中的大de 心xo 见ji 全qu

为了输入方便,飞码在第三码时提示了前两码对应的单字和第三码开始的一简字和声笔字,例如:困一kky 放是ffs 难大nyde 实无sgwe等。如果这种字串与真正的词组重码也没有关系,它会被作为重码词排在最后,只需用aeuio选择上屏即可。

另外,声笔字与一简字/声笔字的组合,二简字与一简字的组合,不管是否构成词组,是绝对没有重码的,可以放心大胆的盲打。声笔字与一简字组合的例子有非就fij 还是hes,声笔字与声笔字组合的例子有大家dejo 前进qoje,二简字与一简字组合的例子有放可ffk 但是drs

如果二字词中的两个字都是一简字,建议按单字进行输入,例如:就是应该用j_s_(其中的_表示空格),而不是jwsq,虽然后者也是可以输入的。这样有利于对一简字形成条件反射,也有利于分化二字词的重码。

4.2 三字词

飞码三字词的编码为前两字的前一码加第三字的前两码,例如:埃及人vjrp 故事会gshu 计算机jsjm 大无畏dwwt等。注意,在第三字为一简字时,需要输入其第二码,例如:大不了dblz 情况下qkxb等等。

4.3 多字词

飞码多字词的编码为前三字的第一码加末字的第一码,与传统四码输入法完全一样,例如:丰富多彩ffdc 中华人民共和国zhrg等等。

4.4 空位词

虽然飞码的单字编码离散很好,两码码位已经占满,但是仍然65个三码的空码位。为了把这些空码位充分利用起来,在上面安排了常见的二字词,称之为空位词,其编码方法是:两字的声母加第二字的首笔。这种词虽然能够节约一码,但是记忆成本比较高,不必刻意使用,能用就用,不用也无妨,按正常编码输入就行了。

以下列出的是一些常见飞码空位词组。

1
2
3
4
5
6
7
8
鼻孔	bka
任务 rwu
拿着 nzo
毛病 mbo
放心 fxo
大纲 dga
哪个 ngu
空中 kzi

5 输入技巧

5.1 条件顶屏

飞码的单字除了三码字可以被顶上屏幕外,其二码字也可以在一定条件下被顶上屏幕,这是一种非常奇特的能力,是从飞讯反向借鉴过来的。飞码条件顶是指在输入二字词的时候,若第一字正确而第二字不对时,可以追加第二字的第三码,将第一字顶上屏幕,前提是追加的第三码与选择键没有冲突。例如,在输入「声笔」的时候,发现系统没有该词,而且「笔」字的第三码u又没有被重码词占用,那么在输入u的时候就会将「声」字顶上屏幕,留下「bpu」,对应的字正是「笔」。这样,就不必用退格键来清除「bp」两码,用空格先上屏「声」字,再输入「笔」字了。

5.2 巧用大写

在使用条件顶的时候,如果第三码被选重键占用,那么就无法顶前两码对应的二码字上屏,需要退格删除两码,上屏二码字然后再重新输入第二字的编码,非常浪费。通过大写第二字的第三码可以无条件地把二码字顶上屏而留下三个编码,可以使输入过程更加流畅,且不浪费已经输入的编码。

例如,在输入「飞码」的时候,发现系统没有该词,但是「码」的第三码a已经被重码「飞么」占用,所以使用条件顶是不行的,这时就可以用大写的A来将「飞」顶上屏,输入法将A转换为小写a后留下三码msa,可以接着输入后面的编码,没有丝毫浪费。

五码顶屏飞码

大写后续字词的声母也可以进行顶屏操作,但使用场景不一样,一般使用在二简字后忘记加空格的时候。例如,在输入「有东西」时,输入了ye但忘记了加空格上屏,接着输入了dh,这时出来的是「有灯」。不管是用ESC清除后重新输入,还是用退格键修改,成本都非常高。然而,接着用大写输入「西」的首码X,「有」字就会被顶上屏幕,剩下dhx三码,再输入「西」的第二码h即可输入「东西」了。

另外,在一、二、三码后,用大写后续字词的首码也可以将首选字词顶上屏幕。「这是不行的」可以用zlsBXcD来输入。

不过,需要注意的是,大写顶屏在大写作为编码的时候是无效的。在声笔飞码的单字模式下,第三码大写是作为编码用来输入词组的,此时不能顶前面的两码。

5.3 编码变换

除了顶屏之外,编码变换也是节约用键的重要手段。大量一、二简字和声笔字的组合,不管是不是词组,都可以通过这种方式来进行输入,从而有效地利用编码空间。注意,这个时候是没有提示的,需要用户对简字非常熟习才行。编码变换通过回车键触发,在没有重码的时候,也支持用Tab触发。

例如,「个人」一词,可以按词组的方式用grrp来输入。更好的方式是当成两个一简字用g_r_来输入,其中下划线表示空格,可以离散重码。然而最好的方式是采用编码变换,用gr↓来输入,其中下箭头表示回车,可以节约一次用键。

又如,「一会」可以用yhu↓来输入,虽然不能节约用键,但是输入变得确定了,而且可以将yhhu的首选让给「与会」,就起到了离散重码的作用。

再如,「回改」在飞码默认词库中是没有的,然而用户可能会误以为它是个库里有的词,于是就输入编码higj,但是发现只有「回锅」一个候选项。这时,如果用退格键删除后面两码,加空格上屏「回」字,再输入「改」字,代价是相当高昂的。幸好,有了编码变换的手段,加个回车就可以变为「回改」,并且也自动造好了这个词,下次就可以用词组来输入「回改」了。

6 高级特性

6.1 字词分流

在传统输入法如五笔字型中,四码的字、词是混合编码的,它们共享同一个编码空间。在发生重码时,究竟把单字排在前面,还是把词组排在前面,面临艰难的决策。当收录的单字和词组数量增大时,这个问题会变得更加突出。

在声笔飞码中,单字和词组各自有不同的编码格式,单字的第三码肯定是笔画,而词组的第三码肯定是声母。所以,它们享有不同的编码空间,不会发生冲突,不存在单字和词组那个优先的问题。例如,四码单字校jmoe 码msaa 暮mqei 渊yduo,四码词组答应dpyg 进步jebn 估计grjy 理想lwxe,它们之间是绝对不会重码的。这样,也使得飞码能够在采用静态单字的同时采用动态词组,只针对词组进行调频处理。

6.2 扩展编码

声笔飞码词组的四码空间容量与传统四码输入法如五笔字型是差不多的。但是,由于声笔系列收词量高达48万之多,虽然飞码的离散很好,然而在个别情况下重码现象也会比较严重,可能需要多次翻页查找。于是,飞码采用了与声笔简码类似的扩展编码,通过追加首字的前两个笔画,迅速扩大编码空间为四码时的25倍,可以快速筛选出所需的重码词组。结合后述动态码长的使用,完美地兼顾了编码空间与输入效率,既能享有巨大的编码空间,又能具有较短的平均码长,两全其美。

比如,「音乐学」一词在第一次输入时,输入yyxx后需要在第四页才能找到,如下图所示。每一页,都需要用眼睛扫视 6 个选项,人机交互频繁,对击键率影响很大,效率很低。

声笔飞码Yyxx

然而,如果发现当页没有该词就追加首字前两个笔画oe的话,「音乐学」就出现在第一页上,只需用u选择上屏就可以了,如下图所示。

声笔飞码Yyxxoe

扩展编码需要在你有任何翻页操作前使用,否在输入第五码时就会直接选择重码上屏了。需要注意的是,声笔飞码的单字没有设计扩展编码,因为对于常用字来说,其重码现象并不严重。

6.3 动态码长

动态码长不仅是码长的调整,也包括重码顺序的调整,实际上都是因为对频率的调整而引起的。但是,作为专业性的输入法,飞码只有词组参与调频,其单字是不参与调频的,即单字的重码位置是固定的,这有利于对单字进行快速盲打。

当四码词组有重码的时候,如果选择了某个非首位的词组,那么它的频率权重就会提高,在下次输入的时候,其排序就会提前。一般通过一、两次选择就可以提前到首位,从而就能利用顶屏来节约一次按键。

例如:第一次输入针织zjzj时如果它是排在第三位 ,用e选择上屏后,下次输入就可能排在首位了,于是可以利用顶屏节约一次选择键。如果在输入的时候采用了扩展编码,比如用yyxxoe输入了「音乐学」,那么在下次输入的时候一般就只需要yyxx就可以了,码长得到了大幅缩短。

6.4 词组管理

声笔飞码目前自带48万多词组,覆盖的面已经很广。但是,用户在使用过程中不可避免地还会遇到缺词的情况,需要添加新的词组,而且对于不满意的词组可能还想删除。声笔飞码就提供了这些能力。

(1) 自动造词

飞码的造词是在输入过程中自动进行的,无需用户干预。例如:输入声st 笔bpu后,下次输入stbp时就会有该词了,只是如果有重码的话,新造的词会排在后面。如果重码太多,可以追加首字前两笔或者用Shift+Tab一次性地跳到最后,以避免多次翻页。自动造的词组是临时词组,带有太极标志,优先级别低,只有在选择使用一次以后,才会成为正式词组,并提高优先级别。

需要注意的是,在进行枚举自动造词的时候,是以编码对应的字、词为单位来进行组合的,并不是以单字为单位的。例如,在输入声笔stbp 系列xxld 码msaa后,生成的词组为「声笔系列码」「声笔系列」「系列码」,而不会生成「声笔系」「笔系列」「列码」等。另外,如果之后马上使用了退格键,系统就会自动删除所造的词组;中间夹杂有非汉字的话,也会中断造词。

(2) 词组删除

由于飞码是采用的自动造词策略,在提供方便的同时也会产生大量的废词,所以系统提供了废词清理功能,能够将用户几乎不使用的新造临时词组自动清除。对于少量暂时还未被清理的废词,用户不必理会,到时限后就会被自动删除。在必要的时候,如用户错误地确认了临时词组,系统也提供了手动删除的手段,方法是先将光标移动到该词上面,再按Control + Delete键来删除。注意,如果是非临时词组,需要删除两次才能删除。第一次删除时只是把它变成了临时词组。

6.5 增强模式

为了缩短常用词组的码长,提高输入效率,特为飞码提供了210高频数选简词,可以在增强模式下使用。

如果要临时使用增强模式,在电脑上可以用Ctrl+~或F4,在手机上直接点击状态栏的「常规/增强」项,就可以切换状态了。如果要将增强模式设置为默认状态,只要将sbfm.schema.yaml文件中的is_enhanced开关项的reset值由0改为1,并重新部署一下就可以了。

(1) 编码方式

数选简词的编码方式为声母加数字。当数字为23789时,表示第二字的首笔,在QWERTY键盘上的位置与aeuio依次对应,便于记忆,且容易击打,此为第一组。当数字为14560时,为无理编码,与笔画没有任何关系,此为第二组。为了便于用户使用,在输入声母后,对这些简词进行了提示,第二组默认需要用Tab翻页才能显示,如下所示。

image-20220714061653392

image-20220714062014384

建议用户在初学数选简词的时候,仅练习和使用第一组就行了,否则难度太大。待第一组数选简词完全掌握后,再学习第二组。此时,可以修改一下方案的schema文件,将sn2的initial_quality调整为12,高于sn1的10,这样第二组就会在第一页显示。

image-20220714063351656

(2) 数选顶屏

数选简词在输入数字后并不会立刻上屏,但是可以在后接其它字词时被顶上屏幕。因此,除了在需要立刻上屏时,是不会有用键损失的。这种延迟上屏的设计是为了便于在误顶屏的时候进行修改,毕竟数字键距离远,按错的概率要大些;同时,也与顶功编码延迟上屏的习惯一脉相承。

例如,在输入w7后,「我们」并不会立刻上屏。这时,如果后面要输入「要」字,那么在输入y时,「我们」就会被顶上屏幕。

另一方面,当数选简词接在其它字词后面时,还可以通过延迟顶屏来省略空格。

例如,在输入「我今天」时,通常是用wj3(其中表示空格),但是由于有了延迟顶屏,其中的空格是可以省略的,即只用wj3就可以输入「我今天」了。

再如,在输入「要考虑」时,通常得用yx_k8,但是由于有了延迟顶屏,就只用yxk8就可以输入「要考虑」了。

(3) 修改定制

如果用户觉得系统提供的数选简词不理想,还可以对它们进行定制。定制的方法是,将相应的词典文件(在声笔可定制词典扩展包里)复制到用户文件夹中,对其进行所需的修改,重新部署一下就可以生效。在修改的时候,一定要按照词典的格式进行,首列为词条,第二列为编码,两者之间以制表符分隔。

6.6 单字模式

如果在输入的时候,突然遇到离散大的文字,需要以单字为主来输入,那么在电脑上当有编码输入时可以按F6快速在单字和词组模式之间切换,在手机上则简单地点击状态栏的相应状态即可,如下图所示。在单字模式下,若第三码用大写,则仍然可以输入常规词组。

单字模式切换

如果用户想打开飞码时默认为单字模式,那么可以修改其schema文件,将pro_char项下的reset设置为1,如下图所示。

image-20220718013835344

7 衍生方案

7.1 声笔飞讯

声笔飞讯,简称飞讯,是基于飞码的衍生方案,其特点是所有二简字在输入的时候可因为顶功而省略空格键,因此具有更短的单字平均码长,而词组的码长相对较长,所以属于主单的输入方案,擅长离散文本的录入。为了让词组的输入更顺畅,飞讯采用了延迟顶屏,具体来说延迟了一至两码来顶单字,属于42和52混合延迟顶的范畴。

飞讯与飞码的差异很小。可以说,只要学会了飞码,也就基本上学会了飞讯,无需太多额外的学习,了解一下规则就行了。关键是,要形成不同的输入习惯,这就需要一定的时间。如果想能自如的在不同场合切换飞讯和飞码来使用,那就需要更多的时间来适应了。

飞讯的单字输入与飞码几乎完全一样,唯一的差别是输入二简字时,飞码一般需要空格上屏,而飞讯则可以省略空格。例如,输入「入」和「双」字时,飞码的用键为rp_sa_,而飞讯的用键为rpsa,不过上屏会延迟一码或两码。

飞讯的词组编码,只需将飞码词组的第四码换成末字的前两个笔画即可。

具体来说,飞讯二字词的编码格式为s1z1s2b2b2,例如:一直yhzei 大佬delui 简码jpmeu 半角bdjua 蝴蝶hcdia 奔驰bdcaa等。由于飞讯的词组输入需要五码,所以在用单字输入的时候不超过五码的二字词是不建议用词组的方式来输入的。不过,为了降低使用难度,飞讯并没有禁用低效的词组,而由用户自己选择何时使用词组方式。有的时候,为了手感,也可能会用词组。

飞讯三字词的编码格式为s1s2s3b3b3,例如:计算机jsjei 新世纪xsjaa 大无畏dwwia等。三字词一般建议使用词组的方式来输入,以便节约用键。可能的例外情况是由两键字(一、二简字和声笔字)构成的三字词,如「好起来」「不知道」等,它们用单字输入也才六键,而键速可能更快,因为单字更容易形成条件反射。具体怎么打好,就看用户自己的使用习惯了。

飞讯多字词的编码格式为s1s2s3b0b0,其中的0表示末字,例如:呼风唤雨hfhei 风雨同舟fytuu 生龙活虎slhie等。考虑到有的成语用字比较生僻,飞讯也支持第四码用声母,但是得用大写来输入,例如:呼风唤雨hfhY 风雨同舟fytZ 生龙活虎slhH等。

如果用户习惯一直用第四码大写来输入多字词,那么就可以将飞讯schema文件中Translator下的enable_filtering选项设置为true,以过滤掉sssbb上的多字词,以减少重码,如下图所示。

声笔飞讯Filter

在数选简词方面,飞讯与飞码是完全一样的。另外,飞讯的词组也是支持扩展编码的,在重码多的时候,可以追加首字的前两笔来快速区分重码,但是多字词第四码用大写输入时不能使用扩展编码。

还有,在飞讯延迟顶的位置,是无法使用sbb字的,因为后三码被当作五码词组的一部分了,sbb字只有处于编码的开始位置才是有效的。

比如,在输入「狂kq」「喘cia」时,「kqcia」是常规词组的空间,上面往往会有其它词存在,产生冲突,从而无法将「狂」字顶上屏幕,如下图所示。

image-20220116113205583

为了解决这个问题,特提供了巧妙的办法。分为两种情况,一是没有后续字词,需要立即上屏;二是有后续字词,可以利用顶屏。在第一种情况下,可以采用编码变换用回车将其变为「狂喘」上屏。在第二种情况下,可以大写后续字词的第一码将「狂喘」招回并顶上屏幕。

如果用户不喜欢延迟顶,而且希望随时能使用sbb字,可以切换到单字状态,或者设置为单字状态,切换和设置方法与飞码相同。但是,这样的话就不能使用常规的五码词组了。

7.2 声笔飞单

飞单可以看成是只有单字和数选简词且可自定义主码表的飞码。在飞码系的所有方案中,飞单是唯一能够修改主码表的方案,其配方也简单得多,修改起来非常容易,没有其它非必要项的干扰。如果不想对主码表进行修改的话,使用飞单和使用飞码的单字模式没有什么区别。一些有想法、有能力的用户很需要这种定制能力,希望完全掌控码表,随心所欲,改得来完全适合自己的习惯。

如何对飞单进行定制呢?这属于Rime输入法平台的一般内容了,请参见Rime的官方网站Rime官网,上面有详细的讲解。

7.3 声笔飞整

声笔飞整是声笔飞码的整句模式。它不需要考虑单字、二字词、三字词和多字词的不同编码规则,只需要知道单字的编码就可以进行中文输入了,而且每个字都可以用2-4码,能大大地提高转换的准确性。但是,它的缺点是,在输入发生错误后回改的成本高,对离散程度高的文本尤其如此。所以,声笔飞整仅适合录入简单的连续文本,或者供声笔飞码和声笔飞讯的初学者使用。

下面举例说明一下声笔飞整的输入方法。

例1:我们大家都喜欢研究输入法

飞整例子1

在例1中,我w_是一简字,需要用空格作为第二码;大de 家jo是声笔字,其余的都使用声部形式(声母加部首的形式)。这个例子按照规则输入后就完全正确了,不用任何回改。

可以看出,在转换完全正确,不需要回改的时候,输入过程是非常流畅和舒服的。相比搜狗拼音之类的双拼整句方式,声笔飞整的转换准确率会更高,因为一简字和声笔字是固定不变的,而且飞码前两码离散重码的能力本身就很强。

但是,并不总是这么幸运的,如下例动画所示。

例2:声笔系列码的顶功特色

飞整例子2

在例2中,bpmsdygg转换的结果并不是顶功而是定工,需要连续按两次7将声笔系列确定,按三次8将码的确定,最后按空格或者6上屏特色两字。在这个例子中,需要多次选择操作才能把要上屏的内容修改正确。

在需要回改时,声笔飞整提供了一种快速定位的手段,可以利用数字1234将光标一次性地定位到待定的第1至4个音节之前,用5将光标定位到最后,而TAB可以快速从当前位置向前逐个音节移动。对于声偏字,还可以追加一至两个笔画来筛选重码,提高转换的准确率。同时,在以声笔字结尾时,在两码后就可以用aeuio代替67890进行重码选择,在操作上更加便捷。

附录一:飞码的编码格式

在后面各方案的编码格式中,采用了一下表达方式。

  • z = p|b
  • s = p = [qwrtsdfgzxcvbyphjklnm]
  • b = [aeuio]

^表示起始顶屏码位,字母后的数字表示词组中的第几个字,0特别地表示末字;'表示码长调整位;s表示声母(大写时表示用大写字母输入),p表示偏旁部首,b表示笔画,|表示或者,z表示p或b。s 和 p 均采用 aeuio 以外的 21 个英文字母,b采用 aeuio 这几个元音字母。

(1) 飞码

为了便于用户总结和记忆飞码的基本内容,现将飞码字词的编码格式总结如下。

  • 单字 sb, spb^b
  • 二字词 s1z1s2z2^'b1b1
  • 三字词 s1s2s3z3^'b1b1
  • 多字词 s1s2s3s0^'b1b1

(2) 飞讯

飞讯的编码格式,单字二码顶,词组五码顶,多字词也可以用一二三末声母输入,但第四码要大写。

  • 单字 sb, sp^bb
  • 二字词 s1z1s2b2b2^'b1b1
  • 三字词 s1s2s3b3b3^'b1b1
  • 多字词 s1s2s3b0b0^'b1b1|s1s2s3S0

附录二:飞码的强化训练

飞码子系列的定位是专业型的音形输入法,它们不仅用于一般的工作和生活中,而且也适用于竞速和打字比赛。飞码是主词的,飞讯是主单的,各有特点,可以根据不同的应用场景来使用。为了提高打字速度,在比赛中取得好的成绩,往往需要高强度的训练,对常用字词的输入形成条件反射。为了配合这种训练,特准备了强化训练文本,供打字训练软件使用。强化练习文本可在声笔系列码QQ群445906697的共享文件夹下载。

强化训练可以按以下步骤进行。

  1. 126个高频单字:包括21个一简字和105个声笔字。
  2. 441个声部单字:即441个由声母和偏旁部首编码的两码字。
  3. 210个数选简词:含105个有理数选和105个无理数选。
  4. 最高频500字:即现代中文里出现频率最高的500个字。
  5. 次高频500字:即现代中文里出现频率次高的500个字。
  6. 最高频800词:即现代中文里出现频率最高的800个词组。
  7. 次高频800词:即现代中文里出现频率次高的800个词组。
  8. 单字编码提示:用于打字练习时在打字软件中提示单字的编码。
  9. 去跟打群实战:即各大QQ跟打群和网络打字平台。