键盘扫描方法、装置、计算机设备及存储介质与流程

文档序号:15557096发布日期:2018-09-29 01:22阅读:202来源:国知局

本发明涉及电磁辐射领域,特别是涉及一种键盘扫描方法、装置、计算机设备及存储介质。



背景技术:

随着科学技术的迅速发展,智能化、信息化已经深入到人们生产生活的各个领域,如工业、农业、交通、医疗、航天等的智能信息化,它不仅仅提高了人们的生活水平,而且有效带动了社会经济的迅速发展、促进其它新兴领域、新兴技术的出现。对于在智能化与信息化中扮演主要角色的就是计算机,可以说没有计算机的出现也就没有当今社会的智能化和信息化时代的到来。目前,计算机在很多领域中都有发挥巨大的作用,人们也越来越离不开计算机。计算机能用于科学计算、工农业管理控制、交通运输等领域,还可以应用于日常办公、个人生活、工作学习、娱乐休闲等各个地方。正因为计算机的功能之强大,所以,现在社会很多人几乎每天都需要坐在计算机的旁边,或是因为工作,或者是用于娱乐游戏。我们都知道,计算机是电子设备,它存在着一定的电磁辐射,长期坐在计算机旁边,会对我们的身体健康带来一定的影响。根据一些资料显示,在计算机中,键盘辐射是计算机辐射较大的硬件部分之一,而且键盘经常都是放在离人体最近的位置,因而对人体健康的危害也会非常大。

目前降低计算机键盘辐射的方法主要是通过在键盘的外部增加降低电磁辐射的外套薄膜,或者在键盘内部加入一些防电磁辐射的屏蔽层。但这些方法只是隔离了辐射源,没有真正的降低键盘的辐射。



技术实现要素:

基于此,有必要针对键盘辐射的问题,提供一种键盘扫描方法、装置、计算机设备及存储介质。

一种键盘扫描方法,包括:

获取键盘中键码的使用频次,根据所述键码的使用频次将全部键码划分为多个键码分区;

对不同键码分区设定不同的扫描频率,其中,使用频次越低的键码所在的键码分区对应的扫描频率越低;

根据所述扫描频率对不同键码分区包含的键码进行扫描。

在其中一个实施例中,所述键盘扫描方法还包括:获取各键码分区最近一次键码触发时间,计算各键码分区最近一次键码被触发的时间与当前时间的时间差;根据所述时间差调整各键码分区对应的扫描频率。

在其中一个实施例中,所述根据所述时间差调整各键码分区对应的扫描频率的步骤,包括:当所述时间差大于第一设定阈值且小于等于第二设定阈值时,则根据预设的第一规则调整所述各键码分区的扫描频率;当所述时间差大于所述第二设定阈值且小于等于第三设定阈值时,则根据预设的第二规则调整所述各键码分区的扫描频率;当所述时间差大于所述第三设定阈值时,则根据预设的第三规则调整所述各键码分区的扫描频率。

在其中一个实施例中,在根据所述时间差调整各键码分区对应的扫描频率的步骤之后,还包括:检测键码触发事件,在检测到任一键码触发事件之后,将各键码分区的扫描频率分部恢复为调整前的扫描频率。

在其中一个实施例中,所述根据所述键码的使用频次划分键码分区的步骤,包括:根据所述使用频次对所述键码进行划分,得到键码高频区、键码中频区和键码低频区;所述对不同键码分区设定不同的扫描频率的步骤,包括:设定所述键码高频区对应的扫描频率高于所述键码中频区的扫描频率;设定所述键码中频区的扫描频率高于所述键码低频区的扫描频率。

在其中一个实施例在中,所述根据所述键码的使用频次将全部键码划分为多个键码分区的步骤,包括:获取键盘上键码的个数和预设的键码分区;若所述键码的个数能平均分配到各个键码分区,则根据所述键码的使用频次,将键盘上的键码平均划分到各个键码分区;或,当所述键码的个数不能平均分配到所述键码分区时,则将键盘的键码减少至可以平均分配后,再根据所述键码的使用频次,将键盘上的键码平均划分到各个键码分区,然后根据减少的键码的使用频次,将所述减少的键码划分到对应的键码分区。

在其中一个实施例中,在根据所述键码的使用频次将全部键码划分为多个键码分区的步骤之后,还包括:统计设定时间内键码的使用频次,根据统计到的键码的使用频次和预设的调整条件,调整所述键码所在的键码分区。

在其中一个实施例中,所述根据统计到的键码的使用频次和预设的调整条件,调整所述键码所在的键码分区的步骤,包括:当统计到的键码的使用频次大于设定频次范围时,则将所述键码调整至扫描频率更高的键码分区;当统计到的键码的使用频次小于设定频次范围时,则将所述键码调整至扫描频率更低的键码分区;当统计到的键码的使用频次在设定频次范围内时,保持所述键码的键码分区不变。

在其中一个实施例中,在根据所述键码的使用频次和预设的调整规则,调整所述键码所在的键码分区的步骤之后,还包括:获取各个键码分区当前的键码数量,当任一键码分区的当前键码数量大于其他键码分区的键码数量之和时,则对键盘上的全部键码重新进行键码分区。

在其中一个实施例中,所述当所述时间差大于第一设定阈值且小于等于第二设定阈值,则根据预设的第一规则调整所述各键码分区的扫描频率的步骤,包括:当所述时间差大于第一设定阈值且小于等于第二设定阈值时,则根据第一比例系数调整所述各键码分区的扫描频率;所述当所述时间差大于所述第二设定阈值且小于等于第三设定阈值时,则根据预设的第二规则调整所述各键码分区的扫描频率的步骤,包括:当所述时间差大于所述第二设定阈值且小于等于第三设定阈值时,则根据第二比例系数调整所述各键码分区的扫描频率;所述当所述时间差大于所述第三设定阈值,则根据预设的第三规则调整所述各键码分区的扫描频率的步骤,包括:当所述时间差大于所述第三设定阈值时,则根据第三比例系数调整所述各键码分区的扫描频率;其中,所述第一比例系数大于所述第二比例系数;所述第二比例系数大于所述第三比例系数;根据第三比例系数调整后的各个键码分区的扫描频率不低于该分区对应的最低的扫描频次。

一种键盘扫描装置,包括:

键码分区获取模块,用于获取键盘中键码的使用频次,根据所述键码的使用频次将全部键码划分为多个键码分区;

扫描频率设定模块,用于对不同键码分区设定不同的扫描频率,其中,使用频次越低的键码所在的键码分区对应的扫描频率越低;

扫描模块,用于根据所述扫描频率对不同键码分区包含的键码进行扫描。

上述键盘扫描方法和装置,通过根据键盘上键码的使用频次,将键码划分成多个不同的键码分区,并对每个键码分区设定对应的扫描频率,使得可以根据键码分区中键码的使用频率的高低来设置相应的扫描频率,减少了键盘的扫描次数,从而降低了键盘的辐射。

一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述键盘扫描的方法。

上述计算机设备,通过所述处理器上运行的计算机程序,实现了降低键盘扫描频率。

一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述键盘扫描方法。

上述计算机存储介质,通过其存储的计算机程序,实现了降低键盘扫描频率。

附图说明

图1是一实施例键盘扫描方法的应用环境图;

图2是一实施例键盘扫描方法的流程图;

图3是另一实施例键盘扫描方法的流程图;

图4是一实施例行列式扫描实现方法的示意图;

图5是一实施例键盘扫描装置的结构示意图。

具体实施方式

为更进一步阐述本发明所采取的技术手段及取得的效果,下面结合附图及较佳实施例,对本发明实施例的技术方案,进行清楚和完整的描述。

需要说明的是,本发明实施例所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序。应该理解“第一\第二\第三”区分的对象在适当情况下可以互换,以使这里描述的本发明的实施例能够已除了在这里图示或描述的那些以外的顺序实施。

图1是一实施例键盘扫描方法的应用环境图。如图1所示,计算机系统100包括处理器110、存储器120、系统总线130和存储设备140。处理器110是一个用来通过计算机系统中基本的算术和逻辑运算来执行计算机程序指令的硬件。存储器120是一个用于临时或永久性存储计算程序或数据(例如,程序状态信息)的物理设备。系统总线130可以为以下几种类型的总线结构中的任意一种,包括存储器总线或存储控制器、外设总线和局部总线。处理器110和存储器120可以通过系统总线130进行数据通信。其中存储器120包括只读存储器(rom)或闪存(图中都未示出),以及随机存取存储器(ram),ram通常是指加载了操作系统和应用程序的主存储器。存储设备140可以从多种计算机可读介质中选择,计算机可读介质是指可以通过计算机系统100访问的任何可利用的介质,包括移动的和固定的两种介质。例如,计算机可读介质包括但不限于,闪速存储器(微型sd卡),cd-rom,数字通用光盘(dvd)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备,或者可用于存储所需信息并可由计算机系统100访问的任何其它介质。

计算机系统100还包括输入装置150和输入接口160(例如,io控制器)。用户可以通过输入装置160,如键盘,输入指令和信息到计算机系统100中。输入装置160通常是通过输入接口150连接到系统总线130上的,但也可以通过其它接口或总线结构相连接,如通用串行总线(usb)。

如上面详细描述的,适用于本发明的计算机系统100能执行键盘扫描方法的指定操作。计算机系统100通过处理器110运行在计算机可读介质中的软件指令的形式来执行这些操作。存储在存储器120中的软件指令使得处理器110执行上述的键盘扫描方法。此外,通过硬件电路或者硬件电路结合软件指令也能同样实现本发明。因此,实现本发明并不限于任何特定硬件电路和软件的组合。

如图2所示,图2是一实施例键盘扫描方法的流程图,包括如下步骤:

步骤s21,获取键盘中键码的使用频次,根据所述键码的使用频次将全部键码划分为多个键码分区。

步骤s22,对不同键码分区设定不同的扫描频率,其中,使用频次越低的键码所在的键码分区对应的扫描频率越低。

步骤s23,根据所述扫描频率对不同键码分区包含的键码进行扫描。

上述步骤中,键码的使用频次为一段时间内键码被触发的次数。键盘上每个键码都对应一个结构体变量,结构体变量包含四个成员参数:行扫描码、列扫描码、键码的使用频次和键码的扫描延时。其中,每个键码都有确定的扫描码,扫描码和列扫描码可根据硬件电路连接进行确定,通过扫描码可以随机获取任意一个键码当前触发的状态。键码的使用频次记录键码被触发的次数,在键盘初始化上电时,键码的使用频次是根据日常键码的使用情况来近似确定的默认参数。比如,键盘中26个英文字母按键对应的键码的使用频次最高,其次是阿拉伯数字键、空格、标点符号等按键对应的键码,使用最少的有ctrl、tab、插入、放大缩小、f1~f12等按键对应的键码;扫描延迟时间为两次扫描的间隔时间,在设定时间内,扫描次数越多,则对应的扫描延迟时间越短。

通过键码的结构体变量获取每个键码被触发的次数。再根据键码被触发次数的高低,划分键码分区。这里可以根据需要划分多个键码分区,如根据键码被触发的次数将键码划分为三个键码分区,键码被触发次数最高的若干个键码划分为同一个键码分区,键码被触发的次数最低的若干个键码划分为同一键码分区,剩余的键码划分为同一个键码分区。

扫描频率为在设定时间内设定的对键码的扫描次数,扫描次数越多,则扫描频率越高。键盘根据各个键码分区预先设定的扫描频次对键码进行扫描。同一个键码分区中的键码的扫描频率相同,不同键码分区的键码的扫描频率不同。

上述键盘扫描方法,通过根据键盘上键码的使用频次,将键码划分成多个不同的键码分区,并对每个键码分区设定对应的扫描频率后,使得可以对不同键码分区中的键码以不同的扫描频率进行扫描,从而减少了键盘的扫描次数,降低了键盘的辐射。

在一实施例中,本发明还提供一种具体的划分键码分区的方法。即所述根据所述键码的使用频次将全部键码划分为多个键码分区的步骤,包括:a1:获取键盘上键码的个数和预设的键码分区;a2:若所述键码的个数能平均分配到各个键码分区,则根据所述键码的使用频次,将键盘上的键码平均划分到各个键码分区;或,a3:若所述键码的个数不能平均分配到所述键码分区时,则将键盘的键码减少至可以平均分配后,再根据所述键码的使用频次,将键盘上的键码平均划分到各个键码分区,然后根据减少的键码的使用频次,将所述减少的键码划分到对应的键码分区。其中,为了保持每个键码分区中的键码个数相等,对键盘上的键码进行分区时会存在两种情况:一种情况是键盘上键码的个数能平均分配到各个预先设定的键码分区,另一种情况是键盘上键码的个数不能平均分配到各个预先设定的键码分区。当键盘上键码的个数能平均分配到各个预先设定的键码分区,则执行步骤a2:根据键码的使用频次,依次将键盘上所有的键码划分到各个键码分区。当键盘上键码的个数不能平均分配到各个预先设定的键码分区,则执行步骤a3:先将使用频次最低的几个键码减去,然后将剩余的键码平均分配到各个设定的键码分区后,再将减去的键码重新划分到键码的使用频次最低的键码分区中;或者先将使用频次最高的几个键码减去后,然后将剩余的键码平均分配到各个设定的键码分区后,再将减去的键码重新划分到键码的使用频次最高的键码分区中。

如图3所示,图3为另一实施例键盘扫描方法的流程图,包括以下步骤:

步骤s31,获取键盘中键码的使用频次,根据所述键码的使用频次将全部键码划分为多个键码分区。

步骤s32,对不同键码分区设定不同的扫描频率,其中,使用频次越低的键码所在的键码分区对应的扫描频率越低。

步骤s33,根据所述扫描频率对不同键码分区包含的键码进行扫描。

步骤s34,统计设定时间内键码的使用频次,根据统计到的键码的使用频次和预设的调整条件,调整所述键码所在的键码分区。

上述步骤中,键码的使用频次为一段时间内键码被触发的次数。键盘上每个键码都对应一个结构体变量,结构体变量包含四个成员参数:行扫描码、列扫描码、键码的使用频次和键码的扫描延时。其中,每个键码都有确定的扫描码,扫描码和列扫描码可根据硬件电路连接进行确定,通过扫描码可以随机获取任意一个键码当前触发的状态;键码的使用频次记录键码被触发的次数,在键盘初始化上电时,键码的使用频次是根据日常键码的使用情况来近似确定的默认参数。通过键码的结构体变量获取每个键码被触发的次数。再根据键码被触发次数的高低,划分多个键码分区。扫描频率为在设定时间内设定的对键码的扫描次数,扫描次数越多,则扫描频率越高。键盘根据各个键码分区预先设定的扫描频次对键码进行扫描,同一个键码分区中的键码的扫描频率相同,不同键码分区的键码的扫描频率不同。在将键盘上的键码全部进行分区后,在设定的时间内,键盘上的处理器还会监控所有键码的使用频次,并根据键码的使用频次适当调整键码所在的键码分区。

上述键盘扫描方法,先通过根据键盘上键码的使用频次,将键码划分成多个不同的键码分区;然后对每个键码分区设定对应的扫描频率后,对不同键码分区中的键码以不同的扫描频率进行扫描;最后,实时根据键码的使用频次调整所述键码所在的键码分区,通过有效的限制高频分区中键码的个数,控制键盘整体的扫描次数处于一个较低的水平状态,从而减少了键盘的扫描次数,降低了键盘的辐射。

在一个实施例中,所述根据统计到的键码的使用频次和预设的调整条件,调整所述键码所在的键码分区的步骤,包括:当统计到的键码的使用频次大于设定频次范围时,则将所述键码调整至扫描频率更高的键码分区;当统计到的键码的使用频次小于设定频次范围时,则将所述键码调整至扫描频率更低的键码分区;统计到的键码的使用频次在设定频次范围内时,保持所述键码的键码分区不变。例如,若监控到一个键码在设定时间内使用频次为k,当k大于设定频次范围时,则将该键码调整到扫描频率更高的键码分区;当k处于设定频次范围时,则保持该键码所处在的键码分区不作变动;当k小于设定频次范围时,则将该键码调整到扫描频率更低的键码分区。

在一个实施例中,在根据所述键码的使用频次和预设的调整规则,调整所述键码所在的键码分区的步骤之后,还包括:获取各个键码分区当前的键码数量,当任一键码分区的当前键码数量大于其他键码分区的键码数量之和时,则对键盘上的全部键码重新进行键码分区。键盘实时监控各个键码分区中键码的数量,当监控到其中某一个键码分区中的键码数量大于其他所有键码分区键码的数量总和时,则重新根据键码的使用频次,重新对键盘上的键码进行分区,以使得有效限制各个键码分区中键码的个数,控制键盘整体的扫描次数处于一个较低的水平状态。

在一个实施例中,在根据所述时间差调整各键码分区对应的扫描频率的步骤之后,还包括:检测键码触发事件,在检测到任一键码触发事件之后,将各键码分区的扫描频率分部恢复为调整前的扫描频率。

需要说明的是,键盘上的键码进行键码分区后,开始以键码分区设定的扫描频率进行扫描。但当键盘长时间没有按键按下时,各个键码分区的扫描次数会相应降到设定的最低值,因此键盘会实时监测键码的触发情况,一旦有键码触发,则迅速恢复各个键码分区初始设定的扫描次数。

在一个实施例中,所述键盘扫描方法还包括:获取最近一次键码触发时间,计算所述最近一次键码被触发的时间与当前时间的时间差;根据所述时间差调整各键码分区对应的扫描频率。

在一个实施例中,所述根据所述时间差调整各键码分区对应的扫描频率的步骤,包括:当所述时间差大于第一设定阈值且小于等于第二设定阈值时,则根据预设的第一规则调整所述各键码分区的扫描频率;当所述时间差大于所述第二设定阈值且小于等于第三设定阈值时,则根据预设的第二规则调整所述各键码分区的扫描频率;当所述时间差大于所述第三设定阈值时,则根据预设的第三规则调整所述各键码分区的扫描频率。

键盘在接收到有键码触发的信号后,以初始设定各个键码分区的扫描次数对键盘上的键码进行扫描,并且键盘上的计数器开始进行计。当与键码触发时间相隔一段时间后还没有接收到键码继续触发的信号,则按照一定比例降低每个键码分区的键码扫描次数。例如,设定三个时间段t0、t1和t2,其中t2>t1>t0。当在键码触发时间t0后键盘没有再接收到键码触发的信号,则按照一定比例降低各个键码分区的扫描次数;当在键码触发时间t1后键盘没有再接收到键码触发的信号,则按照一定比例进一步降低各个键码分区的扫描次数;当在键码触发时间t2后键盘没有再接收到键码触发的信号,则将各个键码分区的扫描次数降低到预设的最低值。

在一个实施例中,所述根据所述键码的使用频次划分键码分区的步骤,包括:根据所述键码的使用频次对所述键码进行划分,得到键码高频区、键码中频区和键码低频区;所述对不同键码分区设定不同的扫描频率的步骤,包括:设定所述键码高频区对应的扫描频率高于所述键码中频区的扫描频率;设定所述键码中频区的扫描频率高于所述键码低频区的扫描频率。

根据键码的使用频次,可以由高到低将键盘上所有的键码划分为若干个部分。例如,若将所有的键码划分为三部分,这三部分别对应为键码高频区、键码中频区和键码低频区三部分。其中,键码高频区中划分的是键盘中使用频次最高的一部分键码,键码中频区中划分的键码的使用频次少于键码高频区中划分的键码的使用频次,键码低频区中划分的键码的使用频次少于键码中频区中划分的键码的使用频次。因此,对应的设定键码高频区的扫描频率高于键码中频区的扫描频率,设定键码中频区的扫描频率高于所述键码低频区的扫描频率。

在一个实施例中,所述键盘的扫描方法在一应用环境下的实现流程如下所示:

首先,对键盘上每个键码都设置一个对应的结构体变量,结构体变量包含四个成员参数:行扫描码、列扫描码、键码的使用频次和键码的扫描延时。其中,每个键码都有确定的扫描码,扫描码和列扫描码可根据硬件电路连接进行确定,通过扫描码可以随机获取任意一个键码当前触发的状态。如图4所示,图4为一实施例行列式扫描实现方法的示意图,r0~r5是行扫描线,c0~c6是列扫描线。每条线的起始节点位置电平电压信号在不断变化,引出来的导线将节点位置信号的变化以电磁的形式辐射出来。

在设定时间内,根据键盘上键码的使用频次划分键码分区。为了在不影响使用效果的情况下更大程度的降低键盘的扫描次数,将键盘键码按使用频次等分由高到低划分为三个分区,第一个分区为键码高频区,第二个分区为键码中频区,第三个分区为键码低频区三部分。其中,键码高频区中划分的是键盘中使用频次最高的一部分键码,键码中频区中划分的键码的使用频次少于键码高频区中划分的键码的使用频次,键码低频区中划分的键码的使用频次少于键码中频区中划分的键码的使用频次。当键码不能完全等分为三个区域时,减去一个或两个最低使用频次的键码后,再进行平均分配,并将减去的一个或两个频次较低的键码放入第三个分区中;或者减去一个或两个最高使用频次的键码后,再进行平均分配,并将减去的那一个或者两个频次最高的键码放入第一个分区中。

进一步,对键码进行键码分区后,监控一定时间内键盘上各个键码的使用频次,若监控到一个键码在设定时间内使用频次为k,当k大于设定频次范围时,则将该键码调整键码高频区;当k处于设定频次范围时,则保持该键码所处在的键码分区不作变动;当k小于设定频次范围时,则将该键码调整到键码低频区。

并且,实时监控各个键码分区中键码的个数是否符合设定的规则。当监控到其中某一个键码分区中的键码数量大于其他所有键码分区键码的数量总和时,则重新根据键码的使用频次对键盘上的键码进行分区,以使得有效限制各个键码分区中键码的个数,控制键盘整体的扫描次数处于一个较低的水平状态。

然后,实时监测键盘上的按键情况,一旦有按键按下,则迅速恢复对键码的扫描次数。键盘通过扫描函数实现对所有的键码进行扫描,扫描函数通过两个参数值m和k来执行对键码的扫描次数的控制。其中,参数k为设定的各个键码分区中最低的扫描次数,参数m为调整系数,根据参数k和参数m确定各个键码分区的扫描次数为m*k。键码高频区、键码中频区和键码低频区对应的扫描函数分别为key_l()、key_m()和key_h()。则key_l()对应的参数为m0和k0,key_m()对应的参数为m1和k1,key_h()对应的参数为m2和k2。即键码高频区、键码中频区和键码低频区对应的最低的扫描次数分别为k0、k1和k2,键码高频区、键码中频区和键码低频区对应的调整系数分别为m0、m1和m2。需要说明的是,m0取最大值为max0,m1取最大值为max1,m2取最大值为max2,当键盘处于刚初始化完成或者长时间没有键按下时,参数m取值为1。

在距离最近一次按键按下的时间段内,设置三个间隔时间段t0、t1和t2,其中,t2>t1>t0。当键盘监控到在t0时间段内有按键继续按下,则保持三个键码分区最大的扫描次数分别为max0*k0,max1*k1和max2*k2;当t0时间段内没有按键继续按下,则调整m0=max0/2,m1=max1/2,m2=max2/2,三个键码分区对应的扫描次数分别为max0/2*k0,max1/2*k1和max2/2*k2。

当键盘监控到在t1时间段内有按键按下,则保持当前扫描次数;如果无键按下,则调整m0=max0/8,m1=max1/8,m2=max2/8,三个键码分区对应的扫描次数分别为max0/8*k0,max1/8*k1和max2/8*k2。

当键盘监控到在t2时间段内有按键按下,则保持当前扫描次数,如果无键按下,则调整m0=m1=m2=1,三个键码分区对应最低的扫描次数k0、k1和k2。

如图5所述,图5是一实施例键盘扫描装置的结构示意图,包括:

键码分区获取模块510,用于获取键盘中键码的使用频次,根据所述键码的使用频次将全部键码划分为多个键码分区。

扫描频率设定模块520,用于对不同键码分区设定不同的扫描频率,其中,使用频次越低的键码所在的键码分区对应的扫描频率越低。

扫描模块530,用于根据所述扫描频率对不同键码分区包含的键码进行扫描。

其中,键码的使用频次为一段时间内键码被触发的次数。键盘上每个键码都对应一个结构体变量,结构体变量包含四个成员参数:行扫描码、列扫描码、键码的使用频次和键码的扫描延时。其中,每个键码都有确定的扫描码,扫描码和列扫描码可根据硬件电路连接进行确定,通过扫描码可以随机获取任意一个键码当前触发的状态;参数键码的使用频次是记录键码被触发的次数,在键盘初始化上电时,使用默认取值参数,这一参数通过日常键码使用情况来近似确定其使用频次。比如,键盘中26个英文字母按键对应的键码的使用频次最高,其次是阿拉伯数字键、空格、标点符号等按键对应的键码,使用最少的有ctrl、tab、插入、放大缩小、f1~f12等按键对应的键码;扫描延迟时间为两次扫描的间隔时间,在设定时间内,扫描次数越多,则对应的扫描延迟时间越短。

通过键码的结构体变量获取每个键码被触发的次数。再根据键码被触发次数的高低,划分键码分区。这里键码分区可以根据需要划分为多个部分,如根据键码被触发的次数将键码划分为三个键码分区,键码被触发次数最高的若干个键码划分为同一个键码分区,键码被触发的次数最低的若干个键码划分为同一键码分区,剩余的键码划分为同一个键码分区。

另外,扫描频率为在设定时间内设定的对键码的扫描次数,扫描次数越多,则扫描频率越高。键盘根据各个键码分区预先设定的扫描频次对键码进行扫描,同一个键码分区中的键码的扫描频率相同,不同键码分区的键码的扫描频率不同。

上述键盘扫描装置,通过键码分区获取模块510根据键盘上键码的使用频次,将键码划分成多个不同的键码分区,并通过扫描频率设定模块520对每个键码分区设定对应的扫描频率,使得可以通过扫描模块530对不同键码分区中键码以不同的扫描频率进行扫描,从而减少了键盘的扫描次数,降低了键盘的辐射。

基于如上所述的示例,在一个实施例中还提供一种计算机设备,该计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,处理器执行所述程序时实现如上述各实施例中的任意一种键盘扫描方法。

上述计算机设备,通过所述处理器上运行的计算机程序,实现了降低键盘扫描频率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性的计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各睡眠辅助方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

据此,在一个实施例中还提供一种存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上述各实施例中的任意一种键盘扫描方法。

上述计算机存储介质,通过其存储的计算机程序,实现了降低键盘扫描频率。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1