发明内容
有鉴于此,本发明要解决的技术问题是,提供一种键盘纠错方法及装置,能够降低按键误操作的发生概率。
为此,本发明实施例采用如下技术方案:
本发明实施例提供一种键盘纠错方法,包括:
扫描用户所按下按键的键值,并按照键值的被扫描时间对键值排序得到键值序列;
根据键值序列中最新被确定为正常键值的键值与位于所述正常键值之后的键值所对应按键之间的位置关系,确定被扫描时间位于所述正常键值之后的键值是否是用户误操作键值;所述根据键值序列中最新被确定为正常键值的键值与位于所述正常键值之后的键值所对应按键之间的位置关系,确定被扫描时间位于所述正常键值之后的键值是否是用户误操作键值具体为:判断所述键值序列中最新被确定为正常键值的键值所对应的按键与该正常键值的后一个键值所对应的按键在位置上是否相邻,如果是,确定所述正常键值的后一个键值为用户误操作键值,如果不是,则确定所述正常键值的后一个键值为正常键值;
丢弃所述用户误操作键值。
本发明实施例还提供一种键盘纠错方法,包括:
扫描用户所按下按键的键值,并按照键值的被扫描时间对键值排序得到键值序列;
根据键值序列中最新被确定为正常键值的键值与位于所述正常键值之后的键值的被扫描时间之间的时间间隔,确定被扫描时间位于所述正常键值之后的键值是否是用户误操作键值;所述根据键值序列中最新被确定为正常键值的键值与位于所述正常键值之后的键值的被扫描时间之间的时间间隔,确定被扫描时间位于所述正常键值之后的键值是否是用户误操作键值具体为:判断所述键值序列中最新被确定为正常键值的键值的后一个键值的被扫描时间与所述正常键值的被扫描时间之间的时间间隔是否不大于预设时间间隔,如果是,确定最新被确定为正常键值的键值的后一个键值为用户误操作键值,如果不是,则确定最新被确定为正常键值的键值的后一个键值为正常键值;
丢弃所述用户误操作键值。
本发明实施例提供一种键盘纠错装置,包括:
扫描单元,用于扫描用户所按下按键的键值,并按照键值的被扫描时间对键值排序得到键值序列;
判断单元,用于根据键值序列中最新被确定为正常键值的键值与位于所述正常键值之后的键值所对应按键之间的位置关系,确定被扫描时间位于所述正常键值之后的键值是否是用户误操作键值;所述判断单元具体用于:判断所述键值序列中最新被确定为正常键值的键值所对应的按键与该正常键值的后一个键值所对应的按键在位置上是否相邻,如果是,确定所述正常键值的后一个键值为用户误操作键值,如果不是,则确定所述后一个键值为正常键值;
丢弃单元,用于丢弃所述用户误操作键值。
本发明实施例还提供一种键盘纠错装置,包括:
扫描单元,用于扫描用户所按下按键的键值,并按照键值的被扫描时间对键值排序得到键值序列;
判断单元,用于根据键值序列中最新被确定为正常键值的键值与位于所述正常键值之后的键值的被扫描时间之间的时间间隔,确定被扫描时间位于所述正常键值之后的键值是否是用户误操作键值;所述判断单元具体用于:判断最新被确定为正常键值的键值的后一个键值的被扫描时间与所述正常键值的被扫描时间之间的时间间隔是否不大于预设时间间隔,如果是,确定最新被确定为正常键值的键值的后一个键值为用户误操作键值,如果不是,则确定最新被确定为正常键值的键值的后一个键值为正常键值;
丢弃单元,用于丢弃所述用户误操作键值。
对于上述技术方案的技术效果分析如下:
根据键值序列中最新被确定为正常键值的键值与位于所述正常键值之后的键值的被扫描时间之间的时间间隔和/或所述键值所对应按键之间的位置关系,确定用户误操作键值并丢弃,从而以最新被确定为正常键值的键值作为判断基准,根据键值之间被扫描时间的时间间隔和/或所对应按键之间的位置关系确定用户误操作键值,从而能够识别出用户误操作按键的键值进行丢弃,降低了用户按键误操作的发生概率。
具体实施方式
目前,多是通过对键盘结构的优化设计达到降低按键误操作发生概率的目的。但是,由于手机等需要键盘的电子设备的体积不断减小,键盘的尺寸也需要相应的不断缩小。由此,在键盘尺寸的限制下,键盘结构的优化设计已不能很好的降低按键误操作的发生概率。
据此,本发明实施例提供一种键盘纠错方法及装置,以软件方式降低按键误操作的发生概率。
以下,结合附图详细说明本发明实施例键盘纠错方法及装置的实现。
图2为本发明实施例键盘纠错方法流程示意图,如图2所示,包括:
步骤201:扫描用户所按下按键的键值,并按照键值的被扫描时间对键值排序得到键值序列。
其中,扫描用户按键的键值的方法可以使用现有技术中的扫描按键键值的方法实现,这里不赘述。
对于扫描键值来说,任何“同时按下”的键都是有时间先后顺序的,相应的,也都对应着不同的被扫描到的时间,所述被扫描到的时间在后文中称为该键值的被扫描时间。键值的被扫描时间通过扫描方法即可判别出来,具体的扫描方法可以通过驱动代码实现。一般的,进行键值的扫描在驱动层完成,而扫描到的按键的键值所对应的信息则一般发送给应用层来进行后续处理,例如后续的步骤202和203等,因为如果由驱动层进行后续的判断等操作可能会影响按键响应速度。
步骤202:根据键值序列中最新被确定为正常键值的键值与位于所述正常键值之后的键值的被扫描时间之间的时间间隔和/或键值所对应按键之间的位置关系,确定被扫描时间位于所述正常键值之后的键值是否是用户误操作键值。
步骤203:丢弃所述用户误操作键值。
图2所示的本发明实施例键盘纠错方法,以最新被确定为正常键值的键值作为判断基准,根据键值被扫描时间之间的时间间隔和/或键值所对应按键之间的位置关系,确定用户误操作键值并丢弃,从而降低了用户按键误操作的发生概率。
图3为本发明实施例另一种键盘纠错方法流程示意图,如图3所示,包括:
步骤301:扫描用户所按下按键的键值,根据键值的被扫描时间对键值排序得到键值序列。
本步骤可参考步骤201,这里不赘述。
步骤302:判断所述键值序列中最新被确定为正常键值的键值所对应的按键与该正常键值的后一个键值所对应的按键在位置上是否相邻,如果是,执行步骤303;否则,执行步骤305。
其中,当用户开始执行按键操作时,所得到的键值序列中的第一个键值可以确定为用户正常操作所得到的正常键值,该正常键值是作为位于该正常键值之后键值是为正常键值或误操作键值的判断基准。
在本步骤中,判断两个键值是否在位置上相邻时,如图3a所示,可以判断所述两个键值所对应按键中,一个按键是否位于另一个按键的上、或下、或左、或右的最多4个位置上(如在边上的按键四周的按键可能只有三个,也可能只有两个等)。或者,本步骤中,如图3b所示,也可以判断两个键值所对应的按键中,一个按键是否位于另一个按键的上、或下、或左、或右、或左上、或左下、或右上、或右下最多8个位置上(同样的,在键盘边上的按键四周的按键个数不一定),不过判断两个按键是否处于以上列出的8种位置关系,可能会对按键的响应速度产生影响,而且一般而言,用户对于所希望按下的目标按键周围上下左右四个按键之外的四个按键发生误操作的可能性也比较低,因此,一般本步骤中判断一个按键是否位于另一个按键的上下左右四个位置即可,这样,相对于判断两按键之间的8个位置关系,仅判断两按键之间的4个位置关系会大大减小本步骤中的判断操作对于按键响应速度的影响。
在具体实现所述位置是否相邻的判断时,可以预先设置一个表来存储键盘上所有可能存在误操作的按键所对应的相邻按键,其中,对于一些误操作可能性很低的按键可以不设置在这个表中,这里并不限制。
步骤303:判断所述两个键值的被扫描时间之间的时间间隔是否不大于预设时间间隔,如果是,执行步骤304,否则,执行步骤305。
其中,所述预设时间间隔的具体数值可以根据实际应用具体设定,不能过大或过小,因为时间间隔的数值过大可能将用户的正常按键的键值误判为用户误操作键值而丢弃,时间间隔的数值过小将无法起到判断用户误操作键值的作用,因此,在设置时需考虑按照用户的按键速度来具体设置。在实际应用中,可以为用户提供指导值,由用户自主设定所述时间间隔的具体数值;或者,也可以在装置中预先设置具体的时间间隔数值。优选的,可以设置专门的统计单元,对用户的按键速度进行统计,从而计算出合适用户的时间间隔,以使本发明实施例的所述键盘纠错方法可以自适应于各个不同的用户,具体的统计方法这里不再赘述。
步骤304:丢弃所述正常键值的后一个键值,返回步骤302继续以该正常键值为基准判断键值序列中的下一键值。
其中,如果步骤303中所述判断的结果为是时,则可以确定所述两个键值中后一个键值为用户误操作键值,从而用户误操作键值则丢弃(即后一个键值),之后返回步骤302继续判断下一个键值。例如,键值序列为A、B、C、D四个键值,A是最新确定的正常键值,为判断基准;当前步骤302中判断的两个键值为A、B,B被确定为用户误操作键值,则丢弃B,之后返回步骤302继续以A为基准判断C是否是用户误操作键值。
步骤305:确定所述正常键值的后一个键值为正常键值,并返回步骤302以当前最新确定为正常键值的键值为基准判断键值序列中下一个键值是否是用户误操作键值。
例如,键值序列为A、B、C、D四个键值,当前步骤302中判断的两个键值为A、B,正常键值A为判断基准;本步骤中向用户显示A,并丢弃B,之后返回步骤302继续以A为基准判断C是否是用户误操作键值。
如果步骤303中所述判断结果为否,则可以确定所述后一键值为用户正常操作键值,即正常键值,因此,返回步骤302时,再根据最新被判断为正常键值,即所述后一个键值,判断键值序列中所述后一个键值的下一个键值是否为误操作键值。如此循环,直到键值序列中的最后一个键值。例如,键值序列为A、B、C、D四个键值,A是最新确定的正常键值,为判断基准;当前步骤302中判断的两个键值为A、B,B被确定为正常键值,之后返回步骤302继续以B为基准判断C是否是用户误操作键值。
在具体实现中,将在显示屏上显示正常键值,并可以相应删除键值序列中对应的键值,从而减少键值序列中键值的数量,进而减少对键盘纠错装置的资源占用,提高键盘纠错装置的数据处理效率。
在图3所示的本发明实施例中,先根据键值所对应按键之间的位置关系进行判断,之后,再根据键值被扫描时间之间的时间间隔进行判断,根据判断结果得到用户误操作键值进行丢弃,降低了用户按键误操作的发生概率。
图3所示的本发明实施例中,也可以不执行步骤303,此时,步骤302的判断结果为是时,直接执行步骤304;判断结果为否时,直接执行步骤305;此时,同样能够完成对于用户误操作按键的确定,但是,相对于图3所示的根据键值被扫描时间之间的时间间隔以及键值所对应位置关系确定用户误操作按键的方法,确定用户误操作按键的精确度较低。
图4为本发明实施例另一种键盘纠错方法流程示意图,如图4所述,包括:
步骤401:扫描用户所按下按键的键值,按照键值的被扫描时间对键值排序得到键值序列。
本步骤可参考步骤201,这里不赘述。
步骤402:判断最新被确定为正常键值的键值的后一个键值的被扫描时间与所述正常键值的被扫描时间之间的时间间隔是否不大于预设时间间隔,如果是,执行步骤403,否则,执行步骤405。
其中,所述最新被确定为正常键值分为两种情况:用户初始进行按键操作时检测到的用户的第一个按键所对应的键值为正常键值;或者,循环判断过程中由步骤404或步骤405判断结果得到的正常键值。在本实施例中,该键值一般为键值序列中,未向用户显示的、被扫描时间最靠前的键值。
步骤403:判断所述时间间隔不大于预设时间间隔的键值所对应的按键与最新被确定为正常键值的键值所对应的按键在位置上是否相邻,如果是,执行步骤404;否则,执行步骤405。
步骤404:确定所述后一个键值为用户误操作键值,丢弃该用户误操作键值,返回步骤402,以所述正常键值为基准,判断键值序列中下一个键值。
其中,如果步骤403中所述判断的结果为是时,则可以确定所述时间间隔不大于预设时间间隔、且所对应按键与所述正常键值所对应按键相邻的所述键值为用户误操作键值,从而丢弃所述用户误操作键值。
步骤405:确定所述后一个键值为正常键值,并返回步骤402,以当前最新确定为正常键值的键值为基准,判断键值序列中下一个键值是否是用户误操作键值。
其中,如果步骤403中所述判断的结果为否时,则可以确定不存在与所述正常键值相关的误操作键值,因此,确定所述后一个键值是正常键值,继续以最新被确定为正常键值的键值(即所述后一个键值)为基准,判断下一个键值是否是用户误操作键值,如此循环,直到序列中最后一个键值。
在具体实现中,将在显示屏上显示正常键值,并可以相应删除键值序列中对应的键值,从而减少键值序列中键值的数量,进而减少对键盘纠错装置的资源占用,提高键盘纠错装置的数据处理效率。
图4所示的本发明实施例键盘纠错方法中,先根据键值被扫描时间之间的时间间隔进行判断,之后,再根据键值所对应按键之间的位置关系进行判断,根据判断结果得到用户误操作键值进行丢弃,降低了用户按键误操作的发生概率。
图4所示的本发明实施例中,也可以不执行步骤403,此时,步骤402的判断结果为是时,直接执行步骤404;判断结果为否时,直接执行步骤405;此时,同样能够完成对于用户误操作按键的确定,但是,相对于图4所示的根据键值被扫描时间之间的时间间隔以及键值所对应位置关系确定用户误操作按键的方法,确定用户误操作按键的精确度较低。
在图3和图4所示的本发明实施例键盘纠错方法中,根据键值被扫描时间之间的时间间隔和键值所对应按键之间的位置关系确定用户误操作的键值,这时获得用户误操作键值的结果较为精确;在对用户误操作判断结果精确度要求不高时,也可以根据键值被扫描时间之间的时间间隔或键值所对应按键之间的位置关系确定用户误操作的键值,这里不再赘述。
图5为本发明实施例一种键盘纠错装置结构示意图,如图5所示,包括:
扫描单元510,用于扫描用户所按下按键的键值,并按照键值的被扫描时间对键值排序得到键值序列;
判断单元520,用于根据键值序列中最新被确定为正常键值的键值与位于所述正常键值之后的键值的被扫描时间之间的时间间隔和/或键值所对应按键之间的位置关系,确定被扫描时间位于所述正常键值之后的键值的是否是用户误操作键值;
丢弃单元530,用于丢弃所述用户误操作键值。
进一步的,如图5a所示,所述键盘纠错装置还可以包括:显示单元540,用于显示正常键值。
其中,所述判断单元520可以仅根据键值所对应按键的位置关系确定用户误操作键值,此时,判断单元520具体可以用于:
判断所述键值序列中最新被确定为正常键值的键值所对应的按键与该正常键值的后一个键值所对应的按键在位置上是否相邻,如果是,确定所述正常键值的后一个键值为用户误操作键值;如果否,确定所述后一个键值为正常键值。
进一步地,所述判断单元520在判断键值所对应按键的位置关系的基础上,还可以根据两键值被扫描时间之间的时间间隔进一步判断键值是否为误操作键值,此时,判断单元520还可以进一步用于:判断所述两个键值位置上相邻之后,判断最新被确定为正常键值的键值与该正常键值的后一个键值的被扫描时间之间的时间间隔是否不大于预设时间间隔,如果是,执行所述确定用户误操作键值的操作;如果否,则确定所述后一个键值为正常键值。
或者,所述判断单元520还可以仅根据被扫描时间相邻的两键值的被扫描时间之间的时间间隔判断所述键值是否为误操作键值,此时,判断单元520具体可以用于:
判断最新被确定为正常键值的键值的后一个键值的被扫描时间与所述正常键值的被扫描时间之间的时间间隔是否不大于预设时间间隔,如果是,确定最新被确定为正常键值的键值的后一个键值为用户误操作键值,如果不是,则确定最新被确定为正常键值的键值的后一个键值为正常键值。
进一步地,所述判断单元520还可以在根据两键值的被扫描时间之间的时间间隔判断键值是否为误操作键值的基础上,再根据两键值所对应按键之间的位置关系进一步判断键值是否为误操作键值,此时,判断单元520进一步可以用于:
所述判断存在被扫描时间与所述正常键值被扫描时间之间的时间间隔不大于预设时间间隔的键值之后,判断所述最新被确定为正常键值的键值的后一个键值所对应的按键与所述正常键值所对应按键在位置上是否相邻,如果是,执行所述确定最新被确定为正常键值的键值的后一个键值为用户误操作键值操作,如果不是,则确定最新被确定为正常键值的键值的后一个键值为正常键值。
图5和图5a所示的本发明实施例键盘纠错装置,根据所述键值被扫描时间之间的时间间隔和/或键值所对应按键之间的位置关系,确定用户误操作键值并丢弃,从而降低了用户按键误操作的发生概率。
本发明实施例所述键盘纠错方法和装置可以适用于所有带有键盘的设备,例如带有键盘的手机、电脑、工厂工控机等终端,这里并不限定。
本领域普通技术人员可以理解,实现上述实施例键盘纠错方法的过程可以通过程序指令相关的硬件来完成,所述的程序可以存储于可读取存储介质中,该程序在执行时执行上述方法中的对应步骤。所述的存储介质可以如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。