1.一种用于提供预测输入字符集合的方法,包括:
从在显示器上显示的虚拟键盘接收字符输入;
基于输入字符生成两个或更多个预测输入字符集合;
将所述虚拟键盘中与最高排序预测输入字符集合中的后续候选输入字符相关联的分区分配给最高排序预测输入字符集合;
确定下一最高排序预测输入字符集合,并确定与下一最高排序预测输入字符集合中的后续候选输入字符相关联的分区;
如果与下一最高排序预测输入字符集合中的后续候选输入字符相关联的分区已被分配,则丢弃相应的预测输入字符集合,重复所述确定步骤;
如果与下一最高排序预测输入字符集合中的后续候选输入字符相关联的分区未被分配,则将该分区分配给相应的预测输入字符集合;
在虚拟键盘中已分配的分区内显示两个或更多个已生成的预测输入字符集合,其中所显示的两个或更多个预测输入字符集合显示在虚拟键盘中分离两行键的单个水平区域中,并且所显示的两个或更多个预测输入字符集合各自显示在所述单个水平区域内的不同分区处。
2.如权利要求1所述的方法,还包括:
如果所述虚拟键盘中的至少一个分区是未分配的、或存在下一最高排序预测输入字符集合,则重复所述确定步骤。
3.如权利要求2所述的方法,其中,仅当已经分配了所述虚拟键盘中的所有分区、或没有再一下一最高排序预测输入字符集合存在时,在已分配的分区内显示所述预测输入字符集合。
4.如权利要求1至3中的任一项所述的方法,其中,通过所述虚拟键盘的区域中的多个列来限定所述分区。
5.如权利要求1至3中的任一项所述的方法,其中,所述生成包括:生成两个或更多个预测输入字符集合,每个预测输入字符集合显示在靠近与两个或更多个预测输入字符集合中的后续备选输入字符相对应的键的位置处。
6.如权利要求1至3中任一项所述的方法,其中,所述分区基本上占据所有虚拟键盘。
7.如权利要求1至3中的任一项所述的方法,其中,通过检测在所显示的预测输入字符集合处或其附近的滑动来输入所显示的预测输入字符集合。
8.如权利要求7所述的方法,其中,所述滑动是“向上”滑动。
9.一种电子设备,包括:
处理器;
显示器,耦合到所述处理器;
其中,所述处理器被配置为执行如权利要求1至8中的任一项所述的方法。
在触摸屏键盘与候选字母靠近关联的分区中提供词预测的触\n摸屏键盘\n技术领域\n[0001] 本发明要求于2012年2月24日提交的临时美国专利申请no.61/603,043的优先权\n和利益,其通过其完整引用而合并到此。本发明还涉及于2011年11月10日提交的共有美国专利申请no.13/373,356,其通过其完整引用而合并到此。\n技术领域\n[0002] 本发明通常涉及用于电子设备(例如手持电子设备)的输入方法,更具体地说,涉及用于接收预测性文本输入并且对于电子设备生成字符集合的方法。\n背景技术\n[0003] 日益地,电子设备(例如计算机、上网本、蜂窝电话、智能电话、个人数字助理、平板电脑等)具有允许用户将字符输入到应用(例如词处理器或电子邮件应用)的触摸屏。归因于例如小的触摸屏区域,尤其是在用户需要输入长消息的情况下,触摸屏上的字符输入可能是棘手的任务。\n附图说明\n[0004] 图1是根据在此公开的实施例的电子设备的示例框图。\n[0005] 图2是示出根据在此公开的实施例的用于预测所选字符集合的示例方法的流程\n图。\n[0006] 图3A、图3B、图3C和图3D示出根据在此公开的实施例的触摸屏的示例前视图。\n[0007] 图4A和图4B示出根据在此公开的实施例的触摸屏的示例前视图。\n[0008] 图5示出根据在此公开的实施例的触摸屏的示例前视图。\n[0009] 图6A、图6B和图6C示出根据在此公开的实施例的触摸屏的示例前视图。\n[0010] 图7示出根据在此公开的实施例的触摸屏的示例前视图。\n[0011] 图8A和图8B示出根据在此公开的实施例的触摸屏的示例前视图。\n[0012] 图9示出根据在此公开的实施例的触摸屏的示例前视图。\n[0013] 图10A和图10B示出根据在此公开的实施例的触摸屏的示例前视图。\n[0014] 图11A和图11B示出根据在此公开的实施例的触摸屏的示例前视图。\n[0015] 图12A和图12B示出根据在此公开的实施例的触摸屏的示例前视图。\n[0016] 图13A和图13B示出根据在此公开的实施例的触摸屏的示例前视图。\n[0017] 图14A、图14B和图14C示出根据在此公开的实施例的触摸屏的示例前视图。\n[0018] 图15示出根据在此公开的实施例的触摸屏的示例前视图。\n[0019] 图16示出根据在此公开的实施例的触摸屏的示例前视图。\n[0020] 图17是示出根据在此公开的实施例的示例方法的流程图。\n[0021] 图18是示出根据在此公开的实施例的示例方法的流程图。\n[0022] 图19是示出根据在此公开的实施例的示例方法的流程图。\n[0023] 图20示出根据在此公开的实施例的用于触摸屏上的显示的虚拟键盘的示例前视\n图。\n[0024] 图21至图24示出根据在此公开的实施例的用于触摸屏上的显示的虚拟键盘的示\n例前视图。\n[0025] 图25至图28示出根据在此公开的实施例的用于触摸屏上的显示的虚拟键盘的示\n例前视图。\n[0026] 图29是示出根据在此公开的实施例的示例方法的流程图。\n具体实施方式\n[0027] 现将详细参照各个实施例,其示例在附图中示出。每当可能时,将贯穿附图使用相同的标号来指代相同或相似的部分。\n[0028] 本发明涉及一种电子设备,包括有线通信设备(例如具有触摸屏的膝上型计算机)和移动手持无线通信设备(例如蜂窝电话、智能电话、无线组织器、个人数字助理、带无线的上网本计算机、平板电脑以及相似的设备)。电子设备也可以是没有无线通信能力的电子设备,例如手持电子游戏设备、数码相框、数码相机或其它设备。\n[0029] 已经引入基本预测性文本输入解决方案,以协助电子设备上的输入。这些解决方案包括:预测用户正输入的词,并且对于完成该词而提供建议。但这些解决方案可能具有限制,在解决方案建议用户正尝试输入的词之前,通常要求用户输入词中的多数或所有字符。\n尽管如此,用户一般必须将焦点从键盘转向视图,并且考虑在电子设备的显示器上的其它地方所显示的建议词,此后,回看键盘以继续键入。在电子设备中输入信息的同时相对于键盘的人眼的重新聚焦尤其在撰写长文本时会使眼睛疲劳并且麻烦、令人分心、或低效。此外,由于在用户将注意力聚集在输入区域上然后回到虚拟键盘处的同时处理器待机,处理周期损失并且浪费显示功率。\n[0030] 从设备资源和用户体验的角度来看,预测性文本输入解决方案的效率有时取决于特定用户以及该特定用户与触摸屏的交互的性质。虚拟键盘使用模式可以广泛地分类为两类:“快速”和“精确”。快速键入者典型地是依赖于自动校正的快速两拇指键入者。这种使用模式最接近地对应于有经验的频繁触摸屏用户。精确键入者典型地是谨慎的键入者,其倾向于使用单个手指点来键击虚拟键盘中的键,并且一般根据输入加速器而不是自动校正来选取预测。这种使用模式最接近地对应于新手/新触摸屏用户以及潜在的单手(拇指)使用情况。\n[0031] 相应地,在此所描述的示例实施例允许电子设备的用户输入字符而无需从键盘转移注意力并且后续重新聚焦。在此描述的示例实施例还寻求包容不同的用户类型(例如快速键入者和精确键入者)以及不同用户类型所提出的不同的效率挑战。\n[0032] 说明书以及权利要求书中使用数量词“一个”、“某个”意味着包括其引入的一个或多于一个的特征,除非另外说明。因此,在“生成字符集合”中所使用的“字符集合”可以包括生成一个或多于一个的字符集合。相似地,尤其是在通过数量词已经引入特征之后使用代词“该”或“所述”意味着包括其指代的一个或多于一个的特征(除非另外声明)。因此,在“显示所述已生成字符集合”中所使用的术语“所述已生成字符集合”包括显示一个或多个已生成字符集合。对在此所包含的方位(例如水平和垂直)的引用是相对于图形用户界面的屏幕方位,而不是任何物理方位。\n[0033] 在一个实施例中,提供一种方法,包括:从在显示器上所显示的虚拟键盘接收字符输入;基于输入字符生成一个或多个预测输入字符集合;在虚拟键盘内靠近与所述一个或多个已生成预测输入字符集合中的后续候选输入字符相对应的键的位置处显示已生成预\n测输入字符集合中的一个或多个。\n[0034] 在另一实施例中,提供一种电子设备,其包括处理器以及耦合到所述处理器的显示器。所述处理器可以被配置为执行在此所描述的方法。\n[0035] 在另一实施例中,提供一种在电子设备的显示器上所提供的键盘。所述键盘可以包括多个键,每个键与多个字符中的一个或多个不同字符相对应。响应于接收字符输入,所述键盘被配置为执行在此所描述的方法。\n[0036] 这些示例实施例以及以下所描述的内容允许电子设备的用户输入字符集合,而无需从虚拟键盘转移注意力并在后续重新聚焦。预测并且提供用户可能预期的各个选项并且在键盘上适当的位置处进行该操作允许关注点保留在键盘上,这增强了字符输入的效率、精度以及速度。\n[0037] 图1是根据在此公开的示例实施例的电子设备100的框图。电子设备100包括多个\n组件,例如主处理器102,其控制电子设备100的整体操作。通过通信子系统104来执行包括数据通信和语音通信的通信功能。解码器106对电子设备100所接收到的数据进行解压和解密。通信子系统104从网络150接收消息并且将消息发送到网络150。网络150可以是任何类型的网络,包括但不限于有线网络、数据无线网络、语音无线网络和支持通过相同物理基站的语音通信和数据通信的双模无线网络。电子设备100可以是电池供电设备,并且包括电池接口142,用于容纳一个或多个电池144。\n[0038] 主处理器102耦合到附加子系统并且可以与附加子系统交互,该附加子系统例如\n随机存取存储器(RAM)108、存储器110(例如硬驱、CD、DVD、闪存或类似的存储设备)、一个或多个致动器120、一个或多个力传感器122、辅助输入/输出(I/O)子系统124、数据端口126、扬声器128、麦克风130、短距离通信132、其它设备子系统134以及触摸屏118。\n[0039] 触摸屏118包括显示器112,具有连接到控制器116的触摸有效覆盖层114。通过触摸有效覆盖层114来执行与图形用户界面(GUI)(例如在显示器112上呈现并且显示为用于\n输入字符的GUI的虚拟键盘、或web浏览器)的用户交互。主处理器102经由控制器116与触摸有效覆盖层114进行交互。字符(例如文本、符号、图像和其它项)经由主处理器102显示在触摸屏118的显示器112上。当用户在与字符关联的位置处对触摸屏进行触摸时,所述字符得以输入。\n[0040] 触摸屏118连接到并且受控于主处理器102。相应地,电子设备100的主处理器102可以执行触摸事件检测和/或触摸事件位置的确定。在一些实施例中,触摸事件包括手指键击、手指滑动、手写笔滑动、手指或手写笔长按或手指按下达到预定时间段等。\n[0041] 虽然已经描述了触摸屏的具体实施例,但可以使用用于电子设备的任何合适类型的触摸屏,包括电容式触摸屏、电阻式触摸屏、表面声波(SAW)触摸屏、嵌入式光电管触摸屏、红外(IR)触摸屏、基于的应变仪的触摸屏、光学成像触摸屏、色散信号技术触摸屏、声脉冲识别触摸屏或受抑全内反射触摸屏,但不限于此。任何给定实施例中所使用的触摸屏技术的类型将取决于电子设备及其特定应用和要求。\n[0042] 主处理器102也可以与定位系统136交互,用于确定电子设备100的位置。可以通过多种方式(例如通过计算机、通过包括或不包括于电子设备100中的全球定位系统(GPS)、通过Wi-Fi网络或通过使得手动地输入位置)来确定位置。也可以基于日程表条目来确定位\n置。\n[0043] 主处理器102也可以与方位传感器197交互,以用于感测设备的方位。在一些示例中,方位传感器197可以是一个或多个加速器。在一些示例中,方位传感器可以检测沿着多个正交轴的加速度。主处理器102也可以与一个或多个接近度传感器198交互,以用于检测附近物体的接近度。在一些示例中,接近度传感器可以是一个或多个红外发射机/传感器配对。主处理器102也可以与环境光传感器199交互,用于检测环境光的强度和/或色温。\n[0044] 在一些实施例中,为了识别网络接入的订户,电子设备100使用插入到SIM/RUIM接口140的订户身份模块或可移除用户身份模块(SIM/RUIM)卡138,以用于与网络(例如网络\n150)的通信。或者,用户识别信息可以被编程到存储器110中。\n[0045] 电子设备100还包括主处理器102所执行并且典型地存储在存储器110中的操作系\n统146和程序148。附加应用可以通过网络150、辅助I/O子系统124、数据端口126、短距离通信子系统132或任何其它合适的子系统而加载到电子设备100。\n[0046] 所接收到的信号(例如文本消息、电子邮件消息或网页下载)通过通信子系统104\n处理,并且这种处理过的信息然后提供给主处理器102。主处理器102处理所接收到的信号,以输出到显示器112、辅助I/O子系统124或它们二者的组合。用户可以编写数据项(例如电子邮件消息),其可以通过通信子系统104在网络150上被发送。对于语音通信,电子设备100的整体操作是相似的。扬声器128输出从电信号转换的可听信息,麦克风130将可听信息转换为电信号进行处理。\n[0047] 图2是示出根据在此公开的示例实施例的用于预测字符集合的示例方法200的流\n程图。如在此所使用的那样,预测器(例如预测算法、程序或固件)包括指令集,当由处理器(例如主处理器102)执行时可以用于对所接收到的歧义文本输入消除歧义,并且提供用户可能预期的各种选项,例如字符集合(例如词或短语、首字母缩写词、姓名、俚语、口语、缩写词或其任何组合)。预测器也可以接收无歧义文本输入,并且基于若干因素(例如上下文、使用频率以及本领域技术人员所理解的其它因素)来预测用户潜在预期的字符集合。预测器可以预测完成所接收的文本输入(被称为自动完成)的字符集合,校正所接收到的文本输入(被称为自动校正),或其组合(例如在校正先前所输入的文本输入的同时完成文本输入)。\n[0048] 例如,在预测器中是驻留在电子设备100的存储器110中的程序148。相应地,方法\n200包括预测器,用于基于所输入的字符来生成与后续候选输入字符相对应的字符集合。应理解,虽然在此所描述的示例实施例针对处理器所执行的预测器程序,但预测器可以由虚拟键盘控制器来执行。\n[0049] 方法200在块210开始,其中,处理器从触摸屏上显示的虚拟键盘接收一个或多个字符输入。然而,如在此使用的那样,字符可以是任何文字数字字符,例如字母、数字、符号、标点符号等。所输入的字符可以显示在输入字段(例如以下图3-图9中进一步描述的输入字段330)中,输入字段显示用户使用虚拟键盘所输入的字符。\n[0050] 在块220,处理器基于在块210中接收到的输入而生成一个或多个字符集合,例如词或短语、首字母缩写词、姓名、俚语、口语、缩写词或其任何组合。字符集合可以包括例如电子设备的存储器的字典中所存储的字符集合(例如词或首字母缩写词)、用户先前所输入的字符集合(例如姓名或首字母缩写词)、基于层级或树形结构的字符集合、其组合、或处理器基于所定义的布置而选择的任何字符集合。\n[0051] 在一些实施例中,处理器可以使用用于生成字符集合的上下文数据。上下文数据考虑输入字段中的字符的上下文。上下文数据可以包括关于例如用户先前所输入的字符集合的信息、输入字段中所输入的字符的语法属性(例如在句子中是需要名词还是动词作为下一字符集合)、或其任何组合。例如,如果字符集合“the”已经输入到显示器,则处理器可以使用上下文数据来确定名词(而非动词)将是在“the”之后的下一字符集合。类似地,如果输入字符集合“Guy Lafleur played in the National Hockey”,则基于上下文,处理器可以确定后续字符集合可能是“League”。使用上下文数据,处理器也可以确定所输入的字符是否不正确。例如,给定QWERTY虚拟键盘上的这些字符的接近度,处理器可以确定所输入的字符应为“w”而不是“a”。\n[0052] 处理器102也可以包括后缀作为字符集合的部分,例如动词结尾、形容词结尾、不同动词时态等,或用于构成完全字符集合的任何其它变形。处理器102也可以使用所接收到的输入来生成后缀,例如复数结尾或复数形式。任何已知的预测技术或软件可以用于在块\n220在生成字符集合中处理所接收到的输入和上下文数据。\n[0053] 在一些示例实施例中,在块220所生成的字符集合可以开始于在块210作为输入而接收的相同字符。例如,如果已经使用虚拟键盘接收字符“pl”作为输入,则这些字符将由处理器接收作为输入。在这些实施例中,在块220所生成的字符集合将全部开始于“pl”,例如“please”或“plot”。对于已生成字符集合的长度没有限制。关于后缀,如果用户已经输入字符“child”,例如,则在块220所生成的后缀可以包括“-ren”,以构成字符集合“children”,或包括“-ish”,以构成字符集合“childish”。\n[0054] 在一些示例实施例中,在块220所生成的字符集合可以简单地包括与在块210作为输入而接收的相同字符。例如,如果所接收到的输入是“x”,则处理器可以生成“example”或“xylophone”作为字符集合。可以使用上下文数据来生成这些字符集合。\n[0055] 在另一示例实施例中,如果尚未接收到输入或已经使用分隔符(例如),则已生成字符集合可以放置在与已生成字符集合的首字母对应的后续候选输入字符上。\n[0056] 接下来,在块230,可以对来自块220的已生成字符集合进行排序。排序反映用户可能期望的候选字符集合或与另一候选字符集合相比用户可能选取的候选字符集合的可能\n性。\n[0057] 在一些实施例中,在块230,在排序中可以包括上下文数据。在一些实施例中,电子设备可以被配置为基于先前所输入的字符集合,将名词或形容词排序得较高。如果所输入的字符集合建议名词或形容词,则在块230,处理器可以使用上下文数据来将与用户正键入的内容对应的名词或形容词排序得较高。在附加实施例中,也可以对包括形容词后缀(例如“-ish”或“-ful”)、短语、复数或其组合的字符集合进行排序。上下文数据可以增加用户期望较高排序的已生成字符集合的可能性。在一些实施例中,上下文数据可以包括关于用户当前正运行或使用哪些程序或应用的信息。例如,如果用户正运行电子邮件应用,则与用户的电子邮件系统相关联的字符集合(例如来自用户的联系人列表的字符集合)可以用于确\n定排序。N元语法(包括一元语法、二元语法、三元语法等)也可以用在字符集合的排序中。或者,电子设备或用户的地理位置可以用在排序处理中。如果例如电子设备识别出用户位于他/她的办公室,则通常与工作关联的字符集合可以在列表中被排序得较高。另一方面,如果设备确定用户在海滩,则通常与海滩关联的字符集合可以在列表中被排序得较高。\n[0058] 在块240,处理器基于排序来确定显示哪些字符集合。例如,较高排序的字符集合更有可能被确定应显示它们。排序器(例如排序算法、程序或固件)包括当处理器(例如主处理器102)执行时可以执行以对此确定排序的指令集。在一些实施例中,排序器是驻留在电子设备100的存储器110中的程序146。\n[0059] 在块250,所确定的字符集合显示在键盘上与预测为用户可能输入的词中的下一\n字符的后续候选输入字符相对应的位置处。例如,如果用户输入“pl”,则词“please”将显示在字母“e”——该词的后续候选输入字符——的键上。类似地,词“plus”也将显示在字母“u”——另一后续候选输入字符——的键上。后续候选输入字符可以是任何字母数字字符,例如字母、数字、符号、标点符号等。\n[0060] 在一些实施例中,已生成字符集合显示在虚拟键盘上与后续候选输入字符关联的键处或附近。其在键处或附近的放置方式可以取决于例如词的大小或附近后续候选输入字符的数目以及它们的关联字符集合的大小。\n[0061] 可以通过将会吸引用户注意力的方式来显示字符集合。在一些实施例中,可以通过使得以所显示的字符外观字符集合对于用户更容易看见的方式来增强或改变其外观。例如,可以通过背光、高亮、加下划线、加粗、斜体、使用其组合或通过用于使得所显示的字符集合更可见的任何其它方式来显示所显示的字符集合。\n[0062] 当在块240识别用于显示的字符集合时,处理器可以将所显示的字符集合限制为\n顶部少数几个、或在较高排序的字符集合当中进行选取。例如,如果两个字符集合都排序得较高,并且这些字符集合否则将显示在同一键处,则电子设备可以被配置为仅显示最高排序的已生成字符集合。在其它实施例中,这两个字符集合可以显示在同一键处或其周围,或一个字符集合显示在一个键处,而另一字符集合显示在另一键处。在一些示例实施例中,处理器可以考虑显示器大小来限制已生成字符集合的数量。\n[0063] 在一些实施例中,排序可以用于在当显示在邻近后续候选输入字符上时将(例如,因为它们各自的长度)彼此重叠的两个或更多个字符集合之间进行选取。在此情况下,电子设备可以被配置为在键盘上显示较高排序的字符集合。例如,如果在输入字母“E”之后字符集合“establishment”在块240所生成的列表中排序第一,则可以在“S”键处显示\n“establishment”。然而,当显示在虚拟键盘上时,其长度可能占据“A”键和“D”键上的一些空间,潜在地阻挡了将显示在这些键上或其附近的字符集合。在块240,可以确定将完全显示“establishment”,并且在第一排序的字符集合“establishment”之前,在“A”键或“D”键处将不会放置其它字符集合。仅显示最高排序的字符集合的可选方式将是使用字符集合的缩写词或所识别的缩短形式,有效地允许长字符集合与在虚拟键盘的邻近键上的其它字符集合同时地显示在单个键的边界内或几乎在其之内。\n[0064] 图3-9示出根据在此公开的示例实施例的具有虚拟键盘320的触摸屏118的一系列\n示例前视图。开始于图3A,触摸屏118包括触摸有效的虚拟键盘320。虚拟键盘320的位置是可变的,从而虚拟键盘320可以放置在触摸屏118上的任何位置处。触摸屏118可以被配置为同时检测一个或多个对象的位置和可能的按压。触摸屏118包括两个区域:(1)输入字段\n330,其在用户已经输入字符之后显示这些字符;(2)虚拟键盘320,其从用户接收输入。如贯穿本发明所描述的那样,虚拟键盘在该键盘上与可能接收为来自用户的输入的后续候选输入字符相对应的位置处显示字符集合。\n[0065] 可以通过任何字符集合(例如词、短语、首字母缩写词、姓名、俚语、口语、缩写词或其任何组合)来实现图3-9所示的示例和实施例。\n[0066] 如图3A所示,触摸屏118显示标准QWERTY虚拟键盘320;然而,可以显示任何传统键配置,以在设备中使用,例如AZERTY、QWERTZ、或具有键2上的“ABC”、键3上的“DEF”等的基于国际电信联盟(ITU)标准(ITU E.161)的布局。虚拟键盘320包括空格键350以及可以提供不同输入(例如标点、字母、数字、回车或返回键以及功能键)的其它键。虽然虚拟键盘320示出为具有正方形,但其可以具有任何其它形状(例如弧形)。\n[0067] 如图3A所示,触摸屏118显示输入字段330,其显示用户使用虚拟键盘320所输入的字符。输入字段330包括光标340,其可以是下划线(如所示)或任何其它形状(例如垂直线)。\n光标340表示将插入下一输入字符、所选字符或所选字符集合的字符空间。\n[0068] 如图3B所示,当用户输入字符(在该示例中,“P”)时,该字符显示在输入字段330中,光标340移动到将插入下一输入字符或词的字符空间。在输入字符之后,如果输入多于一个的字符,则预测器(例如预测算法或电路)可以生成全开始于字符“P”的字符集合360(对于该实施例)。已生成字符集合显示在键盘上与可能接收为来自用户的输入的后续候选输入字符相对应的位置处。如所述那样,已生成字符集合360可以显示在与后续候选输入字符对应的键处或其附近(例如在虚拟键盘320的各个A、E、H和O键之下)。实际上,稍微改变已生成字符集合的显示位置可以解决后续候选输入字符的过度拥挤,有效地允许显示更多的字符集合。\n[0069] 在图3B所示的示例中,“P”接收为输入,预测器生成若干字符集合360,其显示在与每个已生成字符集合的后续候选输入字符相对应的键处。如图3B所示,因为在“People”的“P”之后的下一字母是“E”,所以“People”放置在“E”键处;因为在“Paul”的“P”之后的下一字母是“A”,所以“Paul”将放置在“A”键处;因为在“Phone”的“P”之后的下一字母是“H”,所以“Phone”将放置在“H”键处;诸如此类。应注意,字符集合中的任何字符可以大写或小写。\n[0070] 在图3C所示的实施例中,“L”是触摸屏所接收到的下一输入,对于如输入字段330所示的处于第三字符位置中的光标340的当前位置,预测器确定在与后续候选输入字符对应的键处(例如在虚拟键盘320的各个A、E和U键之下)显示的若干已生成字符集合360。在另一实施例中,已生成字符集合360可以呈现为包括后续候选输入字符。例如,可以显示字符集合“Please”,从而字符“Pl”显示在“E”键上的“E”字符之前,字符“ase”可以放置在“E”键上的“E”字符之后。此外,在该实施例或其它实施例中,可以通过不同于“Pl”和“ase”的方式来呈现所显示的“E”,由此在使得其容易可见的同时使得用户能够仍然将其识别为“E”键,从而用户可以输入已生成字符集合“Please”或输入字符“E”。“E”可以大写或小写。在其它实施例中,可以在键处显示后缀。使用以上字符集合“Please”的示例,“ase”可以显示在“E”键处,从而将出现字符集合片段“-ease”或“-Ease”。\n[0071] 如果用户输入已生成字符集合,则该字符集合放置在输入字段330中。图3D可见该情况,其中,用户已经输入已生成字符集合“Please”,导致其在输入字段中的放置。如果用户想要输入新的字符集合,则在字符集合之后插入空格。用户可以通过各种方式来输入已生成字符集合,包括通过与输入字符键的方式不同的方式。例如,为了输入已生成字符集合,用户可以使用手指或手写笔来滑动已生成字符集合。如在此使用的那样,滑动包括滑动字符集合自身或在字符集合附近进行滑动或触摸。对于后一实施例,设备可以检测字符集合附近的滑动或触摸,无论其为已生成字符集合还是预测字符集合(以下将要描述),通过使用预测器,确定用户期望输入的字符集合。在另一实施例中,用户可以按下键达到预定时间段(例如长按)。该键可以是例如与字符集合中的后续候选输入字符对应的键。因此,如果期望输入字符集合“Please”而不是“E”,则电子设备100可以被配置为要求按下“E”键达到预定时间段以触发“Please”的输入。\n[0072] 在已经确定已生成字符集合360之后,如图3D所示,可以显示预测字符集合380,在此示出在空格键350处。预测字符集合380可以不同于已生成字符集合360(如图3A-3C所\n示),并且是系统对于预测用户可能预期的下一字符集合的尝试。预测器用于确定预测字符集合380。至于所显示的已生成字符集合360,可以通过任何多种方式将预测字符集合380接收为输入,包括以手指或手写笔接收预测字符集合的滑动,或在预定时间段内接收键(例如空格键或另一指定键)的按压(长按)。\n[0073] 在图4A中,电子设备100从虚拟键盘320接收“C”作为输入。此外,预测器部分地基于所接收到的输入来确定已生成字符集合460。在图4B中,电子设备100从虚拟键盘接收“O”作为输入,并且在输入字段330中输出“O”。如图4A所示,在接收到“C”字符输入之后,在“O”键处显示字符集合“count”。由于以仅输入“O”字符的方式按压“O”键,因此如图4B所示,“O”显示为当前所输入的字符集合的第二字符,用户不输入字符集合“count”。可选地,如果用户想要输入已生成字符集合“count”,则用户可以通过与输入“O”键的方式不同的方式(例如通过滑动字符集合“count”或与键入相反,通过在“O”键上长按)在图4A中输入“O”键。返回图4B,在输入“O”之后,已生成字符集合460显示在与后续候选输入字符对应的键处,如图\n4B所示。\n[0074] 图5示出显示随后为空格的字符集合“contact”的输入字段330。在此情况下,用户在“N”键处输入如图4B所示的已生成字符集合“contact”460。返回参照图5,在输入字段中,在所生成的词之后自动插入字符。所预测的词“me”580现在显示在空格键350上。\n[0075] 如果接收所预测的词“me”580作为输入,则词“me”580然后显示在后随如图6A所示的空格的输入字段330中,然后示出在空格键350上所显示的所预测的词680\n“immediately”。在完成的词和空格已经显示在输入字段330中之后,呈现所预测的词。\n[0076] 图6B示出在用户已经按下“T”键之后触摸屏118已经接收“T”字符作为输入的示例。在此情况下,触摸屏118在输入字段330中显示“t”。已生成字符集合660(例如\n“Tuesday”、“today”和“Thursday”)显示在后续候选输入字符的键处。图6C示出在用户按下“O”键而不是如图6B所示输入已生成字符集合660“today”之后电子设备100已经接收“o”字符作为输入的示例。因此,“o”现在显示在输入字段330中。\n[0077] 图7示出在用户选择空格键之后触摸屏118已经接收字符作为输入的示\n例。在此情况下,触摸屏118插入字符,然后在空格键350处显示预测字符集合\n“talk”780。\n[0078] 图8A示出在用户按下“D”键之后触摸屏118已经接收“d”字符作为输入的示例。在此情况下,触摸屏118在输入字段330中显示“d”,并且在与后续候选输入字符对应的键上显示已生成字符集合“discuss”、“divide”和“dinner”860。在该示例实施例中,虽然字符“I”从不被接收作为输入,但电子设备100确定已生成字符集合“discuss”、“divide”和\n“dinner”860是要显示在触摸屏上的字符集合。在该实施例中,因为这些字符集合中的每一个均具有“i”作为第二字母,所以触摸屏118使用字符集合中的另一后续字母(例如在“S”键之下的“discuss”、在“V”键之下的“divide”以及在“N”键之下的“dinner”)来显示已生成字符集合。在其它实施例中,已生成字符集合“discuss”、“divide”和“dinner”860可以显示在“I”键处或其附近。\n[0079] 图8B示出在用户选取已生成字符集合“discuss”860之后触摸屏118已经接收字符集合“discuss”作为输入的示例。在该示例中,触摸屏118在空格键350处显示预测字符集合“this”880。\n[0080] 图9示出在用户选择“this”作为期望的预测字符集合880之后触摸屏118接收\n“this”字符集合作为输入的示例。在该示例中,触摸屏118在空格键350处显示预测字符集合“now”980。\n[0081] 触摸屏118也可以在消息的键入期间的任何时间接收标点作为输入。如果用户决\n定在输入已生成字符集合或预测字符集合之后使用标点,则删除字符(例如,在图9的光标之前的字符),并且插入所输入的标点。\n[0082] 图10A和图10B示出根据在此公开的实施例的触摸屏的示例前视图。图10A示出触\n摸屏118在文本条1030中显示“The co”并且若干已生成字符集合1060显示在后续候选输入字符处的示例。在该示例中,触摸屏118在“T”键之下显示已生成字符集合“cottage”1060,在“O”键之下显示已生成字符集合“cook”1060,在“A”键之下显示已生成字符集合“coat”\n1060,在“F”键之下显示已生成字符集合“coffee”1060。\n[0083] 图10B示出在用户已经选择已生成字符集合1060“cook”之后触摸屏118接收字符集合“cook”作为输入的示例。字符集合“cook”连同字符一起插入到输入字段1030中。在该示例中,字符集合包括新的预测字符集合(例如词1090、后缀1092(例如在“E”键之下的“-ed”和在“I”键之下的“-ing”)以及复数1094(例如在“S”键之下的“-s”)),其全部显示在后续候选输入字符处。每个所预测的词1090、后缀1092或复数1094位于匹配所预测的词1090、后缀1092或复数1094的首字母的各个后续候选输入字符上。现在,用户具有所加入的输入预测字符集合1090、1092和1094的选项。通过与上述相同的方式来进行输入。在一些实施例中,当触摸屏118接收后缀1092或复数1094作为输入时,删除光标1040与“cook”之间的字符,并且将对应输入后缀或复数加入到“cook”的末尾。\n[0084] 图11A示出触摸屏118在文本条1130中显示“Did she co”并且若干已生成字符集合1160显示在后续候选输入字符处的示例。在该示例中,触摸屏118在“R”键之下显示已生成字符集合“correct”1160,在“P”键之下显示已生成字符集合“copy”1160,在“N”键之下显示已生成字符集合“contact”1160。虽然在图10A和图11A的文本条中提供“co”,但触摸屏在已生成字符集合的各个文本条1030和1130中基于字符的上下文而显示不同的已生成字符\n集合。例如,在图10A中,字符“co”跟随“The”,这说明后面应是以“co”开始的名词。在图11A中,字符“co”跟随代词,这说明后面应是以“co”开始的动词。如上所述,上下文数据可以用于基于例如文本条中的字符集合或用户进行的先前动作来确定特定字符集合何时是更适\n合的。\n[0085] 图11B示出在用户已经选择已生成字符集合1160“correct”之后触摸屏118接收字符集合“correct”作为输入的示例。在该示例中,字符集合“correct”插入在输入字段1130中,并且字符也被插入。预测字符集合(例如词1190和后缀1192)现在显示在后续候选输入字符处。在该示例中,虽然后缀“-ing”和“-ily”都对应于“I”键,但触摸屏118以“I”键来显示“-ing”,并且以“L”键来显示“-ily”。如上所述,可以基于排序、上下文数据或二者的组合而将所预测的后缀分配给特定键。在该实施例中,“-ing”后缀可能具有比“-ily”后缀更高的排序,因此分配给“I”键。相应地,基于对应“L”字符在“-ily”后缀中而将“-ily”后缀分配给“L”键。\n[0086] 图12A示出触摸屏118在文本条1230中显示“The ch”并且若干已生成字符集合\n1260显示在后续候选输入字符处的示例。在该示例中,已生成字符集合1260包括“child”和“chimp”。在该实施例中,虽然“child”和“chimp”中的第三字母是相同的,但触摸屏在“I”键之下显示“child”,在“C”键之下显示“chimp”。可以基于(如上所述的)排序来确定哪些已生成字符集合在哪个候选输入键之下。如该实施例所示,即使键可能不与文本条1230中的字符的任何后续字符关联,触摸屏118也可以在该键上显示已生成字符集合(在此情况下,\n“chimp”)。\n[0087] 图12B示出在用户已经选择已生成字符集合1260“child”之后触摸屏118接收字符集合“child”作为输入的示例。在输入字段1230中插入字符集合“child”,在该示例中,不插入字符。预测字符集合(例如词1290和后缀1292)现在显示在后续候选输入字符处。\n在该示例中,虽然后缀“-ish”和“-ily”都对应于“I”键,但触摸屏118以“I”键来显示“-ish”,并且以“L”键来显示“-ily”。如上所述,可以基于排序、传统数据或二者的组合而将所预测的后缀分配给特定键。在该实施例中,“-ish”后缀可能具有比“-ily”后缀更高的排序,因此分配给“I”键。相应地,基于对应“L”字符在“-ily”后缀中而将“-ily”后缀分配给“L”键。\n[0088] 图13A示出触摸屏118在文本条1330中显示“The texture and”并且若干预测字符集合(例如词1390)显示在后续候选输入字符处的示例。图13B示出在用户已经选择预测字符集合“taste”之后触摸屏118接收字符集合“taste”作为输入的示例。在该示例中,在“taste”之后插入字符。因此,预测字符集合(例如词1390和后缀1392)显示在后续候选输入字符处。\n[0089] 图14A示出触摸屏118在文本条1430中显示“The hospital staffc”并且若干已生成字符集合1460显示在后续候选输入字符处的示例。图14B示出在用户已经选取已生成字符集合“care”之后触摸屏118接收字符集合“care”作为输入的示例。已生成字符集合“care”现在连同一起放置在输入字段1430中,预测字符集合(例如词1490和后缀\n1492)显示在后续候选输入字符处。图14C示出在用户已经选取所预测的后缀“-ful”之后触摸屏118接收后缀“-ful”作为输入(由此将字符集合“care”修改为“careful”)的示例。因此,字符集合“careful”现在插入输入字段1430中。注意,在一些实施例中,输入词或后缀可以修改所输入的词或词片段。例如,如果用户输入“spicy”,并且“ness”是所预测的后缀并且被输入,则“spicy”将改变为“spiciness”,去掉“y”并且添加“iness”。在其它实施例中,“happy”可以改变为“happiness”,或“conceive”可以改变为“conceivable”。\n[0090] 图15示出歧义键盘1520的示例,其可以具有分配给一个键的多个字符(例如,比如电话小键盘,其中,“A”、“B”和“C”分配给键2;“D”、“E”和“F”分配给键3,诸如此类)。例如,字符“Q”和“W”可以分配给一个键,字符“E”和“R”分配给另一键。在该示例中,用户已经通过按下随后为“L”键的“op”键而输入字符“Ol”。使用预测器,已生成字符集合1560显示在后续候选输入字符处。由于首先按下的键可能输入“O”或“P”,并且其次按下的键输入“L”,因此已生成字符集合1560将以“OL”或“PL”开始,例如图15中的已生成字符集合1560所示。\n[0091] 图16示出歧义键盘1620的另一示例。在该示例中,已生成字符集合“plum”和\n“olive”1660显示在“ui”键附近。字符集合也可以已经显示在“ui”键处或其附近。在此,两个字符集合都对应于与键对应的特定输入,即plum的第三字母是“u”,olive的第三字母是“i”。触摸屏118(经由主处理器102)可以基于用户的动作而在任一字符集合之间进行区分。\n例如,用户可以在“ui”键的右边或其附近滑动以输入“olive”,或在“ui”键的左边或其附近滑动以输入“plum”。\n[0092] 可以通过任何字符集合(例如词、短语、首字母缩写词、姓名、俚语、口语、缩写词或其任何组合)来实现图17、图18和图19所示的示例和实施例。\n[0093] 图17以流程图形式示出根据一些实施例的方法1700。方法1700可以通过处理器\n(例如主处理器102)而得以实现,并且存储在有形计算机可读介质(例如硬驱、CD、DVD、闪存等)上。在块1710,处理器接收字符输入。在块1720,处理器在触摸屏上的后续候选输入字符的键处或其附近显示已生成字符集合,如上所述。\n[0094] 在块1730,处理器接收用户所选取的已生成字符集合的输入。如果用户并未选取在后续候选输入字符的键处或其附近的已生成字符集合,则所述方法重新开始于块1710,其中,触摸屏可以接收另一字符输入。如果接收已生成字符集合作为输入,则在块1740,将已生成字符集合和字符插入输入字段(例如图3-图9的输入字段330)中。如上所述,用户可以例如通过在已生成字符集合处或其附近滑动或通过长按与后续候选输入字符对\n应的键来选取已生成字符集合。\n[0095] 继续在块1750处,如果处理器检测到不要插入标点,则所述方法重新开始于块\n1710。如果要插入标点,则所述方法继续到块1760,其中,删除字符并且适当的标点加入到输入字段。在块1760之后,所述方法在块1710重又开始。\n[0096] 图18是示出根据一些实施例的示例方法1800的流程图。方法1800可以通过处理器(例如主处理器102)而得以实现,并且存储在有形计算机可读介质(例如硬驱、CD、DVD、闪存等)上。在块1810,处理器接收字符输入。\n[0097] 在块1820,处理器在键盘上与触摸屏上的后续候选输入字符相对应的位置处或附近显示已生成字符集合。在块1830,处理器接收用户所选取的已生成字符集合的输入。如果用户并未选取在后续候选输入字符的键处或附近的已生成字符集合,则所述方法重新开始于块1810,其中,处理器可以接收另一字符的输入。如果接收已生成字符集合作为输入,则在块1840,已生成字符集合和字符插入输入字段(例如图3-9的输入字段330)中。如上所述,用户可以例如通过在已生成字符集合处或其附近滑动或通过按下与后续候选输入字符对应的键达到预定时间段来选取已生成字符集合。\n[0098] 在块1850,在块1830中输入已生成字符集合之后,与已生成字符集合不同的预测字符集合显示在键盘的空格键上。通过使用预测器来确定块1850中所显示的预测字符集\n合。在一些实施例中,一个或多个预测字符集合可以放置在除了空格键之外的一个或多个键上。\n[0099] 在块1860,处理器可以基于用户输入来确定是否已经接收预测字符集合的输入。\n如果因为用户尚未选取预测字符集合所以触摸屏尚未接收到预测字符集合的输入,则所述方法在块1810重新开始。如果处理器已经接收到预测字符集合的输入,则所述方法继续到块1870,其中,预测字符集合和字符插入在输入字段中。自此,方法1800可以返回到块1810或块1850。\n[0100] 即使方法1800不显示方法1700所示的标点说明,如块1750和1760所示的标点说明也可以类似地应用于方法1800。\n[0101] 图19是示出根据一些实施例的示例方法1900的流程图。在框1910,预测字符集合显示在对应后续候选输入字符处。在这些实施例中,尚未接收到输入,或尚未激活分隔符(例如输入)。在此,一个或多个预测字符集合(例如词、后缀或其组合)放置在与已生成字符集合的首字母对应的后续候选输入字符上。移动到框1920,基于用户的选择来确定触摸屏是否接收到字符集合(例如词或后缀)的输入。如果接收到输入,则所述方法移动到块1930,其中,预测字符集合和字符插入输入字段中。然后,所述方法在块1910重又开始。如果触摸屏未接收到字符集合的输入,则触摸屏可用于接收字符(如图17的块1710或图18的块1810所描述的那样),并且继续方法(例如图17的方法1700或图18的方法1800甚至图19的方法1900)。\n[0102] 图20示出具有输入字段2030的虚拟键盘2020的另一示例。字符集合“Please con”由触摸屏接收为输入,并且随后有光标2040而显示在输入字段2030中,光标2040可以是垂直线(如所示那样)或任何其它形状(例如上述下划线)。对于当前词内的光标2040的当前位置(其处于当前词的第四字符位置中,如输入字段2030所示),预测器部分地基于所接收到的输入来确定一个或多个已生成字符集合2060。当前词是光标当前所位于的词。在所示示例中,显示已生成字符集合2060“cones”、“contact”、“construction”和“connect”。对于如输入字段2030所示的在第三字符位置中的光标2040的当前位置,每个已生成字符集合2060显示在与后续候选输入字符对应的键处(例如,分别在虚拟键盘2020的E、T、S和N键之下)。\n[0103] 在所示示例中,已生成字符集合显示在与后续候选输入字符关联的虚拟键盘2020的键处或其附近。在与后续候选输入字符对应的键处或其附近显示已生成字符集合2060取决于例如已生成字符集合2060的大小以及与其它后续候选输入字符的附近键相关联的已\n生成字符集合的大小。当与虚拟键盘2020中的同一行键中的附近键相关联的已生成字符集合太大而无法在不彼此重叠的情况下或在已生成字符集合之间没有预定距离的情况下同\n时显示时,处理器102限制显示已生成字符集合。处理器102可以使用以下项之一或任何组合来限制已生成字符集合:每个已生成字符集合的排序、每个已生成字符集合的大小以及要显示的以保持已生成字符集合之间的预定距离的每个已生成字符集合之间的距离。这会导致显示比虚拟键盘2020中的关联键更大的一个或多个已生成字符集合。\n[0104] 在一些示例中,如果两个已生成字符集合排序都很高,并且这些字符集合否则将显示在附近键处,但无法以显示文本大小显示并且仍然保持已生成字符集合之间的预定距离,则电子设备将被配置为仅显示最高排序的已生成字符集合。这导致显示最可能的已生成字符集合。在其它示例中,仅显示已生成字符集合中的最长的。这有益于允许较快输入较长的词节省时间和处理周期,由此促进预测性文本输入解决方案。在其它示例中,仅显示最短的已生成字符集合。这在至少针对一些用户来说较短词可能更普遍时可能是有益的,由此允许较快输入词,这样节省时间和处理周期,由此促进预测性文本输入解决方案。\n[0105] 在一些示例中,处理器102可以仅限制在虚拟键盘2020中的同一行键中的相近/邻近键中所显示的已生成字符集合。在一些示例中,处理器102可以限制在虚拟键盘2020中的同一行键中的相近/邻近行中所显示的已生成字符集合,从而无论所生成的字符集和或每个已生成字符集合之间的距离如何,已生成字符集合都从不显示在相近/邻近键中。在这些示例中,处理器102使用排序来确定显示哪些已生成字符集合。\n[0106] 在其它示例中,当与虚拟键盘2020中的不同的行的键中的附近键关联的已生成字符集合太大而无法在彼此不重叠的情况下或在已生成字符集合之间没有预定距离的情况\n下同时显示时,处理器102可以限制要显示的已生成字符集合。在其它示例中,当与虚拟键盘2020中的相同或不同列的键中的附近键关联的已生成字符集合太大而无法在彼此不重\n叠的情况下或在已生成字符集合之间没有预定距离的情况下显示时,处理器102可以限制要显示的已生成字符集合。\n[0107] 如上所述,用户可以使用手指或手写笔来滑动已生成字符集合以输入该已生成字符集合。与之对比,可以通过使用手指或手写笔在虚拟键盘2020中键击各个键来输入单个字母。触摸屏使用触摸事件的移动和持续时间在键击事件与滑动事件之间进行区分,其细节是本领域公知的,无须赘述。虚拟键盘2020中的每个键以及要显示的每个已生成字符集合2060在触摸屏上具有关联目标区域。与每个已生成字符集合关联的目标区域可以大于\n和/或覆盖与其所关联的后续候选输入字符对应的键的目标区域以及附近键(例如同一行\n中的相近键)。用户仅需要在所显示的已生成字符集合上或其附近滑动以输入已生成字符集合。这样允许通过创建更大以及更多的可访问目标区域来快速输入已生成字符集合,由此节省时间和处理周期。在一些示例中,可以通过检测在所显示的已生成字符集合处或其附近在任何方向上的滑动来输入已生成字符集合。在其它示例中,可以仅通过检测在所显示的已生成字符集合处或其附近在特定方向上的滑动来输入已生成字符集合。所述特定方向可以与特定方向所显示的已生成字符集合的方向(例如在所示示例中,左边或右边)关\n联。在一些示例中,当滑动具有与所显示的已生成字符集合(其可以相同于或大于所显示的已生成字符集合)关联的目标区域内的初始接触点时,滑动处于所显示的已生成字符集合处或其附近。\n[0108] 触摸屏键盘的分区中的词预测\n[0109] 图21示出具有虚拟键盘2120和输入字段2130的用户界面屏幕的另一示例。字符集合“Ec”由触摸屏接收为输入,并且显示在输入字段2130中,随后是光标2140,光标2140可以是垂直线(如所示那样)或任何其它形状(例如上述下划线)。文本输入工具条2150显示在用户界面屏幕的顶部,在输入字段2130之上。预测器部分地基于针对当前词内的光标2140的当前位置(其处于当前词的第三字符位置中,如输入字段2130所示)的所接收到的输入来确定一个或多个已生成字符集合2160。当前词是光标当前所位于的词。在所示示例中,显示已生成字符集合2160“Every”、“Ecuador”和“Economy”。已生成字符集合2160显示在虚拟键盘\n2120内的所设置的位置处,而不是在与上述示例中的后续候选输入字符对应的键处。所描述的实施例中的虚拟键盘2120中的所设置的位置由虚拟键盘2120的分区(或区域)限定。在至少一些实施例中,通过划分虚拟键盘2120来限定分区。虚拟键盘2120可以划分为相等或不等的分区。分区可以基本上占据整个虚拟键盘2120或少于整个虚拟键盘2120。在一些示例中,分区可以占据用户界面屏幕的其它部分(例如输入字段2130)。在图21至图24中,虚拟键盘2120的分区由三列(例如左列、中间列和右列)限定。在其它实施例中可以使用不同数量的列。可以通过将虚拟键盘2120划分为相等的部分(即通过将虚拟键盘2120划分为三个相等大小的列)来限定各列。\n[0110] 在所示示例中,所显示的字符集合水平地(或基本上水平地)对齐,以促进通过使得所显示的已生成字符集合更容易看见而使用以及选择预测作为输入。在所示示例中,已生成字符集合显示在分离两行键的水平“间隔”条(具体地说,将顶行键与顶行之下的第二行键分离的水平条)中。这样避免了阻挡虚拟键盘2120的键,由此在增加所显示的预测的可见性的同时促进单独键的输入。所显示的已生成字符集合可以位于别处,例如在分离两个不同行的键的水平条内。\n[0111] 处理器102使用每个已生成字符集合的排序来确定显示已生成字符集合的分区。\n具有最高排序的已生成字符集合显示在与具有最高排序的已生成字符集合的后续候选输\n入字符关联的分区中。与后续候选输入字符关联的分区典型地是已生成字符集合的后续候选输入字符所处的分区(即目前所描述的实施例中的列)。在所示示例中,已生成字符集合“Economy”具有最高排序,已生成字符集合的后续候选输入字符是字母“o”。相应地,已生成字符集合“Economy”位于字母“o”所处的右列中。\n[0112] 处理器102然后确定与具有下一最高排序(即第二高排序)的已生成字符集合的后\n续候选输入字符关联的分区。如果该分区已经分配给已生成字符集合(例如最高排序的已生成字符集合,其在所示示例中分配给右列),则丢弃已生成字符集合。例如,如果已生成字符集合“Economics”具有第二高排序,则由于关联分区与分配给具有最高排序的已生成字符集合“Economy”的分区相同,因此将丢弃“Economics”的预测。处理器102然后确定与具有下一最高排序(即第三高排序)的已生成字符集合的后续候选输入字符关联的分区。如果该分区已经分配给已生成字符集合(例如最高排序的已生成字符集合),则丢弃已生成字符集合。重复该处理,直到第二分区与已生成字符集合关联,或没有已生成字符集合剩余。在所示示例中,要与已生成字符集合相关联的第二分区是左列,与第二分区(例如左列)关联的已生成字符集合是“Every”。即使字符集合“Ec”被接收作为输入(其并非词“Every”的词根),也预测字符集合“Every”。\n[0113] 处理器102然后确定与具有下一最高排序的已生成字符集合的后续候选输入字符\n相关联的分区。如果该分区已经分配给已生成字符集合(例如在所示示例中左列和右列已经分配给已生成字符集合),则丢弃已生成字符集合。例如,如果已生成字符集合\n“Everyone”具有下一最高排序,则由于关联分区是已经分配给已生成字符集合“Every”的左列,因此将丢弃“Everyone”的预测。处理器102然后确定与具有下一最高排序的已生成字符集合的后续候选输入字符关联的分区。如果该分区已经分配给已生成字符集合,则丢弃已生成字符集合。重复该处理,直到第三分区与已生成字符集合相关联(例如直到分配了中间列),或没有已生成字符集合剩余。在所示示例中,要与已生成字符集合相关联的第三分区是中间列,与第三分区(例如中间列)关联的已生成字符集合是“Ecuador”。\n[0114] 在所示示例中,虚拟键盘2120具有三个分区。如果使用更多分区,则该处理将继续,直到分区与已生成字符集合相关联,或没有已生成字符集合剩余。\n[0115] 图22示出具有虚拟键盘2120和输入字段2130的用户界面屏幕的另一示例。字符\n“T”由触摸屏接收为输入,并且显示在输入字段2130中,随后是光标2140,光标2140可以是垂直线(如所示那样)或任何其它形状(例如上述下划线)。预测器部分地基于针对当前词内的光标2140的当前位置(其处于当前词的第二字符位置中,如输入字段2130所示)的所接收到的输入来确定一个或多个已生成字符集合2160。在所示示例中,显示已生成字符集合\n2160“Thanks”和“To”。显示比分区更少的已生成字符集合,意味着仅两个预测存在,或预测因寻求将已生成字符集合与已经分配给另一已生成字符集合的分区相关联的冲突而耗尽。\n[0116] 图23示出具有虚拟键盘2120和输入字段2130的用户界面屏幕的另一示例。字符集合“An”由触摸屏接收为输入,并且显示在输入字段2130中,随后是光标2140,光标2140可以是垂直线(如所示那样)或任何其它形状(例如上述下划线)。预测器部分地基于针对当前词内的光标2140的当前位置(其处于当前词的第三字符位置中,如输入字段2130所示)的所接收到的输入来确定一个或多个已生成字符集合2160。在所示示例中,显示已生成字符集合\n2160“And”、“Anyway”和“Another”。\n[0117] 图24示出具有虚拟键盘2120和输入字段2130的用户界面屏幕的另一示例。字符集合“This”由触摸屏接收为输入,并且显示在输入字段2130中,随后是光标2140,光标2140可以是垂直线(如所示那样)或任何其它形状(例如上述下划线)。预测器部分地基于针对当前词内的光标2140的当前位置(其处于当前词的第一字符位置中,如输入字段2130所示)的所接收到的输入来确定一个或多个已生成字符集合2160。在所示示例中,预测器预测正输入的句子中的下一词,其中,显示已生成字符集合2160“will”、“is”和“message”。\n[0118] 图25示出具有虚拟键盘2120和输入字段2130的用户界面屏幕的另一示例。字符\n“A”由触摸屏接收为输入,并且显示在输入字段2130中,随后是光标2140,光标2140可以是垂直线(如所示那样)或任何其它形状(例如上述下划线)。文本输入工具条2150显示在用户界面屏幕的顶部,在输入字段2130之上。预测器部分地基于针对当前词内的光标2140的当前位置(其处于当前词的第二字符位置中,如输入字段2130所示)的所接收到的输入来确定一个或多个已生成字符集合2560。当前词是光标当前所位于的词。在所示示例中,显示已生成字符集合2560“Are”、“As”和“And”。已生成字符集合2560显示在虚拟键盘2120内的所设置的位置处,而不是在先前示例中的后续候选输入字符对应的键处。所描述的实施例中的虚拟键盘2120中的所设置的位置由虚拟键盘2120的分区限定。虚拟键盘2120可以划分为相等或不等的分区。分区可以基本上占据整个虚拟键盘2120或少于整个虚拟键盘2120。在一些示例中,分区可以占据用户界面屏幕的其它部分(例如输入字段2130)。在图25至图28中,虚拟键盘2120的分区由三行(例如顶行、中间行和底行)而不是图21至图24中的列来限定。\n在其它实施例中可以使用不同数量的行。可以通过将虚拟键盘2120划分为相等的部分(即通过将虚拟键盘2120划分为三个相等大小的行)来限定各行。\n[0119] 在所示示例中,所显示的字符集合垂直地(或基本上垂直地)对齐,以促进通过使得所显示的已生成字符集合更容易看见而使用并且选择预测作为输入。在所示示例中,在分离各行键的水平“间隔”条中显示已生成字符集合,所显示的字符集合中的每一个位于不同的间隔条中。这样避免了阻挡虚拟键盘2120的键,由此在增加所显示的预测的可见性的同时促进单独键的输入。所显示的已生成字符集合可以位于别处。\n[0120] 处理器102使用每个已生成字符集合的排序来确定显示已生成字符集合的分区。\n具有最高排序的已生成字符集合显示在与具有最高排序的已生成字符集合的后续候选输\n入字符关联的分区中。与后续候选输入字符关联的分区典型地是已生成字符集合的后续候选输入字符所处的分区(即目前所描述的实施例中的行)。在所示示例中,已生成字符集合“Are”具有最高排序,已生成字符集合的后续候选输入字符是字母“r”。相应地,已生成字符集合“Are”位于字母“r”所处的顶行中。\n[0121] 处理器102然后确定与具有下一最高排序(即第二高排序)的已生成字符集合的后\n续候选输入字符关联的分区。如果该分区已经分配给已生成字符集合(例如最高排序的已生成字符集合,其在所示示例中分配给顶行),则丢弃已生成字符集合。例如,如果已生成字符集合“Array”具有第二高排序,则由于关联分区与分配给具有最高排序的已生成字符集合“Are”的分区相同,因此将丢弃“Array”的预测。处理器102然后确定与具有下一最高排序(即第三高排序)的已生成字符集合的后续候选输入字符关联的分区。如果该分区已经分配给已生成字符集合(例如最高排序的已生成字符集合),则丢弃已生成字符集合。重复该处理,直到第二分区与已生成字符集合关联,或没有已生成字符集合剩余。在所示示例中,待与已生成字符集合关联的第二分区是中间行,与第二分区(例如左列)关联的已生成字符集合是“As”。\n[0122] 处理器102然后确定与具有下一最高排序的已生成字符集合的后续候选输入字符\n关联的分区。如果该分区已经分配给已生成字符集合(例如在所示示例中顶列和中间列已经分配给已生成字符集合),则丢弃已生成字符集合。例如,如果已生成字符集合“Assume”具有下一最高排序,则由于关联分区是已经分配给已生成字符集合“As”的左列,因此将丢弃“Assume”的预测。处理器102然后确定与具有下一最高排序的已生成字符集合的后续候选输入字符关联的分区。如果该分区已经分配给已生成字符集合,则丢弃已生成字符集合。\n重复该处理,直到第三分区与已生成字符集合相关联(例如直到分配底行),或没有已生成字符集合剩余。在所示示例中,待与已生成字符集合关联的第三分区是底行,与第三分区(例如中间列)关联的已生成字符集合是“And”。\n[0123] 在所示示例中,虚拟键盘2120具有三个分区。如果使用更多分区,则该处理将继续,直到分区与已生成字符集合关联,或没有已生成字符集合剩余。\n[0124] 图26示出具有虚拟键盘2120和输入字段2130的用户界面屏幕的另一示例。字符集合“How”由触摸屏接收为输入,并且显示在输入字段2130中,随后是光标2140,光标2140可以是垂直线(如所示那样)或任何其它形状(例如上述下划线)。预测器部分地基于针对当前词内的光标2140的当前位置(其处于当前词的第一字符位置中,如输入字段2130所示)的所接收到的输入来确定一个或多个已生成字符集合2560。在所示示例中,预测器预测在正输入的句子中的下一词,其中,显示已生成字符集合2560“is”、“are”和“many”。\n[0125] 图27示出具有虚拟键盘2120和输入字段2130的用户界面屏幕的另一示例。字符集合“It is ab”由触摸屏接收为输入,并且显示在输入字段2130中,随后是光标2140,光标\n2140可以是垂直线(如所示那样)或任何其它形状(例如上述下划线)。预测器部分地基于针对当前词内的光标2140的当前位置(其处于当前词的第三字符位置中,如输入字段2130所示)的所接收到的输入来确定一个或多个已生成字符集合2560。在所示示例中,显示已生成字符集合2560“about”和“absolutely”。显示比分区更少的已生成字符集合,意味着仅两个预测存在,或预测因寻求将已生成字符集合与已经分配给另一已生成字符集合的分区关联的冲突而耗尽。\n[0126] 图28示出具有虚拟键盘2120和输入字段2130的用户界面屏幕的另一示例。字符集合“It is about to”由触摸屏接收为输入,并且显示在输入字段2130中,随后是光标2140,光标2140可以是垂直线(如所示那样)或任何其它形状(例如上述下划线)。预测器部分地基于针对当前词内的光标2140的当前位置(其处于当前词的第一字符位置中,如输入字段\n2130所示)的所接收到的输入来确定一个或多个已生成字符集合2560。在所示示例中,预测器预测在正输入的句子中的下一词,其中,显示已生成字符集合2560“take”、“start”和“be”。\n[0127] 应理解,图21至图28的实施例以促进使用并且选择预测作为输入的方式提出了在显示最高排序的预测与显示预测之间的折中。虽然将总是显示最高排序的预测,但其它所显示的预测可以不表示下一最高排序的预测。虽然较低排序的预测可能不是最高排序的预测,但预测仍然是最高排序的预测,所显示的预测位于所设置的位置处,而不是基于后续候选输入字符而在虚拟键盘2120周围移动。这样促进了使用并且选择预测作为输入,而不是用户键击出整个词并且忽略预测,由此节省时间和处理周期并且促进预测性文本输入解决方案。\n[0128] 如上所述,用户可以使用手指或手写笔来滑动已生成字符集合以输入该已生成字符集合。与之对比,可以通过使用手指或手写笔在虚拟键盘2120中键击各个键来输入单独字母。触摸屏使用触摸事件的移动和持续时间在键击事件与滑动事件之间进行区分,其细节是本领域公知的,无须赘述。虚拟键盘2120中的每个键以及要显示的每个已生成字符集合2560在触摸屏上具有关联目标区域。与每个已生成字符集合关联的目标区域典型地是相同大小的,或大于所显示的已生成字符集合。用户仅需要在所显示的已生成字符集合上或其附近滑动以输入已生成字符集合。这允许通过创建相对大的可访问目标区域来相对快速输入已生成字符集合,由此节省时间和处理周期。在一些示例中,可以仅通过检测在所显示的已生成字符集合处或其附近在特定方向上的滑动来输入已生成字符集合。在一些示例\n中,特定方向是“向上”,从而仅向上滑动可以输入已生成字符集合。在一些示例中,当滑动具有与所显示的已生成字符集合(其可以相同于或大于所显示的已生成字符集合)关联的\n目标区域内(例如在图21中在所显示的词“Every”、“Ecuador”或“Economy”内)的初始接触点时,滑动处于所显示的已生成字符集合处或其附近。\n[0129] 应理解,无论是否由行还是列限定,上述实施例中的虚拟键盘2120的分区都与虚拟键盘2120的键的行和列不一致。在其它实施例中,虽然虚拟键盘2120的分区可以与虚拟键盘2120的键的行和列一致,但由于可能通过弄乱用户界面而减少虚拟键盘2120的键的可见性和/或预测的可见性,因此其典型地并非是优选的。\n[0130] 虽然上述实施例教导行或列所限定的虚拟键盘2120的分区,但其它配置是可能\n的。例如,分区可以布置在二维数组(例如列的行的直角数组)中。虽然这可能增加虚拟键盘\n2120内可以显示的预测的数量,但其可能通过弄乱用户界面而减少虚拟键盘2120的键的可见性和/或预测的可见性。\n[0131] 图29以流程图形式示出根据一些实施例的方法2900。方法2900可以通过处理器\n(例如主处理器102)而得以实现,并且存储在有形计算机可读介质(例如硬驱、CD、DVD、闪存等)上。在块2902,处理器接收字符输入。在块2904,处理器生成预测输入字符集合。预测输入字符集合与后续候选输入字符对应。\n[0132] 在块2906,最高排序的预测输入字符集合分配给与具有最高排序的已生成字符集合中的后续候选输入字符关联的虚拟键盘2120中的分区。如上所述,与后续候选输入字符关联的分区典型地是已生成字符集合的后续候选输入字符所处的分区(即目前所描述的实施例中的行)。预测输入字符集合与后续候选输入字符对应。\n[0133] 在块2908,确定下一最高排序的字符集合。在块2910,确定与所述下一最高排序的字符集合相关联的分区。如果所确定的分区尚未分配给已生成字符集合(判决块2912),则所确定的分区分配给下一最高排序的字符集合(块2914)。如果所确定的分区已经分配给已生成字符集合(判决块2912),则确定下一最高排序的字符集合(块2908)。\n[0134] 在判决块2916,确定是否仍然未分配虚拟键盘2120中的任何分区,如果是,则确定是否任何预测输入字符集合剩余。如果是,则虚拟键盘2120中的至少一个分区是未分配的,或下一最高排序预测输入字符集合存在。然后确定所述下一最高排序的字符集合(块\n2908)。如果否,则已经分配了虚拟键盘2120中的所有分区,或下一最高排序预测输入字符集合不存在。然后,分配给虚拟键盘2120中的分区的预测输入字符集合显示在预测输入字符集合中的后续候选输入字符附近的位置处,即在分配给虚拟键盘2120的分区的虚拟键盘\n2120的区域中。\n[0135] 虽然图29中未示出,但用户可以使用手指或手写笔来滑动已生成字符集合以输入该已生成字符集合,如上所述。与之对比,可以通过使用手指或手写笔在虚拟键盘2120中键击各个键来输入单独字母。在一些示例中,所述方法结合方法1700和图17如上所述继续块\n1750和1760(未示出)的操作。在块1750处继续,如果处理器检测到未插入标点,则所述方法重新开始于块2110。如果标点待插入,则所述方法继续到块1760,其中,删除字符并且适当的标点加入到输入字段。在块1760之后,所述方法在块2110重又开始。\n[0136] 虽然在预测词中的下一字母的情况下描述了方法2900,但所述方法可以适用于预测下一词中的下一字母。\n[0137] 虽然至少部分地关于方法而描述了本发明,但本领域技术人员应理解,本发明还针对用于执行所描述的方法的各方面和特征中的至少一些,无论其通过硬件组件、软件或二者的任何组合的方式还是通过任何另外方式。此外,本发明还针对包括用于执行在此所描述的方法的存储在其上的程序指令的预先记录的存储设备或其它相似计算机可读介质。\n[0138] 在不脱离权利要求的主题内容的情况下,可以通过其它具体形式来实施本发明。\n因此,所描述的示例实施例被看作在所有方面仅是说明性而非限制性的。本发明意图覆盖并且包括技术的所有合适的改变。因此,本发明的范围由所附权利要求而非前面的描述来描绘。落入权利要求的等同物的意义和范围内的所有改变意图被包括在它们的范围内。
法律信息
- 2017-05-03
- 2017-04-26
著录事项变更
申请人由捷讯研究有限公司变更为黑莓有限公司
地址由加拿大安大略省沃特卢市变更为加拿大安大略省沃特卢市
- 2013-11-27
实质审查的生效
IPC(主分类): G06F 3/02
专利申请号: 201280003919.5
申请日: 2012.06.18
- 2013-10-30
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| | 暂无 |
2009-07-29
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |