软键盘接口的制作方法

文档序号:6376780阅读:173来源:国知局
专利名称:软键盘接口的制作方法
软键盘接口
背景技术
计算设备使用各种形式的人接口设备。大多数计算机包括某种形式的显示器以向用户在视觉上呈现信息。此外,大多数计算机具有一个或多个用户输入设备。键盘和鼠标是对于桌上型计算机而言广泛使用的输入设备。对于移动性更强的计算机而言,可以将输入和输出设备的功能结合到触摸敏感显示器中。这样的显示器可以如在传统计算机中那样呈现输出。此外,屏幕的部分可以与控制功能相关联。当用户触摸屏幕的指定部分时,计算机将该触摸解释为激活该控制的用户输入。
具有触摸敏感显示器的许多计算机、特别是那些没有用于接收用户输入的独立键盘的计算机可以被控制从而显示键盘。当用户按压在键盘的键被用图像表示的显示屏幕的位置上时,计算机以其对于键被按压时解释来自传统键盘的信号的相同的方式来解释该检测到的输入。在触摸敏感显示器上以这种方式创建的键盘有时被称为“软键盘”。

发明内容
计算设备确定键盘的检测到的激活指示了用户以该键盘上的键为目标的概率。在一些实施例中,对于在键盘附近触摸屏幕的检测到的激活,可以确定其中每一个与键相关联的多个概率并作为键盘输入为后续处理报告所述多个概率。可以基于与软键盘的键相关联的概率分布函数来计算这些概率。可以基于多个因素中的任何一个来确定概率分布函数。这些因素可以与计算设备的设计或者所呈现的软键盘的参数相关。替换性地或附加地,在确定概率分布函数时,可以使用与计算设备的用户相关的因素。可以使用的示范性因素是打字速度,其可以由代表键盘敲打的敲击被检测到的平均速率来表示。在一个方面中,本发明涉及操作具有软键盘的计算设备的方法。所述方法包括确定下列各项中至少一个的至少一个特性(i)用户与所述软键盘的交互或者(ii)确定所述软键盘的布局。对于所述软键盘上的多个键中的每一个,基于至少一个确定的特性来确定概率分布函数。其中利用至少一个处理单元,响应于通过所述软键盘接收到的输入并且基于所述概率分布函数,产生所述用户以所述多个键中的键为目标的概率。在另一方面,本发明涉及包括计算机可执行指令的至少一个计算机可读存储介质,所述计算机可执行指令在运行时执行操作计算设备内的组件的方法,所述计算设备处理来自软键盘的输入。所述组件接收在软键盘的位置上由用户激活的指示并且提供输出。该输出包括对于软键盘上多个键中每一个的检测到的激活代表了用户以该键为目标的概率。在又一方面中,本发明涉及具有显示器的计算设备,所述显示器适于提供在该显示器上的位置上用户敲击的指示。计算设备还包括处理电路,其适于在所述显示器上的区域中呈现软键盘并且监控用户与所述软键盘交互的打字速率。对于所述区域中检测到的用户敲击,处理电路对于与所述位置相邻的至少一个键提供用户以该键为目标的概率。该概率可以基于所述用户的打字速率。以上是对于由所附权利要求限定的本发明的非限制性概述。


附图并非旨在按比例绘制。在附图中,在各个图中图示的每个相同或几乎相同的组件通过相似的附图标记来表示。为了清楚起见,在每张图中有可能并非每个组件都进行标记。在附图中
图I是具有在触摸屏幕上呈现的第一风格的软键盘的触摸屏幕计算设备的略 图2是具有在触摸屏幕上呈现的替换性风格的软键盘的图I的计算设备的略 图3是具有在触摸屏幕上呈现的另一替换性风格的软键盘的图I的计算设备的略图;图4A和4B是图示了用户输入的概念性略图,所述用户输入指示了以软键盘上的键为 目标的意 图5A和5B是图示了输入位置相对于软键盘上的目标键的概率分布函数的概念性略
图6A和6B是图示了基于动态确定因素的概率分布函数的变化的概念性略 图7A是在第一打字速率下与软键盘上的键相关联的概率分布函数的概念性略 图7B是在第二、更快打字速率下与具有图7A中所示格式的软键盘上的用户输入相关联的概率分布函数的概念性略 图8A是与键盘相关联的概率分布函数的概念性略图,所述键盘具有分开各键的第一宽度的槽;
图8B是与键盘相关联的概率分布的概念性略图,所述键盘具有分开各键的第二宽度的槽,所述第二宽度大于图8A所示的实施例中的第一宽度;
图9是根据本发明一些实施例的操作键盘接口组件的方法的流程图;以及 图10是其中可以实现本发明的实施例的计算设备的概念性框图。
具体实施例方式发明人已经认识并理解到,软键盘的差的性能可能归因于用户对于计算设备的较差性能的感知。软键盘缺少能够由传统键盘中键的机械运动产生的触觉反馈,展现出键盘敲击的用户意图目标与计算机系统选择其作为键盘上检测到的敲击的目标之间不匹配的风险增加。这样的不匹配可能导致对于用户输入的明显错误的响应并且可能成为用户挫败感的来源。为了更好地将计算机的响应与键盘的激活和用户意图输入相匹配,计算设备内的处理键盘输入的组件可以对于键盘的检测到的激活而指示一个或多个键为激活目标的概率。这些概率可以被响应于用户输入的计算设备内的其它组件使用以在场境中(incontext)选择很可能被用户作为目标的键。所述选择例如可以结合特定键敲打完成词或其它字符串的概率来进行。然而,概率信息可以以任何适当的方式来使用。比如键盘上检测到的“敲击”的激活对应于键敲打的概率可以基于动态因素。这些因素可以与用户相关和/或可以与计算设备相关。与计算设备相关的因素的示例可以包括键盘的布局(包括键盘的风格、键的尺寸和键之间的间隔)或者计算设备的位置、取向或运动。与用户相关的因素可以基于用户与计算机的交互来确定。例如,用户的打字速度可以被感测并且在确定用户利用在键盘上的敲击而以特定键为目标的概率时被使用。打字速度可以以任何适当的方式而在确定所述概率时被作为因素。例如,在平均打字速度增加时,所有键的概率分布函数可能具有更大的变化。然而,打字速度可能以不同方式影响与不同的键相关联的概率分布函数。例如,该影响可能取决于键盘上键的位置,与更靠近键盘中央的键相关联的变化和距中央更远的键相比增加得更少。类似地,每个键的概率分布函数的平均值可以随着动态确定的因素(比如打字速度)的值在使用中的变化而变化。每个概率分布函数平均值的变化可以同样取决于键盘上键的位置。此外,在各个因素之间可能存在相互关系。例如,对于具有不同风格或不同键尺寸和间隔的键盘而言,与同一个键相关联的概率分布函数可能以不同方式改变。因此,在一些 实施例中,基于与在触摸屏幕上呈现的键盘相关的因素和/或动态感测的因素,计算设备的操作系统内的键盘接口组件确定、在正在进行的基础上可以更新键盘上各键的概率分布函数。在一些实施例中,可以通过为概率分布函数的模型提供各参数的值来产生各键的概率分布函数。作为一个具体的示例,每个概率分布函数可以被建模为高斯函数。键的概率分布函数可以由限定了高斯分布模型的偏移和变化的参数的值来确定。在处理键盘输入时,键盘接口组件可以基于动态确定的信息来选择表征了概率分布函数的模型参数的值。然而,应当理解的是,可以使用任何适当的技术来对键的概率分布进行建模,并不需要使用高斯分布或者对于所有键使用相同的模型。不管如何对于每个键的概率分布函数进行建模,可以使用打字速度和/或其它因素来在任何给定的时刻选择对于每个键的模型的适当参数的值。在一些实施例中,键的参数值可以取决于键盘上键的位置。例如,对于键盘外围的键来说,变化可能更大。作为另一个示例,所述变化作为打字速度的函数可能对于处于外围的键来说比靠近中央的键增加更大的量。替换性地或附加地,概率分布函数的平均值可以作为打字速度和键盘位置的函数而变化。对于传统的QWERTY键盘,键的概率分布函数的平均值可能朝键盘的中央偏移。然而,该偏移的量可以取决于打字速度。此外,与计算设备相关的因素也可以影响分布函数。这些因素可以与软键盘自身的参数相关。例如,比如在计算设备的显示器上呈现的键的尺寸或键之间的槽的因素可以影响概率分布函数的平均值和偏移这两者。替换性地或附加地,键盘风格可以影响概率分布函数。作为具体的示例,和分裂键盘的键相关联的概率分布函数与和其它风格的键盘相关联的概率分布函数相比可以是不同的或者可以作为打字速度的函数而以不同方式变化。这些差异可以反映在用于从模型或以任何其它适当的方式计算概率分布函数的参数的不同值中。在从模型限定概率分布函数时,可以替换性地或附加地考虑其它因素。例如,可以与从模型计算概率分布函数相结合地施加限制。作为具体的示例,键可以具有与其相关联的在此称为“锚”的区域。锚可以大体上对应于键的中央,从而使得如果检测到锚区域中的输入,则指定用户意欲以该键为目标的高概率。在一些实施例中,处理键盘输入的组件可以将概率I指定给在锚区域中检测到的用户输入。替换性地或附加地,对于键的概率分布函数的限制可以使得概率零被指定给距键的中央过远处检测到的用户输入。这样的限制可以以多个适当的方式中的任何一种而被施力口。例如,处理键盘输入的组件可以仅对于键盘上的键的子集而返回非零概率。该子集可以被选择为使得仅对于在检测到的输入的区域(接触几何形状)下面或与其相邻或者在正在被敲击的键下面/与其相邻的键提供概率。不管如何限定概率分布函数,它们可以用于处理键盘输入。可以在计算机系统内的任何适当的组件中以任何适当的方式来处理键盘输入。在一些实施例中,可以在计算机系统的操作系统的核心模式组件内执行在此描述的处理。然而,具体实现并不是本发明的必要要求。例如,替换性地或附加地,可以在用作触摸敏感显示器的控制器的半导体芯片中实现在此描述的处理。图I提供了计算设备的示例,其中在此描述的这些技术中的一些或全部可以用于提供改善的用户体验。图I是具有作为用户接口的触摸屏幕112的计算设备110的略图。在此计算设备110被示出为具有板形状因素。以该板形状因素,触摸屏幕112基本占据了·计算设备110的全部上表面。然而,计算设备的具体形状因素并非是对本发明的限制。可以使用如本领域中已知的硬件组件来构造计算设备110。这些组件可以包括触摸屏幕112以及触摸屏幕控制器(未示出)。这些组件可以相互作用以检测用户与触摸屏幕112的交互。这些组件可以使用本领域中已知的技术进行操作以检测意欲作为通过触摸屏幕112的输入的用户手势。这些组件例如可以检测在触摸屏幕112的表面上来自用户手指的压力。替换性地,这些组件可以检测与用户的手指相关联的电容或其它可测量的效应,比如接触几何形状,或者与触摸屏幕112相邻的其它指向设备。然而,可以使用任何适当的技术来检测代表通过触摸屏幕的输入的用户的手势。不管用于检测指示了通过触摸屏幕的输入的用户手势的机制如何,触摸屏幕组件可以输出指示了这样的输入已经被检测到的信息。触摸屏幕控制器的输出可以被其它组件(可能为软件组件)解释,以运行计算设备110。例如,计算设备110的操作系统(未示出)可以包括触摸屏幕接口组件。触摸屏幕接口组件可以基于相对于触摸屏幕112上显示的信息的输入的位置来解释检测到的输入。在图I的示例中,计算设备110现时地执行支持聊天类型通信的应用。该应用提供在显示区域130中被呈现的内容。在显示区域130中用户与触摸屏幕112的交互可以被解释为对于该应用的命令。例如,显示区域130包括域132,其代表了其中可以输入文本的域。在域132中的用户触摸可以通过应用被解释为意味着后续接收的输入要被解释为要发送的消息的文本的命令。在图I所示的状态下,触摸屏幕112还包括其上呈现了软键盘120的部分。在一些实施例中,软键盘可以通过为显示区域130提供内容的应用来呈现。然而,在所示出的实施例中,通过计算设备110的操作系统内的触摸屏幕接口组件来呈现触摸屏幕112。触摸屏幕接口控制器可以基于来自控制显示区域130的应用的命令而确定何时以及在何处要显示软键盘120。然而,引起软键盘120的显示的具体触发对于本发明而言并不是关键性的。不管何时以及在何处将软键盘120显示在触摸屏幕112上,在其中显示软键盘120的触摸屏幕112的区域中检测到的输入可以被解释为键盘输入并且被传送给软键盘接口组件以用于处理。在图I的示例中,在软键盘120占据的区域中输入的处理可能需要进行处理以确定软键盘120的键中的哪一个是用户输入的意图的目标。例如,软键盘120包括多个键,其中键122被编号。软键盘接口组件的输出可以为在区域130中提供内容的聊天应用进行指示,指示出键122或者任何其它键可能是用户输入的目标。在一些实施例中,对于用户与触摸屏幕112的交互的指示可以在于软键盘接口组件之内进行处理之前被预处理,或者可以在为聊天类型的应用提供具体用户输入被接收的指示之前被后处理。可以使用如本领域中已知的技术来执行预处理。例如,表征了与触摸屏幕112的无意识的接触而不是对于软键盘120上的键的有意图的选择的横过触摸屏幕112表面的运动可以被滤除。作为预处理的另一个示例,在一些触摸屏幕接口中,可能存在触摸屏幕控制器检测到和触摸屏幕接触的位置与用户感知到的要提供接触的位置之间的差异。在一些实施例中,这些差异可以通过对触摸屏幕的校准而被修正,从而使得在通过软键盘 接口组件进行处理之前,可以将使用在校准期间确定的因素的补偿应用到触摸输入。通过确保在软键盘控制组件处接收到的触摸输入更好地代表用户意欲激活键的指示,这样的预处理可以改善软键盘控制组件的操作。如在此所使用的,被确定为指示了激活软键盘上的键的用户意图的输入可以被认为是在软键盘上的“敲击”。因此,软键盘控制组件可以接收以及响应于键盘上的“敲击”。“敲击”可以以任何适当的方式被限定并识别。在一些实施例中,可以通过在由软键盘120占据的区域中与触摸屏幕112的短持续时间的接触来识别“敲击”。然而,“敲击”仅通过与软键盘120的这种短时段接触来表征并非是必要要求。作为可能的替换性实施例的示例,计算设备可以支持交互模式,其中用户滑动手指或者其它指向设备横过触摸屏幕112的表面。横过触摸屏幕112的表面的运动的方向或速度的变化或者该运动的其它特性可以与用户激活软键盘120上的键的意图相等同。因此,应当理解的是,本发明并未受到用于识别软键盘120上的“敲击”的机制的限制。除了通过触摸屏幕接收到的输入的预处理之外,也可以执行软键盘控制组件的输出的后处理。可以使用本领域中已知的技术来执行确定用户意欲以软键盘上的键为目标的后处理。然而,与通过指示软键盘120的特定键被敲击而指定用户输入的常规软键盘接口组件相对照,在此描述的软键盘接口组件可以输出与软键盘120的一个或多个键相关联的概率。概率中的每一个可以指示用户以相关联的键为目标的概率。这些概率可以例如用于将计算设备的动作与用户意图更好地匹配从而以键盘上的键为目标。尽管可以通过任何适当类型的后处理来使用在此描述的技术,但是在一些实施例中,可以将与一个或多个键相关联的概率提供给文本预测引擎。文本预测引擎可以追踪被报告的键及其相关联的概率并且基于场境来确定很有可能的用户输入。作为一个具体的示例,文本预测引擎可以处理敲击串以选择用户意图的很有可能的词。文本预测引擎可以将预测建立在由软键盘接口组件所报告的概率以及场境信息的基础上。场境信息可以用于计算键序列对应于用户意图输入的总概率。例如,在其中软键盘120正在为应用组件提供文本输入的场境中(在所述应用组件中场境指示了英文词是所预期的),可以接收其中第一敲击将相等的概率与键“q”、“w”、“a”和“s”相关联的敲击序列。这种敲击之后可能是其中存在与键“u”相关联的高概率以及与键“ i ”、“j ”和“k”相关联的更低概率的敲击。通过后处理,这一输入序列可以对应到键序列“qu”。因为存在包括序列“qu”的英文词的高概率,所以在将该序列在英文词中出现的概率与目标概率一起考虑时,该序列具有能够从对应于序列中每个敲击的可能键形成的任何序列的最高总概率。然而,应当理解的是,与每个敲击相关联的概率的特定后处理对于本发明而言并非是关键性的,可以以任何适当的方式来使用所述信息。转到图2,计算设备110以替换性的操作状态被示出。在图2所示的状态下,将软键盘220呈现在触摸屏幕112上。软键盘220与(图I)的软键盘120类似。在每种情况下,触摸屏幕112的区域用于显示软键盘的键。然而,在图2中,软键盘220包含比键盘120更多的键。对于意欲接收更复杂或者更多格式的输入的应用的使用而言,键盘220的风格可能是适当的。作为具体的示例,软键盘220包括各个键,其中键222被编号,代表了数字。软键盘220例如可以模仿传统的物理键盘。相对照而言,软键盘120可以对应于具有简化风格的键盘。键盘120对于有助于聊天类型通信或者其它日常相应联系的应用的使用而言 可能是适当的。相对照而言,(图2)的键盘220具有对于字处理器、电子表格或在商业上使用的其它应用的使用而言更适当的风格。区域230例如可以代表用于字处理应用的接口区域。因此,在计算设备上出现的键盘的风格可以基于来自将软键盘上检测到的敲击作为输入接收的应用的需求而被设置。然而,包括用户偏好或计算设备的检测到的取向的其它因素可以用于确定在计算设备上呈现的软键盘的风格从而使该风格可以动态地改变。不管如何确定键盘风格,由计算设备110内软键盘接口组件产生的输出可以以概念上类似的方式被准备。然而,风格可能影响用户击打目标键的准确度。因此,在计算检测到的敲击显露出以特定键为目标的用户意图的概率时,可以使用关于键盘风格的信息。图3示出了计算设备110可能支持的又一键盘风格。在图3的示例中,键盘具有分裂的风格。如可以看到的,软键盘以键盘部分320A和320B呈现在触摸屏幕112上。与其中软键盘120和220以大致连续的阵列的键布局的图I和2形成对照,图3的示例中的软键盘的键沿着触摸屏幕112的侧边群集。这种配置允许计算设备110的用户仅使用他们的拇指在键盘部分320A和320B上触摸触摸屏幕112。这种打字风格例如对于用其手来握住计算设备110的用户而言可能是有用的。相对照而言,软键盘120和220的风格可能对于将计算设备110放在桌上并且使软键盘仿佛物理键盘那样与软键盘进行交互的用户而言可能是更为适当的。在图I和2中所示的风格也可能为使用一个手指来打字的用户所偏好。尽管在风格上存在差异,但软键盘部分320A和320B可以在概念上与键盘120和220同样地进行操作,即,软键盘接口组件可以处理与软键盘部分320A和320B所占据的区域相关联的敲击从而对于每个敲击确定用户意欲以键为目标的一个或多个键的概率。尽管可以以相同的方式来处理与键盘的每种风格相关联的触摸输入,但是键盘的风格和其它特性可能影响指定给代表软键盘上的敲击的检测到的输入的特定概率。尽管可以以任何适当的方式来使用关于键盘风格的信息从而确定概率,但在一些实施例中,键盘风格是在选择用于限定概率分布函数的模型的参数值时使用的一个因素。在图4A、4B、5A、5B、6A和6B中图示了以这种方式限定概率分布函数的示范性方法。图4A图示了软键盘420。在这一示例中,用户可以在位置440处按压键盘420。在这一示例中,位置440在键422w之上,对应于用于字母“W”的键。然而,如可以在图4B中所看出的,位置440并不在键422w的中央区域中。相反,位置440尽管在键422w的边界之内,但是与键422E和键422s相邻。位置440还靠近其它键,比如键422a和键422d。然而更远地,在小键盘上,位置440可能靠近更远的键,比如键422κ。因此,关于软键盘420上哪个键是在位置440处检测到的敲击所在的目标存在模糊性。在用于在位置440处提供输入的用户手指的尺寸被考虑时,哪个键为目标的模糊性被进一步扩大。区域442代表了对与触摸输入有关的检测到压力的位置进行划界的矩形。因此,与在单一点出现不同的是,位置440代表了在其上检测到触摸的区域442的矩心或其它平均值。在这一示例中,区域442与三个键交叠,即键422w、422e和422s。在位置440处的敲击可以如在常规键盘中那样被报告为用户对于键422w的选择,因为该键最靠近位置440。然而,在位置440处检测到的输入可以指示以相邻键(比如422e或422s)为目标的用户意图。然而,通过将位置440处的敲击与单一键(在本示例中是422w)相关联,指示用户以另一键(比如422E*422S)为目标的概率的信息对于选择场境中很有可能的文本输入是不可用的。因此,软键盘接口组件可以对于代表了软键盘上的敲击的每个输入计算代表了检测到的输入显露以键为目标的用户意图的一个或多个键的概率的值。这些概率于是可以被提供给其它组件以用于后处理。可以以任何适当的方式来计算对于检测到的敲击用户意欲以键为目标的概率。在一些实施例中,可以基于与多个键中的每一个相关联的空间概率分布函数来计算概率。每个空间概率分布函数可以相对于其相应键的中央而被表达。基于相对于键中央的检测到的敲击的位置,键的空间概率分布函数可以指示敲击指示了以该键为目标的用户意图的概率。例如,位置440与键AZZ1的中央在第一方向上偏移距离D1,在第二正交方向上偏移距离D2。在对应于D1和D2的坐标处与键422w相关联的二维概率分布函数的值可以指示在位置440处的输入显露了以键422w为目标的用户意图的概率。然而位置440与其它键(比如422e、422s、422a、422d和422κ)的中央偏移不同的量。这些键的中央与位置440之间的偏移可以类似地用于从与这些键相关联的概率分布函数来确定位置440处的输入显露了以这些键中的每一个为目标的用户意图的概率。理论上,可能存在在触摸屏幕的任何位置处检测到的敲击显露了以软键盘上的任何键为目标的用户意图的非零概率。然而,在一些实施例中,可以通过对于与每个键相关联的概率分布函数的空间范围施加限制来简化处理。例如,在一些实施例中,在此称为“锚”的键的中央部分可以与指示了用户以该键为目标的高概率的概率相关联。例如,在图4Β中图示的键的中央部分中出现了锚424w、424e、424k、424a、424s和424D。可以以任何适当的方式来指示高概率。在一些实施例中,当在键的锚内检测到敲击时,可以通过将概率I与该键相关联而指示高概率。替换性地或附加地,当在另一键的锚区域内出现检测到的敲击时,可以通过抑制其它键的概率信息或者将其设置成零而指示高概率。因此,锚区域可以对于与键相关联的概率分布函数提供进一步的限制。在一些实施例中,与每个键相关联的概率分布可以被限制为当检测到的输入位于另一键的锚内时指示零值。替换性地或附加地,概率分布函数可以被限制为对于在任何方向上距键的中央位·移的量大于在该方向上与另一键的最近锚的距离的任何位置具有低值或零值。然而,可以使用任何适当的机制来代表用户以某些键为目标的低概率。例如,可以通过简单地对于该键不提供概率信息来表达所述限制。图5A概念性地图示了在软键盘420上添加的键422w的二维空间概率分布函数。在此,概率分布函数560具有在键422w的中央附近的峰值。概率分布函数的值随着距键中央的距离增大而下降。在这一示例中,概率分布函数560在图5A中标以“X”和“y”的两个方向上延伸。在所图示的具体示例中,键盘420具有以平行于被指示为“X”的方向的行布局的键。正交方向被指示为“y”。如在图4B中所图示的,用户意欲以键422 为目标的概率可以从键422w的中央和触摸输入的位置的位移来确定。在图5A的示例中,概率分布函数560以对应于键盘420的二维布局的二维延伸。然而,为了图示的简化起见,图5B图示的方式是其中可以基于使用简化的一维表示的概率 分布函数来确定概率。图5B以横截面示出了键盘420上的键的子集。在此,图示了键422q、422 和422£。示出了概率分布函数560 和560e。如从图5B中可以看出的,在位置440处,概率分布函数560e具有值Pe。值Pe对应于在位置440处检测到的敲击指示了击打键422E的用户意图的概率。类似地,在位置440处,概率分布函数560w具有值Pw。值Pw指示了在位置440处检测到的敲击指示了击打键422w的用户意图的概率。图5B还图示了基于与相邻锚的距离对概率分布函数施加了限制。如可以看到的,概率分布函数560w具有从键422w的中央朝键422e延伸的非零概率,直至到达锚424E。之后,概率分布函数560w具有零值。然而,应当注意的是,键的概率不需要在其限制的边界处收敛至零。在一些实施例中,高斯分布可以在其限制区域之外对其值进行打断。类似地,概率分布函数560w具有从键522w的中央朝键422q延伸的非零值。然而,概率分布函数560 在遇到锚424q时具有零值。概率分布函数560e被类似地进行限制,具有非零值直至锚424w。可以以任何适当的方式来确定与每个键相关联的概率分布函数。在图5B所图示的实施例中,首先确定概率分布模型的参数值。然后基于锚的位置来限制由该模型产生的分布函数。然而,以这种方式使用模型和限制来表达概率分布函数并非是必要要求。例如,可以使用具有零值而没有施加限制的模型来限定分布。然而,图6A和6B图示了使用模型和限制来确定概率分布函数的技术。图6A图示了建模为高斯分布的概率分布函数66(^可以通过有限数目的参数来表示高斯分布。在这个示例中,高斯分布由平均值和代表扩展的值来表征,所述平均值由X1指示,所述代表扩展的值可以是方差(variance),并且在此由σ X1来指示。在这种情况下,概率分布函数66(^由到相邻锚区域(在图6A中图示为锚区域621和6242)的距离来进一步限制。概率分布函数eeOi指示了敲击指示以键622为目标的用户意图的概率。为了简化起见,图6A示出了单一维度的概率分布函数66(^然而,如以上结合图5A和5B所描述的,与二维键盘上的键相关联的概率分布函数可以在二维上延伸。在这个示例中,概率分布函数66(^的平均值X1靠近键622的中央。扩展σ X1大致对应于键622的宽度,使得概率分布函数66(^将相对高的概率指定给与键622交叠的敲击并在检测到其它位置的敲击时指定用户意欲以键622为目标的相对低的概率。发明人已经认识并理解到,如图6A所图示的概率分布函数在一些状况下适当地表示了用户意欲以键622为目标的概率。例如,在其中用户仔细地选择要按压软键盘的哪个键的情景中,概率分布函数66(^可能是适当的。这样的情景例如在用户使用一个手指打字或者使用触摸打字方法但是缓慢和仔细地打字时可能出现。在其它状况下,不同的概率分布函数可能是更为适当的。图6B图示了在其它状况下可能与键622相关联的概率分布函数6602。如对于概率分布函数eeOi那样,概率分布函数6602被建模为高斯分布,具有由相邻锚施加的限制。然而,该分布具有由0χ2所图示的更广的扩展。此外,高斯分布的平均值是X2,其从键622的中央偏移量Λχ。对于其中用户迅速打字的情景中在键盘外围的键而言,概率分布函数6602可能是适当的。申请人已经认识并理解到,在这样的情景中,概率分布函数的扩展增大。此外,概率分布函数的平均值朝键的中央偏移。 更为普遍地,发明人已经认识并理解到,与键相关的适当的概率分布函数可能取决于多个因素。这些因素可能与用户和/或与在触摸屏幕上呈现的软键盘相关。因此,在一些实施例中,为了提供触摸屏幕上检测到的敲击对应于特定键的概率,可以基于运行时间状况来确定该键的概率分布函数,所述状况包括软键盘的风格或其它配置参数以及与用户有关的参数(包括比如打字速度的动态确定的参数)。这些参数可以被收集(capture)在以任何适当的方式建模的概率分布函数中。然而,在其中通过有限数目的参数来建模概率分布函数的实施例中,关于可能影响软键盘上不同键的概率分布函数的任何状况的信息可以用于选择模型参数的值。可以使用任何适当的机制来将关于场境或可能影响键的概率分布函数的其它因素的信息与可以使用的模型参数的值相关联。作为一个示例,软键盘接口组件可以存储表征概率分布模型的参数值的一个或多个表。在其中将高斯分布用作概率分布函数的模型的实施例中,这些参数可以是平均值和模型的方差。可以以任何适当的方式来组织这些参数。在一些实施例中,对于键盘上的每个键可以提供将确定其概率分布函数的表。然而,在其它实施例中,指示了键盘上特定键的信息可以用作对于这样的表的索引从而为概率分布模型参数确定适当的值。作为一个具体的示例,距键盘中央的键的距离可以用作表的索引,从所述表可以读出模型参数的值。在选择概率分布模型的参数值时,可以类似地使用其它参数值。每个参数可以用作对于表的索引或者可以为每个参数值提供单独的表。作为一个具体的示例,如通过图I至3的实施例所表示的键盘风格的指示(比如键盘是全QWERTY键盘、简化键盘还是分裂键盘)可以用作参数以选择概率分布模型的参数值。在一些实施例中,可以为每种键盘风格提供单独的表,并且软键盘接口组件可以基于呈现的键盘风格来选择从其读出值的适当的表。替换性地或附加地,在一些实施例中,可以对于所有参数提供拟合的函数,以便在未见数据(速度、键尺寸、键盘尺寸、键位置、槽尺寸等)处进行插值。拟合的函数可以是多项式函数或者任何其它适当的函数。不管如何确定表征概率分布模型的参数值,在软键盘接口组件处理键盘输入时,其可以确定与键盘上多个键中每一个相关联的概率分布函数的适当的值。这些可以用于限定与通过触摸屏幕接收用户敲击的位置相邻的键的概率分布函数。这些概率分布函数可以被应用从而确定与相邻键中每一个相关联的敲击代表以特定键为目标的用户输入的概率。可以在任何适当的时刻确定键的概率分布函数。在其中用于确定键的概率分布函数的操作环境的参数仅通过呈现的软键盘的配置来规定的实施例中,可以在呈现软键盘的时刻确定概率分布函数。然而,在一些实施例中,用于确定表征键的概率分布函数的值的参数可以取决于用户与键盘进行交互的方式。图7A图示了软键盘720。图示了与多个键中的每一个相关联的概率分布函数。例如,与“w”键相关联的概率分布函数76(^被示出。在图7A中,尽管概率分布函数76(^是多维的,但其通过表示对应于概率分布函数的方差的周线而以二维示出。图7A图示键“w”的概率分布函数7601;以及在其中键盘用户缓慢打字的操作状况下对应于字母的软键盘720上其它键中每一个的对应的概率分布函数。因此,概率分布函数大体示出为在每个键的中央并且大体具有与键共同延伸的扩展。然而,可以看出,在键盘720上不同位置处的不同的键具有不同形状的概率分布函数。相反,图7B图示了在键盘720的用户快速打字时的那些概率分布函数。如从(图7A)的概率分布函数76(^和(图7B)的概率分布函数7602的比较可以看出的,更快速的打字增大了概率分布函数的扩展并且引起概率分布函数朝键盘的中央780偏移。例如,靠近 中央780的概率分布函数760h具有比与远离中央780的键相关联的概率分布函数760」更小的偏离。概率分布函数760s和760z的比较示出了扩展的增大量可以取决于键相对于中央780的位置。如可以看出的,概率分布函数760s具有比概率分布函数760z更小的扩展。发明人已经认识并且已经理解到,对于比如图I和2中描绘的键盘风格的全QWERTY键盘来说,这种变化模式是适当的,尽管对于比如在图3中图示的键盘的分裂键盘可以展现出不同的变化模式。因此,对于不同的键盘风格以及比如检测到的打字速度的其它因素,可以提供用于对键盘上的键的概率分布函数进行建模的值。可以以任何适当的方式来确定表征概率分布函数的值。在一些实施例中,可以经验性地、试探性地和/或适应性地来确定所述值。例如,在一些实施例中,操作系统或提供软键盘接口的应用的设计者可以通过为多个潜在用户提供样本文本进行打字来经验性地收集信息。通过记录预期用户中的每一个对于对样本进行打字需要的每个所意图的键敲打触摸屏幕的相对于软键盘的各个位置的分布,可以对每个键产生概率分布。然后可以将概率分布模型拟合至这些测量的分布从而确定哪些值产生适当的拟合。可以在每种状况下或者可能期望概率分布模型参数的状况的集合中重复这样的测试。一旦收集了表征概率分布模型的参数的值,它们就可以被存储在表中或者对于软键盘接口组件变得可用。作为如何可以试探性地来限定概率分布函数的示例,图7A和7B示出了分布函数的扩展随着打字速度增大。对于慢速打字可以对扩展进行估计从而产生大体上与每个键共同延伸的概率分布函数。这种概率分布函数可以用作基线并且对于与使用规则或其它试探法的基线状况偏离的状况而进行调整。例如,基于检测到的打字速度,可以通过与打字速度的增加成比例地按比例决定对于慢速打字的扩展来确定概率分布函数的适当扩展。影响概率分布函数的其它因素(包括在此描述的其它因素和其它适当的因素)可以表达为规则,所述规则指示了调整表征概率分布函数的参数值的方法。作为可以适应性地确定参数值的方式的示例,关于预测准确度的信息可以在软键盘接口组件进行操作时被收集。作为具体的示例,如果在显示文本之后的用户输入指示了用户连续地将在特定位置的敲击输入从靠近该位置的第一键改变至第二键,则这些键的概率分布函数可以被调整从而通过将更高的概率指定给第二键而增大软键盘接口组件将响应于相同位置的敲击的概率。不管确定表征概率分布函数的参数值的方式如何,这些值可以是可用的从而使得可以基于可表征操作状况的任何期望的参数来选择概率分布函数。图8A和8B图示了键盘布局的参数可能影响键的概率分布函数。图8A图示了软键盘820i。在图8A中使用与图7A中相同的格式来图示与字母键相关联的概率分布函数。相比较而言,图8B图示了软键盘8202。软键盘8201和8202具有相同的键盘风格。然而,键盘8202包含将相邻键分开的槽870。发明人已经意识并且理解到,即使对于相当尺寸的键盘,提供在键之间产生视觉分隔的槽870可能增大用户敲打目标键的准确度。因此,图8B图示了概率分布函数8602具有比概率分布函数86(^更小的扩展。对于图8A和8B中相应键的其它概率分布函数的比较显露出对于其它键的类似模式。作为具体的示例,在确定用于解释敲击的概率分布函数时,可以使用所呈现的键盘布局的参数。因此,槽尺寸和/或键尺寸可以是在确定键的适当的概率分布函数时使用的键盘布局的参·数。然而,替换性地或附加地,可以使用任何其它参数。在一些实施例中,软键盘接口组件可以基于参数组合的值来选择软键盘上多个键中每一个的概率分布函数。在一些实施例中,这些参数可以包括打字速度、键盘风格、键尺寸和槽尺寸。然而,应当理解的是,可以使用任何适当的参数的值。此外,图8A和SB图示了概率分布函数与字母键和空格键相关联。在其中将概率信息用于处理文本的实施例中,软键盘接口组件可以仅对于这些键确定概率。然而,对于所有这些键或者仅仅这些键来报告概率并不是本发明的必要要求。对于其它键报告概率的实施例也是可行的。不管响应于软键上的检测到的敲击对于哪些键报告概率,软键盘接口组件可以进行操作从而响应于检测到的输入来产生一个或多个键的概率。在一些实施例中,软键盘接口组件可以根据图9中所图示的方法900来进行操作。方法900包括多个动作,这些动作中的一些可以在初始呈现软键盘时发生。在图9中图示的其它动作可以在检测到每个敲击时重复发生。在图9的示例中,动作910、912和914可以在软键盘初始呈现时发生或者可以作为软键盘的初始化的一部分发生。此外,在一些实施例中,在执行实现软键盘接口组件的程序时,动作910、912和914无需作为明显限定的步骤而出现。相反,通过动作910、912和914实现的初始化动作可以编码为软键盘接口组件的一部分。不管对于所述组件进行初始化的具体方式如何,可以在动作910处开始方法900。在动作910处,可以确定键盘风格。在一些实施例中,在计算设备上执行的应用可以指示优选的键盘风格。例如,支持日常聊天类型通信的应用可以要求呈现功能性减少的键盘。然而,可以以任何适当的方式来获得键盘风格的信息。在一些实施例中,可以通过直接的用户输入来指定键盘风格,所述用户输入可以从用户简档或配置信息的其它源读取。不管确定键盘风格的方式如何,处理于是可以行进至动作912。在动作912处,软键盘接口组件可以确定所呈现的键盘参数的值。例如,这些键盘参数可以是键的尺寸、键的位置和/或键之间槽的尺寸。可以以任何适当的方式来确定这些参数的值。它们例如可以取决于其上正在呈现软键盘的设备的类型,并且更具体而言可以取决于比如显示器的尺寸或分配给软键盘的显示区域的尺寸的因素。在动作914处,可以对于要返回概率的每个键识别默认的概率分布函数。在动作914中加载的概率分布函数可以基于在动作910中确定的键盘风格以及在动作912中确定的其它键盘参数的值。然而,在动作914中加载的概率分布函数可以基于在用户开始与键盘进行交互之前能够被确定的任何其它适当的参数值来选择。例如,尽管在图9中没有示出,但在一些实施例中,计算设备可以存储该计算设备的多个潜在用户中每一个的简档信息。来自现时用户的简档的信息也可以在动作914中被使用从而基于历史打字模式或关于该用户收集的其它历史信息来为软键盘的键识别适当的概率分布函数。不管用于确定概率分布函数的具体参数如何,可以以任何适当的方式来表示这些概率分布函数。在一些实施例中,可以通过概率分布模型的参数的值来表示概率分布函数,比如如上所述的高斯概率分布的平均值和方差。然而,可以使用任何适当的技术来用于表征概率分布函数。不管如何表示,用于表征这些概率分布函数的信息可以作为动作914的 一部分而被加载。一旦概率分布函数可用,软键盘接口组件就可以使用这些概率分布函数来处理键盘输入。图9图示了产生键盘输入的组件920。组件920例如可以是用于触摸屏幕的控制器。然而,应当理解的是,组件920可以代表组件的集合体,包括对由触摸屏幕控制器生成的信息进行预处理以在为软键盘接口组件提供输入之前识别“敲击”的组件。不管键盘输入的源和预处理如何,软键盘接口组件可以作为动作922而接受这些输入。在动作924中,软键盘接口组件可以更新对于用户的打字速度评估。在一些实施例中,软键盘接口组件可以追踪键盘敲击被检测到的平均速率。这一平均速率可以用作用户正在打字的速度的指示,而这一指示又可以用于动态地确定软键盘的键的概率分布函数。在动作924中获得的打字速度评估可以以任何适当的方式来得到。然而,作为一个示例,打字速度评估可以保持为分隔键盘敲击的时间的运行平均值。方法900然后可以行进至动作926。在动作926处,可以识别与在动作922处接收的输入的位置相邻的键。可以以任何适当的方式来确定在动作926处选择的键。在一些实施例中,作为动作926的一部分而被选择的键可以包括包含作为动作922的一部分而被接收的输入的位置的任何键。此外,在所述选择中可以包括与该输入位置相邻的任何键。然而,可以使用任何适当的技术以用于识别对其要返回概率值的键的子集。在一些实施例中,可以明显地或者非明显地使用对于与键相关联的概率分布函数的限制,从而选择相邻的键。例如,作为动作926的一部分,可以选择在输入位置处具有非零的概率分布函数的任何键,或者可以使用与触摸接触几何形状相交的任何键。发明人已经认识到,对于各种专用修正和预测,甚至可以使用这样的技术的组合。不管选择相邻键的方式如何,在动作928处,可以更新这些选择的键的概率分布函数。在其中概率分布函数取决于打字速度的实施例中,在动作928处的更新可以包含如在动作924中确定的那样使用时对于具有在动作910和912中确定的特性的键盘选择适当的概率分布函数。对于概率分布函数的其它选择,可以以任何适当的方式进行动作928处的选择。在一些实施例中,可以通过访问与所选择的键的每一个相关联的查找表来进行所述选择,其用作对于作为动作910、912和924的一部分而确定的参数的查找表值的索引。不管确定概率分布函数的方式如何,这些概率分布函数可以用于将概率与作为动作926的一部分而选择的相邻键中的每一个相关联。每个键的概率可以指示用户以在动作922处接收到的输入而以该键为目标的概率。在其中概率分布函数受到由与键相关联的锚限定的限制的实施例中,方法900可以取决于接收到的输入是否落入锚内而在判定块940处分支。如果这样的话,则方法900可以分支到动作950。在动作950处,软键盘接口组件可以将概率I与键进行关联,所述键和其中输入所落入的锚相关联。处理于是可以行进至动作954,在此报告这一概率。在图9所图示的实施例中,当键盘输入落入键的锚内时,不报告其它键的概率。然而,在其它实施例中,可以以任何适当的方式来报告落入键的锚之内的输入。作为可以在某些实施例中使用的替换性实施例的示例,可以与和其它相邻键相关联的概率分开地报告在键的锚内检测到的输入,从而使接收来自软键盘接口组件的输出的后处理组件可以被编程从而以任何适当的方式利用关于锚之内的输入的信息。不管说明锚内的输入的方式如何,如果作为动作922的一部分而接收到的输入没有落入锚内,则方法900可以行进至动作952。在动作952处,可以为作为动作926的一部分而选择的相邻键的每一个确定概率。在块952处确定概率可能需要基于所接收的输入相 对于这些键中每一个上的参考点的位置而从这些相邻键的更新的概率分布函数来选择值。在结合图6A和6B所描述的实施例中,每个键的参考点采取其中央。然而,在其它实施例中,比如对于分裂键盘,参考点可以是键盘边缘或者其它适当的位置。然而,可以使用任何适当的机制来基于与键相关联的空间概率分布函数对于在特定位置处的输入确定概率。不管为相邻键的每一个确定概率的方式如何,处理可以行进至动作954。在动作954处,可以报告确定的一个或多个概率。这些报告可以被给予后处理组件,比如文本预测引擎。然而,与任何后处理无关,指示与接收到的输入相关联的一个或多个键的信息可以被提供给应用或从软键盘接收输入的其它组件。可以使用如本领域中已知的技术或任何其它适当的方式来提供这一输入。在此描述的软键盘接口技术可以集成在任何适当的计算设备中。图10图示了其上可以实现本发明的适当的计算系统环境1000的示例。计算系统环境1000仅仅是适当的计算环境的一个示例,其并非旨在暗示对于本发明的使用或功能性的范围的任何限制。计算环境1000也不应被解释为关于在示范性操作环境1000中图示的任何一个组件或者组件的组合具有任何依赖性或要求。本发明对于许多其它通用或专用计算系统环境或者配置而言是可操作的。对于可能适合与本发明一起使用的已知的计算系统、环境和/或配置的示例包括但不受限于个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、主计算机、包括以上系统或设备中任何一个的分布式计算环境、等等。计算环境可以执行比如程序模块的计算机可执行指令。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本发明也可以在分布式计算环境中实现,其中通过经由通信网络链接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本机和远程计算机存储介质这两者中。参照图10,用于实现本发明的示范性系统包括形式为计算机1010的通用计算设备。计算机1010的组件可以包括但不受限于处理单元1020、系统存储器1030以及将包括系统存储器的各种系统组件耦合到处理单元1020的系统总线1021。系统总线1021可以是包括存储器总线或存储器控制器、外围总线以及使用多种总线架构中任何一种的局域总线的总线结构的数种类型中的任意一种。作为示例的方式且为非限制性的,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线,增强ISA (EISA)总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)但是也称为夹层总线。计算机1010典型地包括各种计算机可读介质。计算机可读介质可以是能够由计算机1010访问的任何可用介质,并且包括易失性和非易失性介质、可拆和非可拆介质。作为示例的方式且为非限制性的,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括用于存储比如计算机可读指令、数据结构、程序模块或其它数据的信息的以任何方法或技术实现的易失性和非易失性、可拆和非可拆介质。计算机存储介质包括但不限于RAM、ROM、EEPR0M、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光盘存储器、磁带盒、磁带、磁盘存储器或其它磁存储设备、或者能够用于存储期望的信息并且能够由计算机1010访问的任何其它介质。通信介质典型地体现为在比如载 波或其它传输机制的调制的数据信号中的计算机可读指令、数据结构、程序模块或其它数据并且包括任何信息传递介质。术语“调制的数据信号”的含义是使其特性中的一个或多个以能够将信息编码在信号中的方式设置或改变的信号。作为示例的方式且为非限制性的,通信介质包括比如有线网络或直接有线连接的有线介质以及比如声、RF、红外和其它无线介质的无线介质。以上各项的任意的组合也应当包括在计算机可读介质的范围内。系统存储器1030包括易失性和/或非易失性存储器形式的计算机存储介质,比如只读存储器(ROM) 1031和随机存取存储器(RAM) 1032。在ROM 1031中典型地存储了基本输入/输出系统1033 (BIOS),其含有在比如启动期间有助于在计算机1010内的各元件之间传递信息的基本例程。RAM 1032典型地含有可以被即刻访问和/或通过处理单元1020正在操作的数据和/或程序模块。作为示例的方式且为非限制性的,图10图示了操作系统1034、应用程序1035、其它程序模块1036和程序数据1037。计算机1010也可以包括其它可拆/非可拆、易失性/非易失性计算机存储介质。仅通过示例的方式,图10图示了从非可拆、非易失性磁介质读取或者写入的硬盘驱动器1041,从可拆、非易失性磁盘1052读取或写入的磁盘驱动器1051以及从比如⑶ROM或其它光学介质的可拆、非易失性光盘1056读取或写入的光盘驱动器1055。可以在不范性操作环境中使用的其它可拆/非可拆、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字通用盘、数字录像带、固态RAM、固态ROM、等等。硬盘驱动器1041典型地通过比如接口 1040的非可拆存储器接口连接到系统总线1021,并且磁盘驱动器1051和光盘驱动器1055典型地通过比如接口 1050的可拆存储器接口连接到系统总线1021。以上讨论且在图10中示出的驱动器及其相关联的计算机存储介质为计算机1010提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图10中,硬盘驱动器1041被图示为存储操作系统1044、应用程序1045、其它程序模块1046和程序数据1047。需注意到的是,这些组件可以与操作系统1034、应用程序1035、其它程序模块1036和程序数据1037相同或不同。操作系统1044、应用程序1045、其它程序模块1046和程序数据1047在此被给予不同的编号在于说明,在最低限度上,它们是不同的副本。用户可以通过比如键盘1062的输入设备以及指向设备1061 (通常称为鼠标、跟踪球或触摸板)将命令和信息输入到计算机1010中。然而,在其中将触摸屏幕用作输入和输出设备的实施例中,可能不存在这种类型的单独的人接口设备。可以取代这些组件或者除了这些组件之外还可以存在的其它输入设备(未示出)可以包括麦克风、操纵杆、游戏板、碟形卫星信号接受器、扫描仪等等。这些和其它输入设备通常通过耦合到系统总线的用户输入接口 1060连接到处理单元1020,但是也可以通过比如并行端口、游戏端口或通用串行总线(USB)的其它接口和总线接口而连接。监视器1091或其它类型的显示设备也经由比如视频接口 1090的接口连接到系统总线1021。该显示设备可以是如上所述的触摸屏幕,并且其可以集成到计算设备的主体中。除了监视器以外,计算机还可以包括其它外围输出设备、比如扬声器1097和打印机1096,它们可以通过输出外围接口 1095而被连接。计算机1010可以使用到一个或多个远程计算机(比如远程计算机1080)的逻辑连接而在网络环境中进行操作。远程计算机1080可以是个人计算机、服务器、路由器、网络PC、同级设备或其它公共网络节点,并且典型地包括以上关于计算机1010所描述的各个元件中的多个或全部元件,尽管在图10中仅仅图示了存储器存储设备1081。在图10中示出 的逻辑连接包括局域网络(LAN) 1071和广域网络(WAN) 1073,但也可以包括其它网络。这样的网络环境在办公室、企业范围计算机网络、内联网和因特网中是常见的。当在LAN网络环境中使用时,计算机1010通过网络接口或适配器1070连接到LAN1071。当在WAN网络环境中使用时,计算机1010典型地包括调制解调器1072或是用于在比如因特网的WAN 1073上建立通信的其他装置。调制解调器1072可以处于内部或外部,它可以经由用户输入接口 1060或其他适当机制连接到系统总线1021。在网络环境中,关于计算机1010描述的程序模块或是其某些部分可以存储在远程存储器存储设备中。作为示例而不是限制,图10图示了驻留在存储器设备1081上的远程应用程序1085。应该理解的是,所显示的网络连接是示范性的,用于在计算机之间建立通信链接的其他装置也是可以使用的。应该理解的是,在如此描述了本发明至少一个实施例的若干个方面之后,本领域技术人员是很容易想到不同的替换、修改和改进的。例如,键盘的用户激活被描述为通过“敲击”来执行。也可以基于横过键盘的手指的拖动来检测用户输入。因此,应当理解的是,表示用户激活的任何适当的手势可以被识别并解释为用户输入。此类替换、修改和改进都旨在成为本公开的一部分,并且旨在处于本发明的实质和范围以内。更进一步,虽然指示了本发明的优点,然而应该理解到,并不是本发明的每一个实施例都会包含所描述的每一个优点。一些实施例未必实现在这里以及一些实例中被描述成有利的任何特征。因此,前文的描述和附图仅仅是作为示例的。本发明的上述实施例可以采用多种方式中的任何一种来实施。例如,这些实施例可以使用硬件、软件或是其组合来实施。当以软件实施时,软件代码可以在任何适当的处理器或处理器集合体上运行,不论所述处理器或处理器集合体是在单个计算机中提供还是分布在多个计算机中。此类处理器可以作为集成电路来实施,其中一个或多个处理器处于一个集成电路组件中。然而,处理器也可以使用任何适当格式的电路来实施。此外还应该理解,计算机可以体现为多种形式中的任何一种,例如安装在机架上的计算机、桌上型计算机、膝上型计算机或平板计算机。此外,计算机可以被嵌入在通常不被视为计算机但却具有适当处理能力的设备中,包括个人数字助理(PDA)、智能电话或是其它任何适当的便携或固定电子设备。此外,计算机可以具有一个或多个输入和输出设备。除了其他用途之外,这些设备可以用于呈现用户接口。可用于提供用户接口的输出设备的示例包括用于视觉呈现输出的打印机或显示屏幕,以及用于音频呈现输出的扬声器或其它声音生成设备。可用于用户接口的输入设备的示例包括键盘和指向设备,例如鼠标、触摸板和数字化平板。另举一例,计算机可以通过语音识别或其他音频格式来接收输入信息。此类计算机可以由一个或多个网络采用任何适当的形式互连,其中包括作为局域网络或广域网络,比如企业网络或因特网。此类网络可以基于任何适当的技术,并且可以依照任何适当的协议工作,以及可以包括无线网络、有线网络或光纤网络。此外,这里概述的不同方法或处理可以编码成能在使用了多种操作系统或平台中的任何一种的一个或多个处理器上执行的软件。另外,此类软件可以采用多种适当·的编程语言和/或编程或脚本工具中的任何一种来撰写,并且还可以编译成是在框架(framework)或虚拟机上执行的可执行机器语言代码或中间代码。在这方面,本发明可以体现为使用一种或多种程序编码的计算机可读存储介质(或多个计算机可读介质)(例如计算机存储器,一个或多个软盘,紧凑型碟片(CD),光盘,数字视频盘(DVD),磁带,闪存,现场可编程门阵列或其它半导体器件中的电路配置,或其它有形的计算机存储介质),其中当所述一种或多种程序在一个或多个计算机或其他处理器上执行时,所述程序将会执行实施上述本发明的不同实施例的方法。从上述示例可以明白,计算机可读存储介质可以将信息保持足够长的时间以便以非瞬时形式提供计算机可执行指令。这样的一个或多个计算机可读存储介质是可运输的,由此,其上存储的一个或多个程序可被加载到一个或多个不同计算机或其他处理器上,以便实施如上所述的本发明的不同方面。这里使用的术语“计算机可读存储介质”仅仅包括可被视为制造产品(即制品)或机器的计算机可读介质。替换性地或附加地,本发明可以体现为计算机可读存储介质之外的计算机可读介质,例如传播信号。这里使用的术语“程序”或“软件”其一般意义是指可以用于对计算机或其他处理器进行编程,以便实施如上所述的本发明的不同方面的任何类型的计算机代码或计算机可执行指令集合。此外还应该理解,根据本实施例的一个方面,在运行时执行本发明的方法的一个或多个计算机程序不必驻留在单个计算机或处理器上,而是可以采用模块化的方式分布在多个不同的计算机或处理器之中,以便实施本发明的不同方面。计算机可执行指令可以采用由一个或多个计算机或其他设备执行的多种形式,例如程序模块。一般来说,程序模块包括例程、程序、对象、组件、数据结构等等。其执行特定的任务或实现特定的抽象数据类型。典型地,在不同的实施例中可以如所期望的那样来组合或分布程序模块的功能。此外,数据结构可以采用任何适当的形式存储在计算机可读介质中。为了说明的简化起见,数据结构可被显示成具有通过在数据结构中的位置相关联的字段。这种关联同样可以通过为用于字段的存储器指定计算机可读介质中传达字段之间关系的位置来实现。但是,任何适当的机制均可用于在数据结构的字段中的信息之间建立关系,这其中包括通过使用在数据元素之间建立关系的指针、标签或其它机制。本发明的不同方面既可以单独使用,也可以组合使用,还可以采用上述实施例中没有具体论述的多种布置使用,由此,本发明并不仅限于被应用于如上说明书中阐述的或是在附图中图示的细节和组件布置。例 如,在一个实施例中描述的各方面可以采用任何方式与在其它实施例中描述的各方面相结合。此外,本发明可以体现为方法,在这里已经提供了所述方法的示例。作为方法一部分执行的动作可以采用任何适当的方式排序。因此,可以构造以与所图示的顺序不同的顺序来执行动作的实施例,其中所述实施例可以包括同时执行一些动作,即使这些动作在说明性实施例中被显示成是顺序动作。在权利要求中使用了比如“第一”、“第二”、“第三”等顺序术语来修饰权利要求要素,但这并不单独意味着任何优先级、优先权、一个权利要求要素超出另一个要素的顺序或是执行方法动作的时间顺序,而是仅仅用作标签来将具有某个名称的权利要求要素与另一个具有相同名称的要素区分开来(如果不是用于顺序术语的话),以便区分各权利要求元素。此外,这里使用的措辞和术语是用于描述目的的,而不应该将其视为限制。这里使用的“包括”、“包含”或者“具有”、“含有”、“涉及”及其不同变体意味着涵盖了其后列举的项目,以及其等价物和附加项目。
权利要求
1.一种操作具有软键盘的计算设备的方法,所述方法包括 确定下列各项中至少一个的至少一个特性(i)用户与所述软键盘的交互(924)或者(ii)所述软键盘的布局(210,912); 对于所述软键盘上的多个键中的每一个确定概率分布函数,所述概率分布函数是基于至少一个确定的特性来确定的(928); 利用至少一个处理单元,响应于通过所述软键盘接收到的输入,基于所述概率分布函数产生所述用户以所述多个键中的键为目标的概率(952)。
2.根据权利要求I的方法,其中 产生所述用户以所述多个键中的键为目标的概率包括产生所述多个键中多键的概率。
3.根据权利要求I的方法,其中 对于所述多个键中的每一个确定概率分布函数包括基于敲击之间的平均时间确定概率分布的平均值和方差(924)。
4.根据权利要求I的方法,其中 对于所述多个键中的每一个确定概率分布函数包括基于所述软键盘的风格确定概率分布的平均值和方差。
5.根据权利要求4的方法,其中 对于所述多个键中的每一个确定概率分布函数包括基于键的相对于所述软键盘上参考位置的位置来确定概率分布的平均值和方差。
6.一种计算设备,包括 显示器(112),其适于提供在该显示器上的位置上用户激活的指示;以及 处理电路(1120),其适于 在所述显示器上的区域中呈现软键盘(120,220,320A, 320B); 监控用户与所述软键盘交互的打字速率(924);以及 对于所述区域中检测到的用户激活,对于与所述位置相邻的至少一个键提供用户以所述键为目标的概率,所述概率基于所述用户的打字速率(954)。
7.根据权利要求6的计算设备,其中 所述概率还基于所述软键盘的布局。
8.根据权利要求6的计算设备,其中 所述处理电路还适于对于所述软键盘上的多个键中的每一个计算概率分布函数,所述概率分布函数表示了在位置上检测到的激活是以所述键为目标的用户所引起的概率;以及 所述处理电路基于与多个相邻键相关联的概率分布函数来确定提供的概率。
9.根据权利要求8的计算设备,其中 计算概率分布函数包括基于所述用户的打字速率选择高斯分布(660J的参数。
10.根据权利要求6的计算设备,其中 所述概率还基于所述软键盘上相邻键之间的槽(870 )的尺寸。
11.一种包括计算机可执行指令的计算机可读介质,在通过计算机上的处理器执行时,所述计算机可执行指令执行如权利要求1-5中任何一项所述的方法。
全文摘要
通过操作系统而改进了计算设备的性能的用户体验,所述操作系统处理来自软键盘的输入从而提供信息,所述信息可以用于准确地确定用户在打字时意欲敲打的键。对于每个检测到的敲击,操作系统提供一个或多个键为用户的意图目标的概率。这些概率可以从概率分布函数来计算,所述概率分布函数基于比如打字速率和键盘风格或布局的用户和/或系统因素动态地确定。其它组件可以使用概率从而作为表示用户意图的输入而选择对应于检测到的键盘敲击的键。所述选择可以单独基于概率来进行或者与场境因素相结合来进行,所述场境因素产生检测到的敲击源自以特定键为目标的用户的总概率。
文档编号G06F3/0488GK102937871SQ20121033582
公开日2013年2月20日 申请日期2012年9月12日 优先权日2011年9月12日
发明者R.L.汤森, M.阿格拉瓦尔, A.B.巴奇瓦罗夫, F.苏 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1