触摸屏的多向校准转让专利

申请号 : CN201380047565.9

文献号 : CN104641338B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吉-洪·谢

申请人 : 谷歌公司

摘要 :

公开了用于解释来自键击的输入键的设备和方法。在实施方式中,该方法包括显示包括键的键盘。该方法还包括定义键盘上的目标。目标中的每一个与键、键盘的区域以及挥扫方向中的一个相关联。键中的每一个与目标中的至少两个相关联。该方法还包括确定键击的位置和挥扫方向,并且将键击的位置与和目标中的至少一些相关联的区域相比较。该方法还包括将键击的挥扫方向和与目标中的至少一些相关联的挥扫方向相比较,并基于键击的位置和键击的挥扫方向与目标的比较来定义输入键。

权利要求 :

1.一种用于从键击选择输入键的方法,包括:

显示包括键的键盘;

定义所述键盘上的目标,其中,所述目标中的每一个与所述键、所述键盘的区域以及挥扫方向中的一个相关联,并且其中,所述键中的每一个与所述目标中的至少两个相关联;

确定相对于所述键盘的所述键击的位置和挥扫方向;

将所述键击的所述位置和与所述目标中的至少一些相关联的区域相比较;

将所述键击的所述挥扫方向和与所述目标中的至少一些相关联的挥扫方向相比较;以及基于所述键击的所述位置和所述键击的所述挥扫方向与所述目标的比较来定义所述输入键。

2.根据权利要求1所述的方法,其中,基于所述键击的所述位置和所述键击的所述挥扫方向与所述目标的比较来定义所述输入键包括:确定与所述目标中的一个相关联的区域与所述键击的至少一部分重合;

确定与所述目标中的所述一个相关联的挥扫方向与所述键击的所述挥扫方向匹配;以及选择与所述目标中的所述一个相关联的所述键中的一个作为所述输入键。

3.根据权利要求1所述的方法,其中,基于所述键击的所述位置和所述键击的所述挥扫方向与所述目标的比较来定义所述输入键包括:确定所述键击至少部分地和与所述目标中的一个相关联的区域重合;

确定所述键击的所述挥扫方向和与所述目标中的所述一个相关联的所述挥扫方向不匹配;以及忽视所述目标中的所述一个。

4.根据权利要求1所述的方法,其中,基于所述键击的所述位置和所述键击的所述挥扫方向与所述目标的比较来定义所述输入键包括:确定所述目标中没有一个既和与所述键击重合的区域相关联又和与所述键击的所述挥扫方向匹配的挥扫方向相关联;

推断最可能键作为所述输入键;以及

调整与所述最可能键相关联的所述目标中的一个,使得所述目标中的所述一个至少部分地与所述键击重合且与所述目标中的所述一个相关联的所述挥扫方向与所述键击的所述挥扫方向匹配。

5.根据权利要求4所述的方法,其中,推断所述最可能键包括:确定所述目标中的在空间上最近的一个目标,与该目标相关联的挥扫方向与所述键击的所述挥扫方向相匹配;以及选择与所述目标中的在空间上最近的所述一个目标相关联的键作为所述最可能输入键。

6.根据权利要求4所述的方法,其中,推断所述最可能键包括:确定至少两个在空间上最近的目标,与所述至少两个在空间上最近的目标相关联的挥扫方向与所述键击的所述挥扫方向相匹配;以及至少部分地基于文本上下文而从与所述至少两个在空间上最近的目标相关联的键之中选择所述最可能键。

7.根据权利要求6所述的方法,还包括调整和与所述最可能键相关联的所述至少两个在空间上最近的目标中的一个目标相关联的区域,使得已调整的区域至少部分地与所述键击重合。

8.根据权利要求4所述的方法,还包括添加与所述最可能键相关联的新目标,所述新目标与至少部分地与所述键击重合的区域相关联且与和所述键击的所述挥扫方向匹配的挥扫方向相关联。

9.根据权利要求1所述的方法,其中,基于所述键击的所述位置和所述键击的所述挥扫方向与所述目标的比较来定义所述输入键包括:确定所述键击至少部分地与和所述目标中的第一目标相关联的区域及所述目标中的第二目标的区域重合,其中,所述目标中的所述第一目标和所述目标中的所述第二目标与不同的键相关联;

确定所述键击的所述挥扫方向和与所述目标中的所述第一目标相关联的挥扫方向匹配,并且和与所述目标中的所述第二目标相关联的挥扫方向匹配;

从与所述目标中的所述第一目标相关联的键和与所述目标中的所述第二目标相关联的键之间推断最可能键;以及选择所述最可能键作为所述输入键。

10.根据权利要求9所述的方法,其中,推断所述最可能键包括:基于与所述目标中的所述第一目标相关联的所述区域与所述键击重合达到比所述键击和与所述目标中的所述第二目标相关联的所述区域重合的程度更大的程度还是更小的程度、或者基于文本上下文、或者基于两者,而在与所述目标中的所述第一目标相关联的所述键和与所述目标中的所述第二目标相关联的所述键之间进行选择。

11.根据权利要求10所述的方法,进一步包括:选择所述键中的所述第一目标作为所述最可能键;以及调整与所述目标中的所述第一目标相关联的所述区域,使得已调整的区域在更大的程度上与所述键击重合。

12.根据权利要求1所述的方法,还包括对所述键盘进行校准,包括:请求对键的校准键击;

登记所述校准键击的位置和挥扫方向;以及

添加与所述键相关联的新目标,所述新目标和与所述校准键击的所述挥扫方向匹配的挥扫方向以及至少部分地与所述校准键击的所述位置重合的所述键盘的区域相关联。

13.一种用于解释虚拟键盘上的键击的计算机实现方法,包括:使目标与键盘的键相关联,其中,每个目标与所述键中的一个相关联,并且其中,所述键中的每一个具有与之相关联的所述目标中的至少两个;

将所述目标定位在所述键盘上,使得每个目标与所述键盘的一个区域相关联;

使所述目标中的每一个与挥扫方向相关联;

确定相对于所述键盘的所述键击的位置和所述键击的挥扫方向;以及将所述键击的所述位置和所述键击的所述挥扫方向和与所述目标中的至少一些相关联的区域和挥扫方向相比较。

14.根据权利要求13所述的方法,还包括:

确定所述键击是不明确的;

推断预期被所述键击选择的最可能键;以及

调整和与所述最可能键相关联的至少一个目标相关联的区域、挥扫方向或两者,使得所述键击若被重复则不再是不明确的。

15.根据权利要求14所述的方法,其中,确定所述键击是不明确的包括:确定零个或两个或更多目标与至少部分地与所述键击重合的所述键盘的区域相关联、并且与和所述键击的所述挥扫方向匹配的挥扫方向相关联。

16.根据权利要求14所述的方法,其中,推断所述最可能键包括:选择具有与在空间上最接近于所述键击的所述位置的区域相关联的目标的至少两个键;以及将所述至少两个键与文本上下文相比较。

17.一种用于从键击选择输入键的系统,包括:

用于显示包括键的键盘的装置;

用于定义所述键盘上的目标的装置,其中,所述目标中的每一个与所述键、所述键盘的区域以及挥扫方向中的一个相关联,并且其中,所述键中的每一个与所述目标中的至少两个相关联;

用于确定相对于所述键盘的所述键击的位置和挥扫方向的装置;

用于将所述键击的所述位置和与所述目标中的至少一些相关联的区域相比较的装置;

用于将所述键击的所述挥扫方向和与所述目标中的至少一些相关联的挥扫方向相比较的装置;以及用于基于所述键击的所述位置和所述键击的所述挥扫方向与所述目标的比较来定义所述输入键的装置。

18.根据权利要求17所述的系统,其中,用于定义所述输入键的所述装置包括:用于确定与所述目标中的一个相关联的区域与所述键击的至少一部分重合的装置;

用于确定与所述目标中的所述一个相关联的挥扫方向与所述键击的所述挥扫方向匹配的装置;以及用于选择与所述目标中的所述一个相关联的所述键中的一个键作为所述输入键的装置。

19.根据权利要求17所述的系统,其中,用于定义所述输入键的装置包括:用于确定所述键击部分地与和所述目标中的第一目标相关联的区域及所述目标中的第二目标的区域重合的装置,其中,所述目标中的所述第一目标和所述目标中的所述第二目标与不同的键相关联;

用于确定所述键击的所述挥扫方向和与所述目标中的所述第一目标相关联的挥扫方向匹配、并且和与所述目标中的所述第二目标相关联的挥扫方向匹配的装置;

用于推断与所述目标中的所述第一目标相关联的所述键是最可能键的装置;

用于选择所述最可能键作为所述输入键的装置;以及用于调整与所述目标中的所述第一目标相关联的所述区域,使得所述目标中的所述第一目标的所述区域在更大的程度上与所述键击重合的装置。

20.根据权利要求17所述的系统,还包括用于对所述键盘进行校准的装置,其中用于对所述键盘进行校准的所述装置包括:用于请求对键的校准键击的装置;

用于登记所述校准键击的位置和挥扫方向的装置;以及用于添加与所述键相关联的新目标的装置,所述新目标与所述校准键击的所述挥扫方向相关联、并且与所述校准键击的所述位置至少部分重合地定位。

说明书 :

触摸屏的多向校准

技术领域

[0001] 本公开涉及用于准确地解释到计算设备中的输入诸如键盘上的键击(keystroke)的方法。

背景技术

[0002] 被配置成与人类用户交互的计算设备常常包括外围组件,其使得计算设备能够从用户接收输入并显示或产生输出。输入外围设备的一个常见示例是键盘,并且输出外围设备的一个常见示例是显示屏。通常,用户敲击键盘的键,导致与被敲击的键相关联的符号显示在屏幕上。传统键盘一般地为键提供凸起、可压低的轮廓,其趋向于捕捉键击并向用户提供触觉响应,使得用户可以感觉到以及在屏幕上看到键击的结果。
[0003] 在某些计算设备中,例如,诸如蜂窝电话之类的移动计算设备,将屏幕的功能与键盘组合可能是有利的。屏幕因此可以一直或者仅仅当期望有用户输入时显示“虚拟键盘”(也称为“软键盘”)。虚拟键盘可以占用屏幕的触摸敏感区,并且可以用键的视觉表示来划分。可以将虚拟键盘配置成使落在键区域中的一个中的键击与关联键相关联。充当输入和输出外围设备两者的显示屏的此组合功能可以减小设备的尺寸,而不要求键盘尺寸的进一步减小。
[0004] 然而,在移动设备相对小的情况下,键盘区域可以明显地小于传统键盘。此外,即使小的常规键盘也可以提供触觉反馈,而虚拟键盘可能不会。因此,键入错误的可能性相比于同样尺寸的常规键盘而言在某些虚拟键盘上可能更大,尤其是当用户快速地键入时。例如,由于虚拟键盘可能是相对小的,所以键或预期敲击区域可能小于用户的手指,使得手指模糊用户的敲击区域的视野。此外,触觉反馈或凸起按钮的缺乏可能限制用户感觉与两个相邻键相关联的区域之间的差异的能力。这些因素可以组合成用户错过预期敲击区域的频率的增加,导致不明确或错误的键击。
[0005] 此外,触觉反馈的缺乏还可能导致将用户的手指经历跨虚拟键盘的横向“挥扫”移动作为键击的一部分,尽管用户预期和/或感知单点键击。这在其中打字者使用两个(或更多)手指(例如,两个拇指)来输入键击的情况下可能频繁地体验到。然而,此类挥扫可能导致部分地在与键相关联的区域中且部分地在其之外的键击,完全错过键区域,或者甚至部分地在与两个不同的键相关联的两个区域中。这可能进一步导致不明确和/或被错误解释的键击的频率的增加。
[0006] 然而,虚拟键盘相比于常规键盘提供多个优点,包括增加的显示屏尺寸,并且因此已经提出并实现了对此类准确度挑战的多个解决方案。例如,某些设计者已经基于概率、使用历史以及人类感知和手指的目标确定而确定手指敲击的“实际中间”可以是什么。此外,某些设计采用在不调整所显示键区域的情况下调整与键相关联的键盘上的目标区域、以便捕捉用户在输入某个键时趋向于敲击的区域的方法。此外,已经开发了用于在对于不明确的键击的两个键之间进行决策的多种试探法以及其他过程(即,“歧义消除”)。此类过程可以是上下文的,相对于正在输入的文本或基于历史使用。
[0007] 然而,此类过程一般地不考虑键击中的横向挥扫,并且仍可以导致不明确或错误解释的键击。此类过程还常常未能考虑到对于任何给定键而言用户可能趋向于,以多个不同的挥扫图案,取决于例如手或者甚至用来进行键击的特定手指来敲击多个不同区域。这可能导致基于历史使用的方案是不准确的,或者至少是不完整的。
[0008] 然后,所需要的是用于基于虚拟键盘上的键击来选择键的改善的设备和方法。

发明内容

[0009] 本公开的实施方式可提供一种用于从键击选择输入键的方法。该方法包括显示具有键的键盘,并且在键盘上定义目标。所述目标中的每一个与键、键盘的区域以及挥扫方向中的一个相关联。所述键中的每一个与所述目标中的至少两个相关联。该方法还包括确定相对于键盘的键击的位置和挥扫方向。该方法还包括将键击的位置和与所述目标中的至少一些相关联的区域相比较,并将键击的挥扫方向和与所述目标中的至少一些相关联的挥扫方向相比较。该方法还包括基于键击的位置和键击的挥扫方向与所述目标的比较来定义输入键。
[0010] 本公开的实施方式还可提供一种用于解释键盘上的键击的计算机实现方法。该方法包括使目标与键盘的键相关联。每个目标与所述键中的一个相关联,并且所述键中的每一个具有与之相关联的所述目标中的至少两个。该方法还包括在对键盘上的目标进行定位,使得每个目标与键盘的区域相关联,并且使每个目标与挥扫方向相关联。该方法还包括确定相对于键盘的键击的位置和键击的挥扫方向,并且将键击的位置和键击的挥扫方向和与所述目标中的至少一些相关联的区域和挥扫方向相比较。
[0011] 本公开的实施方式还可提供一种存储指令的计算机可读介质,该指令在被一个或多个处理器执行时使得一个或多个处理器执行操作序列。该操作包括显示具有键的键盘,并且在键盘上定义目标。所述目标中的每一个与键、键盘的区域以及挥扫方向中的一个相关联。所述键中的每一个与所述目标中的至少两个相关联。该操作还包括确定相对于键盘的键击的位置和挥扫方向。该操作进一步包括将键击的位置和与所述目标中的至少一些相关联的区域相比较,并将键击的挥扫方向和与所述目标中的至少一些相关联的挥扫方向相比较。该操作另外包括基于键击的位置和键击的挥扫方向与所述目标的比较来定义输入键。

附图说明

[0012] 结合在本说明书中并组成其一部分的附图图示出本教导的实施方式并连同描述一起用于解释本教导的原理。在所述附图中:
[0013] 图1图示出根据实施方式的具有包括键盘区的触摸屏的移动设备的简化平面图。
[0014] 图2图示出根据实施方式的移动设备的组件的示意图。
[0015] 图3图示出根据实施方式的用于从键击中选择输入键的方法的流程图。
[0016] 图4A和4B图示出根据实施方式的图1中所示的键盘区的一部分的放大图,进一步描述了与键盘区的键相关联的目标。
[0017] 图5图示出根据实施方式的图1中所示的键盘区的另一部分的放大图。
[0018] 图6图示出根据实施方式的可以在图3中所示的方法中采用的校准过程的流程图。
[0019] 图7图示出根据实施方式的移动设备的组件的另一示意图。

具体实施方式

[0020] 以下具体实施方式参考附图。在方便的情况下,在图和以下描述中使用相同的附图标记来参考相同或类似的部分。虽然在本文中描述了本公开的多个示例性实施方式和特征,但在不脱离本公开的精神和范围的情况下,可以有修改、适应及其他实施方式。因此,以下具体实施方式不限制本公开。替代地,由所附权利要求来定义本公开的适当范围。
[0021] 本公开的实施方式提供了被配置成解释虚拟键盘上的键击的方法和设备。例如,该方法一般地包括使用区域敲击的挥扫方向和位置作为键击的一部分来解释键击。此外,该方法可以包括建立与设备的每个键相关联的两个或更多目标,用于特定键的每个目标与不同的挥扫方向相关联。这可以利用与进行键击的用户的手和/或手指相关联的错过/键击偏移的图案,允许有最小尺寸的精确的目标,其可以避免不明确的键击。
[0022] 因此,当在键盘上登记键击时,设备可以捕捉用于键击的位置和挥扫方向数据两者,并且将其和与键相关联的目标相比较。如果一个目标与键击的至少一部分重合地定位,并且与键击相关联的挥扫方向和与重合目标相关联的挥扫方向匹配,则可以将键击解释为选择与目标相关联的键。相反地,如果两个目标是重合的,但是仅一个与匹配挥扫方向相关联,则可以忽略不匹配目标,其可以导致单目标选择和因此明确的键击解释。
[0023] 另一方面,如果没有目标既与键击重合且与匹配挥扫方向相关联,则键击可能是不明确的,并且设备可以基于任何适当的决策过程来确定最可能键,下面提供了其示例。一旦已确定最可能键,则设备可以“调谐”目标确定方案以提供后续、类似键击的一致的解释,从而去除不明确性。此类调谐可以通过调整与最可能键和同一挥扫方向相关联、但先前并未与键击重合地定位的目标的位置(例如,通过移动目标或将其重新调整尺寸)而继续进行。通过这样调整目标,目标可以变得与键击重合,使得后续、类似的键击可以具有与目标重合的增加的可能性。调谐还可以包括改变与正在调整的目标相关联的挥扫方向,以便匹配键击挥扫方向。
[0024] 同样地,如果与同一挥扫方向但两个不同的键相关联的两个目标与键击重合,则键击可能是不明确的。该设备可以确定两个中的哪个键更有可能是预期键。该设备可以基于一个或多个变量和/或任何适当的决策过程来进行此类确定。在选择与两个重合的目标相关联的两个键之间的更有可能的键之后,设备可以继续前进至调整一个或两个重合的目标的位置和/或挥扫方向,使得后续的类似键击是重合的,并且使挥扫方向与单个目标匹配,以便避免不明确性。
[0025] 因此,设备和方法可以增加键入准确度,尤其是随着时间推移使用大体上是一致的话。凭籍此类一致的使用,从任一只手都能使目标定为最小尺寸并与更有可能的键击重合地定位,无论键击是否在显示在触摸屏上的键的实际边界内。这可能导致类似键击的一致的解释,具有最小量的不明确性,从而增加正确地解释键击的频率。
[0026] 现在转到设想的此类设备和方法的特定实施方式,图1图示出根据实施方式的设备100的简化平面图,该设备100可以是移动设备。如在本文中使用的术语,“设备”可以指的是任何类型的移动或独立设备,包括硬件和软件的任何组合,其能够支持如在本文中讨论的功能和数据处理技术。例如,该设备可以是移动电话、平板设备、笔记本设备、个人数字助理(PDA)等。
[0027] 移动设备100一般地包括显示器102,其可以是任何类型的触摸屏显示器,诸如,例如LED、LCD、CRT、等离子体、静电成像或可以被配置成通过与用户的交互而显示图像和接收输入的任何其他类型的显示器。可以将各种其他类型的输入捕捉屏幕用于显示器102,例如与被配置成跟踪/登记用户、触针、指针等的移动的光学传感器合作而不一定依赖于触摸显示器102的任何东西的屏幕。在某些实施方式中,显示器102可以是到外部表面上的投影,并且用户可与投射的图像相交互以向移动设备100提供输入。然而,出于图示的目的,在本文中将描述触摸屏显示器102实施方式,但不应认为其是限制性的,除非在本文中另外明确地说明。
[0028] 显示器102可以包括键盘区104和输出区106。键盘区104可以是与输出区106相同的触摸屏的一部分,但是在其他实施方式中,区域104、106可以由单独的屏幕提供。此外,输出区106可以显示一个或多个文本框107,其可以被配置成显示文本以及其他类型的视觉媒体,诸如图片、视频等。
[0029] 在键盘区104中,可以将显示器102配置成示出键盘,描述具有字母数字组合、标点符号、控制或位于其中的其他类型符号的区域,其在本文中称为键108。如所示,键盘区104可以具有一般地以标准“QWERTY”配置布置的键108;然而,可以采用以任何语言的任何其他布置(字母、Dvorak、速记等)。此外,每个键108可以定义与之相关联的显示器102的区域。
[0030] 键108可以每个以任何适当形状定义与之相关联的区域。例如,键108A可以由被正方形围绕的区域形成。其他键108B可以由平行垂直线定义,但是在顶端和底端是开放的。另外的其他键108C可以是非正方形的,例如L形、圆形等。键108可以每个承载与之相关联的符号,大约在与键108相关联的显示器102的区域的中间。
[0031] 至少在名义上,以键108为界的区域中的显示器102上的键击110(即,手指、触针、笔、指针等的移动)可以被移动设备100登记并解释为将与键108相关联的符号选作输入。在图1中图示出用于字母键108的顶行的键击110的跟踪显示;然而,将认识到的是虽然在某些实施方式中可以,但键盘区104不需要显示此类被跟踪键击110,其一般地在本文中举例说明是为了便于包含在本公开中的描述。键击110可以是轻敲、挥扫、敲击、其任何组合等。
[0032] 如从在键盘区104上跟踪到的一般地自由形式的线性键击110可以认识到的,每个键击110可以具有其横向移动或“挥扫”元素,跨显示器102的表面继续前进。此外,如所示,键击110可能未被包含在单个键108内,而可以扩展到两个或更多键108中或者在两个键108之间,如所示,潜在地导致不明确的键击。此外,多个键击110可以表示敲击同一键108的尝试,但是可以在键盘区104的不同位置处发现。
[0033] 现在转到移动设备100的组件的细节,其可以实现例如用于解释键击110的各种方法,图2图示出根据至少一个实施方式的移动设备100的多个组件的示意图。另外参考图1,移动设备100可以包括显示模块202,其可提供显示器102。显示模块202可以是被配置成使得例如键盘显示和/或指示先前选择文本的文本框之类的输出被视觉地描述且被配置成从用户接收输入的任何模块,该输入例如指示键盘区104上的键108的键击110。显示模块202可以包括触摸屏和关联硬件,投影仪和一个或多个运动传感器、光学传感器等。
[0034] 移动设备100还可以包括操作系统208,其可以提供键盘模块210。可以将键盘模块210配置成从显示模块202接收键盘数据,特别是由用户经由显示器102的键盘区104上的键击110输入的数据。此外,可以将键盘模块210配置成通过向显示模块202发送显示数据而在显示器102的键盘区104中显示键108。然而,在某些实施方式中,可以在显示器102上永久地显示键盘区104,诸如,例如经由覆盖。
[0035] 此外,移动设备100可以包括一个或多个应用程序216以及存储218。应用程序216可以按照键盘模块210的解释经由显示器102从用户接收输入。应用程序216可以采用此类输入并提供与之相关联的有用输出,以便经由显示模块202来显示。可以将来自应用程序216的输出传输回到操作系统208且然后传输到显示模块202,其可以将此类数据转换成显示器102上的图像。应用程序216可以包括例如文字处理应用程序、web浏览器、浏览器实现的应用程序等。
[0036] 如上所述,移动设备100可以实现用于解释键击110的一个或多个方法,即确定用户意图通过输入键击110而意图选择哪个键108。因此,现在对图3进行参考,其图示出根据实施方式的用于解释键击110的方法300的流程图。
[0037] 另外参考图1和2,方法300可以通过移动设备100的键盘模块210和/或显示模块202使键盘区104(图1)的每个键108与至少两个目标(例如第一和第二目标)相关联开始,如在302处。此外,在不脱离本公开的范围的情况下,将认识到的是可以针对键108中的某些或全部采用三个或更多目标和/或可以针对键108中的一个或多个采用单个目标。例如,针对每个键108,与之相关联的第一和第二目标可以指的是键盘区104的区域(即,与之相关联),并且可以与挥扫方向相关联。可以使每个第一目标与同一第一挥扫方向相关联,并且可以使每个第二目标与同一第二挥扫方向相关联,第一和第二挥扫方向相互不同。然而,在某些实施方式中,第一和第二挥扫方向可在键108之间改变,使得每个键108的第一目标可能并非全部与同一挥扫方向相关联,并且对于第二目标而言可能情况如此。
[0038] 为了进一步举例说明与键108相关联的第一和第二目标,如在302处,另外对图4A和4B进行参考,其出于说明性目的图示出如所示的键盘区104的放大部分视图,跟踪键击410A、410B、410C、410D。此外,图4A和4B将在键盘区104上定义的多个目标示为虚线圆圈
412—422。然而,将认识到的是虽然在某些实施方式中可以在显示器102的键盘区104上显示目标,但其不需要且替代地可以是被键盘模块210用来解释键击110的位置数据的表示,如本文所述。
[0039] ‘Q’键411可以提供指导性示例。根据实施方式,可以使第一目标412和第二目标414与‘Q’键411相关联。用户可以输入键击410A或410B,其可以被显示模块202登记。键击
410A或410B可以表示用户选择‘Q’键411的意图,取决于多种因素,例如,哪只手被用于键击
410A、410B。如所示,第一和第二目标412、414被定位以便至少部分地分别与两个键击410A、
410B中的一个重合(即,与键盘区104的区域相关联,在该区域中,在输入键击110的同时在某个点处至少部分地发现键击110)。此外,第一目标412与第一挥扫方向D1相关联,其可以是向左上,即键击410A的挥扫方向。同样地,可以使第二目标414与第二挥扫方向D2相关联,其可以是向右下,即键击410B的挥扫方向。将认识到的是第一和第二目标412、414与之相关联的挥扫的特定方向仅仅是在本文中设想的许多个之中的一个示例,并且此外可以甚至针对单个移动设备100在不同用户之间改变。另外,可示出挥扫方向D1和D2并向用户显示;然而,在其他实施例中,所示的挥扫方向D1和D2可表示由设备100存储的信息。
[0040] 一般地,与键108相关联的第一和第二目标(包括与‘Q’键411相关联的第一和第二目标412、414)可以最初“位于”默认位置处。当在本文中描述或提及目标时,术语“定位”、“设置”和“定义”可以意指目标实际上被显示或与所示位置相关联(例如,以数值方式,根据在显示器102上定义的坐标,诸如通过存储一定范围的坐标)。
[0041] 目标的默认位置可以与关联键108的中心重合,并且尺寸可以与由键108定义的区域相比更小、更大或相同。在其他实施方式中,第一和第二目标可以具有其他默认位置。例如,在某些情况下,预期偏移可以是预定的,并且应用于具有不同挥扫方向的键击。在某些实施方式中,来自一只手的键击110可以一致地或至少大体上在某个方向上挥扫并以给定偏移错过键108的中心,而来自另一只手的键击110可以一致地或至少大体上在不同的方向上挥扫并以不同的偏移错过键108的中心。键108中的一个、某些或每一个的第一和第二目标可以最初定位以便将此类已知数据考虑在内。
[0042] 返回‘Q’键411的示例,与左上挥扫方向D1相关联的第一目标412可以位于‘Q’键411的中心的左侧和下面。此外,与右下挥扫方向D2相关联的第二目标414可以位于‘Q’键
411的中心的右侧和之上。此类定位可以是默认的或者是调谐方案的结果,如下面将更详细地描述的。
[0043] 再次地参考图3,继续参考图4A和4B,方法300可以前进至等待且然后使用显示模块202来登记键击110,如在304处。在304处登记键击110可以包括移动设备100认识到用户正在尝试例如通过接触键盘区104的区域或向其指示来选择键108。由于键击110可以在一段时间内,所以登记可以包括跟踪键击110,例如随时间推移而记录键击110的位置,例如直至用户结束键击110或者直至定时器到期等为止。
[0044] 在304处的此类登记之后或期间,方法300可以继续确定键击110的挥扫方向,如在306处。例如,键盘模块210可以比较在304处由显示模块202在登记期间记录的连续点以计算键击110的挥扫方向。因此,移动设备100(例如,键盘模块210)可以在302和304处确定键击110的位置和挥扫方向两者。方法300然后可以包括移动设备100的键盘模块210通过将键击110和与键108相关联的目标相比较而使用键击110的位置和挥扫方向来确定输入键(即,被确定为与给定键击110相关联的键108)。
[0045] 将认识到的是可以使首先确定键击110是否与目标重合且然后确定键击110的挥扫方向是否和与重合的目标相关联的挥扫方向匹配的顺序反向。例如,方法300可以包括键盘模块210首先考虑键击110的挥扫方向并且将与不匹配挥扫方向相关联的所有目标从考虑中排除。方法300然后可以移动至移动设备100确定其余目标中的哪一个(如果有的话)与键击110重合。
[0046] 返回图4A和4B中所示的‘Q’键411的示例,方法300可以包括确定是否目标中的任何一个与键击110重合,如在308处。例如,如果输入键击410A,则移动设备100的键盘模块210可以确定与‘Q’键411相关联的第一目标412与之重合。
[0047] 此类确定可以包括操作系统208访问在存储214中提供的目标的数据库。数据库可以包括每个目标以及关联特性,例如位置和挥扫方向。因此,为了继续进行方法300,操作系统208(例如,键盘模块210)可以将由显示模块202登记的键击110与存储在存储214中的目标信息相比较。
[0048] 继续键击410A的示例,在发现重合的目标412的情况下,方法300可以前进至确定键击410A和第一目标412的挥扫方向是否匹配,如在310处。如上所述,键击410A可以例如向左上方(即,方向D1)进行。如上文也注意到的第一目标412可以与左上挥扫方向D1相关联。因此,在本示例中,满足310处的条件。可以根据多种因素来确定两个挥扫方向“匹配”或“不匹配”之间的线,例如挥扫方向的一致性等。例如,包括向上移动的任何挥扫方向对于任何向上指向的挥扫可以是匹配。在其他实施方式中,右上挥扫方向对于左上挥扫方向可以是不匹配。此外,某些实施方式可考虑方向匹配的百分比以确定两个挥扫方向是否匹配。例如,可将“匹配”确定为具有小于约10%、20%、30%、40%、50%或以上或其中的任何范围的发散度的两个挥扫方向。此外,某些键击110可包括两个或更多挥扫方向(即,从上向左的曲线),可根据多种因素(例如,与挥扫方向相关联的挥扫的百分比等)将其确定为和与目标相关联的挥扫方向匹配。因此,将认识到的是可按照具体情况来设定和/或修订匹配与不匹配之间的阈值,根据用户信息、历史使用来预先选择和/或预定。此外,这些示例仅仅是在本文中设想的供在确定匹配对比不匹配挥扫方向时使用的许多个中的几个。
[0049] 仍继续图410A的示例,方法300然后可以前进至确定键击410A是否是重合的,并且使挥扫方向与两个或更多目标匹配,如在312处,因此导致可能不明确的键击。在这里,从图4A和4B可以认识到说明性键击410A局限于由第一目标412定义的区域。因此,不满足本示例中的312处的条件。
[0050] 因此,已经发现与键击410A重合且与和键击410A的挥扫方向匹配的挥扫方向相关联的目标,方法300可以前进至键盘模块210将与目标相关联的键108选择或登记为输入键,如在314处。在本示例中,‘Q’键411与第一目标412相关联,其与键击410A重合且与匹配挥扫方向相关联。因此,在本示例中,将‘Q’键411选作输入键。键击410A的示例可以表示最好情况的情形,键击410A与单个目标重合且和与之相关联的挥扫方向匹配。
[0051] 可以将方法300配置成解释单个键击110,并且在某些实施方式中还可以被配置成例如迭代地解释多个键击100。因此,方法300可以包括等待或者确定是否正在和/或即将输入附加键击110,如在320处。例如,只要在显示器102上显示文本输入框、提示等和/或除非输入了命令、用信号通知键击序列的结束(例如,在文本消息的情况下通过点击“发送”按钮),可以预期此类键击110。如果在320处并未预期附加的键击110,则方法300可以结束。否则,方法300可以返回至在304处登记下一键击110。
[0052] 返回图4A和4B中所示的示例,键击410B和410C可以表示与可以将方法300配置成确定为明确键击的最好情况的情形的偏离。键击410B和410C二者都可以与两个目标重合:与‘Q’键411相关联的第二目标414以及作为与相邻‘W’键417相关联的第一目标416。
[0053] 尽管与两个目标414、416重合,但本方法300可以提供键击410B和410C的明确解释。例如,更详细地考虑键击410C,方法300可以通过显示模块202登记键击410C(如在304处)并向键盘模块310提供诸如其记录位置之类的信息而继续。反过来,键盘模块210可以确定挥扫方向(左上方向,即挥扫方向D1),如在306处。实现方法300的移动设备100(例如键盘模块210或操作系统208的另一部分)然后可以继续确定键击410C是否与目标重合,如在308处。在这种情况下,键击410C可以和与‘W’键417相关联的第一目标416和与‘Q’键411相关联的第二目标414重合,从而满足308处的条件。
[0054] 方法300可以继续确定键击410C的挥扫方向是否与重合目标414、416的挥扫方向匹配,如在310处。如前所述,还可使与‘Q’键411相关联的第二目标414与右下的挥扫方向D2相关联。在所示示例中,键击410C的挥扫方向D1(左上)因此和与‘Q’键411的第二目标414相关联的挥扫方向不匹配。因此,虽然键击410C与‘Q’键411的第二目标414重合,但基于不匹配挥扫方向,可针对键击410C忽视第二目标414。另一方面,可以使‘W’键417的第一目标416与挥扫方向D1相关联,并且因此键击410C的挥扫方向可以和与‘W’键417的第一目标416相关联的挥扫方向匹配。因此,可以满足310处的条件,‘W’键417的第一目标416至少部分地与键击410C重合且和与挥扫方向匹配的挥扫方向相关联。
[0055] 此外,由于针对键击410C识别到一个目标,即与‘W’键417相关联的第一目标416,所以可以不满足312处的条件(即,识别到两个或更多目标)。因此,在314处,实现方法300的移动设备100可以将键击410B登记为选择‘W’键417用于输入键。方法300可以通过对于键击410B的类似分析继续,因为键击410B的右下挥扫方向D2可以和与‘Q’键411的第二目标414相关联的挥扫方向匹配,但是和与‘W’键417的第一目标416相关联的挥扫方向不匹配。
[0056] 返回图4A,键击410D可以呈现除最好情况之外的情形的另一实例,该方法300可以将其变成调谐优点。因此,方法300可以包括登记键击410D,如在304处,并且确定其挥扫方向D2,如在306处,对于键击410D而言其可以是向右下。方法300然后可以前进至确定键击410D是否与确立的目标(例如,包括在由存储214提供的数据库中)重合。如从图4A可以认识到的,键击410D可以在确立的目标区之外,使得不满足308处的条件。
[0057] 未发现重合的目标,方法300可以前进至确定最可能键是什么,如在316处。316处的此类确定可以根据任何适当的歧义消除过程或本领域中已知的试探法进行。例如,方法300可以包括确定与键击410D的挥扫方向D2相关联的哪个目标在空间上最接近于键击410D的位置。如图4A中所示,第二目标418可以是与和键击410D的挥扫方向D2匹配的挥扫方向相关联的在空间上最近的目标;因此,在316处,可以将与第二目标418相关联的‘W’键417选作最可能键。
[0058] 在某些实施方式中,方法300可以包括在空间上最接近于键击410D且与匹配挥扫方向相关联的两个或更多目标,并且例如基于文本上下文而挑选其中的最可能键。例如,与‘E’键421相关联的第二目标420和与‘W’键417相关联的第二目标418可以是与匹配挥扫方向相关联的两个最近目标。实现方法300,移动设备100可以考虑已登记什么文本,以确定两个键中的哪一个最可能。例如,如果刚刚已输入‘t’和‘h’,则可以认为更有可能的是不明确的键击意图敲击‘E’键421(以拼写“the”)而不是‘W’键417(结果为“thw”)。操作系统208因此可以将最近选择的键存储在键盘模块210可以访问的缓冲器(例如,在存储218上提供)中,以便考虑此类历史和/或文本上下文信息。然而,此确定可以是适应性的,取决于用户的历史文本输入,即最频繁地使用什么单词。因此,存储218可以保持频繁使用的单词的列表,键盘模块210可以对其进行访问。此外,知道最近输入键可以提供关于用户的指示器(手指、触针等)从其进行的方向的信息,其可基于键击偏移的已知图案影响概率确定,该偏移基于相对于某些键的原点。
[0059] 在316处已确定最可能键,方法300可以前进至调整一个或多个目标或添加与最可能键相关联的新目标,使得如果随后输入同一键击410D,则其可导致输入键的明确选择。例如,图4B图示出第二目标418已经“移动”以便与键击410D重合。将认识到的是此类移动可以使用任何适当方法发生,例如改变控制第二目标418的位置的变量和/或删除新位置处的新的第二目标418并将其初始化。
[0060] 此外,在某些实施方式中,例如,当在调整之前第二目标418是频繁地重合且匹配挥扫方向如是时,方法300可以包括添加第三目标,其在本示例中可以与‘W’键417和键击410D的挥扫方向相关联。此类新的第三目标还可包括关于键击410C的原点的信息,使得如果发现原点确定关于键击410C的位置是确定性的,则可以基于用于键击410C的用户指示符的原点选择性地考虑第三目标。已在316处选择了所选最可能键108并在318处调谐与之相关联的目标,方法300可以继续将输入键登记为所选最可能键,如在314处。
[0061] 在某些实施方式中,除先前输入的键击110,操作系统208可以基于后续键击110的返回至最可能键的选择。继续‘W’键417和‘E’键421之间的不明确键击410C的示例,‘a’、‘r’、‘t’可以是在不明确键击110之后输入的接下来的三个字母。因此,可能更有可能的是键击110意图选择‘W’键417(以拼写“thwart”)而不是‘E’键421(结果为“theart”)。操作系统208因此可基于后续键击110来修订该确定和与之相关联的任何调谐,作为文本上下文考虑的一部分。
[0062] 返回图4A,键击410E提供除最好情况之外的情形的另一说明性示例,方法300将其转换成调谐优点。返回图3中所示的方法300的实施方式,方法300可以包括如在304处登记键击410E,并如在306处确定其挥扫方向,在这种情况下为左上挥扫方向D1。方法300然后可以通过移动设备100如在308处确定任何目标是否与键击410E重合而继续进行。如从图4A可以认识到的,可以满足此条件,因为键击410E可以和与‘E’键421相关联的第二目标420以及与‘R’键423相关联的第二目标422重合。已满足308处的条件,方法300可以移动至310,确定在这里为右下挥扫方向D2的键击410E的挥扫方向是否与重合目标420和422匹配。在这种情况下,与重合目标420和422相关联的挥扫方向可以是相同的,并且因此可以匹配键击410E的挥扫方向D2。
[0063] 在满足310处的条件(即,发现与匹配挥扫方向相关联的重合目标)的情况下,方法300可以移动至考虑两个或更多目标是否已被识别为两者重合且匹配挥扫方向,如在312处。在这里,已识别两个目标;因此,方法300再次地前进至例如使用任何适当的歧义消除过程或试探法来确定最可能键,如在316处。
[0064] 除上文所述和/或参考的歧义消除过程之外,对于键击410E而言,移动设备100可以考虑哪个目标与键击410E的更大部分重合。如从图可以认识到的(虽然不一定认为图是按比例描绘的),可以将第二目标420表征为与键击410E的比第二目标422更大的部分重合。另外,可以采用更特定的方向变量来区别意图用于相邻键108的键击110的挥扫方向。此类信息可以提供指示,例如,如在‘E’键421与‘R’键423之间,对于键击410E而言,‘E’键421是更有可能的预期键108。可以将此信息与根据文本上下文(或任何其他歧义消除策略)的概率确定组合,以便导致最可能键的选择。
[0065] 该方法300然后可以前进至调整第二目标420、422中的一者或两者,以便调谐目标位置并从而导致在位置和方向方面类似于键击410E的后续键击110的明确读取。因此,如图4B中所示,可以移动被确定为最可能键的与‘E’键421相关联的第二目标420(如上所述),以便在更大程度上与键击410E重合。如果键击410E与两个第二目标420、422的重合达到相同的程度,使得依赖于其他歧义消除策略以得出最可能键,则第二目标420的此类移动可以导致类似于键击410E的后续键击110意图选择‘E’键421的附加指示。在某些实施方式中,还可以移动与‘R’键423相关联的第二目标422,使得其与键击410E在较小的程度上重合,例如根本不重合。然而,在某些情况下,可以避免转移与最可能键不相关联的目标的位置。此类避免可能是期望的,以避免在没有意图敲击与第二目标422相关联的键的键击的位置指示的情况下使目标转移。
[0066] 以这种或类似方式,方法300可以提供使用对于每个键108的多个目标来解释键击110。可以采用关于键击110的位置和挥扫方向两者的信息,以便确定将选择哪个键108。此外,目标可以基于过去的使用而被移动、添加、调整尺寸、去除或者适配以调谐键盘区104的目标确定方案。因此,可以基于历史使用来明确地识别否则可能被认为不明确的键击,要求基于外部信息(例如,文本上下文或根据一个或多个歧义消除策略确定的其他概率)的两个键108之间的选择,即使例如键击110跨两个键108或在其之间滑动。
[0067] 另外,将认识到的是一个或多个键108可以包括超过两个目标。其一个示例是图5中所示的空格键450。由于空格键450的相对细的、长方形的形状和一般地常见键入习惯的本质,可以通过键击110在不同的时间将空格键450的任一侧确定为目标。因此,空格键150可以包括两对目标,例如目标452、454、456和458。可以使四个目标452—458每个与挥扫方向相关联,即可以使目标452和456与同一挥扫方向相关联,而使目标454和458与和目标452、456不同的挥扫方向相关联。因此,可以将键盘区104配置成登记并解释在空格键450的任一侧的键击110,如所示,或者在中间或拐角等。此外,将认识到的是其他键108可以包括多对目标。例如,在某些键盘区104中,“enter”键可以是‘L’形的或者是细长方形和/或“shift”键也可以是细长方形。因此,此类键108可以包括多对目标,以便登记针对键108的不同区域的键击。
[0068] 在某些情况下,可能期望提供用于设置与键108相关联的目标的位置和/或尺寸的信息,其中已知道正在输入什么键击110(即,作为设定或校准过程的一部分)。这可以提供附加准确度并提供用于目标的基于使用的起始点,使得可以需要较少的调谐,并且可以实现增加的初始准确度。因此,图6图示出校准过程600的流程图,其可以与方法300一起采用,例如作为使第一和第二目标与键108相关联的一部分,如在302处。
[0069] 校准过程600可以从例如经由显示供用户敲击作为输入的字母(或与键108相关联的另一字母数字或其他符号)而向用户发布提示开始,如在602处。此类提示可以由在显示器102上的显示模块202根据从键盘模块210发送到显示模块202的数据而显示。因此,可以知道即将出现的键击110意图选择的键108,虽然可能不知道用于与键108相关联的各种目标的最佳区域。
[0070] 过程600然后前进至登记键击110,如上所述,其与已显示且因此已选择的键相关联,如在604处。在604处的此类登记期间、之后或作为其一部分,过程600可以包括确定键击110的挥扫方向,如在606处。
[0071] 一旦知道了键击110的位置和挥扫方向,校准过程600可以前进至键盘模块210对与所选键和至少部分地与已登记键击110重合的已登记键击110的挥扫方向相关联的目标进行定位,即“调谐”目标确定方案。此类调谐可以通过添加一个或多个新目标和/或调整(例如,移动、调整尺寸或两者)现有目标而继续行进。此外,此类“定位”可以包括用关联位置数据和/或挥扫方向数据来填充目标的数字列表。
[0072] 过程600然后继续前进至确定是否期望附加映射,如在610处。例如,校准过程600可以以连续的迭代继续,直至针对每个键108对与两个不同挥扫方向相关联的两个目标(例如,第一目标和第二目标)进行定位和/或确立。例如,过程600可以包括显示模块202在连续迭代中显示不同的字母和/或指定用户用来进行键击110的不同的手,直至手和键的每个组合被登记并被键盘模块210用来调谐目标确定方案。在其他实施方式中,校准过程600可以包括键盘模块210确定在登记对于每个键108和手组合的键击110之前实现充分的调谐,例如如果所登记的适当大百分比的(例如,基本上全部)键击与适当目标重合的话,使得可以不要求或要求少量的调谐。
[0073] 为了至少提供方法300、操作系统208、应用程序216以及模块202、210功能,移动设备100可以包括被配置成接收输入、存储数据、执行指令(例如,应用程序)等的计算硬件。因此,图7图示出此类移动设备100的一个实施方式的示意图。移动设备100可以包括变化核配置和时钟频率的一个或多个处理器702,其可被配置成实现上文参考图6所述的操作系统208、键盘模块210、应用程序216等。移动设备100还可以包括变化物理规模和存储容量的一个或多个存储设备或计算机可读介质704,诸如闪存驱动器、硬盘驱动器、随机存取存储器等,以用于存储数据,诸如图像、文件以及用于由处理器702执行的程序(例如,应用程序
216)指令。
[0074] 移动设备100还可以包括一个或多个网络接口706。网络接口706还可以包括任何硬件和/或应用程序或其他软件,使得还可以将网络接口706配置成从远程源接收信号。因此,网络接口706可以包括以太网适配器、无线收发机或串行网络组件,以用于使用协议来通过有线或无线介质进行通信,该协议诸如以太网、无线以太网、全球移动通信系统(GSM)、GSM增强数据速率演进(EDGE)、通用移动电信系统(UMTS)、全球微波接入互操作(WiMAX)、长期演进(LTE)等。
[0075] 移动设备100还可以包括一个或多个外围接口708,诸如显示模块602,如上文所讨论的。此外,外围接口708可以包括各种其他键盘、鼠标、触控板、计算机屏幕、触摸屏等,以用于使得能够实现与移动设备100的人类交互及其操纵。在某些实施方式中,不需要将移动设备100的组件装入单个外壳内或者甚至相互紧密接近地定位,而在其他实施例中,可以在单个外壳中提供组件和/或其他。
[0076] 存储设备706还可以在物理上或逻辑上被布置或配置成在包括存储218的一个或多个存储设备710上提供或存储数据。存储设备710可以包括一个或多个文件系统或数据库以及一个或多个软件程序712,其可以包含用于执行公开的实施方式中的一个或多个的可解释或可执行指令。本领域的技术人员将认识到的是上述组件仅仅是硬件配置的一个示例,因为移动设备100可以包括任何类型的硬件组件,包括任何必需随附固件或软件,以用于执行公开的实施方式。还可以部分地或完全地由电子电路组件或处理器来实现移动设备100,该电子电路组件或处理器诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。
[0077] 仅仅出于举例说明的目的而提出了本公开的前述描述及其关联实施方式。其并不是穷举的,并且不使本公开局限于公开的精确形式。本领域的技术人员从前述描述中将认识到修改和变更可以根据上述教导,或者可以通过实践公开的实施方式来获取。
[0078] 例如,在本文中参考移动设备100所述的相同技术完全可以用来执行根据从另一程序或从另一计算系统接收到的指令的程序。同样地,可以全部在移动设备100的处理和/或存储器内接收、执行命令并返回其输出。因此,对于执行所述实施方式而言根本不严格地必须有视觉接口命令终端或任何终端。
[0079] 同样地,不需要按照所讨论的相同顺序或以相同的分离度来执行所述步骤。可以根据需要省略、重复、组合或划分各种步骤以实现相同或类似的目的或增强。因此,本公开不限于上述实施方式,而是替代地由所附权利要求根据其等价物的全范围来定义。
[0080] 在以上描述中和以下权利要求中,除非另外指定,术语“执行”及其变体将被解释为与设备上的程序代码或指令的任何操作有关,无论是否使用其他技术编译、解释或运行。并且,在权利要求中,除非另外指定,应将术语“功能”解释为与“方法”同义,并且可以包括程序代码内的方法,无论是静态还是动态的,并且无论其是否是返回值。术语“功能”在权利要求中仅仅用来避免含糊不清或与术语“方法”冲突,其中的后者可以用来指示特定权利要求的主题类别。