发明内容
本发明提供一种调整键盘阵列的方法及装置,用以解决现有技术中用户不能根据输入习惯和输入需要定制键盘字符对应的键盘阵列接触点,进一步解决输入字符错误后键盘阵列接触点不能重新分配的问题。
本发明提供如下技术方案:
一种调整键盘阵列的方法,所述键盘阵列包括多个接触点;包括步骤:
记录击键的字符,并在预定时间内统计键盘字符的出现概率;
根据键盘字符的出现概率和键盘阵列中固定分配给键盘字符的接触点,调整相关键盘字符之间可动态分配的接触点,其中,在两个相关键盘字符之间为出现概率高的键盘字符增加可动态分配的接触点。
所述固定分配给键盘字符的接触点为默认的接触点或者根据用户需要设置。
初始分配键盘阵列时,根据固定分配给键盘字符的接触点平均分配两个相关键盘字符之间的可动态分配的接触点。
调整相关键盘字符之间可动态分配的接触点包括步骤:
统计两个相关键盘字符之间的修改次数,并计算两个修改方向上的修改次数比值;
根据所述修改次数比值对所述两个相关键盘字符的出现概率进行加权;
根据加权后两个概率的比例调整所述两个相关键盘字符之间可动态分配的接触点。
所述两个相关键盘字符在单方向进行修改时,所述修改次数比值为0。
所述加权是指将修改次数比值乘上两个相关键盘字符的出现概率差值得到加权值,将其中较大的概率值加上该加权值,将另一概率值减去该加权值。
在设定时间内将连续多次击键中的最后一次击键作为实际击键。
在击键后确定被触发的接触点所对应的键盘字符,并将其中一个对应最多接触点的键盘字符判定为本次输入的字符。
所述键盘字符的出现概率根据字集统计。
所述字集包括常用字集、不同国标字集、行业字集和用户字集。
一种键盘,包括:
一种键盘,包括:
键盘阵列,用于提供键盘字符和为所述键盘字符提供对应的接触点,所述接触点包括固定分配给所述键盘字符的接触点和任意两个相关键盘字符之间可动态分配的接触点,其中,一个键盘字符对应多个接触点;
键盘控制器,用于记录击键的字符,并在预定时间内统计键盘字符的出现概率,以及根据所述出现概率和键盘阵列中固定分配给键盘字符的接触点,调整相关键盘字符之间可动态分配的接触点,其中,在两个相关键盘字符之间为出现概率高的键盘字符增加可动态分配的接触点。
所述键盘控制器包括:
用于记录击键的字符,并在预定时间内统计键盘字符的出现概率的单元;
用于根据所述出现概率和键盘阵列中固定分配给键盘字符的接触点,调整相关键盘字符之间可动态分配的接触点的单元;
用于在击键时判决击键字符的单元。
所述键盘控制器还包括:
用于在击键后确定被触发的接触点所对应的键盘字符,并将其中一个对应最多接触点的键盘字符判定为本次输入的字符的单元。
所述键盘控制器还包括:
用于统计两个相关键盘字符之间的修改次数,并计算两个修改方向上的修改次数比值的单元;
用于根据所述修改次数比值对所述两个相关键盘字符的出现概率进行加权的单元;
用于根据加权后两个概率的比例调整所述两个相关键盘字符之间可动态分配的接触点的单元。
本发明有益效果如下:
本发明方法中用户可以根据自己的输入习惯和输入需要设置键盘阵列中固定分配给键盘字符的键盘阵列接触点,键盘控制器在统计周期内对键盘字符的输入修改次数以及键盘字符的出现概率进行统计,进一步调整两个相关键盘字符之间可动态分配的键盘阵列接触点,满足了用户使用键盘的个人需求,实现了键盘阵列的动态分配;本发明调整键盘阵列时在两个相关键盘字符之间为出现概率较高的键盘字符增加可动态分配的接触点,可以降低用户输入字符的错误率,也可以实现用户击键时对击键力度的调节,从而提高用户长期使用键盘的舒适度。
具体实施方式
本发明在统计周期内对键盘字符的出现概率进行统计,并根据统计结果对任意两个相关键盘字符之间的可动态分配的接触点进行调整,从而实现键盘阵列的动态分配。
下面结合说明书附图对本发明技术方案进行详细说明。
如图1所示,本发明实施例中的一种键盘结构主要包括键盘阵列11和键盘控制器12;所述键盘阵列11用于提供键盘字符以及为所述键盘字符提供对应的接触点,所述接触点包括固定分配给所述键盘字符的接触点和任意两个相关键盘字符(一个键盘字符与任意邻接的键盘字符互为相关键盘字符)之间可动态分配的接触点,其中,一个键盘字符对应多个接触点;所述键盘控制器12,用于记录击键的字符,并在预定时间内统计键盘字符的出现概率,以及根据所述出现概率和键盘阵列中固定分配给键盘字符的接触点,调整相关键盘字符之间可动态分配的接触点,其中,在两个相关键盘字符之间为出现概率高的键盘字符增加可动态分配的接触点。
所述键盘阵列11包括:
电气接触阵列110,用于产生阵列信号,其接触点与具体字符不存在一一对应关系,一个具体字符对应着多个接触点;如图2所示的现有键盘电气接触阵列示意图中,电气接触阵列中每个接触点的解码字符是确定的,并且接触点和具体字符一一对应;该图仅示意部分接触点,且省略每个接触点的具体实现细节以及连接至控制芯片的引线;如图3所示的本实施例的键盘电气接触阵列示意图中,阵列中的接触点个数根据不同的统计结果确定,该接触点与具体字符没有一一对应关系,当其中的某些接触点被触发后,相应的信息传给键盘控制器12,经其运算后得到对应的具体键盘字符;该图仅示意部分接触点,且假设接触点为圆形以及省略连接至控制芯片的引线。
手接触阵列111,用于连接电气接触阵列110和字符位置阵列112,提供与电气接触阵列110相同数目的接触点并与其进行电气连接;这个阵列根据两个方面的不同需要确定手接触阵列111的某方面设计,由于电气接触阵列110提供很多接触点,故手接触阵列111也必须提供相同数目的接触点来对电气接触阵列110进行电气连接;而人手在接触键盘时需要的分辨率不需要很高,所以手接触阵列111的另一面提供相对小的接触点分辨率,这一面由于与人手和人的视觉有关系,所以分辨率大小需要和字符位置阵列112一起来考虑。
字符位置阵列112,用于在键盘使用时提供视觉和触觉定位,字符位置阵列可以由标准键盘的数个单元块组成,每个单元块对应于特定的一个字符,并且每个单元块由底座和印刷面组成,可以根据设计和生产需要将两者连接在一起或者分开;其中,底座用于与手接触阵列111接触,所以拥有和手接触阵列111相对应的形状,印刷面用于提供视觉和触觉识别,可以根据不同的使用者的需要提供不同的单元块大小。
如图4所示,手接触阵列正面(与字符位置阵列的接触面)图中,假设电气接触阵列为30行、50列,共1500个点,手接触阵列正面有400个点,每个点和反面1500个点有对应关系,假设每4个点对应于反面15个点,不足的地方由空位来填充(整个物理尺寸与电气接触阵列一致);如:4个点对应一个键盘字符,或者2个点对应一个键盘字符,或者1个点对应一个键盘字符,该对应关系根据实际需要确定,基于这种手接触阵列表面,字符位置阵列112使用一体化图钉状字符位置阵列,如图4A所示,一体化图钉状字符位置阵列侧面示意图中,其底座40的尺寸必须和手接触阵列的镶嵌位置的尺寸相契合,印刷面41形状和尺寸,底座长度等可以根据需要进行选择。
另一种较佳的手接触正面阵列和字符位置阵列如图5和图5A所示,字符位置阵列112采用分体式图钉状字符位置阵列,每个阵列由底座的印刷面和分离底座构成,印刷面的底座50和分离底座的契合点52相契合,分离底座和手接触阵列正面契合点相契合,图上所示形状和尺寸仅为示意,可以根据需要进行选择和设计,包括契合方法也可以在具体设计开始时进行选择。
所述键盘控制器12包括:
概率统计单元120,用于记录击键的字符,并在预定时间内统计键盘字符的出现概率;该出现概率的可以根据不同的字集进行统计,统计方法可以采用典型统计方法和改进统计方法;
分配单元121,用于根据统计的出现概率和键盘阵列中固定分配给键盘字符的接触点,调整相关键盘字符之间可动态分配的接触点,其中,在两个相关键盘字符之间为出现概率高的键盘字符增加可动态分配的接触点。
判决单元122,用于在击键后判决击键字符;在击键后确定被触发的接触点所对应的键盘字符,并将其中一个对应最多接触点的键盘字符判定为本次输入的字符。
为了实现动态的分配键盘阵列,所述键盘控制器还包括:
修改统计单元123,用于统计两个相关键盘字符之间的修改次数,并计算两个修改方向上的修改次数比值。
加权单元124,用于根据所述修改次数比值对所述两个相关键盘字符的出现概率进行加权;所述加权是指将修改次数比值乘上两个相关键盘字符的出现概率差值得到加权值,将其中较大的概率值加上该加权值,将另一概率值减去该加权值。
如图6所示,本发明实施例中调整键盘阵列的主要实现流程如下:
步骤600、记录击键的字符,并在预定时间内统计键盘字符的出现概率。
步骤601、将两个相关键盘字符的出现概率进行加权并比较。
步骤602、根据比较结果和键盘阵列中固定分配给键盘字符的接触点,调整相关键盘字符之间可动态分配的接触点,其中,在两个相关键盘字符之间为出现概率高的键盘字符增加可动态分配的接触点。
在步骤600中,键盘上的符号概率可分为两种,一种是句中出现概率,一种是字内出现概率;键盘上可以输入的符号包括可视字符和控制字符,其中,可视字符包括字母、数字和其他可视字符。
句中出现概率是指这几种字符出现的概率,由于出现概率对键盘使用者来说是不一样的,甚至在不同的统计时间内也是不一样的,为了简化设计可以人为按照经验或者需要进行分配,它们的和也不一定要等于1;例如,字母出现概率为0.5,数字出现概率为0.1,其他可视字符出现概率为0.1,控制字符出现概率为0.05。
如果使用26个字母或者数字进行输入时,键盘符号字内概率是指每个单独字在不同位置出现的概率,字内概率计算方法如下:
字内概率=字母在字或词的某一位置出现的次数/其相关字母在所述字或词同一位置出现的总次数
对于控制字符、可视字符中的其他可视字符可以看作字的区分符号,不会出现在字中,所以不作字内出现概率统计。
下面举例说明键盘字符概率统计的方法。
1、26个字母的字内概率统计:
键盘的主要作用是输入文本,而文本大都是有意义的字词,且在字词的不同位置字母出现的概率是不一样的,同样的,在不同的语言环境中字母出现的概率也是不同的。字母的字内概率统计可以通过典型统计方法和改进统计方法得到。
典型统计方法以26个字母之间不相关为基础,即在运算某个字母的一个字内概率时不考虑其他字母的影响。
假设有中文字集,如表1,表中所述字母位置是指字母在该所属字或词中的位置:
|
字母位置 |
字 |
1 |
2 |
3 |
4 |
5 |
零 |
L |
I |
N |
G | |
一 |
Y |
I | | | |
二 |
E |
R | | | |
三 |
S |
A |
N | | |
四 |
S |
I | | | |
五 |
W |
U | | | |
六 |
L |
I |
U | | |
七 |
Q |
I | | | |
八 |
B |
A | | | |
九 |
J |
I |
U | | |
十 |
S |
H |
I | | |
字母出现次数 | 11 | 11 | 5 | 1 | 0 |
表1
26个字母的出现次数统计如表2:
概要 |
字集语言:中文字集标号:字集1 |
|
字母位置 |
字母 |
1 |
2 |
3 |
4 |
5 |
A |
0 |
2 |
0 |
0 |
0 |
B |
1 |
0 |
0 |
0 |
0 |
C |
0 |
0 |
0 |
0 |
0 |
D |
0 |
0 |
0 |
0 |
0 |
E |
1 |
0 |
0 |
0 |
0 |
F |
0 |
0 |
0 |
0 |
0 |
G |
0 |
0 |
0 |
1 |
0 |
H |
0 |
1 |
0 |
0 |
0 |
I |
0 |
6 |
1 |
0 |
0 |
J |
1 |
0 |
0 |
0 |
0 |
K |
0 |
0 |
0 |
0 |
0 |
L |
2 |
0 |
0 |
0 |
0 |
M |
0 |
0 |
0 |
0 |
0 |
N |
0 |
0 |
2 |
0 |
0 |
O |
0 |
0 |
0 |
0 |
0 |
P |
0 |
0 |
0 |
0 |
0 |
Q |
1 |
0 |
0 |
0 |
0 |
R |
0 |
1 |
0 |
0 |
0 |
S |
3 |
0 |
0 |
0 |
0 |
T |
0 |
0 |
0 |
0 |
0 |
U |
0 |
1 |
2 |
0 |
0 |
V |
0 |
0 |
0 |
0 |
0 |
W |
1 |
0 |
0 |
0 |
0 |
X |
0 |
0 |
0 |
0 |
0 |
Y |
1 |
0 |
0 |
0 |
0 |
Z |
0 |
0 |
0 |
0 |
0 |
表2
26个字母的字内概率统计如表3:
概要 |
字集语言:中文字集标号:1 |
|
字母位置 |
字母 |
1 |
2 |
3 |
4 |
5 |
A |
0 |
2/11 |
0 |
0 |
0 |
B |
1/11 |
0 |
0 |
0 |
0 |
C |
0 |
0 |
0 |
0 |
0 |
D |
0 |
0 |
0 |
0 |
0 |
E |
1/11 |
0 |
0 |
0 |
0 |
F |
0 |
0 |
0 |
0 |
0 |
G |
0 |
0 |
0 |
1/1 |
0 |
H |
0 |
1/11 |
0 |
0 |
0 |
I |
0 |
6/11 |
1/5 |
0 |
0 |
J |
1/11 |
0 |
0 |
0 |
0 |
K |
0 |
0 |
0 |
0 |
0 |
L |
2/11 |
0 |
0 |
0 |
0 |
M |
0 |
0 |
0 |
0 |
0 |
N |
0 |
0 |
2/5 |
0 |
0 |
O |
0 |
0 |
0 |
0 |
0 |
P |
0 |
0 |
0 |
0 |
0 |
Q |
1/11 |
0 |
0 |
0 |
0 |
R |
0 |
1/11 |
0 |
0 |
0 |
S |
3/11 |
0 |
0 |
0 |
0 |
T |
0 |
0 |
0 |
0 |
0 |
U |
0 |
1/11 |
2/5 |
0 |
0 |
V |
0 |
0 |
0 |
0 |
0 |
W |
1/11 |
0 |
0 |
0 |
0 |
X |
0 |
0 |
0 |
0 |
0 |
Y |
1/11 |
0 |
0 |
0 |
0 |
Z |
0 |
0 |
0 |
0 |
0 |
表3
上述概率统计为静态统计方法,以整个字集为基础进行统计,因此需要提供不同的字集可以得到不同的结果,其中,所述字集包括常用字字集、不同国标字集、行业字集和用户字集等。为了使统计结果更确切和实用,还可以采用动态的统计方法,即以特定的时间间隔为基础进行统计,两个不同时间间隔内的统计值不相关或者加权相关,可以根据需要具体选择。
改进统计方法在典型统计方法的基础上引入字母在键盘上的物理相关性,即每个字母在运算其字内概率时,其范围是周围的8个字母。如图7所示,其中,与字母S相关的字母是Q,W,E,A,D,Z,X,C;与字母Q相关的字母是W,A,S,其他键集1和其他键集2;与字母A相关的字母是Q,W,S,Z,X和其他键集2。
26个字母的字内概率如下:
概要 |
字集语言:中文字集标号:1 |
|
字母位置 |
字母 |
1 |
2 |
3 |
4 |
5 |
A |
0 |
2/2 |
0 |
0 |
0 |
B |
1 |
0 |
0 |
0 |
0 |
C |
0 |
0 |
0 |
0 |
0 |
D |
0 |
0 |
0 |
0 |
0 |
E |
1/5 |
0 |
0 |
0 |
0 |
F |
0 |
0 |
0 |
0 |
0 |
G |
0 |
0 |
0 |
1/1 |
0 |
H |
0 |
1/2 |
0 |
0 |
0 |
I |
0 |
6/7 |
1/3 |
0 |
0 |
J |
1/2 |
0 |
0 |
0 |
0 |
K |
0 |
0 |
0 |
0 |
0 |
L |
2/3 |
0 |
0 |
0 |
0 |
M |
0 |
0 |
0 |
0 |
0 |
N |
0 |
0 |
2/2 |
0 |
0 |
O |
0 |
0 |
0 |
0 |
0 |
P |
0 |
0 |
0 |
0 |
0 |
Q |
1/5 |
0 |
0 |
0 |
0 |
R |
0 |
1/1 |
0 |
0 |
0 |
S |
3/6 |
0 |
0 |
0 |
0 |
T |
0 |
0 |
0 |
0 |
0 |
U |
0 |
1/8 |
2/3 |
0 |
0 |
V |
0 |
0 |
0 |
0 |
0 |
W |
1/6 |
0 |
0 |
0 |
0 |
X |
0 |
0 |
0 |
0 |
0 |
Y |
1/2 |
0 |
0 |
0 |
0 |
Z |
0 |
0 |
0 |
0 |
0 |
表4
由表3和表4可以看出,使用改进统计方法提高了字母的字内概率,该方法中还可以加入字母在不同方向上的权数,该权数根据人的手指在不同的运动方向上的自由度确定。
2、数字符号概率统计:
数字符号在每个位置都可以认为是随机的,但是由于实际输入的数字都会存在于一定的范围之内,也就是说在不同的使用领域内,出现在不同大小范围的数字的概率是不一样的,另外,当数字出现在某一特定范围内时,数字在不同位置出现的概率也可能是不同的,为了简化设计,这个概率统计可以忽略,而以某一特定概率代替。
3、其他字符概率统计:
为了简化设计,可以使用推荐或自行规定相应的某一概率值分配给其他键盘字符。
键盘阵列初始分配时,根据键盘阵列中固定分配给键盘字符的接触点平均分配两个相关键盘字符之间的可动态分配的接触点,在步骤601中键盘阵列作了初始设置后,在一定时间间隔内调整键盘阵列以适应人手的操作,该过程为键盘的微调过程,其微调的动作会一致持续;键盘调整的过程是将统计的键盘相关字符的出现概率进行加权,然后根据加权后的两个相关键盘字符的概率比例对该两给相关键盘字符之间的可动态分配接触点进行重新分配,其中,所述时间间隔可以人为设置也可以由键盘控制器设置。如图8所示,调整键盘阵列的具体实现过程如下:
步骤800、在预定时间内统计键盘字符的出现概率。
步骤801、统计两个相关键盘字符之间的修改次数,并计算两个修改方向上的修改次数比值。
步骤802、根据所述修改次数比值对所述两个相关键盘字符的出现概率进行加权,所述加权是指将修改次数比值乘上两个相关键盘字符的出现概率差值得到加权值,将其中较大的概率值加上该加权值,将另一概率值减去该加权值。
步骤803、根据加权后两个相关键盘字符的概率的比例调整所述两个相关键盘字符之间可动态分配的接触点。
下面以键盘字母S的键盘阵列分配为例进行说明:
如图9所示的键盘字母S与其相关字母的字内概率相同时键盘字母对应的键盘阵列分配示意图中,根据键盘字母S和其相关键盘字母的中心阵列平均分配任意两个相关键盘字母之间的可动态分配的接触点;虚线块为键盘字母对应的中心阵列,所述中心阵列是指固定分配给键盘字符的接触点构成的阵列,该中心阵列的接触点可以是一个可以是多个;可以为默认的接触点,也可以根据用户需要设置。
假设在统计周期内键盘字母的修改次数为100次,其中,10次是从W键修改为S键,20次是从S键修改为W键,10次是从S键修改为A键,40次是从S键修改为X键,15次是从S键修改为C键,5次是从C键修改为S键。
根据上述修改次数的统计结果计算任意两个相关键盘字母在两个修改方向上的修改次数比值,若只有单方向修改,则两个修改方向上的修改次数比值定为0;因此有:S键到W键的修改次数比值为10/20=1/2;S键到C键的修改次数比值为1/3,S键到X键的修改次数比值为0。
假设在统计周期内任意两个相关键盘字母的概率比值如下:S和Q的概率比为1∶1,S和W的概率比为3∶1,S和E的概率比为1∶1,S和A的概率比为1∶3,S和D的概率比为1∶3,S和Z的概率比为1∶1,S和X的概率比为1∶3,S和C的概率比为1∶2。
根据上述概率的统计结果计算任意两个键盘相关字母之间的概率差值,并将该两个键盘相关字母的修改次数比值乘上所述概率差值得到加权值,如表5所示:
相关字母 |
概率差值 |
修改次数比值 |
加权值 |
S、Q |
0 |
0 |
0 |
S、W |
2 |
1/2 |
1 |
S、E |
0 |
0 |
0 |
S、A |
2 |
0 |
0 |
S、D |
2 |
0 |
0 |
S、Z |
0 |
0 |
0 |
S、X |
2 |
0 |
0 |
S、C |
1 |
1/3 |
1/3 |
表5
分别将上述加权值加权到两个相关键盘字母的概率值上,即将其中较大的概率值加上该加权值,将另一概率值减去该加权值;因此有:S和W的概率比值为4∶0,S和C概率比值为1∶4,S和其他相关字母的概率比值保持不变。
将任意两个相关键盘字母之间的可动态分配的接触点根据得到的两个相关键盘字母的概率比值进行分配,则有S和W之间的可动态分配接触点全部分配给S;S和C之间的可动态分配接触点总数的五分之一分配给S,其余分配给C;S与其他相关字母之间的可动态分配接触点保持不变,如图10所示。
本实施例中将键盘字符对应的键盘阵列范围分配完成之后,将键盘上的字符在逻辑上分配为字母键区域、非常用键区域、常压键区域和数字键区域,然后进行译码判决。其具体实现方法如下:
1、定义击键过程:键从弹起到压下为完成一次击键,若键一直弹起或者压下都不能作为完成一次击键。
2、确定实际击键:在实际操作的过程中,可能会同时存在几个键同时按下的操作,此时,将在某一小段时间内连续发生的几次击键中的最后一次记为实际击键,其他击键作为抖动噪声滤除。
3、判决击键字母:在击键后确定被触发的接触点所对应的键盘字符,并将其中一个对应最多接触点的键盘字符判定为本次输入的字符。
本发明方法实现了键盘阵列的动态分配,满足了用户使用键盘的个人需求,进一步降低了用户输入的错误率,同时也提高了用户长期使用键盘的舒适度。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。