具有单独的和组合的按键输出的键盘

申请号 CN02814906.8 申请日 2002-07-29 公开(公告)号 CN100416469C 公开(公告)日 2008-09-03
申请人 数字无线有限责任公司; 发明人 大卫·H·利维; 保罗·D·巴特勒; 斯克特·A·罗兹;
摘要 在具有 键盘 (252)的设备中提供输入反馈,其中键盘具有独立按键(254)的矩阵,独立按键具有以行和列布置的相关联的 开关 ,其中对 角 相邻的按键的组合与组合按键(256)输出相关联。一个方法包括扫描触动的按键,提供临时输出(111)到用户指示已经登记了触动的按键;继续扫描矩阵(114);并且,响应于在释放第一触动的按键之前相邻按键的触动,提供最终输出(124)到用户指示已经登记了第一和相邻按键的组合,以除去临时输出。另一方法的特征在于驱动相邻的两行,同时检查开关触动的列;并且,响应于探测在两个相邻列的开关触动以及驱动相邻的两行,确定组合按键输出。
权利要求

1. 一种在具有键盘的设备中确定输入的方法,其中键盘具有独立 按键(254)的矩阵,独立按键具有以已知的方法布置的相关联的开关, 其中相邻按键的组合与组合按键输入相关联,该方法包括识别和第一 触动的按键相关联的可允许的组合按键输入的独立按键,通过
添加每一组预先确定的数字到和触动的按键相关联的序列数字, 来确定和触动的按键相关联的可允许的组合产生的独立按键的序列数 字,该组预先确定的数字基于已知的开关布置;并且之后
在和按键和序列数字相关联的表中,从确定的序列数字中识别可 允许的组合生产的独立按键。
2. 如权利要求1所述的方法,进一步包括,在识别和第一触动的 按键相关联的可允许的组合按键输入的独立按键之后,并且响应于识 别的可允许的组合产生的独立按键中的一个的触动,登记与第一触动 的按键和识别的可允许的组合生产的独立按键中触动的一个的组合相 关联的输入。
3. 如权利要求1所述的方法,包括,在识别可允许的组合生产的 独立按键之后,查看用于识别的可允许的组合生产的独立按键的触动。
4. 如权利要求1-3中任意一个所述的方法,其中该按键开关以行 和列布置,并且其中具有相关联的输入的可允许的按键组合是对相 邻的按键的组合。
5. 如权利要求4所述的方法,其中该组预先确定的数字包括和 (R+1)和(R-1)相关联的值,其中R是按键矩阵的行的数量。
6. 如权利要求3所述的方法,其中查看可允许的组合产生的独立 按键的触动包括从所识别的第一触动的按键估计扫描的结果。
7. 如权利要求3所述的方法,其中在按键矩阵的第一次扫描上识 别第一触动的按键,并且其中为了识别的可允许的组合产生的独立按 键的触动的查看包括再次扫描矩阵。
8. 如权利要求7所述的方法,其中对识别的可允许的组合产生的 独立按键(254)的触动的查看包括仅扫描和包括第一触动的按键的列 相邻的单一的列。
9. 如权利要求1、2、3或5所述的方法,其中与按键和序列数字 相关联的表包括不与按键矩阵的开关相关联的额外的序列数字。
10. 如权利要求9所述的方法,其中额外的序列数字在数字上在 与在按键矩阵的相对边缘上的开关相关联的序列数字之间。
11. 如权利要求1、2、3或5所述的方法,其中键盘的独立按键 (254)具有突出于在相邻的独立按键之间的键盘的空隙区域(256) 的暴露的表面之上的暴露的表面,其中相邻的独立按键对应于和组合 按键输出相关联的对角相邻按键的组合。
12. 一种具有键盘的电子设备,该键盘具有独立按键的矩阵,独 立按键在现有布置中具有相关联的开关,其中相邻按键的组合与组合 按键输入相关联,
其中设置设备并通过识别和第一触动的按键相关联的可允许的组 合按键输入的独立按键,来确定至少一部分的输入,通过添加每一组 预先确定的数字到和触动的按键相关联的序列数字,来确定和触动的 按键相关联的可允许的组合产生的独立按键的序列数字,该组预先确 定的数字基于已知的开关布置;并且然后在和按键和序列数字相关联 的表中,从确定的序列数字中识别可允许的组合产生的独立按键。

说明书全文

技术领域

发明涉及具有按键的平铺的键盘,其中按键提供独特的输出, 该输出作为单独的按键以及和空隙相关联的相邻按键的作用两者的结 果,并且本发明还涉及在这种键盘上键入的数据的解释 (interpretation)。

背景技术

小型化是技术进步的中心范例。技术进步的第二个范例是产品复 杂性的持续增长,反过来,而其又和增加按钮数量的需要相关联。这 两个基本的范例是相互矛盾的,提出随着时间的发展,用于更小的(也 是有用的)输入设备的需要增加,同时整个产品的大小减小,并且用 于附加功能的需要也在继续增加。尽管语音技术将肯定在某一天提供 高质量,低成本,近于零尺寸的输入,但是很明显,这种技术将不适 于用在这些普通的情况中,比如:教室,会议,当在大量的传输(mass transit)时(空中或陆地),图书馆,等等。因此,提供用于这些基本 技术进步的继续的路径出现了弯曲,从而特别需要制造低成本的具有 最大输出密度和最大使用方便性的键盘。最大输出密度意味着:在最 小的空间中的最多单击操作。最大使用方便性主要意味着两件事情: 1)每一输出必须如用户所希望的那样快捷方便的操作,而不会偶然 的作用相邻的输出以及2)为了是直观的和自然的,用于作用输出的 技术应该是基于通常熟知和接受的“按钮”范例的,包括使用图案和 感觉。
密度问题已经由US专利5,612,690 to Levy很好的解决,但是没 有解决使用的方便性的问题。相关的现有技术包括美国专利4,549,279 和4,994,992 to Lapeyre。在这些专利中提供了大量可以通过按压在完 全大小的按键的邻近的边缘、中心或者交叉点上而完成的单击可达成 (accessible)操作(在成年人手指宽度的M×N的区域中的4MN- 2M-2n+1)。美国专利4,400,593 to Kunz提供了使用最小化的平铺按键 的相同密度,但是其中按键太小而不允许边缘按键操作。美国专利 5,612,690通过提出“火山”结构到减小了大小的按键的中心从而实质 上将最大输出密度增加到8MN-4m-4n+1,因而提供了上述技术的显著 的进步。但是,这些专利都没有讨论成功实现平铺按键,或者具有单 独的和组合的按键输出的键盘的重要的但是不明显的障碍。
例如,实现仅操作有单独按键的按键的设备,或者仅操作有按键 组合的按键的设备是相对微不足道的。但是,难以实现快捷和可靠的 操作单独的按键和按键组合两者的设备。仅对按键组合扫描是相对微 不足道的,因为可能无论何时使用容易理解的解决按键开关去抖 (debounce)的方法来登记两个相对的按键都可能确定可靠的输出。 但是,当设备还输出单独的按键时,在提供快捷的单独按键操作和可 靠的组合按键操作的需要之间存在固有的矛盾。原因是:为了增加组 合按键的可靠性,用于等待所有组合中的相对按键出现的时间延迟必 定会增加。这个增加减慢了单独的按键的操作。这个刻不容缓的 (instant)发明解决了这个问题,提供了快捷的单独按键操作和可靠 的组合按键操作。对于IACK键盘来说需要提供快捷的输出响应而不 降低输出精确度。
在我前面的PCT申请公布WO01/95358中公开了在IACK键区领 域中的一些最近的进步。

发明内容

根据本发明的一个方面,提供了一种用于在具有键盘的设备中提 供输入反馈的方法,其中键盘具有独立按键的矩阵,独立按键具有相 关联的开关。本发明包括为了触动的按键扫描矩阵;在检测到第一触 动的按键的情况中,提供临时输出到用户、指示触动的按键已被登记; 在释放第一触动的按键之前继续对于相邻按键的触动扫描矩阵;并 且,在释放第一触动的按键之前响应于相邻按键的触动,提供最终输 出到用户、指示第一和相邻按键的组合已被登记,且除去(exclusion) 临时输出。
通过“开关”,我们意在包括任意接触的或非接触的,有源的或 无源的,提供它的相关联的按键的触动的输出指示的设备,其中设备 包括,例如,在多于一个按键下的量感应或者接近感应格的区域, 比如在上面讨论的美国专利申请中描述的。
在一些情况中,最终输出或者临时输出,或者两者,都被作为视 觉反馈提供。临时输出还可能被作为听觉反馈提供。
在一些情形中,扫描矩阵包括扫描行和列。
在一些实施例中,扫描矩阵包括同时驱动两个相邻的行,搜索两 个同时输出的列。
为了相邻的按键的触动继续扫描矩阵包括,在一些设置中,确定 是否触动了对相邻的按键。
在一些实施例中,本方法包括响应于在释放第一触动的按键之前 的相邻按键的触动来在内部表中寻找所需的组合按键。
提供临时输出可能包括,例如,将临时的输出作为原始数据存储 在寄存器中。
在一些实施例中,将临时输出提供为反馈、并且提供临时输出包 括在检测到第一触动的按键的情况中确定临时输出,并且之后在确定 临时输出之后提供反馈之前延迟预先确定的时间量(例如,大约20 微秒)。在一些情形中,从在按键敲击之间的测量的时间和更正的细 节确定延迟时间的量。
当键盘的独立按键具有突出于在相邻的独立按键之间的键盘空隙 区域的暴露的表面之上的暴露的表面时,这个方法是特别有益的,其 中相邻的独立按键一起形成对应于存储的组合按键输出的按键组合。
根据本发明的另一方面,提供了在具有键盘的设备中提供输入反 馈的方法,其中键盘具有独立按键的矩阵,独立按键具有以行和列布 置的相关联的开关,其中设置对角相邻的按键的组合和组合按键输出 相关联。本方法包括驱动相邻的两行,而且检查开关触动的列,并且, 响应于当驱动相邻对的两行时检测到的在两个相邻的列的开关触动, 确定组合按键输出。
优选的,本发明包括在驱动相邻的两行之前,驱动按键开关的行, 而且在列上搜寻开关动作;并且之后驱动相邻的两行来响应于在至少 一个列上的触动的开关的检测。所有按键开关的行可能被同时驱动, 例如,当在列上搜寻任意开关动作时。另外,在一些情形中该方法包 括,在确定组合按键输出之后,在再次驱动所有开关的行之前等待直 到所有列都为低点平。
在一些实施例中,本方法包括,响应于当驱动相邻的两行时检测 仅在一列的开关触动,确定单独的按键输出,比如通过设置用于持续 跟踪(keeping track)单独的按键被触动的循环数量的第一碰触(hit) 计数器,在每一循环递增第一碰触计数器,并且,当第一碰触计数器 到达预先确定的数量时(例如,相当于大约20到30微秒,或者甚至 近似200微秒),登记和指示的按键相关联的独立按键输出。优选的, 在登记独立按键输出之后,重新设置第一碰触计数器,并且在再次驱 动开关的行之前,该算法等待直到所有列为低。预先确定的数量是结 合进学习模式的,学习模式可能包括在登记单独的按键并且接下来输 入相关联的组合按键之后,响应于删除按键的使用而增加预先确定的 数量。
这个方法,以及下面讨论的,当键盘的独立按键具有突出于在相 邻的独立按键之间的键盘的空隙区域的暴露的表面之上的暴露的表面 时,这个方法是特别有益的,其中相邻的独立按键对应于和组合按键 输出相关联的对角相邻按键的组合。
根据本发明的另一方面,提供了在具有键盘的设备中确定输入的 方法,其中键盘具有独立按键的矩阵,独立按键具有以已知的方法布 置的相关联的开关,其中相邻按键的组合和组合按键输入相关联。该 方法包括识别和第一触动的按键相关联的合理的组合按键输入的独立 按键,通过添加每一组预先确定的数字到和触动的按键相关联的序列 数字(sequence number),来确定和触动的按键相关联的合理的组合 产生的独立按键的序列数字,该组预先确定的数量基于已知的开关布 置;并且之后在和按键和序列数字相关联的表中,从确定的序列数字 中识别合理的组合生产的独立按键。
在一些情况中,本方法进一步包括,在识别和第一触动的按键相 关联的合理的组合按键输入的独立按键之后,并且响应于识别的合理 的组合生产的独立按键中的一个的触动,登记与组合相关联的输入, 其中该组合是第一触动的按键和识别的合理的组合生产的独立按键中 触动的一个的组合。
在一些实施例中,在识别合理的组合生产的独立按键之后,本方 法包括为了识别的合理的组合生产的独立按键的触动而特别检查。
当按键开关以行和列布置,并且其中具有相关联的输入的合理的 按键组合是对角相邻的按键的组合时,这个方法是特别有用的。在这 种情况中,该组预先确定的数字由和(R+1)和(R-1)相关联的值构 成,例如,这里R是按键矩阵的行的数量。
在一些情形中,对合理的组合生产的独立按键的触动检查包括估 计从其中识别了第一触动的按键的扫描的结果。
在一些其中在按键矩阵的第一次扫描上识别第一触动的按键的实 施例中,对识别的合理的组合生产的独立按键的触动的特别检查包括 再次(a subsequent time)扫描矩阵。例如,对于识别的合理的组合生 产的独立按键的触动的特定检查可能使得仅扫描和包括第一触动的按 键的列相邻的单一的列。
在一些情形中,和按键和序列数字相关联的表包括不和按键矩阵 的开关相关联的额外的序列数字。例如,这些额外的序列数字可以被 认为是对应于键盘的“虚拟(ghost)按键”。这种额外的序列数字在 数字上优选的在和在按键矩阵的相对边缘上的开关相关联的序列数字 之间。
根据本发明的再一个方面,提供了在具有键盘的设备中确定输入 反馈的方法,其中键盘具有独立按键的矩阵,独立按键具有相关联的 开关,其中相邻按键的组合和组合按键输入相关联。该方法包括:扫 描触动的按键的矩阵;比较扫描的按键状态和来自矩阵的先前扫描的 按键状态;在检测到按键状态发生变化的情况中,分析扫描的按键状 态,包括,为了仅指示一个有效按键的扫描的按键状态,登记与有效 按键相关联的独立按键输入,以及为了指示和单一组合输入相关联的 多个有效按键的扫描的按键状态,登记与多个有效按键相关联的组合 按键输入。
检测按键状态的变化可能包括,或仅仅简单的包括,例如,检测 触动的按键的数量的变化组成。
在一些情形中,本方法包括,响应于作为扫描的按键状态和来自 矩阵的先前扫描的按键状态的比较结果的没有检测出按键状态的变 化,重复扫描所触动的按键的矩阵的步骤,同时不分析扫描的按键状 态。
分析扫描的按键状态可能进一步包括,对于指示不和单一的组合 输入的组合相关联的多个有效按键的扫描的按键状态,登记与存储的 个人身分号码相关联的输入。
分析扫描的按键状态可能包括,对于指示两个有效按键的扫描的 按键状态,确定两个有效按键是否是彼此对角相邻的,并且如果确定 两个有效按键是彼此对角相邻的,则登记与两个有效按键相关联的组 合按键输入。
根据本发明的再一个方面,提供了在具有键盘的设备中确定输入 的方法,其中键盘具有独立按键的矩阵,独立按键具有相关联的开关, 其中相邻按键的组合和组合按键输入相关联。该方法包括:扫描触动 的按键的矩阵;产生对应于触动了多少按键的按键计数;并且之后估 计按键计数来确定是否分析其它按键状态信息。
在一些实施例中,估计按键计数包括比较按键计数和数字“一”, 并且,对于等于一的按键计数,分析其它按键状态信息来确定哪个独 立按键是有效的。
在一些情形中,估计按键计数包括比较按键计数和来自矩阵的先 前扫描的存储的按键计数来确定按键计数是否已被改变。
根据本发明的再一个方面,提供了在具有键盘的设备中确定输入 反馈的方法,其中键盘具有独立按键的矩阵,独立按键具有相关联的 开关,其中相邻按键的组合与组合按键输入相关联。该方法包括:扫 描触动的按键矩阵。响应于检测到已经以预先确定的时间周期(例如, 在大约160和250微秒之间)触动的按键,或者在扫描中没有触动按 键,本方法包括登记与触动的按键相关联的输入,其中该扫描跟随其 中按键被检测为触动的但是相对小于预先确定的时间周期的扫描。
本方法还包括,在一些实施例中,在登记与触动的按键相关联的 输入之后,重新设置与按键触动时间相关联的计时器并且再次扫描矩 阵。
在一些情况中,计时器包括对于每一其中给定按键为有效的连续 扫描而增加的计数器。
本发明的其它方面包括设置来执行本发明的上述方面的方法的电 子设备。
本发明的一个或多个实施例的细节将在附图和下面的描述中提 出。本发明的其它特征,目的和优点将通过描述,附图和权利要求而 清楚的理解。

附图说明

图1示出了用于在具有空隙的按键的平铺的键盘中确定按键作用 的第一算法。
图2示出了具有设备级去抖的扫描算法。
图3示出了设备级去抖算法的细节。
图4示出了具有四个独立按键列和七个独立按键行的IACK键 盘。
图5示出了图4的开关矩阵的编号的显示。
图6示出了采用“虚拟”行的图4的开关矩阵的另一显示。
图7示出了用于IACK键盘的第二扫描算法。
图8示出了采用键区状态变化滤波器的用于与IACK键区一起使 用的第三算法。
图9示出了图8的算法的更详细的实施例。
图10示出了图9的分析步骤18的一个实施例。
图11示出了具有IACK键盘的移动电话
在不同附图中的相似的参考符号指示相似的元件。

具体实施方式

图1示出了用于确定在具有空隙的按键的平铺的键盘(比如如图 4所示的键区)中的按键作用的事后(after-the-fact)(两层)算法。 它提高了作为响应速度和输出精确度的结合的表现。该算法在敲击键 盘的近似200微秒之内提供反馈到用户,由此提供用户“即时的”响 应的印象。事实上,用户的手指在反馈的时间中仍然在活动,并且系 统仍然监控在用户举起它的手指之前可能发生的输入。
设计算法来提供最终输出到设备显示器,其可能和在提供给用户 反馈的时间处登记的输入不一样。在所示的实施例中,系统公布(post) 对应于在提供反馈的时间处接收的输入的临时输出到是液晶显示器的 设备,并且之后可能改变这个临时输出,将其作为在用户举起手指之 前接收的附加的输入的函数。这个算法可以和在图2和3中描述的第 一级算法协同使用。(第一级算法和这个图的步骤100到114有关。) 该矩阵扫描100可能是行和列的传统扫描,或者新颖的方法,该方法 同时驱动两个相邻的行,同时搜索两个输出的列,由此自动指示有意 的组合按键输出。步骤102:如果没有触动按键,继续扫描。步骤104: 一旦检测到一个按键的触动,设备确定是否也触动了斜对角(kitty corner)(也就是,对角相邻的)键。一个这样的方法在下面参考图5 和6进行讨论。如果采用两个相邻行的方法,附加的扫描是必要的。 如果有效的开关指示一组合按键输出是想要的,步骤106在内部表中 寻找所需按键,并且在步骤108中显示所需的组合按键输出。因此, 提供给用户已经登记了组合按键的反馈。反馈可能是听觉的、视觉的 和/或触觉的。如果在步骤104没有触动斜对角开关,则设备临时解释 单独的按键输出是想要的并且进入步骤109,临时的确定哪个单独的 按键是有想要的阶段。在步骤109中,在步骤110中在表中寻找临时 确定的输出,其中表将由矩阵扫描100识别的开关位置和比如ASCII 字符和/或作为原始数据存储进寄存器和/或显示器本身的字符相关 联。提供用户已经登记了单独的按键的反馈(步骤111和112)。这个 反馈也可以是听觉的、视觉的和/或触觉的。令人察觉不到地(近似20 微秒)延迟(步骤107)任意或所有反馈来允许在确定临时输出之后 继续肌肉运动可能是有用的。特别是当如果用户以轻触快速操作按键 时,这是正确的,这可能通过测量在按键敲击之间的时间和与作为由 使用删除按键所识别的有关的任意更正来确定。
这个输出是“临时的”,因为之后启动扫描的第二层(步骤114) 来确定作用的开关是否相对于足够的时间变为非触动的、从而可以被 认为打开(步骤116)。如果这个发生了,循环返回到步骤100、并且 开始寻找另一个输入。如果开关没有全部清除,在步骤118中设备继 续对斜对角开关触动而扫描。这个扫描继续直到开关被清除(步骤 116)。如果在清除所有开关之前斜对角开关被触动,则该设备确定组 合按键最初是想要的。然后设备确定该想要的组合按键(步骤120) 并且输出该想要的组合按键(步骤124),然后除去临时确定的输出(步 骤122)。用户可能没有意识到对于最终输出,可能在提供给他登记了 操作的反馈之后被确定。用于建立组合输出的更正碰触的数量可能非 常小(以在8Hz的16循环的量级,或者在一些情况中可能甚至仅仅 一个循环),用以提供精确结果。这个图没有示出和每一单独开关的 去抖相关联的等待状态,因为这些是本领域技术人员所熟知和理解 的。
图2示出了用于在IACK键盘中的按键作用的改进的确定的另一 实施例。它也解决和在不同时间接触的单一的组合按键之中的单独的 按键相关联的延迟。在步骤180将所有行同时驱动为高,同时步骤182 在列上搜索任意开关动作。当至少一个列指示触动的交换时,驱动相 邻的行对(第一和第二,第二和第三,第三和第四,等等),同时在 步骤183中对交换触动检查列。根据一个或两个列测量是否为高输出 而产生分支(branch)(步骤184)。如果两条线是高,之后设备确定 哪个组合按键被触动(步骤120),显示它(步骤124)并且之后在重 复步骤180中的过程之前等待直到所有列为低(步骤185)。如果仅仅 一个列是高,之后它进入步骤188的单独按键分析。步骤188在图3 中更详细的示出。步骤188设置第一碰触计数器用于持续跟踪指示按 键被测量为高的循环的数量。步骤186在每一次递增计数器。步骤187 确定是否测量了计数器的预先确定的数字(X)。这个数字的值(值1) 可能对正确操作来说很重要。优选的值是等价于近似160-225微秒, 并且可能还和学习模式结合。例如,在单独按键输入之后的删除按键 使用、接下来是相关的组合按键的输入可能触发这个预先确定的值的 增加。在步骤122中,重新设置计数器并且在步骤185中该设备在重 复在步骤180中的过程之前进行等待直到所有列为低。
图3示出了步骤188的一个实施例的细节。这个算法加快最后按 键的获得,而且通过提供设备级的去抖保持精确度。它对因为相邻按 键的特别近似产生的错误触动计数。最初,识别第一候选者(候选者 1)(步骤190)并且设备缺省(by default)进行到步骤192、186和187。 在第二循环的过程中可能发生分支点。步骤192是对于每一扫描的分 支点,其中扫描确定当前扫描是否匹配如在步骤190中识别的候选者 1。如果是,之后递增第一计数器(步骤186)。如果这个监控值1的 第一计数器达到了计数的预先确定的数字(步骤187),则然后在步骤 112断定候选者是想要的输出并且候选的按键是输出。如果不是,设 备继续扫描(步骤180)直到读取了候选者测量的足够数量。但是, 当在步骤192中识别出敲击(也就是,触动)不同按键的事件(例如, 因为设备级按键抖动)之后在步骤198识别第二候选者(候选者2), 并且在步骤199递增第二计数器。如果第二计数器还没有达到显著的 小于值1(16是在8MHz的合理的值)的第二值(值2),之后该循环 通过返回到步骤180无变化的重复。如果总的第二计数器到达值2, 候选者1由候选者2代替、并且该过程返回到步骤180并且再次开始。
因此,这个示出的实施例包括设备级的去抖,其解决了和结合了 最小化平铺键盘的按键的操作相关联的噪声。它可以被大致的描述为 设计电子软件来基于初始读取指定缺省输出,之后在接受作为新基 础的错误字符之前读取并且忽视预先确定的数量的错误输入,或者输 出当前接受的缺省输出。通过键盘在初始开关识别之间添加人工延迟 并且反馈到用户(以160-250微秒的等级)。这个延迟允许手指运动在 第一开关识别之后不衰减地继续,由此增加在用户缩回手指准备触摸 不同按键之前发生第二次想要的开关接触的机会。这个延迟的优点在 由用户做出特定慢或轻的接触的过程中更为明显。实现将延迟改变为 用户输入的函数的动态的“学习模式”也是有益的。在假定删除按键 指示错误输入的情况下,相应的重新指定这些延迟的长度。例如,立 即跟随单独输出并且接下来读取相关联的组合输出的删除的按键的使 用指示应该增加一致的测量的数字和/或延迟时间的数量。
这个两层扫描和更正算法帮助最大化按键作用的速度,而且最小 化输出可靠性的降低。它在确定有效的输出选择之后提供给用户反馈 (例如,在显示屏上的视觉反馈和/或以“哔哔声”形式的触觉的反馈), 并且之后继续为将最初的(临时的)输出修改为在做出输出之后获得 的开关数据的函数而准备扫描。
图4示出了具有四个独立的按键列和七个独立的按键行的矩阵的 通常的IACK键区。独立按键70突出在组合按键区域72之上。在这 个实施例中有电子开关的矩阵,每一位于对应的独立的按键70下面 并且与其相关联。通过在独立按键70上按压,用户将触动在下面的 相关联的开关。通过按压组合按键区域72并且敲击(最小化的)两 个相邻对角(也就是,斜对角)独立按键70,由此触动相关联的独立 按键开关,用户指示它的需求以触动组合按键72。
图5示出了图4的开关矩阵的数字表示,作为具有四列和七行的 表,在其中给每一开关分配一个连续的数字值的单元中。因为IACK 键区使用在组合按键区域周围的相邻的对角开关触动作为对于那个组 合按键的最小化需要,系统可以通过寻找如下的可能组合来最小化扫 描步骤:当系统检测到开关N为触动的,它知道开关N+7直接的位 于开关N的右边,并且因此开关N+6和N+8是斜对角按键。换句 话说,可能的组合是按键N+R-1和N+R+1,其中R表示在按键矩阵 中的行的数量。可能的组合的识别可能在硬件扫描级上做出,允许设 备最小化扫描数量,或者可能在软件分析级上做出,启动在规划几何 学(layout geometry)和分析算法之间的特定的独立级。当实现多种 的IACK键区时,这个独立可在产品开发中获得显著的优点,因为集 成了到用户在IACK键区中有意的分析的规划的算法需要对于每一不 同规划完全重写软件。例如,这个方法使得能够更改写入来分析来自 具有一些行的键区的输出的软件,从而处理具有不同数量的行的键 区,这仅需要修改在上述方程式中的R的值。对于本领域普通技术人 员来说,怎样可以实现能够应用到任意键区的合适的算法是很明显 的,其中键区具有在给定数量的直角行和任意数量的列中的按键。
注意到在这个实施例中,优选的从开关矩阵的一侧到另一侧进行 扫描和分析。就是说,如果在列2检测到开关,下一个周期的分析仅 聚焦在列3上,而不是列1上。因此包括位于列1和2的独立按键的 组合按键区域将在开关矩阵的随后的完全扫描中被首先看到(就是 说,在列1中的开关被首先探测到,并且之后系统查看在列2中的按 键的可能的组合)。尽管这个系统很大程度的简化了在大多数IACK键 区上的组合按键的分析,当分析在键区的周界上的按键时,这个方案 需要特别的考虑。很明显在这里使用的术语“行”和“列”,在很多方 面是可以互换的,表示按键沿着矩阵中的不同方向的队列(alignment) 和顺序。
在图6中示出了解决周界按键分析的方法,在其中在对应于键区 的独立按键的物理上的行上面和下面添加“虚拟”行。还添加虚拟列 5,三个“混合”的行和在矩阵底部的最终的虚拟行。虚拟行并不表 示物理开关,而是给虚拟“开关”分配在序列中的数字的值,产生所 示的数字方案。“虚拟”指标允许设备通过(最小化的)查看开关N+12 和N+14,透明地查看和开关“N”相关联的可能的组合触动而不需要 考虑按键是否在开关矩阵的边界或内部。例如,如果检测到开关数字 4,可能仅仅通过参看开关数字16和18确定可能的组合按键。在周 界上算法仍然工作。例如,如果检测到开关数字14(例如,图4的“b”), 可能的组合将是和(最小化的)开关数字26和28。当然,在这个实 例中,开关数字26不是物理的开关并且定义为无效。这个方法允许 系统仅对可能的组合扫描或者通过简单的加法而不是使用复杂的查找 表或者对每一单独的按键情况编程来查看完全扫描的数据设置(就是 说,整个键区的扫描的数据流)。采用这种方法,可以容易的定义识 别组合的按键的完全设置。在这个情形中,在这个实例中的每一有效 的组合将包括至少一个N,(N+1),(N+13)和(N+14)的斜对角设置并且 没有其它独立按键。通过这个标准有不存在的有效的组合按键。这个 情况将在当系统返回“空”并且当它尝试寻找这个“虚拟”组合按键 的数字表示时修正它本身。用于解释组合按键的数字的表示可以参看 图9。
混合的行允许系统容纳真正的独立按键功能以及来自在IACK键 区格外部的按键的IACK功能(例如,如图4所示的格)。在这里示出 的实例中,由数字48,49和50表示的开关是诸如“发送”、“清除” 和“终止”的独立按键。由数字9、10、22和23表示的按键是也可 以提供组合按键输出的独立按键。添加最终的虚拟行来以在混合的行 3中容纳独立按键数字50的附加,从而允许以相同有效的算法扫描整 个键区。
图7示出了用于可以在IACK键区中提供快速进入单独按键和可 靠的读取组合按键的改进的扫描算法。一些以前的IACK键区包括时 间延迟,系统在敲击第一独立按键之后在时间延迟中暂停,作为确定 用户是否真正有意触动组合按键的方式。也在一些以前的实施例中, 公布(posting)或者“登记”独立按键到显示器的动作是基于计时器 的事件。这个实施例的特征在于另外的标准作为用于公布IACK独立 按键输出到显示器的触发器,由此提供设备的显著的改进。在步骤100 中,系统扫描IACK键区来确定用户是否触动了开关矩阵的任意部分。 在步骤103中,系统确定是否触动了第一开关。这和图1的步骤102 有区别,在步骤102中是寻找任意有效的开关。步骤103搜寻来识别 在键盘上的动作而初始化输出序列。只要识别了第一按键(触动算法) 并且输出还没有由系统提供,步骤103将允许过程到达步骤186。如 果不是,系统继续扫描矩阵。该系统在步骤186递增计数器。之后该 算法具有两个事件,其将设置系统在公布独立按键字符到显示器的路 径上。第一是计数器在步骤187达到预先确定的值(X)。(注意该X的 值优选的和近似等于160-250微秒的时间有关)。如果系统达到指定的 延迟时间并且没有触动组合按键,而且在步骤188中识别了有效的单 独的按键,则系统将在步骤112公布识别的独立按键到显示器。用于 设置系统在用于公布单独的按键的路径上的第二标准是用于所有在矩 阵中的开关在步骤116中清除。如果要么1)碰触计数器已经达到它 的最大值,要么2)在识别了有效的按键之后释放按键,该系统将公 布那个按键到显示器。结合图1的两级扫描,采用这个算法可以达到 更好的效果。如果步骤187或116中的条件都不满足,系统继续通过 在步骤118中搜寻斜对角触动来寻找组合(和/或PIN号码)输入。如 果用户有意使用组合按键,之后系统在步骤120中寻找合适的组合按 键(或PIN)输出,并且在步骤124中显示组合。然后系统重新设置 计数器并且在步骤100中再次开始扫描矩阵。
图8示出了用于实现用于IACK键区的代码的另外的实施例。该 系统被分为主要的三部分。第一部分是扫描码4,其驱动并且读取键 区矩阵来收集开关数据。扫描码4在每一循环通过滤波器5发送关于 被有效按压的按键的数字和表示键盘状态的数据集的信息。如果数据 集满足特定标准,然后在步骤6分析数据。大多数时间数据集不满足 标准,因此节省了大量的处理时间,其可以由在设备中的其它组件使 用。算法也以相同的方式节省功率,这在便携式应用中是非常重要的。
图9示出了怎样实现图8的结构来节省在IACK键区设备中的功 率和处理时间。键区矩阵的分析被分解为循环,其中那个每一循环造 成一组字符(通常一个,但是某些时候更多)被公布到LCD。每一循 环在当释放所有按键时终止。在任意单一循环之内,周期性的扫描键 区阵列并且记录所有按键的状态。当系统确定一个和多个状态比起先 前的扫描发生变化时,则更加详细的分析扫描结果,并且根据分析结 果建立输出记录。对于每一循环,要么按下单一的按键(对应于单独 的按键),要么按下多个按键(对应于组合按键,PIN码或者模糊的结 果)。如果在单一循环内按下多个按键,则键区阵列从其中没有按键 被按下的状态继续到其中一个、并且之后两个、并且之后三个等等、 按键被触动的状态。(也参看图10)每一这种在键区阵列状态中的变 化可以被作为“”提到。如果使用足够高的扫描率,每一帧将正常 的表示单一按键的状态相比先前的帧所发生的变化。(尽管这是理想 的情况,不需要修正系统功能。)对于每一新帧,分析阵列并且可能 将字符公布或者不公布到LCD。该算法担当有限的状态机器,基于当 前状态和输入值(键区阵列和延迟计时器)选择下一个状态。当前状 态是基于在循环的先前的帧中采取什么动作。分析记录表示键区阵列 的当前状态。知道当前的状态,计时器的状态,以及分析记录的值, 系统可以决定,如果有的话,在当前的帧采取哪个动作。步骤10是 占空度计时器设置键盘将被扫描的比率。当这个计时器到达预先设置 的值,系统扫描键区(步骤12),并且之后传递关于触动的按键的数 量(就是说,关闭的开关的数量)以及开关本身的数据集的信息。键 区扫描的数据集可能包括一系列在单一单词中呈现的整个键区的开关 触动数据,如图7所示。在步骤13中,有效的按键的数量和在以前 的扫描中有效的按键的数量相比较(例如,作为图8的滤波器5的一 部分)。如果按键的数量没有改变,并且反馈计时器没有过期(步骤 20)。之后算法返回等待下一个扫描。如果按键的数量改变了,之后 系统在步骤14确定是否需要在步骤18分析键区的状态(例如,如果 触动的按键的数量从一变到零,之后不需要执行附加的分析)。之后 系统执行键区数据集的分析来确定用户意愿(步骤18)。在图10中详 细示出了将在下面讨论的这个分析的一个实例。系统取得来自分析的 输出,并且在步骤16中确定是否通过比如这里讨论的标准公布字符 (或者数个字符)到显示器。例如,来自分析18的输出可以包括字 符的数字的表示(或者字符),该系统被确定为在那个帧中是根据用 户意愿的。独立的按键可以被数字的表示为如图6所示的。同时组合 按键由对应于它的相关数字的数字表示,上左指示物独立按键加上任 意常数,其中常数大于表示任意在设备上的物理按键和虚拟按键的最 大数字。对于图6的实施例,数字“40”将满足这个常数。在这个情 形中,例如,组合按键“5”将由数字“51”表示,PIN码可由独立按 键表示的串识别。在步骤22中,系统寻找和数字的表示有关的ASCII 字符,并且如设备所需要的公布这些字符或值到显示器和/或其它位 置。
图10示出了在图9的步骤18中执行的分析的一个实施例。在步 骤26中,系统读取从扫描传递的数据(例如,图8的扫描4),并且 识别在这个按键识别序列中检测到的第一开关(步骤28)。这个第一 按键变为“指示物”。如果步骤30确定仅仅一个开关是有效的,之后 系统寻找单独的按键并且在存储器中登记那个按键的数字的表示(步 骤112)。如果步骤32确定两个开关有效,之后系统确定按键是否是 彼此斜对角的(步骤34),比如使用参考图5和6描述的方法,并且 之后在步骤120之中寻找合适的组合按键。如果在步骤36中三个或 多个按键是有效的,系统确定有效的按键是否符合用于组合按键的标 准,比如参考图5和6描述的。(注意到不能识别组合按键的第四开 关,除非为那个目的而特别设计了硬件。)如果在步骤38中满足了(并 且没有超出)组合标准,则系统在步骤120中计算合适的组合按键表 示。如果超出了组合标准,系统继续到步骤40,其中它可能估计PIN 组合,比如在美国专利申请号09/862,948的图35中所描述的,并且 输出一系列的独立按键数字表示。在这里将步骤16示为下一个步骤, 并且参考图9进行描述。
现在参照图11,移动电话250具有键区252,该键区具有定义了 升起的独立按键区域254和空隙的组合按键区域256的弹性的键区覆 盖,移动电话还具有用于显示字母数字文档的显示器258。每一独立 按键区域254覆盖开关矩阵的相关联开关,并且具有突出在相邻的组 合按键区域之上的暴露的表面,用于由用户像在U.S.S.N.09/236,199 中讨论的那样的指尖触动。设置并且对电话250编程来执行所有在这 里公开的方法。
已经描述了本发明的一些实施例。但是,应该理解在不脱离本发 明的精神和范围的情况下,可以作为多种修改,其它实施例也在下面 权利要求的范围之内。
QQ群二维码
意见反馈