一、概述
声笔快码,简称快码,是一款类双拼输入法,它采用了一种特殊的双拼加笔画编码,同时又融合的 105 个高频声笔字,通过顶功实现了比一般双拼类音形码高的效率。快码的历史可以追溯到 2004 年,与声笔码(现已演化为声笔简码)同时产生,当时称为音笔码。在 2005 年声笔飞码出现后,就同声笔飞码一同演进,采用与其相同的编码模式,直至今日。在快码的基础上,还衍生出了主单的快讯和整句型的快整两个输入法方案。
本文将详细讲解快码,然后对照快码,花两节的篇幅来讲解快讯和快整,只讲有区别的地方,以免赘述。有关软件的安装与卸载、笔画反查、翻页、标点、符号、词库同步、自定义词典、中英文混合输入、手机操作等声笔系列码共有的内容,请阅读《总体介绍》中的相关部分。
二、单字的输入
单字是输入法的基础,词组的编码是由单字的编码衍生出来的,所以必须对单字的编码有深刻的理解才能学好输入法。声笔快码采用声母、笔画和韵母来对汉字进行编码。声母不分平翘舌,零声母用 v 表示。横竖撇捺折五类笔画,分别用 eiuoa 来代表。
声笔快码一共收录了 GBK 的 2 万多单字,单字的编码格式有两种,它们是 sb, syb^b
。其中,sb
这种格式是比较特殊的,只有 105 个高频字采用它。它一方面增加了一点编码的复杂性,而另一方面又增加了快码的离散能力,更重要的是给快码带来了巨大的灵活性,为后起的优秀主单方案 —— 快讯的诞生创造了条件。除了 105 个高频字采用 sb
格式外,其它字都是采用的 syb^b
格式,前者称为声笔字,后者称为普通字。
在学习快码之初,往往会遇到不会打的字。怎么办呢?系统提供了丰富的反查手段,可以通过笔画、拼音和声笔来反查编码。在完全不知道读音的时候直接用 aeuio
按顺序输入笔画进行反查,在不知道字形时用 a 引导拼音反查(注意零声母要用 v),在知道声母但不知道韵母时直接用声母和笔画输入四码进行反查。以下是几个反查的例子。
另外,通过 i 引导的拼音还支持用字海两分法来进行反查, 支持查找八万多汉字,一般用于难读而易于两分的字进行反查或者 GBK 以外字的输入。GBK 以外的字,快码不提供正常编码,不能按正常方式输入,只能在两分查找到后选择输入。下面是字海两分法查找的例子。
1. 声笔字
快码中采用 sb
格式的字称为声笔字,用声母和首笔来编码。声笔字只有 105 个,为了便于记忆和练习,把它们编成口诀如下:
如同孔明自快话,开口正道无怕经,二双公民来前线
年内安然回南国,若说阿维当农夫,片上方家暗笑她
进得高中好体面,心想事成且大为,别看晚儿那小子
强力对手也头破,从此把着全日用,除非白天会给还
部分次品立飞过,让利几起眼皮边,名门里外有意见
输入声笔字时,一般是不需要空格上屏的,因为它可以被后续的字词顶上屏幕,例如:二双公民来前线
的输入码为 ve_sa_gu_ma_le_qo_xa_
。
由于声笔字与其它字有着不同的输入路径,为了减轻用户的记忆负担,在输入声母后,就对它们进行了提示,如下图所示。这样,初学者只有在观察到提示中没有想要的单字时才输入后面的编码。
声笔字不仅在第一码后有提示,在第三码后也是有提示的,只是提示的方法不一样,如下所示,其中前两码为前一字对应的编码,第三码为第二字的第一码。这上面列出的两个字不一定是一个词,仅仅是为了提示声笔字而已。
2. 普通字
快码中采用 syb^b
格式的字称为普通字,即声母加双拼韵母加前两个笔画。声母不分平翘舌,零声母用 v 表示。横竖撇捺折五类笔画,分别用 eiuoa 来代表。声笔快码的双拼韵母比较特殊,只使用了 21 个字母,具体表达方式如下。
B:a, ia
C:un, ün
D:eng
F:ei
G:en, iu
H:ai
J:ie, ua
K:ang, iang
L:an, er
M:ou
N:ing
P:e, ue, ê
Q:iao, uai
R:ong, iong
S:ui, in
T:ao
V:u, ü
W:o, uo
X:ian, uang
Y:i
Z:uan, üan
注意,对于汉语拼音中以 w 和 y 开始的音节,要保持 w 和 y 不变,将音节中剩余的部分按上述表示方法来编码。例如,wan 应编码为 wl,而 yao 应编码为 yt。
为了减轻初学者的记忆负担,手机上提供了助记皮肤,如下图所示,可以长按 N
键打开或者关闭助记。
与传统四码输入法一样,快码在形式上也有一、二、三级简码和全码,分别对应一简字、二简字、三简字和全码字。但是,在实质上是有很大区别的,其中最大的区别是,快码的三简字可以被顶上屏幕,全码字的重码是用 aeuio
来选择而不是用难以击打的数字键。另外,快码采用的出简不出全策略,有简码的字就不会有全码,以便节约有限的编码空间,并强制用户采用最高效的输入方式,形成快速的条件反射。
一简字
快码有 21 个一简字:不平没发的他你了个可和就去下在出是人而一我
,又称为声空字。
二简字
快码的二简字有 346 个,其格式为 sy
,所以又称为 sy字
或者声韵字,其中的大多数也是相当常用的,例如:加jb 今js 两lk
等。
与传统输入法一样,声笔快码的二简字一般需要加空格上屏。例如,接jj_ 刷sj_ 美mf_
等等,其中_
表示空格。当然,如果后接的是数字、标点符号等非编码字符时,这个空格仍然是可以省略的。
三简字
快码的三简字格式为 syb
,所以又称为 syb字
或者声韵笔字,例如:棉mxe 父fvu 黏nxu
等等。这类字数量庞大,在 GBK 二万字集中有 1615 个,其中不乏常见的字。传统输入法的三简字一般是需要空格上屏的,而快码的三简字在连续输入时是无需空格键的,可以被后续的编码顶上屏幕。当然,如果没有后续的输入而要马上上屏的时候,仍然需要空格。但是,这种情况在正常的输入过程中是很少的。三简字不需要空格上屏是声笔快码的单字输入比自然码和小鹤音形之类的双拼音形输入法高效的一个重要原因。
全码字
声笔快码的全码是四码,编码格式为 sybb
,即声母加韵再加前两个笔画,例如:醚myei 字zyoo 幽ymia
等。但是,在出现重码字时,声笔快码采用了更加快捷的选择方式,不是用数字键,而是用 aeuio
来进行选择,如下所示。
条件顶
快码的单字除了三码字可以被顶上屏幕外,其声空字和二码字也可以在一定条件下被顶上屏幕,这是一种非常奇特的能力,是从快讯反向借鉴过来的。快码条件顶是指在输入二字词的时候,若第一字正确而第二字不对时,可以追加第二字的第三码,将第一字顶上屏幕,前提是追加的第三码与选择键没有冲突。例如,在输入「空码」的时候,发现系统没有该词,而且「码」字的第三码 e 又没有被重码词占用,那么在输入 e 的时候就会将「空」字顶上屏幕,留下「mbe」,对应的字正是「码」。这样,就不必用退格键来清除「mb」两码,用空格先上屏「空」字,再输入「码」字了。
三、词组的输入
词组,特别是二字词,在现代汉语中是占主导地位的,任何输入法都不能忽视。快码对二字词特别重视,以便提高其输入效率。快码词组按其组成字的多少分为二字词、三字词和多字词,现分述如下。
1. 二字词
快码的二字词输入功能强大,其二字词被进一步分为常规词组和数选简词两类。
常规词组
快码的常规二字词,取各字的前两码来编码,例如:不能bvnd 下台xbth 大汉dehl 心爱xovl 常规ckgs 电脑dxnt 洞见drji 健全jxqu 淹没ylmw
等。需要注意的是,一简字在组词的时候要输入其第二码,如前面例子中的不bv 下xb 没mw
,而声笔字的第二码不变,如前面例子中的大de 心xo 见ji 全qu
。
另外,为了输入方便,快码在第三码时提示了前两码对应的单字和第三码开始的一简字和声笔字,例如:困一kcy 放是fks 难大nlde 时无sywe
等。如果这种字串与真正的词组重码也没有关系,它会被作为重码词排在最后,只需用 aeuio
选择上屏即可。
数选简词
为了提高输入效率,快码提供了数选简词。所谓数选简词,是指用数字键来选择的简码词组。为了减少记忆量,数字的使用并不是随机的,而是用 23789 来代替 aeuio 表示笔画。
为什么用 23789,而不用传统的 12345 呢?这一方面是因为 23789 比 12345 更加容易操作,另一方面是 23789 可以与 aeuio 在键盘上位子形成近乎完美的映射,除 2 外正好位于相应笔画字母上一排相同的位置,非常容易记住,如下图所示。
数选简词分为 sn 型和 szn 型两种。快码 sn 型的数选简词一共有 105 个,其具体编码格式为 s1n2
,即首字的声母加第二字的数字首笔,例如:不能b2 发生f7 就是j8 科学k9
等。这些简词在声笔系列的所有字词型方案中都是一样的,使用频率很高,应该尽量采用。
快码的 szn 型的数选简词比较多,多达 2222 个,其具体编码格式为 s1z1n2
,即首字的前两码加第二字的数字首笔,例如:究竟jg9 大师de8 到达dt3 面向me7
等。
快码的数选简词在电脑上的提示方式如下。
2. 三字词
快码三字词的编码格式为 s1s2s3z3
,即前两字的前一码加第三字的前两码,例如:埃及人vjrg 故事会gshu 计算机jsjy 大无畏dwwf
等。
3. 多字词
声笔快码的多字词为前三字的第一码加末字的第一码,与传统四码输入法完全一样,例如:丰富多彩ffdc 中华人民共和国zhrg
等等。
4. 空位词
快码的单字编码离散不太好,两码码位都还有 95 个空位,三码码位更是多达 570 个空位。为了把这些空码位充分利用起来,在上面分别安排了常见的二字词和三字词,称之为空位词。其中,二字词的编码方法是取两字的声母,三字词的编码方法是前两字的声母加第三字的首笔,以下是一些常见的空位词。这种词不必刻意使用,能用就用,不用也无妨,按正常编码输入就行了。
提供 tg
方式 fs
文件 wj
一下 yx
可能 kn
安全 vq
关于 gy
一定要 yde
并没有 bme
我觉得 wju
用户名 yhu
尤其是 yqi
这就是 zji
欢迎您 hyu
四、字词分流
在传统输入法如五笔字型中,四码的字、词是混合编码的,它们共享同一个编码空间。在发生重码时,究竟把单字排在前面,还是把词组排在前面,面临艰难的决策。当收录的单字和词组数量增大时,这个问题会变得更加突出。
在声笔快码中,单字和词组各自有不同的编码格式,单字的第三码肯定是笔画,而词组的第三码肯定是声母。所以,它们享有不同的编码空间,不会发生冲突,不存在单字和词组那个优先的问题。例如,四码单字校jqei 签qxue 貌mtuo 渊yzoo
,四码词组答应dbyn 进步jebv 估计gvjy 理想lyxe
,它们之间是绝对不会重码的。
五、扩展编码
声笔快码词组的四码空间容量与传统四码输入法如五笔字型是差不多的。但是,由于声笔系列收词量高达 48 万之多,对于同音字组成的词组,重码现象有时会非常严重,可能需要多次翻页查找。于是,声笔快码采用了与声笔简码类似的扩展编码,通过追加首字的前两个笔画能迅速扩大编码空间为四码时的 25 倍,可以快速筛选出所需的重码词组。结合后述动态码长的使用,完美地兼顾了编码空间与输入效率,既能享有巨大的编码空间,又能具有较短的平均码长,两全其美。
比如,「之志」一词在第一次输入时,输入 zyzy
后需要在第四翻页才能找到,如下图所示。每一页,都需要用眼睛扫视 6 个选项,人机交互频繁,效率很低。
然而,如果再追加首字前两个笔画 oe
的话,「之志」就出现在第一页上,只需用 e
选择上屏就可以了,如下图所示。
需要注意的是,声笔快码的单字没有设计扩展编码,因为对于常用字来说,其重码现象并不严重。
六、动态码长
动态码长不仅是码长的调整,也包括重码顺序的调整,实际上都是因为对频率的调整而引起的。但是,作为专业性的输入法,快码只有词组参与调频,其单字是不参与调频的,即单字的重码位置是固定的,这有利于对单字进行快速盲打。
当四码词组有重码的时候,如果选择了某个非首位的词组,那么它的频率权重就会提高,在下次输入的时候,其排序就会提前。一般通过一、两次选择就可以提前到首位,从而就能利用顶屏来节约一次按键。
例如:第一次输入输送svsr
时如果它是排在第二位,用 a
选择上屏后,下次输入就可能排在首位了,于是可以利用顶屏节约一次选择键。如果在输入的时候采用了扩展编码,比如用 zyzyoe
输入了「之志」,那么在下次输入的时候一般就只需要 zyzy
就可以了,码长得到了缩短。
七、自动词组
声笔快码目前自带 48 万多词组,覆盖的面已经很广。但是,用户在使用过程中不可避免地还会遇到缺词的情况,需要添加新的词组,而且对于不满意的词组可能还想删除。
1. 自动造词
快码的造词是在输入过程中自动进行的。例如:输入声sde 笔byu
后,下次输入 sdby
时就会有该词了,只是如果有重码的话,新造的词会排在后面。如果重码太多,可以追加首字前两笔或者用 Tab 一次性地跳到最后,以避免多次翻页。自动造的词组是临时词组,带有太极标志,优先级别低,只有在选择使用一次以后,才会成为正式词组,并提高优先级别。
需要注意的是,在进行枚举自动造词的时候,是以编码对应的字、词为单位来进行组合的,并不是以单字为单位的。例如,在输入声笔sdby 系列xylj 码mbe
后,生成的词组为「声笔系列码」「声笔系列」「系列码」,而不会生成「声笔系」「笔系列」「列码」等。另外,如果之后马上使用了退格键,系统就会自动删除所造的词组;中间夹杂有非汉字的话,也会中断造词。
2. 词组删除
由于快码是采用的自动造词策略,在提供方便的同时也会产生大量的废词,所以系统提供了废词清理功能,能够将用户几乎不使用的新造临时词组自动清除。对于少量暂时还未被清理的废词,用户不必理会,到时限后就会被自动删除。在必要的时候,如用户错误地确认了临时词组,系统也提供了手动删除的手段,方法是先将光标移动到该词上面,再按 Control + Delete
键来删除。注意,如果是非临时词组,需要删除两次才能删除。第一次删除时只是把它变成了临时词组。在安卓手机上的删除方法是,用左右滑动空格定位词组,再用删词键来删除。
3. sbb 词典定制
快码中仍然存在一些四码和四码重码的比较常见的字,为了缩短它们的码长,特提供了 sbb 词典,通过声母加前两笔的方式为它们提供更短的缩减码。例如,「嘛」的正常编码为 mbia,还需要用 a 选择上屏,而它的缩减码为 mia,可以节约两键。再如,「闭」的正常编码为 byoi,虽然是四码的首选,因为该字常见,所以也提供了缩减码 boi,可以节约一键。
快码的 sbb 词典文件名为 kmsbb.dict,是一个用户可以定制的开放词典。用户可以修改和增减其中的词条,词条不仅可以是单字,也可以是词组,甚至可以是英文。该词典中,编码的长度规定为 3 至 4 位,其格式为 [qwrtsdfgzxcvbyphjklnm][aeuio]{2,3},即第一码必须为 aeuio 之外的小写英文字母,第 2 至 4 码必须为 aeuio。三码的词条不能重码,而四码的词条可以有重码。重码的词条会排在 sbbb 反查字的前面,可用 aeuio 来无理选择。
注意,修改 kmsbb.dict 词典后,需要重新部署一下才能生效。另外,用该词典中的编码输入的字词是不能参与自动造词的,造词必须用常规编码的字词。
八、综合输入示例
例 1:女nv_ 鬼gsu 食syuo 音yso 见ji_ 手su_
在例 1 中,除见ji_ 手su_
是 sb
格式的字外,其它字的第二码都是双拼形式的韵母。
例 2:古gvei 之zy_ 立lo_ 大事dese 者zpe, 不b_ 惟有wfya 超cte 世syei 之zy_ 才ch, 亦yyoe 必有byye 坚忍不拔jrbb 之志zyzyoae。.
例 2 中,才,ch,
和之志。zyzyoae.
采用了标点顶屏来节约空格。注意,zyzy
的重码多,需要加扩展编码。
例 3:我们w7 大家dejo 都dm_ 喜欢xy2 研究yl9 输入法。srfb.
例 3 中,我们w7 喜欢xy2 研究yl9
采用了数选简词来提高效率,若用正码则为我们wwmg 喜欢xyhz 研究yljg
。
九、设置选项
如果在输入的时候,突然遇到离散大的文字,需要以单字为主来输入,那么在电脑上可以按 Ctrl+~ 或者 F4 快速切换到单字状态,在手机上则简单地点击状态栏的相应状态即可,如下图所示。此时,若第三码用大写,则仍然可以输入常规四码词组。
如果用户想打开快码时默认为单字状态,那么可以修改其 schema 文件,将 pro_char 项下的 reset 设置为 1,如下图所示。
十、声笔快讯
声笔快讯,简称快讯,是基于快码的衍生方案,其特点是二简字在输入的时候可因为顶功而省略空格键,因此具有更短的单字平均码长,而词组的码长相对较长,所以属于主单的输入方案,擅长离散文本的录入。为了让词组的输入更顺畅,快讯采用了延迟顶屏,具体来说延迟了一至两码来顶单字,属于 42 和 52 混合延迟顶的范畴。
快讯与快码的差异很小。可以说,只要学会了快码,也就基本上学会了快讯,无需太多额外的学习,了解一下规则就行了。关键是,要形成不同的输入习惯,这就需要一定的时间。如果想能自如的在不同场合切换快讯和快码来使用,那就需要更多的时间来适应了。
快讯的单字输入与快码几乎完全一样,唯一的差别是输入 sy
字时,快码一般需要空格上屏,而快讯则可以省略空格。例如,输入「入」和「双」字时,快码的用键为 rv_
和 sa_
,而快讯的用键为 rv
和 sa
。
快讯的词组编码,只需将第四码换成末字的前两个笔画即可。另外,快讯的 s1n2
和 s1z1b2
型数选简词与快码是完全一样的。
具体来说,快讯二字词的编码格式为 s1z1s2b2b2
,例如:一直yyzei 大佬delui 简码jxmeu 半角bljua 蝴蝶hvdia 奔驰bgcaa
等。由于快讯的词组输入需要五码,所以在用单字输入的时候不超过五码的二字词是不建议用词组的方式来输入的。不过,为了降低使用难度,快讯并没有禁用低效的词组,而由用户自己选择何时使用词组方式。有的时候,为了手感,也可能会用词组。
快讯三字词的编码格式为 s1s2s3b3b3
,例如:计算机jsjei 新世纪xsjaa 大无畏dwwia
等。三字词采用词组可以节约用键,建议使用词组的方式来输入。可能的例外情况是一、二简字构成的三字词如好起来 不知道
等,它们用单字输入也才六键,而键速可能更快,因为单字更容易形成条件反射。具体怎么打好,就看用户自己的使用习惯了。
快讯多字词的编码格式为 s1s2s3b0b0
,其中的 0 表示末字,例如:呼风唤雨hfhei 风雨同舟fytuu 生龙活虎slhie
等。考虑到有的成语用字比较生僻,快讯也支持第四码用声母,但是得用大写来输入,例如:呼风唤雨hfhY 风雨同舟fytZ 生龙活虎slhH
等。
如果用户习惯一直用第四码大写来输入多字词,那么就可以将快讯 schema 文件中 Translator 下的 enable_filtering 选项设置为 true,以过滤掉 sssbb
上的多字词,以减少重码,如下图所示。
另外,快讯的词组也是支持扩展编码的,在重码多的时候,可以追加首字的前两笔来快速区分重码,但是多字词第四码用大写输入时不能使用扩展编码。
还有,在快讯延迟顶的位置,是无法使用 sbb 词典中的字词的,因为后三码被当作五码词组的一部分了,sbb 字词只有处于编码的开始位置才是有效的。
如果用户不喜欢延迟顶,而且希望随时能使用 sbb 字词,可以切换到单字状态,或者设置为单字状态,切换和设置方法与快码相同。但是,这样的话就不能使用常规的五码词组了。
十一、声笔快整
声笔快整是声笔快码的整句模式。它不需要考虑单字、二字词、三字词和多字词的不同编码规则,只需要知道单字的编码就可以进行中文输入了。但是,它的缺点是,在输入发生错误后回改的成本高,离散程度高的文本尤其如此。所以,声笔快整仅适合录入简单的连续文本,或者供声笔快码的初学者使用,熟练的用户应当使用声笔快码和声笔快讯。
下面举例说明一下声笔快整的输入方法。
例 1:我们大家都喜欢研究输入法ww mg de jo dm xy hz yl jg sv rv fb
在例 1 中,连续每个字的前两码后,就完全转换正确了,不用任何回改。
例 2:声笔系列输入法sde byu xy lj sv rv fb
在例 2 中,「声」和「笔」用了三码,也能完全转换正确。
可以看出,在转换完全正确,不需要回改的时候,输入过程是非常流畅和舒服的。相比搜狗拼音之类的双拼整句方式,声笔快整的转换准确率会更高,因为声笔字是固定不变的。即使需要回改,声笔快整也提供了一种快速定位的手段,可以利用数字 1234
将光标一次性地定位到待定的第 1 至 4 个音节之前,用 5
将光标定位到最后,而 TAB 可以快速从当前位置向前逐个音节移动。对于声韵字,还可以追加一至两个笔画来筛选重码,提高转换的准确率。同时,在以声笔结尾时,在两码后就可以用 aeuio
代替 67890
进行重码选择,在操作上更加便捷。
附录一:快码和快讯的编码格式
为了便于用户总结和记忆快码的基本内容,现将快码字词的编码格式总结如下。
- 单字
sb, syb^b
- 二字词
s1n2, s1z1n2, s1z1s2z2^'b1b1
- 三字词
s1s2s3z3^'b1b1
- 多字词
s1s2s3s0^'b1b1
快讯的编码格式,单字与快码几乎完全一样,只是从三码起顶变为二码起顶了。但是,快讯的常规词组编码格式变化较大,数选简词与快码完全一样,现在总结如下。
- 单字
sb, sy^bb
- 二字词
s1n2, s1z1n2, s1z1s2b2b2^'b1b1
- 三字词
s1s2s3b3b3^'b1b1
- 多字词
s1s2s3b0b0^'b1b1|s1s2s3S0
其中:
- z =
y|b
- s = y = [qwrtsdfgzxcvbyphjklnm]
- b = [aeuio]
- n = [23789]
说明:^
表示起始顶屏码位,字母后的数字表示词组中的第几个字,0 特别地表示末字;'
表示码长调整位;s 表示声母(大写时表示用大写字母输入),y 表示双拼韵母,b 表示笔画,|
表示或者,z 表示 p 或 b, n 为用数字表示的笔画。s 和 y 均采用 aeuio 以外的 21 个英文字母,b 采用 aeuio 这几个元音字母,而 n 采用 23789 这几个数字。
附录二:快码和快讯的强化训练
快码和快讯的定位是专业型的输入法方案,它们不仅用于一般的工作和生活中,而且也适用于竞速和打字比赛。快码是主词的,而快讯是主单的,最好两者都同时掌握,根据不同的使用场景快速切换使用。为了提高打字速度,在比赛中取得好的成绩,往往需要高强度的训练,对常用字词的输入形成条件反射。为了配合这种训练,特准备了强化训练文本,供打字训练软件使用。
快码和快讯的强化训练步骤都差不多,可以按以下步骤进行。
- 126 高频单字:包括 21 个一简字和 105 个声笔字。
- 335 声韵单字:即 335 个由声母和双拼韵母编码的两码字。
- 105 声数词组:即 105 个由第一字声母加第二字数字首笔编码的高频二字词。
- 500 声笔笔词:第一字为声空字或声笔字的常见二字词。
- 900 声韵数词:第一字声母和韵母 + 第二字首笔的二字词。
- 最高频 500 字:即现代中文里出现频率最高的 500 个字。
- 次高频 500 字:即现代中文里出现频率次高的 500 个字。
- 最高频 800 词:即现代中文里出现频率最高的 800 个词组。
- 次高频 800 词:即现代中文里出现频率次高的 800 个词组。
- 单字编码提示:用于打字练习时在打字软件中提示单字的编码。
- 去跟打群实战:即各大 QQ 跟打群和网络打字平台。