2024年6月11日发(作者:邗淑华)
(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(21)申请号 CN2.7
(22)申请日 2005.09.08
(71)申请人 惠普开发有限公司
地址 美国德克萨斯州
(72)发明人 C·德布雷比森
(74)专利代理机构 中国专利代理(香港)有限公司
代理人 杨凯
(51)
G06F3/02
权利要求说明书 说明书 幅图
(10)申请公布号 CN 1746824 A
(43)申请公布日 2006.03.15
(54)发明名称
确定下按键的方法、装置和计算机
可读的介质
(57)摘要
提出了一种系统、方法和计算机可
读的介质,具有从目前键盘实时确定下按
键的指令。该系统存储了表示最后下按
键、最后下按键时间和最后键盘状态的信
号。该系统根据与最后键盘状态所作比
较,可实时确定键盘(10)上的释放键和下
按键。如果第一确定确定了单个下按键,
则如果(a)确定的下按键和最后的下按键之
间匹配,如果在实时下按键和最后下按键
之间的时间大于预定的回弹时间;(b)确定
的下按键和最后的下按键之间不匹配,系
统实时确定下按键。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
间和最后的键盘状态来确定下按键,所述方法包括步骤:
(i)根据与最后键盘状态的比较,实时确定键盘(10)上哪个键已经释放;
(ii)根据与最后键盘状态的比较,实时确定键盘(10)上哪个键已经下按;和
(iii)如果步骤(ii)实时确定了单个下按键,则
如果所述实时下按键和所述最后下按键之间匹配,且如果所述实时下按键和最后下
按键时间之间的时间大于预定的弹回时间;则
(a)确定实时下按键;
如果实时下按键和最后的下按键之间存在差别,则
(b)确定实时下按键。
合实时键盘状态和最后的键盘状态。
步骤(iii)确定了实时下按键,则报告所述下按键。
信号存储装置,可存储表示最后下按键、最后下按键时间和最后键盘状态的信号;
信号接收装置,可接收表示实时键盘状态和当前时间的信号;
第一确定装置,根据与所述最后键盘状态的比较,可确定(a)键盘上哪个键已经实
时释放,和(b)所述键盘(10)上哪个键已经实时下按;
第二确定装置,如果所述第一确定装置实时确定了单个下按键,且如果以下之一成
立:(a)所述实时下按键和最后的下按键之间匹配,所述实时下按键和最后下按键
之间的时间大于预定的反弹时间;和(b)所述实时下按键和最后下按键之间不匹配,
则可确定有实时下按键。
可报告所述第二确定装置确定的下按键。
至少一个指令序列,其中计算机执行指令,可使得计算机:
(i)根据实时键盘状态与最后键盘状态的比较,实时确定键盘(10)上哪些键已经释放;
(ii)根据实时键盘状态与最后键盘状态的比较,实时确定键盘(10)上哪些键已经下按;
和
(iii)如果步骤(ii)实时确定单个下按键,且如果以下之一成立:(a)所述实时下按键和
最后下按键之间匹配,及实时下按键和最后下按键之间的时间大于预定的反弹时间;
(b)所述实时下按键和所述最后下按键之间不匹配,则确定实时下按键。
逻辑组合实时键盘状态和最后键盘状态的指令。
告步骤(iii)确定的下按键的指令。
包括:
处理器(62),可接收表示实时键盘状态的信号;和
存储器(64),与所述处理器(62)相连,所述存储器(64)存储了最后下按键、最后下按
键时间、最后键盘状态和系列的指令,当所述处理器(62)执行所述指令时,可使所
述处理器(62)进行(i)比较实时键盘状态和最后的键盘状态,确定键盘(10)上哪个键
已经释放,键盘(10)上哪个键已经下按;(ii)如果所述(i)确定了单个下按键,且以下
之一成立:(a)所述下按键和最后的下按键之间匹配,所述下按键和最后下按键之
间的时间大于预定弹回时间;(b)所述下按键和最后的下按键之间不匹配,则可确
定所述下按键。
还包括指令,可使所述键检测系统报告(ii)确定的下按键。
说 明 书
技术领域
本发明总体上涉及电脑,具体地,涉及确定下按键的方法、装置和计算机可读的介
质。
背景技术
由于键盘上的键互相连接,使用者同时按下一个以上的键可能会错误地检测为包括
了单个未按键。使用者按下单个键(另外的键同时被按下)可能会被系统觉察为如同
使用者同时按下不止一个键,即,使用者按下的键以及一个或多个另外的键。更具
体地,使用者同时按下多个键可在键盘上形成信号路径,使得受驱动检测按下键的
信号被另外的不正确接收器接收,显示出与使用者按下不同的下按键。这类情况下
接收的按下键信号被称作“虚键”。
对于虚键问题,现有技术的解决方案包括禁止使用者同时按下超过两个键盘上的键。
此外,由于键盘上的键的结构和操作,当键由于弹性反作用向下移动,即机械弹簧
相对键移动,在使用者下按键期间完成了与键盘的接触时,使用者的下按键可造成
一下下按键记录为两下下按键。即,由于所谓的“键回弹”,一下下按键导致检测出
多下下按键。根据使键回弹到使用者下按键前原始位置的弹性机构的强度,不同的
键盘具有不同的键回弹次数。
对于键回弹问题,现有技术的技术方案包括进行多次键盘的键下按检测,以便保证
接收到的表示下按键信号的稳定。这个方法使得检测系统和下按键检测的速度放慢。
现有技术的另一技术方案包括使用电器件,如电容,将其连接到键盘上的各个键,
使得键可以“防回弹”。但是,这个方法增加了键盘的器件和制造成本。
发明内容
本发明提出了一种确定下按键的方法。
方法可根据当前的实时键盘状态、最后的下按键、最后下按键时间和最后的键盘状
态来确定下按键,该方法根据与最后键盘状态的比较,实时确定键盘上哪个键已经
释放,实时确定键盘上哪个键已经下按。如果实时确定了单个下按键,且如果以下
之一成立:(a)实时下按键和最后下按键之间匹配,实时下按键和最后下按键之间
的时间大于预定的弹回时间;(b)实时下按键和最后的下按键之间存在差别,则报
告实时单个下按键。
本发明提出一种系统,可根据实时键盘状态来确定下按键,所述系统包括:信号存
储装置、信号接收装置、第一确定装置和第二确定装置。信号存储装置可存储表示
最后下按键、最后下按键时间和最后键盘状态的信号。信号接收装置可接收表示实
时键盘状态和当前时间的信号。第一确定装置可根据与最后键盘状态的比较,确定
(a)键盘上哪个键已经实时释放,和(b)键盘上哪个键已经实时下按。如果第一确定
装置确定了实时单个下按键,且如果以下之一成立:(a)所述实时下按键和最后下
按键之间匹配,实时下按键和最后下按键之间的时间大于预定的反弹时间;和(b)
实时下按键和最后的下按键之间不匹配,则第二确定装置可确定实时下按键。
本发明提出一种计算机可读的介质,其包括至少一个指令序列。计算机执行指令使
得计算机可根据实时键盘状态与最后键盘状态的比较,实时确定键盘上哪些键已经
释放;根据实时键盘状态与最后键盘状态的比较,实时确定键盘上哪些键已经下按。
计算机执行指令,如果根据前面的实时键盘状态与最后键盘状态的比较确定了实时
单个下按键,且如果以下之一成立:(a)实时下按键和最后下按键之间匹配,实时
下按键和最后下按键之间的时间大于预定的反弹时间;(b)实时下按键和所述最后
下按键之间不匹配,则计算机可以确定实时下按键。
本发明提出一种键检测系统,所述系统包括处理器,可接收表示实时键盘状态的信
号;和与处理器相连的存储器。存储器存储了最后下按键、最后下按键时间、最后
键盘状态和系列的指令,当处理器执行所述指令时,可使所述处理器确定键盘上的
下按键。处理器执行指令使得处理器(i)根据实时键盘状态和最后键盘状态的比较,
确定键盘上哪个键已经释放,键盘上哪个键已经下按;(ii)如果所述(i)确定了单个
下按键,且(a)下按键和最后的下按键之间匹配,所述下按键和最后下按键之间的
时间大于预定弹回时间;或(b)下按键和最后的下按键之间不匹配,则可确定有下
按键。
对于所属领域的技术人员,通过下面详细的介绍可更加清楚本发明还有的其他优点,
其中通过简单的说明性的实施本发明的优选模式显示和介绍了本发明的优选实施例。
如可以想到的,本发明能够具有其他的不同实施例,其中的细节能够以不同的方式
进行改进,这些都属于本发明的范围。
附图说明
本发明通过附图中的非限制性的示例方式进行说明,其中各附图中相同的元件有代
表元件的相同标记,附图中:
图1是用于连接根据本发明实施例的部分键盘的的示意图;
图2是根据本发明的一个实施例的键盘检测系统和键盘的高度示意图;
图3是根据本发明的实施例的流程图;
图4是根据本发明的实施例的示例性操作的状态表;
图5是键盘上的键的矩阵图;
图6是实现本发明的实施例的示例性系统的高度示意框图。
具体实施方式
用于连接根据本发明的实施例的部分键盘在图1中用10来表示。尽管键盘部分10
只是键盘的一部分,为了简化图中只显示和介绍其一部分。
本文所用术语“键盘”意味着包括以互连方式布置成排或列的组合键。键盘示例包括
但不限于,计算机键盘、打字机键盘和电子仪器键盘以及各种类型的小键盘,如数
字和字母的小键盘。
在图1所示的键盘10的示例中,键1到键9(11到19)形成了键盘的一部分,布置
成表格的形式,具有多个成排的互连线20-22,和多个成列的互连线24-26。各互
连线20-22、24-26连接对应的键序列,如互连线20连接形成键盘10的第一排的
键序列,即键11-13。互连线21连接形成键盘10的第二排的键序列,即键14-16;
互连线22连接形成键盘10的第三排的键序列,即键17-19。类似地,互连线24连
接形成键盘10的第一列的键序列,即键11、14、17;互连线25连接形成键盘10
的第二列的键序列,即键12、15、18;和互连线26连接形成键盘10的第三列的
键序列,即键13、16、19。
键1到键9(11-19)位于各排和各列的交汇处,使得促动特定键,如下按键,造成特
定键所在的排和列互连。例如,使用者按下键14使得排连接线21和列连接线24
之间互相连接,因此使得信号从排传递到列,继续这个实施例,检测出使用者按下
键14。如果特定键按下,完成了排和列的互连,通过发送器沿各个排互连线20-22
驱动的信号只能被连接到列互连线24-26的接收器接收。因为信号沿各个排互连线
20-22以有序方式驱动,驱动被列互连线24-26接收的信号的特定排的互连线是已
知的,因此可确定特定的下按键。
本文中使用的术语“信号”意味着包括能够通过介质从排互连线传播到列互连线的的
任何电磁信号。信号的示例包括但不限于电和光信号。
根据本发明的实施例克服了键盘,如键盘10,具有的特定问题。该问题称为“虚
键”,可导致在键盘10出现多个下按键的特定情况下错误检测下按键。例如,如果
使用者保持键11,14,15基本同时按下,根据沿排互连线20-22驱动的信号读出
列输出的系统将错误地报告键12已经被使用者按下。
根据本发明的另一实施例克服了相关键盘,如键盘10,具有的特定问题。该问题
称作“键盘反弹”,可导致错误地将单个下按键检测为多个下按键。
在根据本发明的如图2所示的一个实施例中,键检测系统28连接到键盘10,能够
使得信号沿排互连线20-22驱动,能够通过接收如上所述的列互连线24-26的相同
信号,检测出使用者的下按键,只是报告正确的下按键。即,键检测系统28检测,
并且不报告错误的下按键,如测试键和/或反弹键。
键检测系统28可通过硬件(即使用电路,如寄存器、逻辑门、和类似器件)来实现,
或者通过使用一个或多个处理器、程序逻辑器件,或采用程序指令的有限态机器的
软件来实现。在一个优选实施例中,键检测系统28包括计算机或其他基于系统的
处理器,其能够进行一系列逻辑操作。此外,键检测系统28可包括嵌入系统/装置
的处理器,结合了适当的装置硬件和/或专门的硬件。
在操作根据本发明的一个实施例的过程中,键检测系统28存储了表示最后已知键
盘状态的数值,其代表了键盘10上哪个键下按和哪个键释放;和表示键盘10上最
后已知下按键的数值,及表示时间和检测出的最后已知下按键的数值。如上所述,
键检测系统28可确定键盘10的当前的键盘状态,以及键盘上已经释放的键和任何
新下按键。键检测系统28存储当前的键盘状态作为最后的已知键盘状态。如果键
盘10上没有新下按键,或键盘10上没有超过一个的新下按键,则键检测系统28
确定未发生下按键。如果键盘10上只有一个新键按下并且新下按键和最后的已知
下按键之间匹配,则键检测系统28确定发生下按键,并存储(1)作为最后已知下按
键的新下按键和(2)作为最后已知下按键的时间的当前时间。此外,如果键盘10上
只有一个新下按键,当前时间和最后已知下按键时间之间的时间大于预定回弹时间,
则键检测系统28确定下按键已经发生,并存储(1)作为最后已知下按键的新下按键
和(2)作为最后已知下按键时间的当前时间。但是,如果键盘10上只有一个新键按
下,当前时间和最后已知下按键时间之间的时间小于预定的回弹时间,则键检测系
统28确定键回弹已经发生,并存储当前时间作为最后已知下按键的时间。
预定的键回弹时间或预定的回弹时间通过特定的键盘元件来确定,不同的键盘会有
变化。预定的回弹时间认为是代表最大时间,在这个时间内,键盘上单个键下按将
被检测为单个下按键。即,预定的回弹时间是键盘键检测出回弹的最长时间。在一
个实施例中,预定的回弹时间包括另外的安全边际时间。
在一个实施例中,如果当前时间和最后的已知下按键时间之间的时间等于预定的回
弹时间,键检测系统28确定键回弹发生,并存储当前时间作为最后已知下按键的
时间。在一可选实施例中,如果其间的时间等于预定的回弹时间,键检测系统28
确定键回弹未发生,并确定下按键发生,并存储新下按键作为最后已知下按键,并
存储当前时间作为最后已知下按键的时间。
图3显示了代表上面介绍的键检测系统28的操作的控制流30的流程图。下面对控
制流30进行详细介绍。控制流30在步骤31开始,键检测系统28确定了键盘10
的键11-19的新键状态。键检测系统28进行步骤32,通过比较步骤31的新键盘状
态和最后的已知键盘状态,确定新释放的键的列表。在一个特定实施例中,键检测
系统28进行二进制的最后已知键盘状态和实现的二进制的新键盘状态之间的逻辑
AND操作。
进行步骤33,键检测系统28通过比较步骤31的新键盘状态和最后的已知键盘状
态,确定新下按键的列表。在一个特定实施例中,键检测系统28进行二进制的新
键盘状态和实现的二进制的最后已知键盘状态之间的逻辑AND操作。键检测系统
28进行步骤34并存储新键盘状态,作为最后已知键盘状态。
控制流30进行到判定步骤35,其中键检测系统28根据步骤33的结果,确定键盘
10上是否只有一个新下按键。如果只有新下按键,控制流进行步骤36。但是,若
没有新下按键或有超过一个新下按键,控制流回到步骤31,因为没有新键按下或
确定发生了虚键。
现在回到判定步骤36,键检测系统28确定是否新下按键和最后已知下按键之间匹
配。如果匹配,控制流进行判定步骤37,但是如果不匹配,控制流进行步骤38,
其中键检测系统28存储新下按键作为最后已知下按键,并存储当前时间作为最后
已知下按键的时间。继续控制流的不匹配,键检测系统28回到步骤31。在另一实
施例中,键检测系统28在步骤38将报告新下按键至另一系统(未显示)。
现在回到判定步骤37,键检测系统28确定是否当前时间和最后已知下按键时间之
间的时间大于表示键盘10上键的最大回弹时间的预定数值,如果耗时大于预定值,
控制流进行步骤39,但是,如果耗时不大于预定值,控制流进行步骤40,其中键
检测系统28存储当前时间作为最后已知的下按键时间,因为键回弹已经确定发生。
键检测系统28从步骤40返回到步骤31。
现在回到步骤39,键检测系统28存储2当前时间作为最后已知下按键的时间,存
储新下按键作为最后已知下按键。键检测系统28从步骤39返回到步骤31。在另
一实施例中,键检测系统29在步骤39期间报告新下按键至另一系统(未显示)。
图4显示了涉及本发明的实施例的示例性操作的状态表40,其中键盘10上的一系
列键被使用者按下。状态表40包括第一列41,显示了存储在各数据结构中的最后
已知键盘状态、最后已知下按键、和最后下按键的时间的数值,只是作为示例性的
目的,数据结构是一系列二进制数字,长度等于键盘10上的键的数字,预定的回
弹时间是3。最右边一列的二进制数字其值对应于键盘矩阵54的第一键的状态,
如图5所示。最右边的二进位数字左边的各二进位数字对应于键盘矩阵54的下一
个增加键。状态表40中的各排时间数值,沿页面向下增长。状态表40的第二列
42的数值显示了各排的时间。第三列43显示了发生的动作,即键盘10上哪个键
被按下,并显示了动作导致的新键盘状态。第四列44和第五列45分别显示了存储
在下按键和释放键数据结构的数值。第六列46显示了根据各排的第一列41、第四
列44的值和第五列45的数值,键检测系统28作出的决定,涉及下按键、释放键,
回弹检测、或虚键检测。
在示例性操作开始时,排47显示了各列的值,其基于使用者在时间1下压键盘矩
阵54的键1的动作。根据排47的各列的数值,键检测系统28利用上面介绍的控
制流,确定单个下按键,没有新键释放,下按键是键盘矩阵54的键1。排48显示
了各列的数值,其基于使用者在时间2释放键盘矩阵54的键1的动作。根据排48
的各列数值,键检测系统28确定一个键释放,无新键下按,释放的键是键盘矩阵
54的键1。
排49显示了各列的数值,其基于使用者在时间3下按键盘矩阵54的键1的动作。
根据排49的各列数值,键检测系统28检测出一个键下按,下按键是键回弹的结果。
排50显示了各列的数值,其基于使用者在时间3释放键盘矩阵54的键1的动作。
根据排50的各列数值,键检测系统28检测出一个键释放,没有新键下按。
排51显示了各列的数值,其基于使用者在时间8下按键盘矩阵54的键1的动作。
根据排51的各列数值,键检测系统28检测出一个键下按,新键释放。未检测出键
回弹,因为当前时间和最后下按键之间的时间大于预定的回弹时间,即8-3>3。
排52显示了各列的数值,其基于使用者在时间9下按键盘矩阵54的键9的动作。
根据排52的各列数值,键检测系统28检测出一个键下按,没有键释放。下按键是
键盘矩阵54的键9。
排53显示了各列的数值,其基于使用者在时间10下按键盘矩阵54的键7的动作。
根据排53的各列数值,键检测系统28检测出虚键发生,因为检测出超过一个新键
下按。
图6显示了键检测系统28的实施例可实施的示例性系统的高度示意图。键检测系
统28可以许多方式实施,如以连接到键盘10的单个单元,以键盘10的整体部分,
作为计算机系统的一部分,或其另一种组合。
键检测系统28包括总线60或其他的信息通信的通信机构,和连接到总线60的处
理器62,以处理信息。键检测系统28还包括存储器64,比如随机存储器(RAM)或
其他的动态存储装置,其连接到总线60,以存储数据和供处理器62执行的指令。
存储器64还可用于存储处理器62执行指令期间的临时变量或其他的中间信息。
在可选实施例中,处理器62包括足够存储指令和数据的存储器,指令和数据用于
实现上面介绍的本发明的实施例,因此,存储器64可用于可选择的实施例。此外,
在另一可选择的实施例中,处理器62可以是硬接线到,或者连接到,部分的键盘
10,使得总线60和存储器64在实施上面介绍的实施例时不再需要。
本发明的一个实施例涉及到使用键检测系统28,如图6所示系统,用于检测和确
定使用者对键盘10上的键下按。根据一个实施例,通过键检测系统28并响应处理
器62执行存储器64中的指令序列,确定了使用者在键盘10的下按键。
应当知道即使图1显示出特定数量的键并进行了介绍,也只是说明性的,不能用来
限制根据本发明的实施例的范围。
所属领域的技术人员可容易地看出,根据本发明的实施例具有许多上面已介绍的优
点。再阅读上面的说明之后,技术人员能够实施各种变化,等效替换和本发明的各
种其他特征,如本文中所作广义介绍。因此,本发明的保护范围只受到所附权利要
求和其等效体的内容的限制。
2024年6月11日发(作者:邗淑华)
(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(21)申请号 CN2.7
(22)申请日 2005.09.08
(71)申请人 惠普开发有限公司
地址 美国德克萨斯州
(72)发明人 C·德布雷比森
(74)专利代理机构 中国专利代理(香港)有限公司
代理人 杨凯
(51)
G06F3/02
权利要求说明书 说明书 幅图
(10)申请公布号 CN 1746824 A
(43)申请公布日 2006.03.15
(54)发明名称
确定下按键的方法、装置和计算机
可读的介质
(57)摘要
提出了一种系统、方法和计算机可
读的介质,具有从目前键盘实时确定下按
键的指令。该系统存储了表示最后下按
键、最后下按键时间和最后键盘状态的信
号。该系统根据与最后键盘状态所作比
较,可实时确定键盘(10)上的释放键和下
按键。如果第一确定确定了单个下按键,
则如果(a)确定的下按键和最后的下按键之
间匹配,如果在实时下按键和最后下按键
之间的时间大于预定的回弹时间;(b)确定
的下按键和最后的下按键之间不匹配,系
统实时确定下按键。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
间和最后的键盘状态来确定下按键,所述方法包括步骤:
(i)根据与最后键盘状态的比较,实时确定键盘(10)上哪个键已经释放;
(ii)根据与最后键盘状态的比较,实时确定键盘(10)上哪个键已经下按;和
(iii)如果步骤(ii)实时确定了单个下按键,则
如果所述实时下按键和所述最后下按键之间匹配,且如果所述实时下按键和最后下
按键时间之间的时间大于预定的弹回时间;则
(a)确定实时下按键;
如果实时下按键和最后的下按键之间存在差别,则
(b)确定实时下按键。
合实时键盘状态和最后的键盘状态。
步骤(iii)确定了实时下按键,则报告所述下按键。
信号存储装置,可存储表示最后下按键、最后下按键时间和最后键盘状态的信号;
信号接收装置,可接收表示实时键盘状态和当前时间的信号;
第一确定装置,根据与所述最后键盘状态的比较,可确定(a)键盘上哪个键已经实
时释放,和(b)所述键盘(10)上哪个键已经实时下按;
第二确定装置,如果所述第一确定装置实时确定了单个下按键,且如果以下之一成
立:(a)所述实时下按键和最后的下按键之间匹配,所述实时下按键和最后下按键
之间的时间大于预定的反弹时间;和(b)所述实时下按键和最后下按键之间不匹配,
则可确定有实时下按键。
可报告所述第二确定装置确定的下按键。
至少一个指令序列,其中计算机执行指令,可使得计算机:
(i)根据实时键盘状态与最后键盘状态的比较,实时确定键盘(10)上哪些键已经释放;
(ii)根据实时键盘状态与最后键盘状态的比较,实时确定键盘(10)上哪些键已经下按;
和
(iii)如果步骤(ii)实时确定单个下按键,且如果以下之一成立:(a)所述实时下按键和
最后下按键之间匹配,及实时下按键和最后下按键之间的时间大于预定的反弹时间;
(b)所述实时下按键和所述最后下按键之间不匹配,则确定实时下按键。
逻辑组合实时键盘状态和最后键盘状态的指令。
告步骤(iii)确定的下按键的指令。
包括:
处理器(62),可接收表示实时键盘状态的信号;和
存储器(64),与所述处理器(62)相连,所述存储器(64)存储了最后下按键、最后下按
键时间、最后键盘状态和系列的指令,当所述处理器(62)执行所述指令时,可使所
述处理器(62)进行(i)比较实时键盘状态和最后的键盘状态,确定键盘(10)上哪个键
已经释放,键盘(10)上哪个键已经下按;(ii)如果所述(i)确定了单个下按键,且以下
之一成立:(a)所述下按键和最后的下按键之间匹配,所述下按键和最后下按键之
间的时间大于预定弹回时间;(b)所述下按键和最后的下按键之间不匹配,则可确
定所述下按键。
还包括指令,可使所述键检测系统报告(ii)确定的下按键。
说 明 书
技术领域
本发明总体上涉及电脑,具体地,涉及确定下按键的方法、装置和计算机可读的介
质。
背景技术
由于键盘上的键互相连接,使用者同时按下一个以上的键可能会错误地检测为包括
了单个未按键。使用者按下单个键(另外的键同时被按下)可能会被系统觉察为如同
使用者同时按下不止一个键,即,使用者按下的键以及一个或多个另外的键。更具
体地,使用者同时按下多个键可在键盘上形成信号路径,使得受驱动检测按下键的
信号被另外的不正确接收器接收,显示出与使用者按下不同的下按键。这类情况下
接收的按下键信号被称作“虚键”。
对于虚键问题,现有技术的解决方案包括禁止使用者同时按下超过两个键盘上的键。
此外,由于键盘上的键的结构和操作,当键由于弹性反作用向下移动,即机械弹簧
相对键移动,在使用者下按键期间完成了与键盘的接触时,使用者的下按键可造成
一下下按键记录为两下下按键。即,由于所谓的“键回弹”,一下下按键导致检测出
多下下按键。根据使键回弹到使用者下按键前原始位置的弹性机构的强度,不同的
键盘具有不同的键回弹次数。
对于键回弹问题,现有技术的技术方案包括进行多次键盘的键下按检测,以便保证
接收到的表示下按键信号的稳定。这个方法使得检测系统和下按键检测的速度放慢。
现有技术的另一技术方案包括使用电器件,如电容,将其连接到键盘上的各个键,
使得键可以“防回弹”。但是,这个方法增加了键盘的器件和制造成本。
发明内容
本发明提出了一种确定下按键的方法。
方法可根据当前的实时键盘状态、最后的下按键、最后下按键时间和最后的键盘状
态来确定下按键,该方法根据与最后键盘状态的比较,实时确定键盘上哪个键已经
释放,实时确定键盘上哪个键已经下按。如果实时确定了单个下按键,且如果以下
之一成立:(a)实时下按键和最后下按键之间匹配,实时下按键和最后下按键之间
的时间大于预定的弹回时间;(b)实时下按键和最后的下按键之间存在差别,则报
告实时单个下按键。
本发明提出一种系统,可根据实时键盘状态来确定下按键,所述系统包括:信号存
储装置、信号接收装置、第一确定装置和第二确定装置。信号存储装置可存储表示
最后下按键、最后下按键时间和最后键盘状态的信号。信号接收装置可接收表示实
时键盘状态和当前时间的信号。第一确定装置可根据与最后键盘状态的比较,确定
(a)键盘上哪个键已经实时释放,和(b)键盘上哪个键已经实时下按。如果第一确定
装置确定了实时单个下按键,且如果以下之一成立:(a)所述实时下按键和最后下
按键之间匹配,实时下按键和最后下按键之间的时间大于预定的反弹时间;和(b)
实时下按键和最后的下按键之间不匹配,则第二确定装置可确定实时下按键。
本发明提出一种计算机可读的介质,其包括至少一个指令序列。计算机执行指令使
得计算机可根据实时键盘状态与最后键盘状态的比较,实时确定键盘上哪些键已经
释放;根据实时键盘状态与最后键盘状态的比较,实时确定键盘上哪些键已经下按。
计算机执行指令,如果根据前面的实时键盘状态与最后键盘状态的比较确定了实时
单个下按键,且如果以下之一成立:(a)实时下按键和最后下按键之间匹配,实时
下按键和最后下按键之间的时间大于预定的反弹时间;(b)实时下按键和所述最后
下按键之间不匹配,则计算机可以确定实时下按键。
本发明提出一种键检测系统,所述系统包括处理器,可接收表示实时键盘状态的信
号;和与处理器相连的存储器。存储器存储了最后下按键、最后下按键时间、最后
键盘状态和系列的指令,当处理器执行所述指令时,可使所述处理器确定键盘上的
下按键。处理器执行指令使得处理器(i)根据实时键盘状态和最后键盘状态的比较,
确定键盘上哪个键已经释放,键盘上哪个键已经下按;(ii)如果所述(i)确定了单个
下按键,且(a)下按键和最后的下按键之间匹配,所述下按键和最后下按键之间的
时间大于预定弹回时间;或(b)下按键和最后的下按键之间不匹配,则可确定有下
按键。
对于所属领域的技术人员,通过下面详细的介绍可更加清楚本发明还有的其他优点,
其中通过简单的说明性的实施本发明的优选模式显示和介绍了本发明的优选实施例。
如可以想到的,本发明能够具有其他的不同实施例,其中的细节能够以不同的方式
进行改进,这些都属于本发明的范围。
附图说明
本发明通过附图中的非限制性的示例方式进行说明,其中各附图中相同的元件有代
表元件的相同标记,附图中:
图1是用于连接根据本发明实施例的部分键盘的的示意图;
图2是根据本发明的一个实施例的键盘检测系统和键盘的高度示意图;
图3是根据本发明的实施例的流程图;
图4是根据本发明的实施例的示例性操作的状态表;
图5是键盘上的键的矩阵图;
图6是实现本发明的实施例的示例性系统的高度示意框图。
具体实施方式
用于连接根据本发明的实施例的部分键盘在图1中用10来表示。尽管键盘部分10
只是键盘的一部分,为了简化图中只显示和介绍其一部分。
本文所用术语“键盘”意味着包括以互连方式布置成排或列的组合键。键盘示例包括
但不限于,计算机键盘、打字机键盘和电子仪器键盘以及各种类型的小键盘,如数
字和字母的小键盘。
在图1所示的键盘10的示例中,键1到键9(11到19)形成了键盘的一部分,布置
成表格的形式,具有多个成排的互连线20-22,和多个成列的互连线24-26。各互
连线20-22、24-26连接对应的键序列,如互连线20连接形成键盘10的第一排的
键序列,即键11-13。互连线21连接形成键盘10的第二排的键序列,即键14-16;
互连线22连接形成键盘10的第三排的键序列,即键17-19。类似地,互连线24连
接形成键盘10的第一列的键序列,即键11、14、17;互连线25连接形成键盘10
的第二列的键序列,即键12、15、18;和互连线26连接形成键盘10的第三列的
键序列,即键13、16、19。
键1到键9(11-19)位于各排和各列的交汇处,使得促动特定键,如下按键,造成特
定键所在的排和列互连。例如,使用者按下键14使得排连接线21和列连接线24
之间互相连接,因此使得信号从排传递到列,继续这个实施例,检测出使用者按下
键14。如果特定键按下,完成了排和列的互连,通过发送器沿各个排互连线20-22
驱动的信号只能被连接到列互连线24-26的接收器接收。因为信号沿各个排互连线
20-22以有序方式驱动,驱动被列互连线24-26接收的信号的特定排的互连线是已
知的,因此可确定特定的下按键。
本文中使用的术语“信号”意味着包括能够通过介质从排互连线传播到列互连线的的
任何电磁信号。信号的示例包括但不限于电和光信号。
根据本发明的实施例克服了键盘,如键盘10,具有的特定问题。该问题称为“虚
键”,可导致在键盘10出现多个下按键的特定情况下错误检测下按键。例如,如果
使用者保持键11,14,15基本同时按下,根据沿排互连线20-22驱动的信号读出
列输出的系统将错误地报告键12已经被使用者按下。
根据本发明的另一实施例克服了相关键盘,如键盘10,具有的特定问题。该问题
称作“键盘反弹”,可导致错误地将单个下按键检测为多个下按键。
在根据本发明的如图2所示的一个实施例中,键检测系统28连接到键盘10,能够
使得信号沿排互连线20-22驱动,能够通过接收如上所述的列互连线24-26的相同
信号,检测出使用者的下按键,只是报告正确的下按键。即,键检测系统28检测,
并且不报告错误的下按键,如测试键和/或反弹键。
键检测系统28可通过硬件(即使用电路,如寄存器、逻辑门、和类似器件)来实现,
或者通过使用一个或多个处理器、程序逻辑器件,或采用程序指令的有限态机器的
软件来实现。在一个优选实施例中,键检测系统28包括计算机或其他基于系统的
处理器,其能够进行一系列逻辑操作。此外,键检测系统28可包括嵌入系统/装置
的处理器,结合了适当的装置硬件和/或专门的硬件。
在操作根据本发明的一个实施例的过程中,键检测系统28存储了表示最后已知键
盘状态的数值,其代表了键盘10上哪个键下按和哪个键释放;和表示键盘10上最
后已知下按键的数值,及表示时间和检测出的最后已知下按键的数值。如上所述,
键检测系统28可确定键盘10的当前的键盘状态,以及键盘上已经释放的键和任何
新下按键。键检测系统28存储当前的键盘状态作为最后的已知键盘状态。如果键
盘10上没有新下按键,或键盘10上没有超过一个的新下按键,则键检测系统28
确定未发生下按键。如果键盘10上只有一个新键按下并且新下按键和最后的已知
下按键之间匹配,则键检测系统28确定发生下按键,并存储(1)作为最后已知下按
键的新下按键和(2)作为最后已知下按键的时间的当前时间。此外,如果键盘10上
只有一个新下按键,当前时间和最后已知下按键时间之间的时间大于预定回弹时间,
则键检测系统28确定下按键已经发生,并存储(1)作为最后已知下按键的新下按键
和(2)作为最后已知下按键时间的当前时间。但是,如果键盘10上只有一个新键按
下,当前时间和最后已知下按键时间之间的时间小于预定的回弹时间,则键检测系
统28确定键回弹已经发生,并存储当前时间作为最后已知下按键的时间。
预定的键回弹时间或预定的回弹时间通过特定的键盘元件来确定,不同的键盘会有
变化。预定的回弹时间认为是代表最大时间,在这个时间内,键盘上单个键下按将
被检测为单个下按键。即,预定的回弹时间是键盘键检测出回弹的最长时间。在一
个实施例中,预定的回弹时间包括另外的安全边际时间。
在一个实施例中,如果当前时间和最后的已知下按键时间之间的时间等于预定的回
弹时间,键检测系统28确定键回弹发生,并存储当前时间作为最后已知下按键的
时间。在一可选实施例中,如果其间的时间等于预定的回弹时间,键检测系统28
确定键回弹未发生,并确定下按键发生,并存储新下按键作为最后已知下按键,并
存储当前时间作为最后已知下按键的时间。
图3显示了代表上面介绍的键检测系统28的操作的控制流30的流程图。下面对控
制流30进行详细介绍。控制流30在步骤31开始,键检测系统28确定了键盘10
的键11-19的新键状态。键检测系统28进行步骤32,通过比较步骤31的新键盘状
态和最后的已知键盘状态,确定新释放的键的列表。在一个特定实施例中,键检测
系统28进行二进制的最后已知键盘状态和实现的二进制的新键盘状态之间的逻辑
AND操作。
进行步骤33,键检测系统28通过比较步骤31的新键盘状态和最后的已知键盘状
态,确定新下按键的列表。在一个特定实施例中,键检测系统28进行二进制的新
键盘状态和实现的二进制的最后已知键盘状态之间的逻辑AND操作。键检测系统
28进行步骤34并存储新键盘状态,作为最后已知键盘状态。
控制流30进行到判定步骤35,其中键检测系统28根据步骤33的结果,确定键盘
10上是否只有一个新下按键。如果只有新下按键,控制流进行步骤36。但是,若
没有新下按键或有超过一个新下按键,控制流回到步骤31,因为没有新键按下或
确定发生了虚键。
现在回到判定步骤36,键检测系统28确定是否新下按键和最后已知下按键之间匹
配。如果匹配,控制流进行判定步骤37,但是如果不匹配,控制流进行步骤38,
其中键检测系统28存储新下按键作为最后已知下按键,并存储当前时间作为最后
已知下按键的时间。继续控制流的不匹配,键检测系统28回到步骤31。在另一实
施例中,键检测系统28在步骤38将报告新下按键至另一系统(未显示)。
现在回到判定步骤37,键检测系统28确定是否当前时间和最后已知下按键时间之
间的时间大于表示键盘10上键的最大回弹时间的预定数值,如果耗时大于预定值,
控制流进行步骤39,但是,如果耗时不大于预定值,控制流进行步骤40,其中键
检测系统28存储当前时间作为最后已知的下按键时间,因为键回弹已经确定发生。
键检测系统28从步骤40返回到步骤31。
现在回到步骤39,键检测系统28存储2当前时间作为最后已知下按键的时间,存
储新下按键作为最后已知下按键。键检测系统28从步骤39返回到步骤31。在另
一实施例中,键检测系统29在步骤39期间报告新下按键至另一系统(未显示)。
图4显示了涉及本发明的实施例的示例性操作的状态表40,其中键盘10上的一系
列键被使用者按下。状态表40包括第一列41,显示了存储在各数据结构中的最后
已知键盘状态、最后已知下按键、和最后下按键的时间的数值,只是作为示例性的
目的,数据结构是一系列二进制数字,长度等于键盘10上的键的数字,预定的回
弹时间是3。最右边一列的二进制数字其值对应于键盘矩阵54的第一键的状态,
如图5所示。最右边的二进位数字左边的各二进位数字对应于键盘矩阵54的下一
个增加键。状态表40中的各排时间数值,沿页面向下增长。状态表40的第二列
42的数值显示了各排的时间。第三列43显示了发生的动作,即键盘10上哪个键
被按下,并显示了动作导致的新键盘状态。第四列44和第五列45分别显示了存储
在下按键和释放键数据结构的数值。第六列46显示了根据各排的第一列41、第四
列44的值和第五列45的数值,键检测系统28作出的决定,涉及下按键、释放键,
回弹检测、或虚键检测。
在示例性操作开始时,排47显示了各列的值,其基于使用者在时间1下压键盘矩
阵54的键1的动作。根据排47的各列的数值,键检测系统28利用上面介绍的控
制流,确定单个下按键,没有新键释放,下按键是键盘矩阵54的键1。排48显示
了各列的数值,其基于使用者在时间2释放键盘矩阵54的键1的动作。根据排48
的各列数值,键检测系统28确定一个键释放,无新键下按,释放的键是键盘矩阵
54的键1。
排49显示了各列的数值,其基于使用者在时间3下按键盘矩阵54的键1的动作。
根据排49的各列数值,键检测系统28检测出一个键下按,下按键是键回弹的结果。
排50显示了各列的数值,其基于使用者在时间3释放键盘矩阵54的键1的动作。
根据排50的各列数值,键检测系统28检测出一个键释放,没有新键下按。
排51显示了各列的数值,其基于使用者在时间8下按键盘矩阵54的键1的动作。
根据排51的各列数值,键检测系统28检测出一个键下按,新键释放。未检测出键
回弹,因为当前时间和最后下按键之间的时间大于预定的回弹时间,即8-3>3。
排52显示了各列的数值,其基于使用者在时间9下按键盘矩阵54的键9的动作。
根据排52的各列数值,键检测系统28检测出一个键下按,没有键释放。下按键是
键盘矩阵54的键9。
排53显示了各列的数值,其基于使用者在时间10下按键盘矩阵54的键7的动作。
根据排53的各列数值,键检测系统28检测出虚键发生,因为检测出超过一个新键
下按。
图6显示了键检测系统28的实施例可实施的示例性系统的高度示意图。键检测系
统28可以许多方式实施,如以连接到键盘10的单个单元,以键盘10的整体部分,
作为计算机系统的一部分,或其另一种组合。
键检测系统28包括总线60或其他的信息通信的通信机构,和连接到总线60的处
理器62,以处理信息。键检测系统28还包括存储器64,比如随机存储器(RAM)或
其他的动态存储装置,其连接到总线60,以存储数据和供处理器62执行的指令。
存储器64还可用于存储处理器62执行指令期间的临时变量或其他的中间信息。
在可选实施例中,处理器62包括足够存储指令和数据的存储器,指令和数据用于
实现上面介绍的本发明的实施例,因此,存储器64可用于可选择的实施例。此外,
在另一可选择的实施例中,处理器62可以是硬接线到,或者连接到,部分的键盘
10,使得总线60和存储器64在实施上面介绍的实施例时不再需要。
本发明的一个实施例涉及到使用键检测系统28,如图6所示系统,用于检测和确
定使用者对键盘10上的键下按。根据一个实施例,通过键检测系统28并响应处理
器62执行存储器64中的指令序列,确定了使用者在键盘10的下按键。
应当知道即使图1显示出特定数量的键并进行了介绍,也只是说明性的,不能用来
限制根据本发明的实施例的范围。
所属领域的技术人员可容易地看出,根据本发明的实施例具有许多上面已介绍的优
点。再阅读上面的说明之后,技术人员能够实施各种变化,等效替换和本发明的各
种其他特征,如本文中所作广义介绍。因此,本发明的保护范围只受到所附权利要
求和其等效体的内容的限制。