声笔飞码

1 飞码概述

声笔飞码,简称飞码,是在输入法界影响最大的顶功输入法,可以说是它直接或者间接地激发了其它非声笔系列顶功输入法的产生,它还包括了声笔飞竞和声笔飞讯两个衍生输入方案。

1.1 适用场景

飞码是一种全场景顶功编码输入方案。一方面,它能在纯单盲打方面大放异彩,以超短的平均码长取得极高的输入效率,适用于冗余度小的复杂文本,如文言文、散文和诗赋等。另一方面,它可以巨型的词库来轻松和高效地应对具有大量非单字词汇的高冗余度文本,如政经、科技和医学类文章。居于两者之间的文本,则可以采用以单字为主,兼用词组的方式来输入。无论哪种情况,飞码都能很好地适配。这是因为飞码具有相互关联的多个衍生方案,供用户根据不同应用场景无缝切换使用,基本上不需要额外的学习成本。不管是日常工作学习使用,还是参加打字比赛,飞码都能完美胜任。

反观五笔、小鹤音形和二笔等传统四码输入方案,它们只有主词模式。纯单的用户无法缩短码长,字词型用户能用的词组空间有限,选重不方便。在实际使用时,一般也无法自动造词和动态调整频率甚至码长。

1.2 比较优势

提到定位于高效的专业型输入法,一般人想到的大都是五笔字型。然而,目前在专业型的输入方案中,飞码的综合性能才是最好的,所以有不少五笔用户都转学了飞码。

无论对单字派还是词组派来说,飞码在码长和击键方面都优于五笔,从而具有更快的打字速度,因为打字速度=击键×60÷码长。而且,飞码比五笔的习得成本更低,词组能力也强大得多。

1.2.1 更短的码长

对于单字派来说,飞码纯单模式的优势是让五笔望尘莫及的。在都采用纯单字输入的时候,若以码长来衡量,飞码纯单模式的码长要比五笔短35.27% = (3.26 - 2.41) / 2.41 * 100%,其中3.26为五笔的码长,2.41为飞码的码长,这里均计算了空格,均不含非汉字符号如标点和数字等。

即使在主词模式的时候,飞码单字为二简字时一般需要空格上屏,但是三简字仍然可以省略空格而比五笔短,比五笔短了20.74% = (3.26 - 2.70) / 2.70 * 100%,而且飞码拥有更强大的词组能力,可以使用更多的词组,从而进一步缩短码长。

1.2.2 更快的击键

包括选择键在内,飞码只使用了27个键,而五笔使用了37个键,多用了10个数字键。五笔的正常编码虽然没有使用z键,但是用它做了通配符进行模糊输入。飞码则在首码空出了aeuio,用于强大的编码反查等功能。

虽然在小词库的时候,五笔可以调整选重键到分号、单引号,或者到左右shift键,从而在大多数情况下避免使用数字选重,但是为了防止在个别情况下使用,仍然不敢将数字键挪作它用。在巨型词库的时候,五笔就会大量用到数字选重了。飞码使用aeuio兼作选重键,比分号和单引号等容易操作,更比数字键容易操作,所以能够达到更快的击键,在手机上也更容易保持一致的习惯。

1.2.3 较低的成本

五笔最受诟病的一点就是它的难度太大,字根和拆分不规范,习得成本太高了。而且,五笔没有渐近学习的手段,会拼音输入的人再学五笔也不会捡到任何便宜,一切都得从头开始。这就导致它的学习曲线陡峭,无法短时间内投入正常使用。高筑的学习门槛让大多数人望而却步。

飞码使用了声母、笔画和部首进行编码。声母和笔画都是国民教育的内容,也是汉字最简单、最易记的属性,基本上不用学习。部首是困难的部分,但由于一般也是取规范的字典部首,且以音托为主来确定按键,所以比五笔字根学习起来要容易得多。

同时,在声笔体系中,很多人可能会先学习和使用最简单的声笔简码或其它比较简单的输入方案,然后再升级到飞码。那么,飞码的学习难度就会大大的降低,大量共有的内容都已经掌握,只需集中学习部首就行了,习得的过程变得非常平滑。

1.2.4 强大的词组

(1) 词组能够独享空间

五笔的四码空间是字、词共享的。当字和词的编码相同且常用程度又差不多时,究竟应该把字排在前面还是把词排在前面,是一个很伤脑筋的事情。当收字量和收词量大幅度增加的时候,发生编码冲突的可能性也会大大增加。

飞码的字、词编码空间是分离的,字的编码永远不可能与词的编码发生冲突,词的编码享有独立的空间。所以,字和词的重码排序可以分别进行,收录的字、词数量再大也不会对此产生影响。同时,还便于对字和词采用不同的调频策略,只允许词调频,以便调教词库,而不允许字调频,以便形成条件反射。飞码的字、词甚至具有不同的最大码长,字的最长码为4,而词的最长码为6。

(2) 扩展编码和字母选重

五笔的编码空间大小是固定的,不可扩展的。当字词收录数量达到几十万甚至超过百万时,重码和翻页的概率都会大大增加,数字选重和频繁的翻页会使打字体验迅速恶化。所以,五笔一般都不会采用大词库,对收词数量做了严格限制。这样一来,词组打空的概率又会增大。解决办法就是记住哪些词组能打,哪些词组不能打。由于常用词组量级都有数万,其记忆量是可想而知的,一般人根本不能忍受。故而,在五笔打字圈内,主张只打单字的单字派呼声相当高。然而,五笔的单字输入效率并不高,与飞码纯单模式相比更是差距很大。

飞码则不一样,当四码的重码在一页以内时,可以用aeuio进行字母选重,改善选重的体验;而当遇到重码的重灾区,重码超过一页时,也不必翻页,而是追加首字的前两笔作为扩展,相当于将编码空间扩大了25倍,就可以快速过滤重码,避免频繁而低效的翻页操作。

1.3 主要内容

本文将详细讲解飞码方案,然后对照飞码,各花一节的篇幅来讲解飞讯和飞竞,只讲有区别的地方,以免重复、罗嗦。如果用户是单字派,那么只需要学习飞码初步即可。

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

强调一下,飞码是声笔系列码中效率最高,也是难度最大的。对于没有经验的初学者,一定要仔细阅读教程并对照例子来理解,不要试图拿着就开打。那样会遇到很多问题,而且也可能走不少的弯路。如果觉得难度太高,建议先使用声笔简码过渡一下。

2 飞码初步

2.1 特征信息

飞码采用声母、笔画和部首这几种汉字特征信息为单字进行编码,再根据单字的编码为词组编码。所以,需要首先了解这些特征信息。

2.1.1 声母笔画

详见:声母和笔画

2.1.2 偏旁部首

飞码使用的偏旁部首,简称部首,一般就是查字典时用的偏旁部首,以音托为主、形托等为辅确定其代码,从而映射到键盘上,所以记忆难度比五笔字型小得多。

2.1.2.1 部首类型

部首分为成字部首和非成字部首两种。

成字部首取其拼音的声母作为代码,如:气 q、韦 w、人 r、田 t、又 y、疋 y(音为 ya)、片 p、镸 z(长字音)。飞码的部首大多数为成字部首。

非成字部首一般取其名称拼音的声母作为代码,如:勹 b(包字头)、灬 l(烈字底)、廾 n(弄字底)、攴 q(敲字旁)、攵夂 夊 w(反文旁)、亠 w(文字头)、彐 x(寻字头)、罒 z(置字头)、巛 z(甾字头)。但是,有的非成字部首取其起笔名称拼音的声母作为代码,如:丶冫氵 d(点起笔)、 丿彡(撇起笔);有的非成字部首按照形状相似来确定代码,如:忄(像小写字母 l)、廴辶(像 L)、衤礻止(形状勉强像 N)。

2.1.2.2 助记方法

为了减轻初学者的记忆负担,手机上提供了助记皮肤,如下图所示,可以长按上N键打开或者关闭助记。如果是在电脑上,则可以把该图并放在电脑桌面上,在打字的时候帮助记忆。

img

2.1.2.3 部首位置

与字典的部首类似,飞码所取的部首可能在前面也可能在后面,例如「墓募慕蓦暮謩摹」这些字如果均取「艹」作为部首就会产生大量重码,而取「莫」下面的部分作为部首则可以有效地区分重码。这么做给不熟习查字典的初学者带来了一定的困难,但这是为了获得强大离散能力必须作出的牺牲。

不过,只要掌握了一般的拆分原则,举一反三,绝大多数困难都会迎刃而解。这个拆分原则是:尽量直观二分后按顺序取部首,前部不是就取后部,但是单笔画除外;若都不是部首,则继续拆分。注意,为了尽量离散重码,存在个别例外。若偏旁部首本身是一个成字,那么就取它的第一个笔画作为部首。

2.2 单字编码

飞码单字的编码为声母 + 部首 + 去掉部首后剩余部分的前两个笔画,一共收录了GBK的2万多字。需要注意的是,如果一个字本身为部首,那么其编码方式特殊,问题比较复杂,将专门在部首编码一节详细讲解。还要注意的是,「戴」「威」「咸」之类的字在取部首「戈」后,笔画需从首笔开始,因为按照笔顺写字的时候「戈」会被拆开,不是连续写出来的。

飞码输入单字时采用出简不出全的策略。小于四码的字称为简码字,否则称为全码字。简码字分为三级,分别为一简字、二简字和三简字,对应的码长分别为一码、二码和三码。出简不出全是说,有简码字的时候就必须采用,这些字是不存在全码的,即所谓的强制简码。之所以这样设计,与飞码的定位有关。飞码的目的在于进行高效的输入。强制简码不仅有利于缩短平均码长和节约编码空间,还有利于用户形成单一的条件反射,即俗话说的肌肉记忆。

对于比较常见的全码字,特别是需要选重的四码字,还设计了缩减码,以便缩短它们的码长,但不是强制使用的。缩减码不能用在词组编码中,词组只能用单字的常规编码来生成。

2.2.1 一简字

一简字有21个,只需输入声母,然后空格上屏。一简字的使用频率是最高的。为了便于记住一简字,可以采用一个顺口溜,详见:一简字

2.2.2 二简字

二简字的格式有两种,它们是sb(声母+首笔)和sp(声母+偏旁部首),分别称为声笔字和声偏字。与传统输入法一样,声笔飞码的二简字一般需要加空格上屏。当然,如果后接的是数字、标点符号等非编码字符时,这个空格仍然是可以省略的。

2.2.2.1 声笔字

声笔字有105个,它们的使用频率很高,仅次于一简字。声笔字增加了飞码的复杂性,却增强了飞码的离散能力,更重要的是给飞码带来了巨大的灵活性,为后起的优秀主单方案飞讯的诞生创造了条件。为了便于记忆和练习,把声笔字编成口诀,详见:声笔字

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

由于声笔字与其它字有着不同的输入路径,为了避免用户死记,在输入声母后,对它们进行了提示,如下图所示。初学者在记住声笔字前,需查看提示中有没有想要的单字,没有时才输入后面的编码,否则可能漏掉它们。

image-20220718010239839

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

image-20220718010331258

2.2.2.2 声偏字

声偏字有441个,其使用频率也比较高,仅次于声笔字,例如:加jl 尽js 量lq等。以下按使用频率从高到低列出了飞码的所有声偏字:

到地要这时以之生后能只们身多已都知声又作两于老法点所行现情但主什定三样本向实问女十气将与走些理间其再等才工学业相很关因文何却听少目被打新便月先位最山引信加处太光入并由风表报难死长今四金怎果放马西觉美接叫比连场市望解性原轻世王教特托重通产任电脸常东路张受各记冷著爱活必吗清官变该管未长指谁江带认言华往吧题完林许武干形反呢条它重区容北统服红量跟落满告拉娘即吃尔空传远领息玉则改办令半请基房象科克势持杀德议或期突男每喜刻客刚哥界乎根八首苦组企府尽孩台际千整布般刀忽宝沉曾欢忙害复施拿爷项广姐啊钱热念黄查星护楚乐段句况证古费怀存痛另毒参权环派否兰木停乱节旁莫敌穿调妹副案梦朋齐初礼斗围协堂春胡妇耳脑份肯考益跳忘柔土置良跑排屋脱供狂按察积猛草魔辈范婚毛练困饭替配凤港欧宁普舞握婆妻卡弄徒软控坏犯纳肉丹巧奥杂牛凝域偏弱误牌横努判抢贸额狠摸墙趣闹碰培鼓搞壁妖暴票岸俄凭瑞幕旋敏穷绕颗匹骗番凯耐违亏粉艾埃哀埋末繁跨泉暖扭扰庞贤罚刃糖卧燃阔愕萍饶畏笼炮纹囊旺会阮乳妒筒颁鹅鞍髯筷壤癌珂鄂褥曝锷疟狨艉乂

注意,在声偏字中,有少量字是不常见的。例如,上面列出的最后三个字「狨艉乂」,相信大多数人都不认得。百度一下就知道了,「狨」的读音为róng,「艉」的读音为wěi,而「乂」有两个读音ài和yì。

2.2.3 三简字

飞码的三简字格式为spb,即声母加偏旁部首再加剩余部分的前一个笔画,例如:慕mxe 覆fxu 您nxu等等。这类字数量庞大,有2135个之多,其中不乏常见的字。

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

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

传统输入法的三简字一般是需要空格上屏的,而飞码的三简字在连续输入时是无需空格键的,可以被后续字词的编码顶上屏幕。当然,如果没有后续的输入而要立刻上屏的时候,仍然需要空格。但是,这种情况在正常的输入过程中是很少见的。三简字不需要空格上屏是声笔飞码的单字输入比传统输入法高效的一个重要原因。

下面列出了300个比较常见的三简字。

动真己种神住者机使么水合展色更感化总第做政建数制像步近系万师结算命花云及度至亲思五件海计社交深斯保似员书决务衣元物龙义青车程求济李惊黑军找石早取微流战离虽据收资百字失倒弟式论紧奇竟候影绝术伤士司众随设院父急语兄党城技怪精举罗姑识共队运敢格治京谈答单照确断足示图留始铁香准七待英导错帮行联兴约夜低仍招消观易志功规提越哪送周阳局愿母甚阵备群终应底团巴故血静闻脚模包酒注依希喝显须严左村省摇装类汉居具哈灵标研冲击挺雷纪选需专谢雪尚退优银器兵细异续湖赞树背育怒君右独够疑宫席态闪效病赶摩料救责历顾嘴速较陈境缓称史药负抓差型采继威吉妈寒丽顶亮医号雨温杨烈职假游扬忍您索圣眉座鬼险涉承胜修创慢划激私列咱秋叹播简县

2.2.4 全码字

声笔飞码的全码是四码,编码格式为spbb,即声母加偏旁部首再加剩余部分的前两个笔画,笔画不够时重复末笔即可,例如:码msaa 巨jkae 瞄mmei 九jpaa 甲jqii等。

与五笔之类传统输入法不同的是,在出现重码字时,飞码采用了更加快捷的选择方式,不是用不方便击打的数字键,而是用主键区的aeuio来进行选择,如下所示。注意,在这个时候,aeuio不再表示笔画,仅仅是充当了无理的选择键。

image-20220718010457098

在待输的字不是简码字,而且输入的编码正确时,如果本页没有所需的字,则用Tab键翻页查找,而Shift+Tab则用于反向翻页;如果通过翻页还是找不到所需的字,则该字肯定不在GBK字集中,是没有编码的,此时只能用两分反查来输入该字。

下面列出了300个使用频率相对较高的全码字。

直剑极火达视音坐委代切掌友集九站久商增响支究造亚六诉既呼追级争革止构露楼致讲助值室角户河价族余禁睛写仅仙庄呀阴州睡刘掉贵律亦震寻叶守松属警艺执源顺欲泪略燕渐顿获宣演钟胸吸限检压虚劳推劲朝烟败园邪试读含沈浪硬厂坚巨雅伊吴剧透晓桌毕泽杯油朝介纵洲健述秦测侠诗针版魂尖懂转敬丝宗郎诸挑熟喊侧豪盖闭拥训销迹叔胆折凶飘洋舍操塞减纸释森材圆唯竹奋奶遗枪映质颜夺菜贼补伏勇附途昨亡诚盟吻博吟宽珍怔稍惨烧择逐缘皆佳乘奖纯阻扎振奉扩瓦萨躲抵羽欣怨码吐忠忧延壮梁碎投箭灭戴净距呵汗拒陵典丢凉莲粮祝赤蒂彻莱臣醉桥惯曼纷抚沿启朵冬侍恋伍赫桑仪镜忆衫洗辞嘿页悉恢永潜眸逸暂洁慧盯傅潮浩挡载帐鸡琴拖锦浮唤莉绪降翼键妮售翠密屈愁厌

2.2.5 缩减码

虽然飞码的离散能力是很强的,但是仍然存在个别需要选重的非罕见字。为了缩短它们的码长,通过声母加前两、三笔的方式为它们提供了更短的缩减码。需强调的是,缩减码不是强制使用的,用户不用它们也是可以的,使用正常编码就是了。

例如,「瞄」的正常编码为mmei,还需要用e选择上屏,而它的缩减码为mia,可以节约两键。再如,「代」的正常编码为drea,虽然是四码的首选,因为该字常见,所以也提供了缩减码dui,可以节约一键。

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

image-20220718010904338

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

下面列出了飞码的188个全有理的声笔笔字,它们都是全码时需要选重的字,也就是说正常码需要五键才能输入,而采用缩减码就只需要三键了。其它类型的缩减码就不再专门罗列了,反正在输入的时候有提示,觉得有必要才用。

隐印洪鲁舒宋俊朗阁苍陷截霞卓筑廷订挣邀玲虹瞬柄喘衡岩邻奏浅幼凄鞋脏誓糟屠懒愉纱骤滋添蓦抑蜜肌催奇颤谨谊哇煤逗栏凛咒钉契竭睹舱掏叟帆碑杭瞄晰佐瑜砸硕於眶峨浸衙钧潇妓纲缴逾沛驴傍娅膊蹙虞亨陋诛咙罐菩炽蛟兑膜霖犀甸删猩聋辕蚕瑾迄哽讼闵嵌屏祺忡迳憋佬奄戮朔飒翟簌钵杠雌辐羿隧阖绚辄暨屎猖圃鹊紊嗫茸鹉逵妩烨渎瘩锈蹋倜阑尾汾阈渭燎扈霁铝秧缈硝稠糗骅悖碳驸焊璜羲豺衾釜糜徵诩肪嫱遑徇雹龌姝骠

为了便于用户对不满意的飞码缩减码进行调整,还特别提供了fmzdy词典,该词典是放在声笔可定制词典扩展包中的。用户可以在该词典中添加条目来新增或者替代现有的缩减码。

2.2.6 部首编码

偏旁部首一节,介绍了部首的类型、助记和位置,知道部首分为成字部首和非成字部首。本节对部首进行细分,并讨论它们的编码,这是学习飞码的一个难点和重点。成字部首细分为常规部首、声笔部首、变形部首和特殊部首。非成字部首细分为易显部首和难显部首。

(1) 常规部首

下面列出的就是飞码的所有常规部首,其编码规则为:声母+用hspdz表示的首笔+用aeuio表示的剩余笔画,笔画不足则重复末笔。

气欠犬青其韦韋文瓦王人田土业页頁衣羊言音酉十山尸石矢舌身鼠示食殳豕刀歹斗鬥豆风風父缶工弓戈瓜革骨鬼艮一户火禾黑己巾斤見臼角金龙鹿耒卤鹵乙舟豸隹足爪爿長夕穴血辛厂寸车車虫赤辰齿齒彳耳月羽鱼魚雨聿八女鸟鳥止马馬门門毛木皿目米麻母

例如,「气」的编码为qp,是个二简字;「青」的编码为qhe,是个三简字。

注意,「一」特殊,编码为y,是个一简字,但是用在二字词和三字词的编码中时可能会用到第二码,按这里的规则第二码就应该为h。

再如,「乙」的编码为yza,追加了一个末笔,其中第二码用z,重复的时候又用a,这是因为第二码是作为部首来对待的,而第三码是作为笔画来对待的。

(2) 声笔部首

以下是按声笔字编码的常规部首。由于声笔字优先,所以它们第二码的笔画用aeuio,而没用zhpsd。

日用片皮手大方几见口力立里子自小心二儿

(3) 变形部首

变形部首是因为其形状类似某个部首,所以就把它们放在同一个键上,这是沿袭一般汉语字典的做法。它们的编码规则为:声母+主部首+前两笔。这种部首只有四个,其中「曰」归入「日」,编码为yqi;「士」归入「土」,编码为ste;「毋」归入「母」,编码为wma;「已」归入「己」,编码为yj。

曰士毋已

(4) 特殊部首

特殊部首有下面几个。为了离散重码,它们没有取首笔作为部首,而是用了其子部首作为部首。「广」取「厂」,编码为gc;「走」取「土」,编码为zt;「麦」取「夂」,编码为mwe;「龍」取「立」,编码为llia。

广走麦龍

(5) 易显部首

易显部首没有读音,所以只能直接用笔画反查的方式来输入,一般需要重复末笔。

犭攴攵夂夊亠亻讠尢疋丿彡饣飠丨厶丶冫氵癶扌宀冖虍钅釒纟糹囗匚凵冂刂忄廴辶灬爫丬罒镸巛覀彐糸艹屮阝卩勹丷牜衤礻廾毌

例如,「犭」的输入方法如下,多次重复了末笔撇:

image-20221104154429914

(6) 难显部首

难显部首有下面几个。虽然难显部首可以直接用笔画编码,但是由于一般在输入法中无法显示,所以就不能输入。

竹字头(如筑的上边)、足字旁(如跑的左边),学字头,肖字头,病字旁,牛字头(如告和靠的上部)

2.2.7 特取字

为了离散常用字的重码,以下一些字采用了特殊的部首取法,故称特取字。

「敌」字的部首没有按顺序取「舌」而取了「攵」

「或」字的部首没有取「戈」而取了「一」

「重」「 垂」取的是最下面的「二」而不是首笔撇

「奏」「三」取的是上面的「二」

「某」取的「艹」而不是「木」

「世」和「甘」取的「艹」而不是「一」

「半」取的「丶」而不是「八」

「东」取的「一」而不是「小」

「点」取的「卜」而不是「灬」

2.3 编码反查

在使用飞码的时候,特别是在学习飞码之初,不可避免地会遇到不会打的字。怎么办呢?程序提供了丰富的反查手段,可以通过笔画、拼音和声笔来反查编码和部首,还可以采用字海两分来反查和输入非GBK汉字。对于GBK汉字,反查的结果不仅会显示编码,而且会显示拆分的部首,以方便理解。另外,还通过反查提供了临时拼音输入法。

2.3.1 拼音反查

在知道拼音而不知道字形时用i引导拼音反查,注意零声母要用v充当。

例如,要反查「防」字的编码,就在输入i之后再输入它的拼音fang,所以实际的输入为ifang,结果如下图所示。「防」字的反查结果为fvo【阝】,说明该字的编码为fvo,其部首为「阝」。如果是多音字,那么就会有多个编码,如图中的「房」字就有fh和phoe两个编码,但是都是以「户」作为部首。

image-20221027164834786

对于零声母字,如「案」字,在反查时除了用i引导还需要在正常拼音的前面加v,因为an是零声母音,所以实际的输入为ivan。在图中提示出的案vm【木】,表示「案」字的编码为vm,其部首为「木」。

image-20221027165002241

2.3.2 声笔反查

在知道声母和笔画,只是不知道部首时,可用声母和前三个笔画进行反查。声笔反查是不需要引导的,直接输入就行了。

例如,要反查「魔」,直接输入它的声母m和前三笔的编码oeu就会出现以下结果。

image-20221027162315333

2.3.3 笔画反查

在完全不知道读音的时候,直接用aeuio按顺序输入笔画进行反查,无需引导。

在下面的笔画反查的例子中,不用引导而直接输入uuao后,出现了以这四个笔画开头的字。第一项是反fy【又】,表示「反」字的编码为fy,其部首为「又」。第二项为般bz【舟】 pzua【舟】,说明「般」是个多音字,有两个编码。

image-20221027154528725

2.3.4 两分反查

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

下面是字海两分法查找的例子。第一个例子是反查「龖」字的编码,在输入到第二部分拼音的第一码时就出来了。第二个例子是通过输入「尸」和「水」的拼音来反查「尿」的编码,输入了两部分完整的拼音。

image-20221027165515803

image-20221027165541151

对于非GBK字集里的「㕛」字,它是没有编码的,只能用两分法来输入,如下所示。此时,需要移动光标选中该字,然后再用空格上屏。

image-20221027172030959

2.3.5 临时拼音

在一时半会想不起某个词中某个字的部首和笔画,而这个字因为不常见又不方便用单字进行反查时,可以用a引导临时拼音来变相地输入词组或者查到该字的写法。但是,对于反查出来的词组是不会显示编码的。

例如,「饕餮」可以用ataotie来查找和输入,而「耄耋」可以用amaodie来查找和输入。注意,用于引导的字母a是不会显示的。

image-20221028034848356

image-20221028035023136

从以上结果可以看出,临时拼音也兼具有拼音反查和两分反查的能力,但是并不推荐这么做,而应该用i来引导拼音反查和两分反查,这是因为用a引导时需要两次Esc键才能清除编码。之所以现在还保留着a引导的这种单字反查编码的能力,是为了兼容历史版本。

2.4 标点符号

详见:标点符号

2.5 中英混输

详见:中英混输

2.6 特殊符号

详见:特殊符号

2.7 单字输入

在了解飞码的编码方法和反查方法后,就可以边使用边学习和巩固飞码了。除非用户想在短时间内将飞码的打字速度提升上去,否则是没有必要专门花一段时间来进行集中强化训练的。

假设我们还没有记住任何字的码长,怎样才能做到在使用中学习飞码这种高效的专业输入方案呢?我们以输入下列句子为例来进行说明。

输入法对于任何学习和使用中文的人都是极其重要的。

单字的输入可以有下面两种方式,第一种是在词组状态下,第二种是在单字状态下。在输入二简字时,第一种需要空格上屏,而后一种则不需要。

2.7.1 词组状态

首先是「输」字。输入其首码,即声母s(不分平翘舌),查看所有候选项,没有找到该字。于是,输入第二码,即部首「车」的声母c,这时发现其选项不是该字,即可输入第三码,即除部首「车」以外的剩余部分「俞」的首笔「丿」对应的编码u,此时「输」已经是首选项了。

image-20221028044057756

image-20221208102806788

image-20221208102840727

接着,打第二个字「入」的首码r,首选项「输」被顶上屏幕,在提示的候选项中没有找到「入」。于是,输入「入」字的部首「丿」(称为撇)的声母p,该字出现在了首位。

image-20221028051303215

image-20221208103026358

在打第三字「法」之前,必须先用空格将上述首选项「入」上屏。「法」的输入方法与「入」类似,就不再赘述,结果如下。

image-20221028052340392

image-20221208103133647

接下来,用空格上屏「法」字后,输入「对」字的声母d,查看候选项,发现其后续编码为a,为声笔字。输入a后,「对」就 成为首选项了。

image-20221028052842559

image-20221208103213791

可以用类似的方法输入后续的「于任何学习」,其对应的编码为yv_rr_hr_xx_xda,其中的下划线_表示空格。

再接着打「和」字,输入其首码h时可将「习」字顶上屏幕。由于「和」是一简字,在打首码后立刻就出现在首位了。

image-20221028053810080

于是,用空格上屏「和」后继续输入后面的「 使用中文的人都是」,其对应编码为sreyu_zi_wd_d_r_dv_s

然后,用空格上屏「是」后再打「极」字,输入全部四码后它出现在了首位,过程如下图所示。与一、二、三码时的情况不同,在输入全码后,提示的非首选项为重码字,aeuio不再是作为后续的笔画编码显示在字的后面,而是作为选择键放在字的前面,此时的aeuio与笔画没有任何联系,其作用与传统输入法的数字选择键一样,仅仅进行无理选择。

image-20221028091933884

image-20221208103303687

image-20221208103332030

image-20221028092025182

假如此时想输入的不是「极」而是「枃」,那么就用Tab键翻页两次,再用e选择上屏即可,如下所示。

image-20221028094750497

image-20221028094809360

回过头,我们继续看怎么打「极」之后剩余的「其重要的」,不再有什么特别的地方,输入对应的编码qh_zv_yx_d就可以了。

最后,不必先用空格上屏末尾的「的」字,直接输入句号就能将其顶上屏幕而完成整句话的输入过程。

2.7.2 单字状态

按照上节所述的逐字输入方式,大量的二简字都需要用空格上屏。例如,上述例句中的「入法对于任何学用中文都其重要」这14个字就需要空格上屏才行,而这句话一共才23个字,占了超过一半!那么,有没有办法在逐字输入时省略这些空格呢?当然有!将飞码切换或者设置为单字状态就行了。

如何切换为单字状态呢?可以按Ctrl+~或者F4,然后根据菜单选项切换,如下图所示。

image-20221028103453712

image-20221115143603084

更好的办法是,在输入任何字的一、二码后,按F6在单字状态与词组状态之间快速切换。在手机上则简单地点击状态栏的相应状态即可,如下图所示。

image-20221115143924873

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

image-20221115145129111

在单字状态下,若第三码用大写,则仍然可以输入常规词组。所以,单字状态对于输入以单字为主的文本,而文本又含有少量复杂词组时,是特别有效的,在兼用词组时实际上形成了一种特殊的主单模式。关于词组和主单模式的问题,将在飞码进阶中详细论述。

3 飞码进阶

如果您是顽固的纯单字派,完全拒绝任何词组,那么就可以跳过本章,然后再跳到打字训练,做完强化训练后,就完成了您的飞码学习历程。否则,请继续飞码的词组旅程。

3.1 词组编码

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

3.1.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,虽然后者也是可以输入的。这样有利于对一简字形成条件反射,也有利于分化二字词的重码。

3.1.2 三字词

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

3.1.3 多字词

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

3.2 条件顶屏

飞码的单字除了三码字可以被顶上屏幕外,其二码字也可以在一定条件下被顶上屏幕,这是一种非常奇特的能力,是从飞讯反向借鉴过来的。条件顶屏,简称条件顶,是指在输入二字词的时候,若第一字为二简字而第二字为三简字或全码字时,可以追加第二字的第三码,将第一字顶上屏幕,前提是追加的第三码与选择键没有冲突。

例如,在输入「声笔」的时候,发现系统没有该词,而且「笔」字的第三码u又没有被重码词占用,那么在输入u的时候就会将「声」字顶上屏幕,留下「bpu」,对应的字正是「笔」。这样,就不必用退格键来清除「bp」两码,用空格先上屏「声」字,再输入「笔」字了。

又如,想打「点啐」,在输入dbck后,发现提示的内容如下:

image-20221106102912202

这时,首选项「的吃」的第一个字「的」并不是db对应的二简字「点」,但是在接着输入「啐」字的第三码o后,顶出的字却是二简字「点」,留下的三码cko,正好是「啐」字。

再如,想打「上例」,在输入silr后,发现为空码,提示是这样的:

image-20221106104220533

没有关系,接着输入「例」字的第三码e,顶出前两码si对应的二简字「上」后,留下了lre,正好是「例」字。

条件顶还有一种特殊情况,是在编码为空,并接着输入下一字词时,也会顶出前两码对应的二简字。

比如,想打「有偏移」,在输入「有ye」后,忘记了空格,输入完yepr,发现是空码,此时可以接着输入「移」字的首码y,将「有」字顶上屏幕。

所有这些例子说明,条件顶所顶出的字并不一定是首选项的首字,而始终是前两码对应的二简字。所以,熟练使用条件顶的前提是:对二简字要烂熟于心!条件顶的好处是,能够避免不必要的回改,从而节约按键,让输入变得更加流畅。

传统输入法,如五笔字型,在这些情况下,只能清除所有编码或者回退删除两码,造成了很大的浪费,而且影响了输入的连贯性。

3.3 大写巧用

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

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

五码顶屏飞码

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

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

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

3.4 编码变换

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

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

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

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

3.5 自定词典

详见:自定词典

3.6 LUA脚本

详见:LUA脚本

3.7 设置选项

详见:设置选项

3.8 字词混输

3.8.1 词组状态

飞码的默认状态为词组状态。在这种状态下,从码长的角度来说,有利于输入大多数现代文,适用于大多数人的应用场景,因为现代文是以词组特别是二字词为主的。但是,不好的地方是,二简字在单独使用时就需要空格上屏了。还有一个要求,那就是要分词后输入,这对有的人来说可能会成为一个难点。不过,在想打的时候,对一般的人来说,都是以词为单位打腹稿的,所以分词输入是一个很自然的过程。

我们还是以上一章中单字输入一节的句子为例,以词为主,进行字词混输,优先使用长词,以便缩短平均码长。结果如下:

输入法srfd 对于dayv 任何rrhr 学习xxxd 和h_使用 sryu 中文ziwd 的d_ 人r_ 都是dvs_ 极其jmqh 重要zvyx 的d 。.

可见,除了一简字外都没有用到空格,而且在二字词中的三简字和全码字也只用了两键,「输入法」这个多字词一共才用了四键,输入效率的提升还是比较明显的。当然,在遇到非首选字词时,还是需要选重的。

3.8.2 单字状态

飞码可以切换或者设置为单字状态,具体方法见上一章飞码初步里讲的单字状态。单字状态实际上可以当成纯单和主单两种输入模式来使用。纯单模式的用法已经在上一章讲了,现在详细讲解主单模式的用法。

主单模式是说,在单字二码顶的同时,仍然可以支持词组的输入。输入词组的办法是,第三码用大写字母。这有什么好处呢?好处是,在保持单字高效的同时,对少数用单字输入时效率很低的词组,仍然按词组的方式来输入。

效率很低的标准是什么呢?不同的人可能有不同的标准。有的人觉得,二字词用单字输入时超过5键就应该按词组来打,三字词和多字词均应按词组来打。另一些人觉得,二字词和三字词打单时超过6键才应该按词组来打,多字词一律打词。更有极端的人,可能认为二字词打单超过7键才打词。

下面是一些比较典型的大写打词例子:

蝴蝶hcDc 饕餮tsTs 耄耋mtDt 黑黢黢hqQh 汹涌澎湃xyPp 中华人民共和国zhRg

有的人对于打大写字母是心存畏惧的,特别是那不熟习英文输入的人,他们没有这方面的训练。如果用户想主单但又不想用大写字母,那么可以考虑使用飞讯。不过,飞讯也有自己的问题,最好权衡利弊后,选择适合自己的主单模式。

4 飞码高手

声笔输入法具有六项区别于传统输入法的核心技术:续码顶屏、字词分流、字母选重、扩展编码、动态码长和自动词组。有些技术在前面的讲解中,已经散在地谈到了,也体现在了一些例子中。为了进一步加深读者的印象,对它们有更深刻的认识,现在作为专题集中对它们在飞码中的应用进行归纳和总结,以便用户有意识地进行充分的运用,最终成为飞码高手。

4.1 续码顶屏

顶屏现象在传统四码输入法中也是普遍存在的。

例如,在搜狗五笔中,对于全码时的首选项,就不必用空格键来选择,继续输入下一个字词就可以被顶上屏幕;在后续标点符号的时候,首选项也可以被顶上屏幕。

但是,在非全码时,传统输入法是不能被后续字词顶屏的,而顶功输入法的顶屏主要就是指的这种能力,所以称为续码顶屏。

例如,「输」字,在飞码和五笔中的编码分别为scu和lwg,都为三码,但是在接着打「入」字时,飞码可以被「入」的第一码顶屏而省略空格,而五笔则必须先用空格上屏后,才能打「入」的第一码。这是因为飞码是三码顶,即从第三码起可以被后续的编码顶屏。

如果是在飞码的单字状态下,则二简字也是可以被顶屏的。

比如,「入」字,在飞码和五笔中的编码分别为rp和ty,都为两码。在单字状态下,接着打「口」字时,飞码可以用「口」的第一码顶出「入」而省略空格,而五笔则必须先用空格上屏后,才能打「口」的第一码。

另外,在飞码中,数字也可用来顶屏,因为飞码并不用数字来选择重码,这对于数字多的文本来说,节约的用键还是可观的。

例如,输入「在90年代」时,飞码打「在」后可以直接打9来顶屏,而五笔则只能先用空格将「在」上屏才能打9。

4.2 字词分流

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

例如, 在搜狗五笔中,编码ssss是由下面的字、词共享的,其中「木」是常用字,而「森林」又是常用词。

image-20221029164134590

在飞码中,单字和词组各自有不同的编码格式,单字的第三、四码肯定是笔画,编码字母只能是aeuio,而词组的第三码肯定是声母,编码字母不可能是aeuio。所以,它们享有不同的编码空间,不会发生冲突,不存在单字和词组那个优先的问题,不会发生常用字、词之间的排序冲突。

字词分流也使得飞码能够在采用静态单字的同时采用动态词组,即单字不调频而只针对词组进行调频处理。

4.3 字母选重

传统输入法,不管是五笔还是拼音,通常都是用数字键来选择重码。但是,数字键往往是大跨行操作,容易产生误击,也会影响击键。 于是,往往会提供一些更快捷的备选方式来加速重码的选择。比如,搜狗拼音就默认可以用左右ctrl键来上屏二三候选,还可以设置为用左右shift或者用分号和单引号。然而,这些键要么仍然不好按,要么会产生用法上的冲突,而且数量不够,只能解决两个候选的问题,也不好运用在手机上,通用性差。

声笔飞码,通过巧妙运用其小码元集aeuio,让它们有条件地承担起多重作用,完美地解决了快捷选重的问题。当码长为0时,它们引导编码反查、LUA脚本等功能;当码长为4或6时(飞讯词组是5或7时),它们用于选择重码;否则,它们代表笔画,作为编码使用。

由于aeuio位于字母键区域,是最好操作的按键,所以选择重码的速度是最快的,同时在包括手机在内的各种设备上,其位置也是基本固定的,便于保持在各种情况下操作的一致性。

字母选重还解放了数字键,使得数字键可以用于顶屏,从而在首选项接数字时可以省略空格而节约按键,这在财经和科技类文本的输入时会有特别明显的效果。

4.4 扩展编码

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

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

声笔飞码Yyxx

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

声笔飞码Yyxxoe

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

4.5 动态码长

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

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

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

4.6 自动词组

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

4.6.1 自动造词

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

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

4.6.2 自动清理

由于飞码是采用的自动造词策略,在提供方便的同时也会产生大量的废词,所以系统提供了废词清理功能,能够将用户几乎不使用的新造临时词组自动清除。对于少量暂时还未被清理的废词,用户不必理会,到时限后就会被自动删除。

在必要的时候,如用户错误地确认了临时词组,系统也提供了手动删除的手段。在电脑上,通过方向键将光标移动到该词上面,再按 Control + Delete 键来删除。在手机上,则通过左右滑动空格来移动光标到要删除的词,然后下滑退格键删除。注意,如果是非临时词组,需要删除两次才能删除。第一次删除时只是把它变成了临时词组。

4.7 自定词典

除了声笔系列码公用的自定词典sbzdy.dict外,飞码还提供了手动调整词典fmzdy.dict。如果用户觉得系统提供的sbb字和数选简词不理想,还可以对它们进行调整和定制,甚至增加其它类型的字词。字词的编码可以是有理的,也可以是无理的,但是务必符合飞码的输入逻辑,否则可能影响顶功或造成无法预料的情况。修改的方法是,用编辑器修改fmzdy.dict文件,保存后重新部署一下就可以生效。在修改的时候,一定要按照词典的格式进行,首列为词条,第二列为编码,两者之间以制表符分隔。

注意,有的编辑器默认会自动将制表符转换为空格,那样就会失败。如果是个别的条目,可以复制一条合规的来改。如果条目很多,就需要在编辑器设置中禁止自动将制表符转换为空格。

4.8 增强模式

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

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

4.8.1 编码方式

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

image-20230114102545969

如果觉得数选提示太多,显得拥挤,干扰视线的话,对于熟练的人,可以切换为隐藏状态。这样,既可以使用数选词,又不会进行提示了。

image-20230114141640233

4.8.2 数选顶屏

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

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

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

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

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

5 衍生方案

5.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上的多字词,以减少重码。还可以进一步将forced_selection选项设置为true,以便强制在sssbb上选择重码,从而减少扩展编码时的重码。这样设置对操作熟练的高级用户来说是非常有用的,可以减少很多重码,如下图所示。

image-20221125084009864

注意,在飞讯延迟顶的位置,有时无法使用缩减码,因为后三码被当作五码词组的一部分了,如果那正是你要的就很好,但并不总是这样。

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

image-20220116113205583

为了解决这个问题,特提供了巧妙的办法,可以采用编码变换用回车将其变为「狂喘」上屏。

如果用户不喜欢延迟顶,而且希望随时能使用缩减码,在必要的时候还能输入词组,那么就建议用户不要使用飞讯,而是使用飞码的单字状态。但是,在飞码单字状态下输入词组时,第三码需要大写,所以必须对大写字母的输入非常熟习和快捷才行,这对很多人来说可能难度很大。

5.2 声笔飞竞

飞竞大致可以看成是不能调频、不能自动造词、没有扩展编码但可自定义主码表的飞码。飞竞默认是单字模式,相当于它的前身飞单,单字练熟后需要词组时再打开。在声笔输入法的所有方案中,飞竞是唯一能够修改主码表的方案,也是唯一针对竞速赛文的方案,特别强调高速盲打能力。一些有想法、有能力的用户很需要这种定制能力,希望完全掌控码表,随心所欲,改得来完全适合自己的习惯。如何对飞竞进行定制呢?这属于Rime输入法平台的一般内容了,请参见Rime的官方网站Rime官网,上面有详细的讲解。

飞竞有两个可自定义码表,一个是针对单字的sbfj.dict.yaml,另一个是针对词组的fjcz.dict.yaml。

单字码表不仅有常规的单字,还并入了sbb字。注意,如果修改了单字编码,在反查的时候会出现不一致的情况,因为反查码表并没有修改。反查码表很复杂,涉及到拼音反查、笔画反查和声笔反查,所以没有开放。

词组码表需要特别进行说明。飞竞收录的词组有49万多个,其中四码词有18万5千多个,五码首选词有17万6千多个,其余的是五码重码词,有将近12万9千多个。第五码为首字的首笔,在四码的时候会进行提示,在第五码出现两次时,第一次的项为五码首选项(不带符号注释的),如下面第一图中的四川人i$和第二图中的属啥a$ 唰唰唰i$

image-20230116151058817

image-20230116151115683

五码重码,再用aeuio选择重码时,是无理的,与笔画无关,如下图中的重码词就是无理选重的。

image-20230116152026263

飞竞49多万的词组在数量上比五笔字型和小鹤音形等传统四码方案的几万词大得多,打空的概率小得多,而且编码空间独立,不会与单字编码发生冲突。更关键的是,第五是用非常容易操作的aeuio 来有理编码的,不但容易记住,而且很容易提高击键。

但是,用户会发现飞竞中居然连不少常用词都没有,例如「一个」「没有」「我们」等都没有收录。这是为什么呢?这是因为它们可以通过编码变换的方式来快速输入,而且具有绝对的确定性。「一个」是由两个一简字组成的,可以用yg;来输入,「没有」是由一简字和声笔字组成的,可以用mye;来输入,而「我们」是由一简字和声偏字组成的,可以用wmr;来输入。所以,要用好飞竞,必须对一、二简字(声笔字和声偏字)烂熟于心。

另外,对于五码词来说,声偏字+声偏字的组合也是没有收录的,因为它们也可在只用五键的情况下通过编码变换快速输入,例如「反查」可以用fycm;来输入。一简字+三简字的组合、三简字+一简字的组合也没收录,因为它们直接按单字方式输入也只需要五键,例如「一群」「均一」就属于这种情况。但是,这类组合还是可能被四码词收录的,例如「复查」「一幅」分别可用fwcmyhfj来输入。如果四码没有机会被收录,那么就不会进入词库了。

6 打字训练

关于打字的训练软件、训练目和打字速度的一般性讨论详见声笔基础中的打字训练一节。这里只讨论飞码打字的具体训练方法。

飞码的定位是专业型的音形输入法,它们不仅用于一般的工作和生活中,而且也适用于竞速和打字比赛。默认的方案是主词的,飞讯是主单的,而飞竞是静态的,它们各有特点,可以根据不同的应用场景来使用。为了提高打字速度,在比赛中取得好的成绩,往往需要高强度的训练,对常用字词的输入形成条件反射。

在单字训练的时候,建议使用单字模式,以减少冗余提示对练习者的干扰,加速单字编码条件反射的形成。在综合训练和实际使用时,则采用你自己选定的方案,可以是固定为飞码、飞讯或者飞竞,也可以是根据不同的情况切换使用。

6.1 单字训练

需要强化训练的内容包括以下单字,并且要以所列的顺序进行:

(1) 一简字:21个,详见:一简字

(2) 声笔字:105个,详见:声笔字

(3) 声偏字:441个,详见声偏字

(4) 降频字:按字频降序排列的前500字、中500字和后500字,详见:降序字

6.2 综合训练

详见:综合训练

附录:编码格式

为了便于用户总结和记忆飞码的基本内容,现将飞码、飞讯和飞竞的字词编码格式总结一下,编码格式采用了以下精简的表达方式。

1
2
3
z = p|b
s = p = [qwrtsdfgzxcvbyphjklnm]
b|x = [aeuio]

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

(1) 飞码

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

(2) 飞讯

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

(3) 飞竞

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