用于图形键盘的基于压力的手势键入的制作方法

文档序号:17123626发布日期:2019-03-16 00:05阅读:242来源:国知局
用于图形键盘的基于压力的手势键入的制作方法

一些计算装置提供了用于输入文本作为图形用户界面的部分的图形键盘。“手势键盘”是图形键盘的一个示例,该图形键盘可以使计算装置能够基于连续手势输入确定文本字符串。连续手势输入可以包括手势键盘的多个键的单个连续手势跨越位置,而不是于多个键的单独位置中的每个单独位置处输入的多个单独敲击手势输入。手势键盘对于更加喜欢滑动—而不是仅仅敲击图形键盘的单独键的用户可能更可取。

一些计算装置已经采用了手势键盘的一个手势对一个词的模型。即,这些计算装置将单个连续手势映射到仅仅一个词,并且手势的任何中断(例如,手指离开手势键盘)可以被计算装置解释为完成输入词的信号。然而,这种方法可能有一些缺点。例如,选择有许多字符的较长的词(例如,“supermarket”)的手势需要与针对整个冗长的词的手势键盘连续接触,可能导致用户疲劳和增加认知困难,从而可能加剧输入错误,降低输入准确性,并且减慢使用手势键盘输入的速度。



技术实现要素:

在一个示例中,本公开涉及一种方法,包括:通过计算装置输出包括多个键的图形键盘以进行显示。该方法进一步包括:通过计算装置接收从所述多个键中选择一个或者多个键的第一序列的第一手势的指示,并且通过计算装置接收从所述多个键中选择一个或者多个键的第二序列的指示。该方法进一步包括:通过计算装置并且基于与第二手势的指示相关联的压力信息确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合;以及通过计算装置输出候选词以进行显示,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合。

在另一示例中,计算装置可以包括至少一个处理器和至少一个模块,该至少一个模块可由至少一个处理器操作以输出包括多个键的图形键盘以进行显示。至少一个模块可操作以接收从所述多个键中选择一个或者多个键的第一序列的第一手势的指示并且接收从所述多个键中选择一个或者多个键的第二序列的指示。模块可以进一步操作以基于与第二手势的指示相关联的压力信息确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合,并且输出候选词以进行显示,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合。

在另一示例中,计算机可读存储介质被编码有指令,该指令在被执行时使计算装置的至少一个处理器输出包括多个键的图形键盘。指令可以使处理器能够接收从所述多个键中选择一个或者多个键的第一序列的第一手势的指示并且接收从所述多个键中选择一个或者多个键的第二序列的指示。指令可以进一步使处理器能够基于与第二手势的指示相关联的压力信息确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合,并且输出候选词以进行显示,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合。

在附图和以下描述中阐述一个或多个示例的细节。本公开的其它特征、目的和优点通过描述和附图以及通过权利要求书将变得显而易见。

附图说明

图1是图示了根据本公开的一个或者多个方面的被配置成使用与手势键盘处的手势输入相关联的压力信息来确定文本的示例计算装置的概念图。

图2是图示了根据本公开的一个或者多个方面的被配置成使用与手势键盘处的手势输入相关联的压力信息来确定文本的示例计算装置的框图。

图3是图示了根据本公开的一种或者多种技术的被配置成使用与手势键盘处的手势输入相关联的压力信息来确定文本的示例计算装置的框图。

图4是图示了根据本公开的一个或者多个方面的用于使用与手势键盘处的手势输入相关联的压力信息来输入词的示例图形用户界面的概念图。

图5是图示了根据本公开的一个或者多个方面的被配置成使用与手势键盘处的手势输入相关联的压力信息来确定文本的计算装置的示例操作的流程图。

图6是图示了根据本公开的一个或者多个方面的计算装置的另一示例操作的流程图。

具体实施方式

一般而言,本公开涉及至少部分地基于与和由计算装置输出的手势键盘的一个或者多个图形键相关联的手势的一部分相关联的压力的量来确定词以进行显示的技术。示例计算装置最初可以输出手势键盘以在显示装置处进行显示。示例计算装置可以检测输入对象(例如,手指或者触笔)在压敏装置上与显示装置所显示的手势键盘的键的位置相对应的位置处做出的手势。

基于检测到的手势,示例计算装置可以确定对键中的一个或者多个键的选择,然后使用对键的这种选择和与手势输入相关联的压力信息从词典确定与手势输入对应的一个或者多个词。即,与已经采用了一个手势对一个词的模型(例如,总是将跨越手势键盘的多个键的位置的单个连续手势映射到仅一个词,手势输入中断表示所需的词的结束)的其它计算装置不同,在将对键的选择映射到词典中的词之前,示例计算装置可以通过使用关于手势输入而获得的压力信息(例如,来自压敏输入装置)来确定对键的选择是否与输入单个词或者多个词的输入对应。

在某些情况下,示例计算装置可以基于压力信息来推断单个手势是否是单个词或者多个词的输入,不管对键的选择是否包括对空格键或者其它词语结束标识符的选择。例如,示例计算装置可以基于通过确定手势的中间部分是在与“正常”或者“低”压力(例如,不超过特定压力阈值的压力)相反的“高”压力(例如,超过特定压力阈值的压力)的情况下输入的来识别两个词中的第二个词的开始来确定给定手势输入旨在输入两个词。

在某些情况下,示例计算装置可以使用关于手势输入获得的压力信息来确定单个手势是否旨在输入新词或者继续输入从先前手势输入确定的先前词。例如,在计算装置确定“高”压力(例如,超过特定压力阈值的压力)与在这种情况下计算装置可以将手势输入视为先前手势的延续的“正常”或者“低”压力(例如,不超过特定压力阈值的压力)相反与手势的开始部分相关联时,示例计算装置可以确定新词。

因此,本文所描述的技术可以使计算装置,除了辨别手势输入是用于输入新词的开始或者手势输入是用于继续在输入先前词时先前手势停止的地方,能够利用压力来确定手势键盘处的连续手势输入是否与单个或者多个词输入对应。本公开的技术可以提供一个或者多个优点。使用单个连续手势输入长词的身体和认知困难可以在文本输入时导致错误,这些错误通过需要附加输入和时间来校正文本输入而加剧。同样,本公开的技术可以通过降低错误的文本输入特别是长词的概率来改进手势键盘的总体输入速度和准确性,并且因此可以提供改进的用户界面。

图1是图示了根据本公开的一个或者多个方面的被配置成使用与手势键盘处的手势输入相关联的压力信息来确定文本的示例计算装置的概念图。在图1的示例中,计算装置100可以是移动电话。然而,在其它示例中,计算装置100可以是平板计算机、个人数字助理(pda)、膝上型计算机、便携式游戏装置、便携式媒体播放器、电子书阅读器、计算机化的手表、电视平台或者另一种类型的计算装置。

如图1所示,计算装置100包括用户界面装置(uid)102。计算装置100的uid102可以用作针对计算装置100的输入装置并且用作输出装置。uid102可以通过使用不同的技术来实现。例如,uid102可以充当输入装置,该输入装置使用存在敏感输入装置,诸如,电阻式触摸屏、表面声波触摸屏、电容式触摸屏、投射式电容触摸屏、压敏屏幕、声波脉冲识别触摸屏、或者另一种压敏输入装置技术。uid102可以充当输出装置,该输出装置使用液晶显示器(lcd)、点阵显示器、发光二极管(led)显示器、有机发光二极管(oled)显示器、电子墨水、或者能够将可见信息输出至计算装置100的用户的相似的单色显示器或者彩色显示器中的任何一个或者多个。

计算装置100的uid102可以包括可以接收来自计算装置100的用户的触觉用户输入的存在敏感屏幕(例如,存在敏感显示器)。uid102可以通过检测来自计算装置100的一个或者多个敲击和或非敲击手势(例如,用户用手指或者触笔触摸或者指向uid102的一个或者多个位置)来接收触觉用户输入的指示。uid102的存在敏感屏幕可以将输出呈现给用户。uid102可以呈现输出作为可能与计算装置100所提供的功能有关的用户界面(例如,用户界面104)。例如,uid102可以呈现在计算装置100处执行的应用(例如,电子消息应用、互联网浏览器应用等)的各种用户界面。计算装置100的用户可以与这些应用中的一个或者多个应用交互以通过每个应用的相应用户界面用计算装置100执行功能。

计算装置100可以包括用户界面(“ui”)模块120和键盘模块122。模块120和122可以通过使用驻留在计算装置100中并且在计算装置100上执行的软件、硬件、固件或者硬件、软件和固件的组合来进行所描述的操作。计算装置100可以利用多个处理器来执行模块120和122。计算装置100可以执行模块120和122,作为在底层硬件上执行的虚拟机。

计算装置100的ui模块可以从uid102接收在uid102处检测到的用户输入的一个或者多个指示。一般而言,每当uid102接收到在uid102的位置处检测到的用户输入的指示时,ui模块120就可以从uid102接收关于用户输入的信息。

例如,uid102实际上可以将坐标网格覆盖到uid102上。网格无法被uid102明显地显示。网格可以将包括水平分量(x)和垂直分量(y)的坐标分配给每个位置。每当uid102检测到手势输入时,ui模块120可以接收来自uid102的信息。该信息可以包括在uid102检测到uid102处的手势输入的情况下和当uid102检测到手势输入时向ui模块120指示的一个或者多个坐标位置和相关联的时间。信息可以进一步包括指示用户施加在uid102上的压力和力的量的压力信息。例如,uid102可以使用电容式、电感式或者其它压力感测技术来确定通过手势输入施加的压力的量。压力信息可以呈数值、量化数据点(例如,“0.73单位的力”)或者离散水平(例如,“正常”、“硬”)的形式。在一些实施方式中,压力信息可以被表示为作为上述网格坐标(例如,x、y)的部分的深度分量(z)。

ui模块120可以将从uid102接收到的信息汇聚成触摸事件的按时间排序的序列。例如,序列中的每个触摸事件都可以包括数据或者分量,该数据或者分量表示用于表征uid102处的输入的存在、与uid102处的输入相关联的压力的量和/或uid102处的输入的移动(例如,何时、何处、发起方向)的参数。序列中的每个触摸事件都可以包括位置分量(例如,uid102处的位置的x、y坐标)、与uid102何时检测到位置处的用户输入有关的时间分量、指示uid102在检测到位置处的输入时检测到的力的量的压力分量、以及与触摸事件是否与位置处的抬起或者向下按相对应有关的动作分量。

除了时间、位置和压力之外,ui模块120还可以确定用户输入的一个或者多个其它特性并且包括关于在触摸事件的序列中的每个触摸事件内的这些一个或者多个特性的信息。例如,ui模块120可以确定用户输入的开始位置、用户输入的结束位置、用户输入的部分的密度、用户输入的部分的速度、用户输入的部分的方向、和用户输入的部分的曲率。触摸事件的序列中的一个或者多个触摸事件可以包括(除了上面描述的事件、位置和动作分量)关于用户输入的一个或者多个特性(例如,密度、速度等)的信息。

ui模块120可以使uid102能够呈现用户界面104。用户界面104包括显示于uid102的各个位置处的图形元素。图1图示了用户界面104的编辑区106a和手势键盘106b。手势键盘106b是具有被显示为用于在编辑区106a键入文本的键的可选择的图形元素的图形键盘。编辑区106a可以包括计算装置100响应于与手势键盘106b相关联的输入而生成的图形元素诸如图像、对象、超链接、文本字符(例如,字符串)等。在一些示例中,编辑区106a与消息传递应用、词处理应用、互联网网页浏览器应用、或者在计算装置100处执行的应用、操作系统或者平台的其它文本输入字段相关联。换言之,编辑区106a表示计算装置100的用户正在使用手势键盘106b选择的字母的最终目的地,并且不是与手势键盘106b相关联的中间区,诸如显示一个或者多个完整的词建议或者自动校正的词建议或者自动校正区。

图1示出了在编辑区106a内的字母w-a-t-e-r-m-e-l-o-n。字母w-a-t-e-r-m-e-l-o-n组成一串字符或者候选词130。候选词130由图1的示例中的虚线圆划定,然而,在一些示例中,ui装置102可以或者可以不输出这种虚线圆。候选词130可以是词的一部分和或词或者词被包括在字典中的词或者部分。

图1还示出了被呈现为分别跨越手势键盘106b的键的位置的虚线段和实线段的路径132和134的序列。ui模块120可以使uid102基于从ui模块120接收到的关于uid102所检测到的手势的位置的信息来呈现路径132、134。换言之,ui模块120可以使uid102在uid102处显示路径132、134,以便在路径132、134被呈现于uid102处时,路径132、134对于用户而言是可见的。在一些示例中,除了一次仅仅显示一个当前路径之外,ui模块120可以使uid102在与(先前)路径132相同的时间显示路径134。路径132、134可以被不同地渲染以呈现哪个路径是先前手势输入,例如,用虚线或者浅色线。

计算装置100的用户可以使ui模块120通过在uid102显示手势键盘106b的键的位置处提供输入(例如,敲击和/或非敲击手势)在编辑区106a中输入文本。响应于像这样的用户输入,计算装置100可以在编辑区106a内输出一个或者多个字符、字符串、或者多字符串短语,诸如,候选词130。在一些示例中,词通常可以被描述为字典或者词典中的一个或者多个字符的字符串(例如,具有书面语言或者口头语言的语义的一组字符串),在一些示例中,“词”可能指的是一个或者多个字符的任何组。例如,词可以是词汇表以外的词或者未被包含在字典或者词典中但是在其它方面以书面词汇表的形式用于将信息从一个人传递给另一个人的字符串。例如,词可以包括名称、地方、俚语、或者任何其它词汇表以外的词或者独特格式的字符串等,其包括一个或者多个字符的第一部分随后是一个或者多个字符的第二部分。

ui模块120可以充当计算装置100的各个部件之间的中介以基于uid102检测到的输入做出决定并且生成uid102所呈现的输出。例如,ui模块120可以接收被包括在手势键盘106b中的键的键盘布局的表示作为来自键盘模块122的输入。在一些示例中,ui模块120可以确定触摸事件的序列中的一个或者多个位置分量接近手势键盘106b处的输入(例如,ui模块120可以确定触摸事件中的一个或者多个事件的位置与uid102的呈现手势键盘106b的区域对应)。ui模块120可以发送触摸事件的序列连同uid102呈现键中的每个键的位置作为对键盘模块122的输出。

响应于将触摸事件和键的位置发送至键盘模块122,ui模块120可以接收键盘模块122从触摸事件的序列确定的候选词(例如,表示候选词130的文本字符串)。ui模块120可以将用户界面104更新为包括从编辑区106a内的键盘模块122接收到的候选词130。ui模块120可以使uid102呈现更新后的用户界面104,该更新后的用户界面104包括在编辑区106a中被呈现为图形元素(例如,字符)的候选词130。

计算装置100的键盘模块122可以发送包括与一种或者多种书面语言(例如,英语、西班牙语、法语等)有关的多个键的键盘布局作为对ui模块120的输出(为了包括用户界面104的手势键盘106b)。键盘模块122将一个或者多个字符或者操作分配给键盘布局中的多个键中的每个键。例如,键盘模块122可以生成包括表示用于键入英语语言的字符的键的qwerty键盘布局。qwerty键盘布局还可以包括表示用于键入英语语言的操作的键(例如,退格键、删除键、空格键、回车键等)。

键盘模块122可以从ui模块120接收表示ui模块120所生成的触摸事件的序列以及uid102的呈现手势键盘106b的键中的每个键的位置的数据。键盘模块122可以基于键的位置和触摸事件的序列来确定对一个或者多个键的选择。在字符串中的每个字符与选择中的至少一个键对应的情况下,键盘模块122可以基于选择来确定字符串。键盘模块122可以将指示字符串的数据发送至ui模块120,以用于包括在用户界面104的编辑区106a中的候选词130。

键盘模块122可以依靠各种模型和算法(例如,空间模型、语言模型等)以确定触摸事件的序列是否表示对一个或者多个键的选择。例如,键盘模块122可以包括空间和语言模型以在有一定的确定性的情况下确定选择手势键盘106b的哪些键并且用选择来输入哪个字符串。

使用这种空间模型,键盘模块122可以将触摸事件的序列中的一个或者多个事件的位置分量(例如,坐标)与手势键盘106b的一个或者多个键的相应位置进行比较并且基于这些比较生成对键的选择发生的概率。例如,键盘模块122可以将触摸事件的序列中的每个触摸事件的位置分量与手势键盘106b的特定键的键位置进行比较。序列中的触摸事件的位置分量可以包括uid102的一个位置并且手势键盘106b中的键的键位置(例如,键的质心)可以包括uid102的不同位置。键盘模块122可以确定两个位置之间的欧式距离并且基于欧氏距离生成键被选择的概率。相较于与一个或者多个触摸事件共享较大欧氏距离的键,键盘模块122可以使更高的概率与和一个或者多个触摸事件共享较小欧氏距离的键相关。基于与每个键都相关联的空间模型概率,键盘模块122可以将具有最高空间模型概率的单独键选择组合成键盘模块122随后可以确定的表示字符串的键的按时间排序的序列。

使用压力模型,键盘模块122可以通过使用触摸事件的序列中的一个或者多个触摸事件的压力分量来对来自空间模型的输出进行修改。键盘模块122可以将触摸事件的序列中的每个触摸事件的压力分量与压力阈值进行比较。基于比较,键盘模块122可以用指示键的序列是否包括“硬”压力(例如,超过压力阈值)的元数据对键的按时间排序的序列进行注释。例如,键盘模块122可以分析与用户输入的开始位置相关联的一个或者多个触摸事件的压力分量以确定触摸输入是否开始于“硬”压力(例如,超过压力阈值)。同样,键盘模块122可以基于与用户输入的结束位置相关联的触摸事件中的压力分量确定键的输入序列是否结束于“硬”压力(例如,超过压力阈值)。在一些示例中,除了将压力信息整体与手势相关联之外,键盘模块122还可以使压力信息与键序列中的特定键相关。键盘模块122可以使用触摸事件的压力分量和位置分量来使压力信息与单独键按压(例如,硬‘w’按压)相关联。

在一个示例中,键盘模块122可以使用压力数据来确定手势键盘106b上的哪些手势输入应该被包括在相同的候选词130或者分开的候选词中。换言之,除了假设每个不同的手势都是新的候选词之外,键盘模块122还可以用在先前手势的顶部的每个后续手势来建立候选词。在这种情况下,键盘模块122将通过当前手势对键进行的选择与通过之前的手势对键进行的选择合并。当检测到手势包含“硬”按压时,键盘模块122可以完成候选词的建立,并且开始新的词。通过使计算装置100能够组合非连续手势以形成词,键盘模块122可以向计算装置100的用户提供更准确地和/或不费劲地输入文本的方式。

现在进一步参照图1详细地描述技术。在图1的示例中,计算装置100可以输出包括多个键的图形键盘以进行显示。例如,键盘模块122可以生成包括手势键盘106b的表示的数据。ui模块120可以生成用户界面104并且基于表示手势键盘106b的数据将手势键盘106b包括在用户界面104中。ui模块120可以将包括在uid102处显示用户界面104的指令的信息发送至uid102。uid102可以接收该信息并使uid102呈现包括编辑区106a和手势键盘106b的用户界面104。手势键盘106b可以包括多个键。

计算装置100可以接收从多个键中选择键的第一序列的手势的指示。例如,计算装置100的用户可以提供遍历开始于第一位置136a并且结束于uid102的第二位置136b的路径132的连续手势输入,使得手势的执行过程中uid102检测到从第一位置到第二位置执行的手势。在图1所示的示例中,手势可以遍历包括键‘w’、键‘a’、键‘s’、键‘d’、键‘r’、键‘t’、键‘r’、键‘e’和键“r”的键的序列。手势可以开始于施加在最接近键‘w’的位置的uid102的位置处的较大量的力(例如,硬力或者超过压力阈值的力)(在图1中由同心圆表示)并且结束于在靠近键‘r’的位置的位置136b处的较少量的力(例如,轻力或者不超过压力阈值的力)。

ui模块120可以基于手势生成触摸事件的序列。ui模块120可以使uid102基于从ui模块120接收到的关于uid102所检测到的手势的位置的信息来呈现路径132的图形指示。键盘模块122可以依靠与ui模块120所生成的触摸事件的序列相关联的压力信息以及空间模型、语言模型和/或其它技术来确定哪些键最可能被选择。例如,键盘模块122可以基于来自与手势的开始位置相关联的触摸事件的压力信息确定手势的接收到的指示是否满足压力阈值。在图1所示的示例中,键盘模块122可以确定具有靠近键“w”的位置(例如,位置136a)并且在手势的开始期间的触摸事件的压力信息是否超过压力阈值。基于压力信息,键盘模块122可以发起新的词,而不是将手势与先前输入组合。换言之,键盘模块122可以完成先前输入的词预测,插入词分隔符(例如,空格),并且基于接收到的手势重新开始词预测。在一些示例中,键盘模块122可以在接收到与手势输入相关联的触摸事件中的一些而不是全部之后分析压力信息。以这种方式,键盘模块122可以在不必等待直到手势结束为止的情况下逐渐确定手势的接收到的指示是否满足压力阈值。

在第一手势之后,计算装置100可以进一步接收从多个键中选择键的第二序列的第二手势的指示。键盘模块122可以基于在与第一手势和第二手势相关联的触摸事件的序列中的动作分量将在第一手势之后接收到的第二手势描述为与第一手势分开并且不同。例如,键盘模块122可以接收指示输入对象(例如,用户的手指)所做出的升起动作的触摸事件和指示输入对象所做出的向下按动作的后续触摸事件。在图1所示的示例中,计算装置100的用户可以提供遍历路径134的手势,该路径134遍历包括键‘m’、键‘e’、键‘l’、键‘o’和键‘n’的键序列(即,m-n-j-h-g-f-e-r-t-y-j-k-l-o-k-j-n)。第二手势可以开始于uid102的最接近键‘m’的位置的位置138a(其显著地不包括图1中的同心圆以指示手势不包括硬力的施加)并且结束于uid102的最接近键‘n’的位置的位置138b。

类似于与第一手势相关联的操作,键盘模块122可以基于来自与第二手势的开始位置相关联的触摸事件的压力信息确定第二手势的指示是否满足压力阈值。例如,键盘模块122可以确定具有靠近键“m”的位置(例如,位置138a)并且在第二手势的开始期间的触摸事件的压力信息不超过压力阈值。

响应于确定第二手势的指示不满足某个压力阈值,键盘模块122可以执行词预测以确定候选词130,该候选词130包括键的第一序列和键的第二序列的组合。例如,除了在接收到第二手势时输出候选词“water”之外,在确定候选词“watermelon”时,键盘模块122还可以将除了其它键之外还包括键‘m’、键‘e’、键‘l’、键‘o’和键‘n’的键的第二序列与包括键‘w’、键‘a’、键‘d’、键‘r’、键‘t’、键‘r’、键‘e’和键‘r’的键的第一序列组合。

键盘模块122可以进行词预测以使用第一手势和第二手势的组合来确定候选词130,即使手势是分开的和不连续的。键盘模块122输出候选词130,该候选词130包括键的第一序列和键的第二序列的组合。例如,键盘模块122使uid102在编辑区106a中显示候选词“watermelon”。

为了解释,假设第二手势确实包括在手势开始期间施加的“硬”压力(例如,超过压力阈值)并且接近位置138a处的键“m”。响应于确定第二手势的指示事实上确实满足压力阈值,键盘模块122可以基于包括键的第一序列的第一手势(但是不基于具有键的第二序列的第二手势)完成词预测。换言之,键盘模块122避免输出组合第一手势和第二手势的候选词,反而输出包括仅仅从第一手势对键进行的选择的候选词“water”。键盘模块22还可以基于确定候选词“melon”的第二手势发起对新的词的预测。

本公开的技术可以改进用户能够将文本输入到计算装置中的准确性。使用本公开的技术,除了必须执行词的单个连续手势之外,用户还可以执行指示词的多个手势。这种技术对于用户输入包含许多字符的长词(诸如,复合词)特别有帮助。通过使计算装置能够基于多个手势输入和相应压力信息确定输入词,所描述的计算允许用户将输入手指停在表示长词的中间,这减少了用户疲劳和错误的可能性。通过减少通过将长词分成块来输入长词的认知困难,本技术进一步减少输入错误的可能性。所以,本公开的技术可以通过减少错误的文本输入的可能性来改进手势键盘的总体输入速度和准确性。

图2是图示了根据本公开的一个或者多个方面的被配置成使用与手势键盘处的手势输入相关联的压力信息来确定文本的示例计算装置的框图。下面在图1的背景下描述图2的计算装置100。图2仅仅示出了计算装置100的一个特定示例,并且计算装置100的许多其它示例可以在其它情况下使用并且可以包括被包括在示例计算装置100中的部件的子集或者可以包括图2未示出的附加部件。

如图2的示例所示,计算装置100包括用户界面装置102(“uid102”)、一个或者多个处理器202、一个或者多个输入装置204、一个或者多个通信单元206、一个或者多个输出装置208和一个或者多个存储装置210。计算装置100的存储装置210还包括ui模块120和键盘模块122。ui模块120包括压力模块222。键盘模块122包括空间语言模型模块220(“slm模块220”)。通信信道212可以使组件102、120、122、202、204、206、208、210、220和222中的每一个互相连接,以进行部件间通信(物理地、通信地和/或操作地)。在一些示例中,通信信道212可以包括系统总线、网络连接、进程间通信数据结构、或者用于传递数据的任何其它方法。

计算装置100的一个或者多个输入装置204可以接收输入。输入的示例是触觉、音频和视频输入。在一个示例中,计算装置100的输入装置204包括:存在敏感输入装置(例如,触敏屏幕、存在敏感显示器)、鼠标、键盘、语音响应系统、摄像机、麦克风或者用于检测来自人或者机器的输入的其它任何类型的装置。

计算装置100的一个或者多个输出装置208可以生成输出。输出的示例是触觉、音频和视频输出。在一个示例中,计算装置100的输出装置208包括存在敏感显示器、声卡、视频图形适配器卡、扬声器、阴极射线管(crt)监视器、液晶显示器(lcd)、或者用于生成针对人或者机器的输出的其它任何类型的装置。

计算装置100的一个或者多个通信单元206可以通过在一个或者多个网络上发送和/或接收网络信号,经由一个或者多个网络与外部装置进行通信。例如,计算装置100可以使用通信单元206在诸如蜂窝无线电网络等无线电网络上发送和/或接收无线电信号。同样,通信单元206可以在诸如gps网络等卫星网络上发送和/或接收卫星信号。通信单元206的示例包括网络接口卡(例如,诸如,以太网卡)、光学收发器、射频收发器、gps接收器、或者可以发送和/或接收信息的其它任何类型的装置。通信单元206的其它示例可以包括在移动装置中发现的gps、3g、4g、lte和无线电以及通用串行总线(usb)控制器。

在一些示例中,计算装置100的uid102可以包括输入装置204和/或输出装置208的功能。在图2的示例中,uid102可以是或者可以包括存在敏感输入装置。在一些示例中,存在敏感输入装置可以检测在存在敏感输入装置处和/或附近的对象。作为一个示例范围,存在敏感输入装置可以检测对象,诸如在存在敏感输入装置的2英寸或者不到2英寸的范围内的手指或者触笔。存在敏感输入装置可以确定检测到对象的存在敏感输入装置的位置(例如,[x,y]坐标)。在另一示例范围中,存在敏感输入装置可以检测距离存在敏感输入装置6英寸或者不到6英寸的对象,而且其它范围也是可能的。存在敏感输入装置可以确定用户的手指使用电容式、电感式、和/或光学识别技术选择的输入装置的位置。在一些示例中,存在敏感输入装置使用关于输出装置208描述的触觉、音频或者视频刺激向用户提供输出。在图2的示例中,uid102在uid102处呈现用户界面(诸如,图1的用户界面104)。

虽然被示出为计算装置100的内部部件,但是uid102还表示与计算装置100共享数据路径以发送和/或接收输入和输出的外部部件。例如,在一个示例中,uid102表示位于计算装置100的外部封装内并且物理连接至该外部封装的计算装置100的内置部件(例如,移动电话上的屏幕)。在另一示例中,uid102表示位于计算装置100的封装外并且与该封装物理分开的计算装置100的外部部件(例如,与平板计算机共享有线和/或无线数据路径的监视器、投影仪等)。

计算装置100内的一个或者多个存储装置210可以存储用于在计算装置100的操作期间进行处理的信息。在一些实施例中,存储装置210是暂时存储器,意思是说存储装置210的主要目的不是长期存储。计算装置100上的存储装置210可以针对短期存储信息被配置为易失性存储器,因此如果断电则无法保存所存储的内容。易失性存储器的示例包括随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、和本领域公知的其它形式的易失性存储器。

在一些示例中,存储装置210还包括一个或者多个计算机可读存储介质。存储装置210可以被配置成存储数量比易失性存储器更大的信息。存储装置210可以进一步被配置成作为非易失性存储器空间来长期存储信息,并且在通电/断电周期之后保存信息。非易失性存储器的示例包括磁性硬盘、光盘、软盘、闪存、或者电可编程存储器(eprom)或者电可擦编程(eeprom)存储器的形式。存储装置210可以存储与ui模块120、键盘模块122、压力模块222和slm模块220相关联的程序指令和/或数据。

一个或者多个处理器202可以实施功能和/或执行计算装置100内的指令。例如,计算装置100上的处理器202可以接收并且执行由存储装置210存储的执行ui模块120、键盘模块122、压力模块222和slm模块220的功能的指令。在程序执行期间,处理器202执行的这些指令可以使计算装置100将信息存储在存储装置210内。处理器202可以执行模块120、122、220和222的指令以使uid102在uid102处显示用户界面104。即,模块120、122、220和222可由处理器202操作以执行各个动作,包括接收uid102的位置处的手势的指示和使uid102在uid102处呈现用户界面104。

根据本公开的方面,图2的计算装置100可以在uid102处输出包括多个键的图形键盘以进行显示。例如,在计算装置100的操作使用期间,键盘模块122可以使计算装置100的ui模块120输出键盘布局(例如,英语语言qwerty键盘等)以在uid102处进行显示。ui模块120可以通过通信信道212从键盘模块122接收指定键盘布局的数据。ui模块120可以使用数据来生成包括编辑区106a和来自键盘模块122的键盘布局的多个键的用户界面104作为手势键盘106b。ui模块120可以通过通信信道212发送数据以使uid102在uid102处呈现用户界面104。uid102可以接收来自ui模块120的数据并且使uid102呈现用户界面104。

计算装置100可以接收遍历多个键的第一组键的第一手势的指示和与第一手势相关联的压力(例如,力)的指示。例如,计算装置100遍历与第一组键相关联的路径132并且包括在手势的初始部分期间施加至uid102的施加压力的第一手势输入(例如,来自用户)。在这个示例中,手势输入的初始部分与uid102的最接近键‘w’的位置的位置136a对应。手势输入进一步包括遍历与一组键(例如,键‘a’、键‘s’、键‘d’、键‘r’、键‘t’、键‘r’、键‘e’和键‘r’)相关联的路径,结束于uid102的最接近键‘r’的位置的位置136b。与第一手势输入相关联的触摸事件的序列中的最后一个触摸事件可以包括第一手势输入已经结束的指示。例如,与结束于靠近键“r”的位置136b的手势输入对应的触摸事件指示连续手势输入已经结束。

计算装置100可以接收遍历多个键的第二组键并且不包括压力的指示的第二手势的指示。例如,计算装置100接收遍历路径134并且不包括手势的初始部分期间的压力的第二手势输入(在第一手势输入之后)。在这个示例中,手势输入的初始部分开始于uid102的最接近键‘m’的位置的位置138a,并且继续遍历第二组键(例如,m-n-j-h-g-f-e-r-t-y-j-k-l-o-k-j-n),结束于uid102的最接近键‘n’的位置的位置138b。

ui模块120可以基于第一手势和第二手势生成触摸事件的序列。ui模块120的压力模块222可以基于手势将压力信息并入触摸事件的序列中。压力模块222可以对触摸事件的序列中与第一手势的初始部分对应的触摸事件进行修改。例如,压力模块222将与键“w”的遍历(即,在手势的初始部分期间)相关联的触摸事件修改为包括压力信息。

通过使用压力信息,键盘模块122可以从通过多个手势输入(而不仅仅是单个手势输入)的触摸事件确定的键的选择确定候选词。键盘模块122可以在从键的选择确定候选词时使用与多个手势输入相关联的触摸事件的多个序列。例如,键盘模块122可以基于触摸事件的第二序列中的压力指示(或者其不存在)来组合从第一手势输入和第二手势输入对键进行的选择。在某些情况下,响应于键盘模块122确定触摸事件的第二序列指示在第二手势输入的初始部分期间压力已经被施加至uid102,键盘模块122与触摸事件的第二序列(以及其相关联的键选择)分开地使用触摸事件的第一序列(以及其相关联的键选择)来确定候选词。键盘模块122可以继续组合来自多个手势输入的对来自触摸事件的序列的键进行的选择,直到键盘模块122遇到指示与新的手势输入的初始部分相关联的压力的来自新的手势输入的触摸事件的序列。换句话说,键盘模块122假设每次对键的即将到来的选择应该与以前对键的选择结合,直到键盘模块122检测到下一个手势输入中的压力信息为止。

可替代地,键盘模块122可以被配置成响应于新手势输入中存在压力信息将每次对键的新选择与以前对键的选择结合。例如,键盘模块122可以基于从单个连续手势输入对键进行的选择来确定候选词,并且还基于从多个手势输入对键进行的选择来确定候选词,每个手势输入都具有与每个后续手势输入的初始部分相关联的压力指示。

键盘模块122的slm模块220可以从一个或者多个词典数据存储确定具有是用户可能希望通过在手势键盘106b处提供输入来输入的候选词的最高概率的一个或者多个候选词。概率可以指示语言上下文中的每个候选词的使用频率。即,slm模块220可以确定具有是用户希望在编辑区106a处输入的词的最高可能性的一个或者多个候选词是在使用特定语言的书面和/或口头沟通的实例期间最经常出现的一个或者多个候选词。键盘模块122可以利用slm模块220的语言模块来改善对键的选择和/或从对通过多个手势中的位置确定的键的选择来确定至少一个候选词。例如,键盘模块122的slm模块220可以在一个或者多个词典数据存储内执行查找以识别存储在一个或者多个字典数据存储中的开始于与第一序列中的第一键相关联的字母“w”,结束于与第二序列中的最后一个键相关联的字母“n”并且可以或者可以不包括与第一键与最后一个键之间的序列中的键中的每个键相对应的字母w-a-s-d-r-t-r-e-r-m-n-j-h-g-f-e-r-t-y-j-k-l-o-k-j-n中的任何一个字母的一个或者多个候选词。slm模块220可以将候选词watermelon、watermelons和watermen识别为一个或者多个词典数据存储中的开始于并结束于字母w-n的一些示例候选词。

键盘模块122可以依靠语言模型和/或访问计算装置100的词典以在将字符串输出至ui模块120以包括在用户界面104的编辑区106a中之前和/或之后对由键选择的序列生成的字符串进行自动校正(例如,拼写检查)。计算设备100的词典可以包括书面语言词汇表内的单词列表。使用语言模型,键盘模块122可以在通过对键的选择而生成的字符串的词典中执行查找以识别包括基于对键的选择而生成的字符串的字符中的至少一些或者全部的一个或者多个候选词。

在一些示例中,键盘模块122可以将杰卡德(jaccard)相似系数分配给一个或者多个候选词以确定用户所输入的字符串与词典中的词之间的相似度。一般而言,杰卡德相似系数也被称为杰卡德指数表示对两个样本集(例如,字典中的字符串和词)之间的相似性的测量。基于比较,键盘模块122可以为词典中的一个或者多个词生成杰卡德相似性系数。每个候选词都可以包括字符串中的字符中的一些或者全部的交替布置作为前缀。换言之,每个候选词都可以包括从键的选择确定的字符串的字母作为词的第一字母。例如,基于对w-a-t-e的选择,键盘模块122可以确定词典中的具有最大杰卡德相似性系数w-a-t-e的候选词是water。键盘模块122可以将自动校正的字符串water输出至ui模块120以包括在编辑区106a中,而不是由键的选择指示的实际字符串w-a-t-e。

键盘模块122可以使ui模块120在编辑区106a处呈现从组合的键选择确定的候选词130。例如,键盘模块122可以经由通信信道212发送使得ui模块120使uid102在编辑区106a呈现候选词130作为文本字符串的信息。在一些示例中,键盘模块122可以使ui模块120对候选词130进行图形注释以指示候选词的哪些部分是从分开的手势输入确定的。例如,为了呈现从上述多个手势输入确定的候选词“watermelon”,ui模块120可以用第一颜色高亮部分“water”,并且用与第一颜色不同的第二颜色高亮部分“melon”。

在一个实施例中,键盘模块122可以基于每个后续手势输入替代地更新候选词并且使ui模块120更新显示在编辑区106a中的候选词。例如,在第一迭代中,键盘模块122可以基于与路径132对应的第一手势输入来确定字符串“water”并且使ui模块120在编辑区106a中显示字符串“water”。然后,在第二后续迭代中,键盘模块122可以基于与第一手势输入非连续的对应于路径134的第二手势输入并且结合第一(先前)手势输入来确定更新的候选词“watermelon”。键盘模块122可以使ui模块120更新编辑区106a以显示更新的候选词。

以这种方式,与采用了一个手势用于一个词模型的典型手势键盘不同,计算装置100可以允许使用多个手势输入(彼此是非连续的)来输入词。结果,计算装置100可以减少长词或者复合词所造成的输入错误并且改进了用户可以使用手势键盘106b输入词的准确性。同样,计算装置100可以从用户接收较少的重新输入以使用手势键盘输入文本,并且通过接收较少的重新输入,与其它计算装置相比计算装置100可以执行较少的操作并且同样会消耗更少的电力。

图3是图示了根据本公开的一种或者多种技术的被配置成使用与手势键盘处的手势输入相关联的压力信息来确定文本的示例计算装置的框图。示例计算装置输出图形内容以在远程装置处进行显示。图形内容一般可以包括能够被输出以进行显示的任何视觉信息,诸如,文本、图像、一组活动图像等。图3所示的示例包括计算装置300、存在敏感显示器301、通信单元310、投影仪320、投影仪屏幕322、平板装置326和视觉显示装置330。虽然为了图1和图2中的示例的目的被示出为独立的计算装置100,但是计算装置(诸如,计算装置100和/或计算装置300)通常可以指包括处理器或者用于执行软件指令的其它合适的计算环境并且例如无需包括存在敏感显示器的任何部件或者系统。

如图3的示例所示,计算装置300可以是包括关于图2中的处理器82所描述的功能的处理器。在这些示例中,计算装置300可以通过通信信道303a可操作地耦合至存在敏感显示器301,该通信信道303a可以是系统总线或者其它合适的连接。计算装置300还可以通过通信信道303b可操作地耦合至下面进一步描述的通信单元310,该通信信道303b还可以是系统总线或者其它合适的连接。虽然在图3中被单独地示出为示例,但是计算装置300可以通过任何数量的一个或者多个通信信道可操作地耦合至存在敏感显示器301和通信单元310。

在其它示例中,比如先前由在图1和图2中的计算装置100描述的,计算装置300可以是便携式或者移动装置,诸如,移动电话(包括智能电话)、膝上型计算机等。在一些示例中,计算装置100可以是台式计算机、平板计算机、智能电视平台、摄像头、个人数字助理(pda)、服务器、主机等。

与图1所示的uid102一样,存在敏感显示器301可以包括显示装置303和存在敏感输入装置305。例如,显示装置303可以接收来自计算装置300的数据并且显示图形内容。在一些示例中,存在敏感输入装置302可以通过使用电容式、电感式和/或光学识别技术来确定在存在敏感显示器301处的一个或者多个用户输入(例如,连续手势、多点触控手势、单点触控手势等),并且通过使用通信信道303a来将这种用户输入的指示发送至计算装置300。在一些示例中,存在敏感输入装置302可以被物理定位在显示装置303的顶部,从而在用户将输入单元定位在由显示装置303显示的图形元素之上时,存在敏感输入装置305所在的位置与显示装置303的显示有图形元素的位置对应。

如图3所示,计算装置300还可以包括通信单元310和/或可操作地与该通信单元310耦合。通信单元310可以包括图2所描述的通信单元206的功能。通信单元310的示例可以包括网络接口卡、以太网卡、光学收发器、射频收发器、或者可以发送和/或接收信息的其它任何类型的装置。这种通信单元的其它示例可以包括蓝牙、3g、4g、lte和wi-fi电台、通用串行总线(usb)接口等。计算装置300还可包括一个或者多个其它装置例如输入装置、输出装置、存储器、存储装置等和/或可操作地与该一个或者多个其它装置耦合,为了简洁和说明的目的,在图3中并没有示出该一个或者多个其它装置。

图3还图示了投影仪320和投影仪屏幕322。投影装置的其它这种示例可以包括电子白板、全息显示装置和用于显示图形内容的任何其它合适的装置。投影仪320和投影仪屏幕322可以包括一个或者多个通信单元,该一个或者多个通信单元使相应的装置能够与计算装置300通信。在一些示例中,一个或者多个通信单元可以在投影仪320与投影仪屏幕322之间实现通信。投影仪320可以接收来自计算装置300的包括图形内容的数据。响应于接收到数据,投影仪320可以将图形内容投影到投影仪屏幕322上。在一些示例中,投影仪320可以使用光学识别或者其它合适的计算来确定投影仪屏幕处的一个或者多个用户输入(例如,连续手势、多点触控手势、单点触控手势等)并且使用一个或者多个通信单元将这种用户输入的指示发送至计算装置300。

在一些示例中,投影仪屏幕322可以包括存在敏感显示器324。存在敏感显示器324可以包括本公开所描述的uid102的功能子集或者全部功能。在一些示例中,存在敏感显示器324可以包括附加功能。投影仪屏幕322(例如,电子白板)可以接收来自计算装置300的数据并且显示图形内容。在一些示例中,存在敏感输入装置324可以通过使用电容识别技术、感应识别技术、和/或光学识别技术来确定在存在敏感显示器322处的一个或者多个用户输入(例如,连续手势、多点触控手势、单点触控手势等),并且通过使用一个或者多个通信单元来将这种用户输入的指示发送至计算装置300。

图3还示出了平板装置326和视觉显示装置330。平板装置326和视觉显示装置330可以分别包括计算能力和连接能力。平板装置326的示例可以包括电子阅读器装置、可转换笔记本装置、混合状态装置等。视觉显示装置330的示例可以包括电视机、计算机监视器等。如图3所示,平板装置326可以包括存在敏感显示器328。视觉显示装置330可以包括存在敏感显示器332。存在敏感显示器328、332可以包括本公开所描述的ui装置102的功能的子集或者全部功能。在一些示例中,存在敏感显示器328、332可以包括附加功能。在任何情况下,存在敏感显示器332,例如,可以接收来自计算装置300的数据并且显示图形内容。在一些示例中,存在敏感输入装置332可以通过使用电容识别技术、感应识别技术、和/或光学识别技术来确定在存在敏感显示器处的一个或者多个用户输入(例如,连续手势、多点触控手势、单点触控手势等),并且通过使用一个或者多个通信单元来将这种用户输入的指示发送至计算装置300。

存在敏感显示器328、332可以包括压敏功能,该存在敏感功能使存在敏感显示器能够确定与接触存在敏感显示器328、332的用户输入对象(例如,手指)对应的压力或者力信息。例如,存在敏感显示器332可以被配置成使用电容式、电感式或者其它压力感测技术来检测用户输入对象施加至存在敏感显示器332的力的量。

如上所述,在一些示例中,计算装置300可以通过系统总线或者其它合适的通信信道在耦合至计算装置300的存在敏感显示器301处输出图形内容以进行显示。计算装置300还可以在远程装置诸如投影仪320、投影仪屏幕322、平板装置326和视觉显示装置330处输出图像内容以进行显示。例如,计算装置300可以执行一个或者多个指令以根据本公开的技术生成和/或修改图形内容。计算装置300可以将包括图形内容的数据输出至计算装置300的通信单元,诸如,通信单元310。通信单元310可以将数据发送至远程装置中的一个或者多个,诸如,投影仪320、投影仪屏幕322、平板装置326和/或视觉显示装置330。以这种方式,计算装置300可以在远程装置中的一个或者多个远程装置处输出图形内容以进行显示。在一些示例中,远程装置中的一个或者多个可以在存在敏感显示器处输出图形内容,该存在敏感显示器被包括在相应远程装置中和/或可操作地耦合至该相应远程装置。

在一些示例中,计算装置300可以不在存在敏感显示器301处输出图形内容,该存在敏感显示器301可操作地耦合至计算装置300。在其它示例中,计算装置300可以输出图形内容以用于在通过通信信道303a耦合至计算装置300的存在敏感显示器134和在一个或者多个远程装置处进行显示。在这种示例中,可以在每个相应装置处大体上同时显示图形内容。例如,通过将包括图形内容的数据发送至远程装置和通信延迟可以引入一些延迟。在一些示例中,计算装置300生成的并且在存在敏感显示器301处输出以进行显示的图形内容可以与在一个或者多个远程装置处被输出以进行显示的图形内容不同。

计算装置300可以通过使用任何合适的通信技术来发送和接收数据。例如,计算装置300可以通过使用网络链接312a来可操作地耦合至外部网络304。图3所示的远程装置中的每一个都可以通过相应的网络链接312b、72c和72d中的一个操作地耦合至外部网络304。外部网络304可以包括网络集线器、网络交换机、网络路由器等,它们都可操作地相互耦合,从而在计算装置300与图3所示的远程装置之间提供信息交换。在一些示例中,网络链接312a至312d可以是以太网、atm或者其它网络连接。这种连接可以是无线连接和/或有线连接。

在一些示例中,计算装置300可以通过使用直接装置通信318可操作地耦合至被包括在图3中的远程装置中的一个或者多个远程装置。直接装置通信318可以包括通信,通过该通信,计算装置300使用有线或者无线通信直接与远程装置发送并且接收数据。即,在直接装置通信318的一些示例中,由计算装置300发送的数据在于远程装置处被接收之前可以不被一个或者多个附加装置转发,反之亦然。直接装置通信318的示例可以包括蓝牙、近场通信、通用串行总线、wi-fi、红外等。图3所示的远程装置中的一个或者多个远程装置可以通过通信链路316a至316d与计算装置300可操作地耦合。在一些示例中,通信链路312a至316d可以是使用蓝牙、近场通信、通用串行总线、红外等的连接。这种连接可以是无线连接和/或有线连接。

根据本公开的技术,计算装置300可以通过使用外部网络304可操作地耦合至视觉显示装置330。计算装置300可以在存在敏感显示器332处输出手势键盘以进行显示。例如,计算装置300可以将包括手势键盘306b的表示的数据发送至通信单元310。通信单元310可以使用外部网络304将包括手势键盘306b的表示的数据发送至视觉显示装置330。响应于使用外部网络304接收到数据,视觉显示装置330可以使存在敏感显示器332输出包括多个键的手势键盘306b。

响应于用户执行存在敏感显示器332处的第一手势以选择键盘的第一组键例如“强有力的”(使用超过特定压力阈值的压力)<w键>之后是<a键>、<s键>、<d键>、<r键>、<t键>、<r键>、<e键>和<r键>,视觉显示装置330可以使用外部网络304将手势的指示发送至计算装置300。通信单元310可以接收手势的指示,并且将指示发送至计算装置300。同样,响应于用户执行存在敏感显示器332处的第二手势以选择键盘的第二组键例如“正常的”(例如,使用不超过特定压力阈值的压力)<m键>之后是<n键>、<j键>、<h键>,视觉显示装置330可以使用外部网络304将手势的第二指示发送至计算装置300。

在接收到手势的指示之后,计算装置300可以确定对图形键盘106b的键的选择。例如,计算装置100可以基于经由通信单元110接收到的第一手势和第二手势的指示确定组合的键选择。计算装置300可以从彼此非连续(即,彼此不同)的多个手势输入基于对键的组合选择来确定候选词。

计算装置300可以使用通信单元310和外部网络314将指示沿第一手势所遍历的路径的压力信息的数据输出至视觉显示装置330,使得视觉显示装置在存在敏感显示器332处输出压力信息的图形指示以进行显示。例如,显示装置330可以使存在敏感显示器332呈现线段,该线段具有作为“强有力的”手势(例如,具有超过特定压力阈值的压力)的图形指示的粗线宽度和作为“正常的”手势(例如,具有不超过特定压力阈值的压力)的图形指示的标准线宽度。在另一示例中,显示装置330可以使存在敏感显示器332呈现不同线宽度(或者颜色、或者其它不同的图形品质等)的线段,使得具有粗线宽度的线段的仅仅某些部分指示“强有力的”输入(例如,具有超过特定压力阈值的压力)和具有标准线宽度的线段的其它部分指示“正常的”手势(例如,具有不超过特定压力阈值的压力)。在其它示例中,显示装置330可以使存在敏感显示器332在手势的初始部分呈现一个或者多个圆作为与存在敏感装置有“强有力的”(例如,具有超过特定压力阈值的压力)初始接触的手势的图形指示。

图4是图示了根据本公开的一个或者多个方面的用于使用与手势键盘处的手势输入相关联的压力信息输入词的示例图形用户界面的概念图。下面在图1和图2的计算装置100(上面描述的)的背景下对图4进行描述。

图4图示了计算装置100可以输出图形用户界面400以进行显示(例如,在uid102处)。图形用户界面400包括具有多个键的手势键盘。计算装置100可以接收从多个键中选择键的第一序列的手势的指示。例如,计算装置100的用户可以提供遍历路径(402)的手势输入(与图1所示的路径132上的手势输入相似),该手势输入包括在第一位置处的“强有力的”输入(例如,具有超过某个压力阈值的压力)。

在第一手势之后,计算装置100可以进一步接收从多个键中选择键的第二序列的第二手势的指示。例如,计算装置100的用户可以提供开始于位置408并且遍历路径404的手势输入以选择包括键“i”、键“u”、键“y”和键“t”的键的第二序列(即,i-u-y-t)。然而,与图1所示的示例相反,与路径404相关联的手势输入包括在手势输入的初始部分期间即靠近位置408的“强有力的”输入(例如,具有超过某个压力阈值的压力)。

如之前描述的,ui模块120可以基于手势生成触摸事件的序列。ui模块120可以使uid102基于从ui模块120接收到的关于uid102所检测到的手势的位置的信息来呈现路径404的图形指示。键盘模块122可以依靠与ui模块120生成的触摸事件的序列相关联的压力信息以及空间模型、语言模型和/或其它技术来确定哪些键最可能被选择。例如,键盘模块122可以确定具有靠近键“i”的位置(例如,位置408)并且在第二手势的开始期间的触摸事件的压力信息超过压力阈值。基于压力信息,键盘模块122可以发起新的词,而不是将手势与先前输入组合(诸如,在图1所示的示例中)。换言之,键盘模块122可以完成先前输入的词预测以产生候选词“water”,插入词分隔符(例如,空格),并且对第二手势进行词预测。图4示出了用户界面400的编辑区内的字母“w-a-t-e-r”和“i-t”。字母“w-a-t-e-r”和“i-t”组成字符串或者候选词430。

图5是图示了根据本公开的一个或者多个方面的被配置成使用与手势键盘处的手势输入相关联的压力信息来确定文本的计算装置的示例操作500的流程图。图5的处理可以由计算装置(诸如,图1和图2所示的计算装置100)的一个或者多个处理器执行。仅仅为了说明起见,下面在图1和图2的计算装置100的背景下描述图5。

图5图示了计算装置100可以输出包括多个键的手势键盘(502)。例如,计算装置100的ui模块120可以使uid102呈现包括具有多个键的手势键盘的图形用户界面104。

计算装置100可以接收从所述多个键中选择一个或者多个键的第一序列的第一手势的指示(504)。例如,计算装置100的用户可以在图形键盘上画出字符串“grand”和“mother”的两个笔划。虽然用户在uid102处提供了输入词“grand”的第一手势,但是ui模块120和键盘模块122可以从uid102接收关于输入的数据作为选择除了其它之外包括<g键>、<r键>、<a键>、<n键>和<d键>的键的第一序列的第一手势的指示。

计算装置100可以接收从所述多个键中选择一个或者多个键的第二序列的第二手势的指示(506)。例如,虽然用户在uid102处提供了输入词“mother”的第二手势,但是ui模块120和键盘模块122可以从uid102接收关于输入的数据作为选择除了其它之外包括<m键>、<o键>、<t键>、<h键>、<e键>和<r键>的键的第二序列的第二手势的指示。

计算装置100可以确定第二手势的指示是否满足压力阈值(508)。在一些示例中,键盘模块122基于第二手势的指示确定第二手势的初始部分,该初始部分与检测到第二手势的压敏输入装置处的初始接触对应。键盘模块122确定与第二手势的初始部分相关联的压力的量是否满足压力阈值。例如,响应于用户在uid102处提供手势以输入词“mother”,键盘模块122确定在用户与uid102初始接触期间产生的(即,与输入(“mother”)的靠近<m键>的位置的开头相关联的)压力的量是否满足压力阈值。

响应于确定压力信息满足压力阈值,计算装置100可以确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合(510)。例如,键盘模块122基于从uid102接收到的数据确定候选词“grandmother”,其除了其它之外还包括选择<g键>、<r键>、<a键>、<n键>和<d键>)的第一序列和选择<m键>、<o键>、<t键>、<h键>、<e键>和<r键>的第二序列的组合。

计算装置100可以输出候选词以进行显示,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合(512)。例如,ui模块120可以使uid102在用户界面104的编辑区内呈现候选词130(例如,“grandmother”)。

响应于确定与第二手势的指示相关联的压力信息不满足压力阈值,计算装置100可以确定包括来自所述多个键的一个或者多个键的第一序列而不包括来自所述多个键的一个或者多个键的第二序列的组合的候选词(514)。计算装置100可以避免输出包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合的候选词以进行显示(516)。例如,键盘模块122基于键的第一序列确定候选词“grand”,其除了其它之外不包括选择<m键>、<o键>、<t键>、<h键>、<e键>和<r键>的键的第二序列。计算装置100可以输出包括来自所述多个键的一个或者多个键的第一序列的候选词以进行显示(518)。例如,键盘模块122可以使ui模块120在用户界面104的编辑区内输出候选词“grand”。

在一些示例中,进一步响应于确定与第二手势的指示相关联的压力信息不满足压力阈值,计算装置100可以确定包括来自所述多个键的一个或者多个键的第二序列的第二候选词。在输出包括来自所述多个键的一个或者多个键的第一序列的第二候选词以进行显示之后,计算装置100可以进一步输出包括来自所述多个键的一个或者多个键的第二序列的第二候选词以进行显示。例如,键盘模块122可以使ui模块120在确定和显示候选词“grand”之后输出候选词“mother”。因此,在该示例中,计算装置100可以基于确定第二手势不满足压力阈值输出作为分开的词的字符串“grand”和“mother”以进行显示。

本公开的某些方面诸如在图5的描述中的某些方面描述了基于与手势输入的指示相关联的压力信息的输入技术,即,确定与手势输入的指示相关联的压力信息是否满足压力阈值。响应于确定与第二手势输入相关联的压力信息满足压力阈值,一些实施例确定包括键的第一序列和键的第二序列的组合的候选词。应当认识到,替代实施例可以允许压力信息的其它用途。在其它实施例中,响应于确定压力信息不满足压力阈值,计算装置确定包括键的第一序列和键的第二序列的组合的候选词。

在本公开的另一实施例中,计算装置100可以被配置成使用与图形键盘上的触摸输入相关联的压力信息来输入指示词分隔符的输入,诸如空白字符(有时被称为“空格”字符)或者其它标点符号。在一些语言中,空白是在许多文本序列内发现的一般字符。例如,假设没有空白的英语语言词的平均长度是4个字母,这意味着用户可以每隔四个字符输入空白字符。因此,本公开的实施例提供了用于输入空白输入的技术,改进了触摸键入和手势键入两者的输入效率和输入速度。

图6是图示了根据本公开的一个或者多个方面的计算装置的另一示例操作600的流程图。图6的处理可以由计算装置诸如图1和图2所示的计算装置100的一个或者多个处理器执行。仅仅为了说明起见,下面在图1和图2的计算装置100的背景下描述图6。

在本公开的另一实施例中,计算装置100可以被配置成基于图形键盘上的手势输入插入词分隔符字符。与上述示例相似,在手势输入期间施加强有力的压力(例如,超过特定阈值)在一些示例中可以指示当前词的结束,并且后续手势输入(例如,手指移动)正在输入后续词,不需要用户在词输入之间选择词分隔符键(例如,空格键)。上述技术因此可以允许用户在没有将输入对象(例如,手指)移动到空格键或者在词结束时抬起输入对象的情况下连续输入多个词。例如,为了用手势键入来输入“thankyou”,用户在键盘上追踪下面的8个字母“thankyou”并且在第一词的结尾处施加“高”压力(例如,超过压力阈值),该结尾是字母“k”。在一些示例中,虽然用户在uid102处提供了输入词“thank”的手势,但是ui模块120和键盘模块122可以从uid102接收关于输入的数据作为选择包括<t键>、<h键>、<a键>、<n键>和<k键>的键的序列的手势的指示。键盘模块122可以确定被包括在手势指示中的压力信息指示在输入对象(例如,手指)靠近<k键>的同时在uid102上施加力,并且作为响应,基于对一直到<k键>为止的键的选择来确定候选词。键盘模块122可以继续将候选词“thank”连同词分隔符(例如,空白)输出至用户界面104的编辑区以进行显示并且处理后续输入(例如,以选择<y键>、<o键>和<u键>作为确定后续词“you”并且将其显示在用户界面104的编辑区中的输入。例如,考虑图6的操作。

图6图示了计算装置100可以输出包括多个键的图形键盘(602)。例如,计算装置100的ui模块120可以使uid102呈现包括图形键盘的图形用户界面104。

计算装置100可以接收选择图形键盘的所述多个键的一个或者多个键的第一触摸输入的指示(604)。例如,计算装置100的用户可以在图形键盘上敲击词“thank”的键序列,在词的最后一个键“k”上放置“强有力的”压力(例如,超过压力阈值)。虽然用户在uid102处提供了触摸输入以输入词“thank”,但是ui模块120和键盘模块122可以从uid102接收关于输入的数据作为选择包括<t键>、<h键>、<a键>、<n键>和<k键>的图形键盘的键的触摸输入的指示。

计算装置100可以确定选择图形键盘的所述多个键中的一个或者多个键的第一触摸输入的接收到的指示是否满足压力阈值(606)。例如,键盘模块122确定与包含键按压事件的触摸事件相关联的压力的量是否满足压力阈值。

响应于确定第一触摸输入的指示不满足压力阈值,计算装置100可以基于所选择的键确定候选词(612)。例如,响应于确定与包括<t键>、<h键>、<a键>和<n键>的键中的任何一个键的键按压相关联的触摸事件不满足压力阈值,键盘模块122可以分别确定候选字母“t”、“h”、“a”和“n”。

计算装置100可以输出候选字母以进行显示(614)。例如,键盘模块122可以使ui模块120在用户界面104的编辑区内输出候选字母“t”。

响应于确定第一触摸输入的指示满足压力阈值,计算装置100可以基于接收到的指示确定候选字母和词分隔符(608)。例如,响应于确定与<k键>的键按压相关联的触摸事件超过压力阈值,键盘模块122确定候选字母“k”和词分隔符是用户输入。在一些示例中,词分隔符可以是空白字符(例如,空格键、tab键、换行键、或者其它空白字符),尽管可以使用包括标点符号(诸如句号和逗号)的其它字符。

计算装置100可以输出确定的候选字母和词分隔符(610)。例如,键盘模块122可以使ui模块120在用户界面104的编辑区内输出与空白字符串联的字节“k”。在一些示例中,键盘模块122可以生成图形指示以向用户发信号通知空白字符已经自动生成并且被插入到用户界面104的编辑区中。由于所描述的技术,用户不需要通过敲击图形键盘上的空格键将整个空白字符分成词“thank”和“you”,并且反而可以直接在下一个词的第一字母即<y键>上提供触摸输入。

所描述的技术可以为键盘键入的触摸键入和手势键入形式提供技术方案。对于触摸键入,键盘模块122不需要用户键入空格键按压,节约了手指行进距离并且提高了输入速度。对于手势键入,所描述的键盘模块可以允许用户在没有将手指移动到空格键或者在词的结尾抬起手指的情况下录入多个词。

条款1。一种方法,包括:通过计算装置输出包括多个键的图形键盘以进行显示;通过计算装置接收从所述多个键中选择一个或者多个键的第一序列的第一手势的指示;通过计算装置接收从所述多个键中选择一个或者多个键的第二序列的第二手势的指示;通过计算装置并且基于与第二手势的指示相关联的压力信息确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合;以及通过计算装置输出候选词以进行显示,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合。

条款2。根据条款1所述的方法,其中,确定候选词进一步包括:确定与第二手势的指示相关联的压力信息是否满足压力阈值;以及响应于确定压力信息满足压力阈值,确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合。

条款3。根据条款1所述的方法,进一步包括:响应于确定压力信息不满足压力阈值:通过计算装置确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列、而不包括来自所述多个键的一个或者多个键的第二序列;以及通过计算装置输出包括来自所述多个键的一个或者多个键的第一序列的候选词以进行显示。

条款4。根据条款3所述的方法,其中,确定的候选词包括第一候选词,方法进一步包括:进一步响应于确定压力信息不满足压力阈值:通过计算装置确定第二候选词,该第二候选词包括来自所述多个键的一个或者多个键的第二序列;以及在输出包括来自所述多个键的一个或者多个键的第一序列的第一候选词以进行显示之后,通过计算装置输出包括来自所述多个键的一个或者多个键的第二序列的第二候选词以进行显示。

条款5。根据条款1至4中的任何组合所述的方法,进一步包括:基于第二手势的指示,通过计算装置确定第二手势的与检测到第二手势的压敏输入装置处的初始接触对应的初始部分,压敏输入装置操作地耦合至计算装置;以及确定与第二手势的初始部分相关联的压力的量不满足压力阈值。

条款6。根据条款1至5中任何组合所述的方法,其中,接收从所述多个键中选择一个或者多个键的第二序列的第二手势的指示进一步包括:通过计算装置接收与来自所述多个键的一个或者多个键的第二序列对应的多个触摸事件,其中,触摸事件中的至少一个包括压力信息。

条款7。根据条款1至6中任何组合所述的方法,进一步包括:通过所述计算装置输出对所述候选词进行的图形注释以进行显示,所述图形注释指示所述候选词是基于多个手势输入确定的。

条款8。根据条款1至7中任何组合所述的方法,其中,第二手势是在第一手势之后接收到的并且与第一手势不同。

条款9、一种计算装置,包括至少一个处理器和至少一个模块,该模块可由至少一个处理器操作以:输出包括多个键的图形键盘以进行显示;接收从所述多个键中选择一个或者多个键的第一序列的第一手势的指示;接收从所述多个键中选择一个或者多个键的第二序列的第二手势的指示;基于与第二手势的指示相关联的压力信息确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合;以及输出候选词以进行显示,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合。

条款10。根据条款9所述的计算装置,其中,至少一个模块可进一步操作以:通过至少确定与第二手势的指示相关联的压力信息是否满足压力阈值来确定候选词;以及响应于确定压力信息满足压力阈值,确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合。

条款11。根据条款10所述的计算装置,其中,至少一个模块可进一步操作以:响应于确定压力信息不满足压力阈值:确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列、而不包括来自所述多个键的一个或者多个键的第二序列;以及输出包括来自所述多个键的一个或者多个键的第一序列的候选词以进行显示。

条款12。根据条款11所述的计算装置,其中,确定的候选词包括第一候选词,以及其中,至少一个模块可进一步操作以:响应于确定压力信息不满足压力阈值:确定第二候选词,该第二候选词包括来自所述多个键的一个或者多个键的第二序列;以及在输出包括来自所述多个键的一个或者多个键的第一序列的第一候选词以进行显示之后,输出包括来自所述多个键的一个或者多个键的第二序列的第二候选词以进行显示。

条款13。根据条款9至12中的任何组合所述的计算装置,其中,至少一个模块可进一步操作以:基于第二手势的指示,通过计算装置确定第二手势的与检测到第二手势的压敏输入装置处的初始接触对应的初始部分,压敏输入装置操作地耦合至计算装置;以及确定与第二手势的初始部分相关联的压力的量不满足压力阈值。

条款14。根据条款9至13中任何组合所述的计算装置,其中,可操作以接收从所述多个键中选择一个或者多个键的第二序列的第二手势的指示的所述至少一个模块进一步可操作以接收与来自所述多个键的一个或者多个键的第二序列相对应的多个触摸事件,其中,触摸事件中的至少一个包括压力信息。

条款15。根据条款9至14中任何组合所述的计算装置,其中,至少一个模块可进一步操作以输出对所述候选词进行的图形注释以进行显示,所述图形注释指示所述候选词是基于多个手势输入确定的。

条款16。根据条款9至15中任何组合所述的计算装置,其中,第二手势是在第一手势之后接收到的并且与第一手势不同。

条款17。一种计算机可读存储介质,编码有指令,该指令在被执行时使计算装置的至少一个处理器:输出包括多个键的图形键盘以进行显示;接收从所述多个键中选择一个或者多个键的第一序列的第一手势的指示;接收从所述多个键中选择一个或者多个键的第二序列的第二手势的指示;基于与第二手势的指示相关联的压力信息确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合;以及输出候选词以进行显示,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合。

条款18。根据条款15所述的计算机可读介质,其中,指令在被执行时使处理器通过至少确定与第二手势的指示相关联的压力信息是否满足压力阈值来确定候选词;以及响应于确定压力信息满足压力阈值,确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列和来自所述多个键的一个或者多个键的第二序列的组合。

条款19。根据条款18所述的计算机可读介质,其中,指令进一步使处理器:响应于确定压力信息不满足压力阈值:确定候选词,该候选词包括来自所述多个键的一个或者多个键的第一序列、而不包括来自所述多个键的一个或者多个键的第二序列;以及输出包括来自所述多个键的一个或者多个键的第一序列的候选词以进行显示。

条款20。根据条款16所述的计算机可读介质,其中,确定的候选词包括第一候选词,以及其中,指令进一步使处理器:响应于确定压力信息不满足压力阈值:确定第二候选词,该第二候选词包括来自所述多个键的一个或者多个键的第二序列;以及在输出包括来自所述多个键的一个或者多个键的第一序列的第一候选词以进行显示之后,输出包括来自所述多个键的一个或者多个键的第二序列的第二候选词以进行显示。

条款21。一种系统,其包括:用于进行根据条款1至8所述的方法中的任何一种方法的装置。

在一个或者多个示例中,所描述的功能可以实施在硬件、软件、固件或者其任何组合中。如果实施在软件中,则功能可以作为一个或者多个指令或者代码被存储在计算机可读介质上或者通过计算机可读介质被发送并且由基于硬件的处理单元执行。计算机可读介质可以包括:计算机可读存储介质,其与有形介质诸如数据存储介质对应;或者通信介质,其包括利于例如根据通信协议将计算机程序从一个地方转移至另一个地方的任何介质。以这种方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质或者(2)通信介质诸如信号或者载波。数据存储介质可以是任何可用介质,该任何可用介质可以由一个或者多个计算机或者一个或者多个处理器访问,以检索用于实施本公开所描述的技术的指令、代码和/或数据结构。计算机程序产品可以包括计算机可读介质。

作为示例,而非限制,这种计算机可读存储介质可以包括ram、rom、eeprom、cd-rom或者其它光盘存储器、磁盘存储器或者其它磁存储装置、闪存、或者可以用于存储呈指令或者数据结构形式的期望程序并且可以由计算机访问的任何其它存储介质。同样,任何连接被正确地称为计算机可读介质。例如,如果通过使用同轴电缆、光纤电缆、双绞线、数字用户线(dsl)、或者无线技术诸如红外、无线电和微波来从网站、服务器或者其它远程源发送指令,则同轴电缆、光纤电缆、双绞线、dsl、或者无线技术诸如红外、无线电和微波包括在介质的定义范围内。然而,应该理解,这种计算机可读存储介质和数据存储介质不包括连接、载波、信号、或者其它暂时性介质,但是反而涉及非暂时性的有形存储介质。所使用的磁盘和光盘包括压缩碟片、激光盘、光盘、数字通用盘(dvd)、软盘和蓝光盘,其中,磁盘通常磁硬现数据,而光盘利用激光来光重现数据。以上组合还应该被包括在计算机可读介质的范围内。

指令可以由一个或者多个处理器诸如一个或者多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程序逻辑阵列(fpga)、或者其它等效的集成或者离散逻辑电路系统执行。因此,所使用的术语“处理器”可以指任何前述结构或者适用于实施所描述的技术的任何其它结构。另外,在一些方面中,本文所描述的功能可以提供在专用硬件和/或软件模具内。同样,技术可以完全实施在一个或者多个电路或者逻辑元件中。

本公开的技术可以实施在各种各样的装置或者设备包括无线手机、集成电路(ic)或者ic集(例如,芯片集)中。本公开中描述了各种组件、模具或者单元,以强调被配置成执行所公开的技术,但是不一定需要由不同的硬件单元实施的装置的功能方面。确切地说,如上所述,结合合适的软件和/或固件,各个单元可以被组合成硬件单元或者通过收集可互操作的硬件单元包括上面所描述的一个或者多个处理器提供。

已经描述了各个示例。这些和其它示例在以下权利要求书的范围内。

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