具有学习能力的虚拟小键盘产生器的制作方法

文档序号:6596398阅读:190来源:国知局
专利名称:具有学习能力的虚拟小键盘产生器的制作方法
技术领域
本发明大体上涉及计算机用户输入装置,且更确切地说涉及学习数据录入装置。
背景技术
人们对于既强大又便携、既紧凑又有完整特征的计算装置的需求在不断增长。这个趋势在例如蜂窝式电话的移动电子装置(移动装置)的演进中特别明显,所述装置现在用作电话、视频及音频捕捉装置、视频及音频播放器、网络接入终端及计算机。随着移动装置越来越复杂,应用程序软件的种类及复杂度正在增加,因而使移动装置变成了多用途的生产力工具。但是,移动装置的有用性及其应用因可用于用户接口的面积较小而受限。举例来说,传统的蜂窝式电话包含固定配置的简单的小键盘。近些年来, 已经发布了以微型QWERTY键盘、触敏屏幕接口及可重新配置按键为特征的移动装置。通常小键盘是通过将对按键的摁压转变成电信号而起作用,所述电信号可由移动装置及其应用程序软件来解译。图1说明典型的移动装置的硬件/软件架构,其展示了可将按键按压事件传送到应用程序软件的一种方式。传统固定小键盘5上的按键的按压使电路闭合或改变电容或电阻,其产生可由硬件驱动器4处理的电信号。硬件驱动器4可为电路、软件或硬件与软件的混合,视特定移动装置而定。硬件驱动器4将从小键盘5接收到的电信号转换成可由在移动装置上运行的软件应用程序解译的格式。此信号可呈中断或存储在可由应用程序软件存取的存储器表中的值的形式。此中断或存储在存储器中的值可由运行时环境软件层3接收。运行时环境软件层3的用途是提供应用程序软件与移动装置之间的共用接口。因此,按键按压事件信号以按键按压事件消息的形式传递到应用程序层2。应用程序软件必须能够理解按键按压事件的意义,且因此必须经编写以适应下面的硬件驱动器4及小键盘硬件5。还可将按键按压事件传送到用户接口层1(例如)以显示与特定按键相关联的值。大多数小键盘的布局是使用“一体适用”方法确立的。也就是说,小键盘是由物理结构定义,或经约束而适合于显示器的大小。标准化小键盘可能并非对于所有用户或所有计算装置都理想。

发明内容
各种方面的系统及方法在触敏表面上提供虚拟小键盘,其通过从用户的输入学习用户的键入模式来自动调整特定用户的小键盘。在一方面中,一种用于在触敏表面上定义小键盘的方法包含接收在所述触敏表面上的一系列用户触摸的一系列坐标;使多个按键与所述接收到的一系列坐标相关;确定与所述多个按键中的每一者相关的接收到的坐标的平均值;在小键盘布局数据中保存所述多个按键中的每一者的所述确定的平均坐标;及使用所述小键盘布局数据产生虚拟小键盘的图像。所述方法可进一步包含提示所述用户录入一系列键击,此时使多个按键与所述接收到的一系列坐标相关包含使所述提示的一系列键击与所述接收到的坐标相关。所述方法可进一步包含基于接收到的坐标为所述多个按键中的每一者确定统计包络;及在所述小键盘布局数据中保存所述多个按键中的每一者的所述统计包络。使用所述小键盘布局数据产生所述虚拟小键盘的图像可包含基于存储于所述小键盘布局数据中的所述多个按键中的每一者的所述平均坐标在若干位置中在所述虚拟小键盘中产生按键的图像。使用所述小键盘布局数据产生所述虚拟小键盘的图像可进一步包含在所述虚拟小键盘中产生所述多个按键的图像,其中每一按键图像的大小是基于所述小键盘布局数据中的所述多个按键中的每一者的所述统计包络。所述方法可进一步包含监视在所述触敏表面上的所述虚拟小键盘上的键入;识别邻近按键键入错误;确定与所述邻近按键键入错误相关联的正确按键;基于所述键入的键击的接收到的坐标更新所述正确按键的所述平均坐标;及在所述小键盘布局数据中保存所述正确按键的所述经更新的平均坐标。识别邻近按键键入错误可包含辨识拼写错误的单词;及确定拼写错误是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换。识别邻近按键键入错误可包含辨识对与按键相关联的字母的用户校正;及确定所述用户校正是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换。所述小键盘布局数据保存在可接入网络的数据库中,且所述方法进一步包含经由所述网络将所述小键盘布局数据发射到计算装置,此时使用所述小键盘布局数据产生虚拟小键盘的图像包含在耦合到所述计算装置的触敏表面上产生所述虚拟小键盘的所述图像。所述方法可进一步包含接收在耦合到所述计算装置的所述触敏表面上的用户触摸;及基于在所述触敏表面上的所述接收到的用户触摸确定所述触敏表面上的用于显示所述虚拟小键盘的位置,其中使用所述小键盘布局数据产生虚拟小键盘的图像包含在所述触敏表面上的用于显示的所述确定的位置处产生所述图像。在另一方面中,一种计算装置包含处理器;存储器,其耦合到所述处理器;及触敏表面,其耦合到所述处理器,其中所述处理器配置有用以执行包含以下的过程的处理器可执行指令接收在所述触敏表面上的一系列用户触摸的一系列坐标;使多个按键与所述接收到的一系列坐标相关;确定与所述多个按键中的每一者相关的接收到的坐标的平均值;在小键盘布局数据中保存所述多个按键中的每一者的所述确定的平均坐标;及使用所述小键盘布局数据产生虚拟小键盘的图像。所述计算装置处理器可经配置以执行进一步包含以下的过程提示所述用户录入一系列键击,且使多个按键与所述接收到的一系列坐标相关可包含使所述提示的一系列键击与所述接收到的坐标相关。所述计算装置处理器可经配置以执行进一步包含以下的过程基于接收到的坐标为所述多个按键中的每一者确定统计包络;及在所述小键盘布局数据中保存所述多个按键中的每一者的所述统计包络。所述计算装置处理器可配置有处理器可执行指令,使得使用所述小键盘布局数据产生所述虚拟小键盘的图像包含基于存储于所述小键盘布局数据中的所述多个按键中的每一者的所述平均坐标在若干位置中在所述虚拟小键盘中产生按键的图像。所述计算装置处理器可配置有处理器可执行指令,使得使用所述小键盘布局数据产生所述虚拟小键盘的图像进一步包含在所述虚拟小键盘中产生所述多个按键的图像,其中每一按键图像的大小是基于所述小键盘布局数据中的所述多个按键中的每一者的所述统计包络。所述计算装置处理器可经配置以执行进一步包含以下的过程监视在所述触敏表面上的所述虚拟小键盘上的键入;识别邻近按键键入错误;确定与所述邻近按键键入错误相关联的正确按键;基于所述键入的键击的接收到的坐标更新所述正确按键的所述平均坐标;及在所述小键盘布局数据中保存所述正确按键的所述经更新的平均坐标。所述计算装置处理器可配置有处理器可执行指令,使得识别邻近按键键入错误包含辨识拼写错误的单词;及确定拼写错误是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换。所述计算装置处理器可配置有处理器可执行指令,使得识别邻近按键键入错误包含辨识对与按键相关联的字母的用户校正;及确定所述用户校正是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换。所述小键盘布局数据可保存在可接入网络的数据库中,且所述计算装置处理器可配置有用以执行包含以下的其它过程的处理器可执行指令经由所述网络从所述可接入网络的数据库接收所述小键盘布局数据。所述计算装置处理器可配置有用以执行包含以下的其它过程的处理器可执行指令接收在耦合到所述计算装置的所述触敏表面上的用户触摸;基于在所述触敏表面上的所述接收到的用户触摸确定所述触敏表面上的用于显示所述虚拟小键盘的位置;及使用所述小键盘布局数据在所述触敏表面上的用于显示的所述确定的位置处产生所述虚拟小键盘的所述图像。在另一方面中,一种耦合到触敏表面的计算装置可包含用于接收在所述触敏表面上的一系列用户触摸的一系列坐标的装置;用于使多个按键与所述接收到的一系列坐标相关的装置;用于确定与所述多个按键中的每一者相关的接收到的坐标的平均值的装置; 用于在小键盘布局数据中保存所述多个按键中的每一者的所述确定的平均坐标的装置;及用于使用所述小键盘布局数据产生虚拟小键盘的图像的装置。所述计算装置可进一步包含用于提示所述用户录入一系列键击的装置,其中用于使多个按键与所述接收到的一系列坐标相关的装置包含用于使所述提示的一系列键击与所述接收到的坐标相关的装置。所述计算装置可进一步包含用于基于接收到的坐标为所述多个按键中的每一者确定统计包络的装置;及用于在所述小键盘布局数据中保存所述多个按键中的每一者的所述统计包络的装置。所述用于使用所述小键盘布局数据产生所述虚拟小键盘的图像的装置可包含用于基于存储于所述小键盘布局数据中的所述多个按键中的每一者的所述平均坐标在若干位置中在所述虚拟小键盘中产生按键的图像的装置。所述用于使用所述小键盘布局数据产生所述虚拟小键盘的图像的装置可进一步包含用于在所述虚拟小键盘中产生所述多个按键的图像的装置,其中每一按键图像的大小是基于所述小键盘布局数据中的所述多个按键中的每一者的所述统计包络。所述计算装置可进一步包含用于监视在所述触敏表面上的所述虚拟小键盘上的键入的装置;用于识别邻近按键键入错误的装置;用于确定与所述邻近按键键入错误相关联的正确按键的装置;用于基于所述键入的键击的接收到的坐标更新所述正确按键的所述平均坐标的装置;及用于在所述小键盘布局数据中保存所述正确按键的所述经更新的平均坐标的装置。所述用于识别邻近按键键入错误的装置可包含用于辨识拼写错误的单词的装置;及用于确定拼写错误是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换的装置。所述用于识别邻近按键键入错误的装置可包含用于辨识对与按键相关联的字母的用户校正的装置;及用于确定所述用户校正是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换的装置。所述小键盘布局数据可保存在可接入网络的数据库中,且所述计算装置可进一步包含用于经由所述网络将所述小键盘布局数据发射到计算装置的装置,其中用于使用所述小键盘布局数据产生虚拟小键盘的图像的装置可包含用于在耦合到所述计算装置的触敏表面上产生所述虚拟小键盘的所述图像的装置。所述计算装置可进一步包含用于接收在耦合到所述计算装置的所述触敏表面上的用户触摸的装置;及用于基于在所述触敏表面上的所述接收到的用户触摸确定所述触敏表面上的用于显示所述虚拟小键盘的位置的装置,其中用于使用所述小键盘布局数据产生虚拟小键盘的图像的装置可包含用于在所述触敏表面上的用于显示的所述确定的位置处产生所述图像的装置。在另一方面中,一种计算机程序产品可包含计算机可读媒体,其包含至少一个用于接收在所述触敏表面上的一系列用户触摸的一系列坐标的指令;至少一个用于使多个按键与所述接收到的一系列坐标相关的指令;至少一个用于确定与所述多个按键中的每一者相关的接收到的坐标的平均值的指令;至少一个用于在小键盘布局数据中保存所述多个按键中的每一者的所述确定的平均坐标的指令;及至少一个用于使用所述小键盘布局数据产生虚拟小键盘的图像的指令。所述计算机可读媒体可进一步包含至少一个用于提示所述用户录入一系列键击的指令,其中所述至少一个用于使多个按键与所述接收到的一系列坐标相关的指令包含至少一个用于使所述提示的一系列键击与所述接收到的坐标相关的指令。所述计算机可读媒体可进一步包含至少一个用于基于接收到的坐标为所述多个按键中的每一者确定统计包络的指令;及至少一个用于在所述小键盘布局数据中保存所述多个按键中的每一者的所述统计包络的指令。所述至少一个用于使用所述小键盘布局数据产生所述虚拟小键盘的图像的指令可包含至少一个用于基于存储于所述小键盘布局数据中的所述多个按键中的每一者的所述平均坐标在若干位置中在所述虚拟小键盘中产生按键的图像的指令。所述至少一个用于使用所述小键盘布局数据产生所述虚拟小键盘的图像的指令可进一步包含至少一个用于在所述虚拟小键盘中产生所述多个按键的图像的指令,其中每一按键图像的大小是基于所述小键盘布局数据中的所述多个按键中的每一者的所述统计包络。所述计算机可读媒体可进一步包含至少一个用于监视在所述触敏表面上的所述虚拟小键盘上的键入的指令;至少一个用于识别邻近按键键入错误的指令;至少一个用于确定与所述邻近按键键入错误相关联的正确按键的指令;至少一个用于基于所述键入的键击的接收到的坐标更新所述正确按键的所述平均坐标的指令;及至少一个用于在所述小键盘布局数据中保存所述正确按键的所述经更新的平均坐标的指令。所述至少一个用于识别邻近按键键入错误的指令可包含至少一个用于辨识拼写错误的单词的指令;及至少一个用于确定拼写错误是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换的指令。所述至少一个用于识别邻近按键键入错误的指令可包含至少一个用于辨识对与按键相关联的字母的用户校正的指令;及至少一个用于确定所述用户校正是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换的指令。所述小键盘布局数据可保存在可接入网络的数据库中,且所述计算机可读媒体可进一步包含至少一个用于经由所述网络将所述小键盘布局数据发射到计算装置的指令,其中所述至少一个用于使用所述小键盘布局数据产生虚拟小键盘的图像的指令包含至少一个用于在耦合到所述计算装置的触敏表面上产生所述虚拟小键盘的所述图像的指令。所述计算机可读媒体可进一步包含至少一个用于接收在耦合到所述计算装置的所述触敏表面上的用户触摸的指令;及至少一个用于基于在所述触敏表面上的所述接收到的用户触摸确定所述触敏表面上的用于显示所述虚拟小键盘的位置的指令,其中所述至少一个用于使用所述小键盘布局数据产生虚拟小键盘的图像的指令包含至少一个用于在所述触敏表面上的用于显示的所述确定的位置处产生所述图像的指令。在另一方面中,一种用于根据用户的手定制默认小键盘的方法可包含接收在触敏表面上的用户触摸的多个坐标;基于用户触摸的所述接收到的多个坐标的至少一部分测量所述用户的手的尺寸;基于所述用户的手的所述测量出的尺寸调整默认小键盘布局的布局尺寸;及使用所述默认小键盘布局的所述经调整的布局尺寸产生虚拟小键盘的图像。在另一方面中,一种计算装置包含处理器;存储器,其耦合到所述处理器;及触敏表面,其耦合到所述处理器,其中所述处理器配置有用以执行包含以下的过程的处理器可执行指令接收在所述触敏表面上的用户触摸的多个坐标;基于用户触摸的所述接收到的多个坐标的至少一部分测量所述用户的手的尺寸;基于所述用户的手的所述测量出的尺寸调整默认小键盘布局的布局尺寸;及使用所述默认小键盘布局的所述经调整的布局尺寸产生虚拟小键盘的图像。在另一方面中,一种计算装置包含用于接收在触敏表面上的用户触摸的多个坐标的装置;用于基于用户触摸的所述接收到的多个坐标的至少一部分测量所述用户的手的尺寸的装置;用于基于所述用户的手的所述测量出的尺寸调整默认小键盘布局的布局尺寸的装置;及用于使用所述默认小键盘布局的所述经调整的布局尺寸产生虚拟小键盘的图像的装置。在另一方面中,一种计算机程序产品包含计算机可读媒体,其包含至少一个用于接收在触敏表面上的用户触摸的多个坐标的指令;至少一个用于基于用户触摸的所述接收到的多个坐标的至少一部分测量所述用户的手的尺寸的指令;至少一个用于基于所述用户的手的所述测量出的尺寸调整默认小键盘布局的布局尺寸的指令;及至少一个用于使用所述默认小键盘布局的所述经调整的布局尺寸产生虚拟小键盘的图像的指令。


并入本文中并构成本说明书的部分的

本发明的示范性实施例,且连同上文给出的概括描述及下文给出的详细描述一起用以阐释本发明的特征。图1是现有技术移动装置的硬件/软件架构图。图2是各种方面实现的移动装置的系统组件图。图3是各种方面实现的学习模块的系统组件图。图4是说明用于在触敏屏幕上产生虚拟小键盘的学习例程的过程流程图。图5是适合于在一方面中使用的指令表的数据结构。图6A是说明用于通过分析用户对已知文本的键入来优化虚拟小键盘布局的实例性学习例程的过程流程图。图6B是说明用于通过分析用户对未知文本的键入来优化虚拟小键盘布局的实例性学习例程的过程流程图。图7是说明基于用户进行的键入修正来优化虚拟小键盘布局的实例性学习例程的过程流程图。图8是适合于在一方面中使用的默认虚拟键盘布局的说明。图9是根据各种方面的在定制之后的实例性虚拟键盘布局的说明。图10是虚拟键盘的按键的说明,其展示围绕按键中点的统计包络。图11是说明根据一方面的网络架构的通信网络框图。图12A是用于在响应于用户的触摸而选择的触敏表面上定位定制虚拟键盘的实例性方法的过程流程图。图12B是用于在响应于测量用户的手的尺寸而设计大小的触敏表面上定位默认虚拟键盘的实例性方法的过程流程图。图13是说明适合于在各种方面中使用的移动装置的实例性组件的组件框图。图14是说明适合于在各种方面中使用的计算机的实例性组件的组件框图。图15是说明适合于在各种方面中使用的服务器的实例性组件的组件框图。
具体实施例方式现在将参照附图详细描述各种方面。只要可能,将在整个图式中使用相同的参考标号来指代相同或相似的部分。对特定实例及实施方案做出的参考是出于说明性目的,且并不意在限制本发明或权利要求书的范围。如本文中所使用,术语“移动手持机”及“移动装置”可互换使用,且指代各种蜂窝式电话、个人数据助理(PDA)、掌上型计算机、膝上型计算机、无线电子邮件接收器(例如,Blackberry 及Treo 装置)及有多媒体因特网功能的蜂窝式电话(例如,Blackberry&orm )中的任一者及类似的个人电子装置。移动装置可包含如下文参照图13更完整地描述的可编程处理器及存储器。术语“计算装置”在本文中用以指代任何包含可编程处理器及存储器的装置,包含移动装置、桌上型计算机、工作站、主计算机及嵌入式计算机系统。如本文中所使用,术语“小键盘”及“键盘”可互换使用,以大体上指代用于将输入数据传达到计算装置的用户输入装置的各种配置中的任一者,例如QWERTY (或其它)键盘、数字键区、游戏控制器及音乐键盘。由于各种方面涉及“按键”可被显示、投影或不可见的“虚拟”用户输入装置,所以术语“小键盘”及“键盘”并不意在要求可摁压的物理按键,而是指代任何可感测用户手指的触摸(或按压)且将所述触摸解译为对计算装置的输入的用户输入装置。如本文中所使用,术语“触敏表面”涵盖任何经配置以检测或感测用户手指的触摸(或按压)且将所述触摸解译为对计算装置的输入的表面。确切地说,触敏表面可确定用户指尖的触摸位置。可使用各种已知技术中的任一种来实现感测指尖在表面上的触摸及位置。举例来说,触敏表面可包含压力感测表面、电容感测表面及电感感测表面,其直接检测用户的触摸。作为另一实例,触敏表面可借助于光学传感器来检测用户触摸,所述光学传感器可辨识指尖何时接触表面。光学传感器的实例包含投影系统,其可检测(例如,通过相机或光学传感器)用户的手指何时与投影的图像;及红外光及相机传感器,其可将用户指尖成像,并确定其位置。第三实例性触摸传感器可使用声音或震动测量来检测及确定用户触摸的位置,例如超声波传感器,其可基于穿过玻璃罩行进的超声波的效应来检测触摸,或声音或震动传感器,其可基于对来自玻璃罩上的触摸的所接收到的震动或声音的三角测量来确定触摸的位置。可在各种表面中的任一种上采用触敏表面,且因此其并不意在限于特定类型的装置或形式。举例来说,可将墙壁、桌子、镜子、车窗或任何表面(无论是平坦的还是弯曲的)配置成触敏表面。如本文中所使用,“触敏屏幕”或“触摸屏幕”是触敏表面与显示器的组合。所述显示器可为物理显示器,例如液晶显示器(如在Blackberry Storm 中)。如本文中所使用,“投影键盘显示器”指代可将键盘的图像投影到表面上的投影仪。投影键盘显示
13器可通过将键盘图像投影到触敏表面上或通过使用其它技术(例如,光学传感器)感测手指触摸而感测触摸。如本文中所使用,术语“虚拟小键盘”及“虚拟键盘”指代显示于触敏表面(例如触摸屏幕)上或投影到触敏表面上或配合另一触摸传感器技术(例如光学传感器)而投影到表面上的小键盘图像。在一些方面中,虚拟小键盘的“按键”可显示于显示器屏幕或投影上,但一些方面可不提供任何图像。因此,“虚拟小键盘”也可为不可见的小键盘。虚拟小键盘未必限于数字或字母,且如本文中所使用,涵盖任何涉及用户对按键或按钮的激活的用户接口。非数字及非字母虚拟小键盘的实例包含游戏控制器、装置控制器(例如,TV遥控器)、应用接口及游戏操纵杆,其包含触敏表面。举例来说,虚拟小键盘可实施为MP3或视频播放器应用的用户接口。如本文中所使用,术语“小键盘布局数据”总体指代与虚拟小键盘中的按键的位置、大小、形状及定向有关的信息,特别是可用于产生虚拟小键盘的图像的信息。如本文中所使用,“包络”指代虚拟按键尺寸的可接受范围,其考虑到用户在触敏表面上的键击的固有可变性。举例来说,所述参数可为相对X轴位置、相对Y轴位置及显示器像素矩阵位置范围。图1中说明计算装置小键盘的说明性硬件/软件接口。按压小键盘5上的按键会产生电信号,其可由硬件驱动器4处理。硬件驱动器4可为电路、软件或硬件与软件的混合, 视特定计算装置(例如,移动装置)而定。硬件驱动器4将从小键盘5接收到的电信号转换成可由在计算装置上运行的软件应用程序2解译的格式。此信号可呈中断或存储在可由应用程序2存取的存储器表中的值的形式。此中断或存储在存储器中的值可由小键盘接口 3接收,所述小键盘接口 3可为运行时环境或操作系统的一部分。小键盘接口 3的用途是提供应用程序软件2与计算装置小键盘5之间的共用接口。因此,可将按键按压事件信号以应用程序2可解译的标准按键按压事件信号或消息(例如,ASCI字符值)的形式传递到应用程序层2。使用例如图1中说明的先前已知的系统/硬件架构,应用程序开发人员必须调适其软件,使其使用“标准”小键盘布局(举例来说,QWERTY键盘或数字键区)或应用程序可加载在其上的每一种类型的移动装置所特有的小键盘布局来操作。需要特定按键组的应用程序(举例来说,游戏或装置遥控件)可能无法在具有固定小键盘布局的装置上操作,或者可能可用受限的方式或对用户不友好的方式操作。近来在2008年6月16日申请的标题为“用于提供可配置小键盘的标准化方法及系统(Mandardized Method andSystems for Providing Configurable Keypads) ”的共同拥有的第12/139,823号美国专利申请案中揭示了用于提供小键盘协议作为应用程序软件与小键盘之间的标准接口及其它用户接口的系统及方法。第12/139,823号美国专利申请案的整个内容特此出于所有目的而以引用的方式并入本文中。本发明的各种方面提供用于定义针对特定用户定制的小键盘布局的方法及系统。 使用学习算法,实施各种方面的计算装置可学习按键大小、按键间距及用户的键入模式,且将虚拟键盘的按键“形态运算”(morph)成让用户感到舒适且减少用户键入错误的位置、大小及定向。根据一方面,用户可通过遵循计算装置提供的教示例程来创建定制的小键盘布局。举例来说,计算装置可在显示器上呈现默认的小键盘布局,且提示用户执行一系列键击。当用户遵循此些指令且轻击每一按键时,计算装置可确定对应于每一按键的触摸位置,且使用所述信息来发现小键盘布局的适当包络,连同按键的与用户的手匹配的位置、大小、形状及定向。此教示例程的结果可存储为小键盘布局数据,计算装置使用所述数据在虚拟小键盘中产生按键的显示(例如,在触摸屏幕或投影的键盘上)。可通过用户键入计算装置已知的文本的训练序列(例如,键入在计算装置的显示器上呈现的段落)来进一步优化小键盘布局数据(及因此虚拟键盘的布局),且处理所录入的键击以记录用户手指的键击的可变性。可使用对用户的键入可变性的分析来定义每一按键的包络,其可用于进一步成形、定位或定位按键,且用于应用自动校正算法。可进一步实施学习算法以随时间监视用户的键入以使手指触摸与虚拟按键位置相关,且辨识打字错误,以便改进在小键盘布局数据中记录的按键包络及位置。通过分析用户的键入模式来改进虚拟小键盘布局,使得计算装置能够提供有助于减少用户键入错误的虚拟键盘。通过标注用户对键入的字母或数字的修改,及通过经由拼写检查或预测文本技术辨识不正确的键击,可辨识用户键击错误。此些学习算法的输出可为经过改进的小键盘布局数据,其可存储在存储器中且与用户相关联。小键盘布局数据可呈一个或一个以上数据表的形式,所述数据表可存储在计算装置的存储器内、有形媒体上,且经由通信链路发射。将小键盘布局数据发射到另一计算装置,可使得用户的定制键盘能够实施于其它计算装置上。通过使得用户能够创建根据用户的手的大小、到达范围、灵巧度及键入模式定制的便携式虚拟键盘,各种方面用可适应用户生理机能变化及用于数据录入的技术的变化两者的方式促进数据的高效录入。如下文参照图2更完整描述,与各种方面相关联的学习算法可实施于计算装置内在学习模块中,所述学习模块可为在计算装置的处理器上操作的处理器可执行指令的模块。通过说明且非通过限制,学习模块可使用训练例程且随时间追踪用户的键入以定义针对特定用户定制的QWERTY键盘的小键盘布局。各种方面可实施于使用各种虚拟键盘中的任一种(例如触敏表面、触摸屏幕及投影键盘显示器)的计算装置上。虽然下文在QWERTY键盘布局的上下文中描述学习模块及训练例程,但可应用各种方面以定义其它类型的小键盘,例如具有不同按键布局的数字小键盘及字母数字小键盘。举例来说,各种方面还可应用于不同形式的QWERTY键盘布局,包含针对加拿大多语言标准、加拿大法语、捷克语、丹麦语、荷兰语、法罗语、爱尔兰语、意大利语、挪威语、波兰语、葡萄牙语(葡萄牙)、葡萄牙语(巴西)、罗马尼亚语(在罗马尼亚及摩尔多瓦)、斯洛伐克语、西班牙语(西班牙)、西班牙语(拉美)、瑞典语/芬兰语、英国、英国扩展及美国国际定义的QWERTY键盘布局。各种方面同样非常适用于其它类型的键盘布局,举例来说,包含QWERTZ(包含针对捷克语、匈牙利语、德语及澳大利亚语、斯洛伐克语、波斯尼亚语、克罗地亚语、塞尔维亚语(拉丁文)及斯洛文尼亚语、塞尔维亚语(西里尔文)、瑞士德语、瑞士法语、瑞士意大利语、列支敦士登语及卢森堡语定义的QWERTZ)、A^RTY(包含针对法语及比利时语定义的A^RTY)、G^ERTY、德佛札克键盘及科尔马克键盘、土耳其语及合音键盘(chorded keyboard)。此外,各种方面可适用于针对非拉丁文字母及非字母书写优化的键盘,举例来说,非拉丁文字母及非字母书写包含阿拉伯语、亚美尼亚语、希腊语、希伯来语、俄语、乌克兰语、保加利亚语、梵语、泰语、高棉语、藏文、藏语(中国)、宗喀语(不丹)、汉语、日语、韩语(韩国)、Dubeolshik (韩语)、Sebeolsik (韩语)390、Sebeolsik (韩语)最终版(韩语)无换档键版。此外,各种方面可应用于音乐键盘,例如钢琴键盘。在用户已训练计算装置以产生定制虚拟键盘之前,计算装置可基于默认布局来显示键盘,例如符合触敏表面(例如,触摸屏幕)的尺寸的标准大小的QWERTY键盘。当用户如下所述与此默认键盘介接时,学习模块可重新定位按键,使得此训练结束时,用户的虚拟键盘布局不同于默认布局。或者,计算装置可经配置以使得用户能够根据其喜好来定位及定向虚拟键盘。为了获知用户的手的生理机能,计算装置可向用户发出指令,例如经由扬声器或显示的文本, 让其将他或她的手定位于触敏表面上用户想让键盘定位的地方。举例来说,用户可受到指令将其手放在触敏表面上,使得左手的手指触摸用户想要“ASDF”按键定位的地方,右手的手指触摸用户想要“ JKL; ”按键定位的地方,且拇指触摸用户想要空格键定位的地方。计算装置确定每一手指的触摸位置,且使用此触摸信息来产生及显示大小经过设计且经过定向而与用户的手指触摸匹配的虚拟键盘。作为使得用户能够定义虚拟小键盘的位置及大小的操作的一部分,计算装置可提醒用户研究已表明手指的位置越靠近键盘,键入的速度就能越快。此外,可提示用户如果将手掌搁在表面上更舒服的话,也可将手掌搁在表面上。手指的位置可由触敏表面捕捉且由计算装置根据坐标系进行记录。举例来说,可相对于显示矩阵或相对于“X-Y”坐标系来确定“A”按键及“;”按键的位置,其中在小键盘布局数据中保存所述坐标。可由在计算装置中实施的学习模块来处理指尖位置数据。可根据用户的手指触摸的中点及定义按键的大小及形状的包络来定义按键。如下文更详细描述,可基于在用户键入时对特定按键触摸的位置的统计分析来设计包络的大小,使得包络可涵盖大部分用户触摸。可使用包络来产生图像,图像的中心在中点坐标上。包络信息还可延伸超过按键图像,以便提供计算装置(或小键盘驱动器)可用来消除落在按键图像之间的键击的歧义的信息。在教示过程中,计算装置可学习特定虚拟键盘的其它按键的适当位置。可根据触敏表面的坐标结构(例如X及Y坐标)或根据每一按键的位置距离每一邻近按键的设定距离及角度的相对偏移来定义适当的按键位置。在坐标系中,按键可定位于对应于用户触摸的质心的中点处,且其大小是基于可由用户触摸位置的可变性来定义的包络而设计。在相对位置系统中,可基于两个或两个以上锚定按键的所定义位置来定位所有按键。可将坐标系虚拟键盘的按键的坐标及大小以及相对系统的按键彼此的相对偏移存储为小键盘布局数据。在另一方面中,训练例程可继续改善用户的键击准确度。可要求用户在若干循环中键入指定短语或段落。举例来说,可向用户提供要键入的段落或提示,所述提示展示当前单词及用户下面应键入的两个单词。在第一循环中,当计算装置提示用户敲击每一字母时, 按键可移动到用户手指触摸的地方。学习模块可经配置以忽略被定义为距离正确按键的中心位置有阈值距离的键击的键入错误。在第二循环中,可将中点(即,按键的中心位置)确定为用户键击位置的平均值。在后续循环中,每当用户对于小键盘布局感到更加舒适时,就可在更小程度上缩放先前中点的具体值(occurrence)。当用户的键击速度及错误率稳定下来时,训练例程可终止。
图2是实现各种方面的计算装置的系统组件图。计算装置可包含触敏表面14,在其上显示虚拟键盘12。触敏表面14可耦合到硬件驱动器4,其接收与对表面的触摸相关联的信号,且将这些信号翻译成触摸事件及坐标信号,所述触摸事件及坐标信号可由计算装置操作系统(例如,小键盘接口 3)解译。为了便于描述,将小键盘接口 3说明为过程模块,但其可为计算装置操作系统的功能性的一部分,或计算装置的固件或硬件组件。在实例性实施方案中,小键盘接口 3功能性将触摸事件信号用可由在操作系统的上下文内操作的应用程序2解译的格式中继到所述应用程序。依据硬件及计算装置实施方案,触敏表面14的硬件驱动器4结合小键盘接口 3可产生虚拟键盘12的显示。此外,硬件驱动器4及/或小键盘接口 3可基于触敏表面14上的触摸的位置坐标将所述触摸解译为特定按键上的触摸。小键盘接口 3接着可将按键按压事件传送到应用程序2,其用与来自物理键盘一样的方式识别按压的按键。在一方面中,小键盘接口 3可与经配置以从用户的键击学习适当的按键位置的学习模块10协作。如上所述,学习模块10可从小键盘接口 3或硬件驱动器4接收关于在触敏表面14上的手指触摸的位置的信息,且使此坐标信息与预期键击相关联以产生或改进存储于存储器中的小键盘布局数据8。可接着由硬件驱动器4(或在一些实施方案中为小键盘接口幻存取及使用由学习模块10产生的小键盘布局数据8以产生显示于触敏装置14上的虚拟小键盘12。小键盘接口 3或硬件驱动器4还可使用小键盘布局数据8将从触敏表面14接收的触摸坐标翻译成可被传送到应用程序2的按键触摸事件。以此方式配置,学习模块10可连续改进小键盘布局数据8,而不会干扰或减缓向在计算装置上运行的应用程序2传送按键触摸事件。在一方面中,学习模块10可为处理器可执行过程,其解译在虚拟小键盘12上的用户键击并改进指定虚拟按键的放置、定向及大小的小键盘布局数据8,以便减少键入错误并提高用户键入的熟练程度。学习模块10过程可实施为应用程序2、实施为计算装置操作系统的一部分,或实施为硬件驱动器4的一部分。学习模块10也可从其它应用程序接收信息,所述应用程序例如是训练应用程序、拼写检查应用程序(例如可在文字处理应用程序内实施)及自动校正应用程序,其可通知学习模块10预期的或预测的键击。使用学习算法、人工智能或其它推断过程,学习模块10可使每一键击与所要的或正确的按键相关,以便将触敏表面14的几何形状链接到特定按键。此将触敏表面14的几何形状链接到虚拟小键盘12的按键可涉及统计分析,以考虑到用户键击的放置的不可避免的可变性。学习模块10的小键盘布局数据8的输出可呈存储于存储器中的相关性矩阵的形式,小键盘驱动器4、小键盘接口 3或计算装置操作系统的其它元件可使用所述相关性矩阵将虚拟小键盘上的触摸事件翻译成适当的字符(例如,ASCII字符值)。当学习模块10处理用户键击并更新小键盘布局数据8的相关性矩阵时,虚拟键盘的每一按键的大小、位置、形状及定向可按照学习模块10辨识的模式改变。图3是可包含于学习模块10中的说明性功能性的系统组件图。学习模块10可包含推断引擎100、默认小键盘数据表102及指令数据库106。推断引擎100可呈在计算装置处理器上执行的过程及规则的形式。默认小键盘数据表102可存储于计算装置的存储器中,且可为经预先编程的小键盘布局数据,其可用来在已完成学习例程以产生小键盘布局数据8之前显示默认虚拟键盘并解译键击。学习模块10还可包含指令数据库106,其可存储于存储器中,且包含在初始训练例程期间可向用户呈现的训练命令及训练文本样本。图4是说明根据一方面用于在触敏表面上产生虚拟小键盘的实例性教示过程200 的过程流程图。参照图4,在过程200中、框202处,学习模块可查询默认小键盘布局表以获得按键位置数据,从而使用在框204中接收到的数据产生默认小键盘数据。在一方面中,所述默认小键盘数据可包含与触敏表面相关的“X-Y”坐标系中的按键位置数据。在另一方面中,所述默认小键盘数据可包含呈行-列矩阵格式的按键位置数据,其定义连接到计算装置的触摸屏幕的像素位置。在另一方面中,所述默认小键盘数据可包含默认小键盘布局的每一按键的中点之间的平均距离。在过程200中、212框处,计算装置内的学习模块10可使默认小键盘布局数据可供触敏表面硬件驱动器4、小键盘接口 3使用且任选地供显示器驱动器使用,用于产生虚拟键盘的图像。举例来说,学习模块可将默认小键盘布局信息加载到小键盘布局数据8中,使得触敏表面装置驱动器4 (或计算装置或操作系统的其它组件)可在框214处存取布局数据, 且在框216处使用所述数据来产生虚拟小键盘的显示。在过程200中、框208处,学习模块还可存取指令数据库以获得待作为训练例程的一部分提供给用户的下一指令。如下文参照图5更完整描述,可将一系列训练指令存储于数据库中,学习模块可循序存取所述指令并向用户呈现所述指令。在框218处,可向用户显示或用听觉方式呈现选定指令。在框220处,当用户遵循指令时,例如通过键入所显示的段落或句子,同时触敏表面装置驱动器捕捉用户的触摸的坐标。在框222处,学习模块10从触敏表面接收键击位置。在框223处,学习模块可使触摸坐标与基于对用户的指令而预期的特定按键相关。举例来说,如果已向用户呈现了要键入的句子,则预期按键是句子中要键入的下一字母。在使触摸位置与预期按键相关时,学习模块将特定触敏表面坐标与特定按键相关联。在一方面中,学习模块还可将接收到的触摸位置与默认小键盘布局数据比较以推断所键入的按键。在另一方面中,可使用预期按键与默认小键盘布局数据两者来确定应与特定键击坐标相关联的按键。在框2M处,可使用触摸的坐标-按键关联来更新或产生存储于存储器中的小键盘布局数据。在框2 处,学习模块可使经更新的小键盘布局数据可供触敏表面装置驱动器(或计算装置的其它组件)使用,以便可向用户显示经更新的小键盘,如上文相对于框214所述。在过程200中、确定框2 处,学习模块可确定用户是否已发信号通知特定步骤完成。一些(但并非全部)训练指令可要求用户在特定步骤已经完成时例如通过轻击空格键两次来发信号通知。如果指令未完成(即,确定框228 = “否”),则学习模块可返回到框222,以接收下一用户键击坐标并更新下一按键的小键盘布局数据。如果特定指令完成 (即,确定框228 = “是”),则学习模块可在确定框230处确定是否已到达最后一个训练指令。如果尚未到达最后一个指令(即,确定框230 = “否”),则学习模块可返回到框208以从指令数据库存取下一指令。对用户的训练可接着通过重复上文关于框218到230所述的过程来继续。如果已到达最后一个训练指令(即,确定框230 = “是”),则第三学习模块可通知用户训练完成且训练过程可在框232处终止。虽然图4说明可在触敏屏幕上显示指令,但可经由其它方式向用户提供指令。举例来说,可通过计算装置的音频组件用听觉方式呈现指令。在替代方面中,计算装置可经配置以使得用户能够选择按键并将按键移动到优选
18位置。在此实施方案中,可在触敏表面上显示虚拟键盘,且提示用户触摸并保持按键,接着将按键滑动到新位置,然后将手指从触敏表面上抬离。学习模块可辨识触摸与滑动运动,且更新键盘布局数据以记录特定按键的新位置。以类似方式,可允许用户通过以下方式来重新设计整个键盘的大小触摸所显示的虚拟键盘上的若干按键,且接着移动所有手指以拉伸虚拟键盘、重新设计虚拟键盘的大小及重新定向虚拟键盘。举例来说,可提示用户触摸 QWERTY键盘上的A、S、D、F、J、K、L及;按键,且接着将手指滑动分开以扩大虚拟键盘,或将手指滑动到一起以缩小虚拟键盘。可提示用户敲击特定按键序列(举例来说,敲击空格键两次)以发信号通知此按键重新定位过程完成。如上文提及,学习模块10使用的训练指令可存储于指令数据库106中,所述指令数据库106可呈例如图5中说明的数据表的形式。此指令数据库数据表300可包含各种指令306,所述指令可由学习模块10经由索引302来引用,且用来向用户产生显示或声音听觉指令。指令数据库数据表300还可包含键击308,预期用户按压所述键击308,使得推断引擎100可使按键触摸位置与特定按键相关。举例来说,指令数据库数据表300可包含用于在触敏表面上定位键盘的初始指令(索引0)及用于重新设计默认键盘的大小的初始指令(索引1),随后是用户可键入以使得推断引擎100能够学习用户的键入模式的训练文本 (索引2及幻。通过在指令数据库106中组织训练例程,无需替换整个学习模块10即可实现对推断机100及训练例程的更新。可借助于一实例来说明学习模块10的操作,在所述实例中,学习模块10获知用户的手指位置,允许用户重新定位各个按键,且管理一系列键入会话以进一步优化虚拟键盘布局。举例来说,可指令用户(经由扬声器或显示的文本)将他或她的左手定位在触敏屏幕上用户想要“ASDF”按键定位的区域中,将他或她的右手定位在触敏屏幕上用户想要 "JKL ; ”按键定位的区域中,且每一拇指定位在用户想要空格键定位的区域。或者,可向用户呈现默认键盘布局且要求用户将他或她的手指放置在特定按键上。举例来说,图8是默认小键盘布局320的说明,所述默认小键盘布局320可在移动装置的触摸屏幕上向用户呈现,其中触摸屏幕表面位于两侧,使得当其打开时,向用户呈现接近完整大小的虚拟QWERTY 键盘。—旦确立了初始虚拟键盘布局,学习模块10便可提示用户参与训练例程以便改进键盘布局,以便根据用户的特定键入模式来改善按键辨识。举例来说,可提示用户键入各种固定短语一次或一次以上。举例来说,可在显示器上向用户提供键入短语的提示,所述短语例如是“The quick brown fox jumped over the lazy dog' s back.,,。当用户敲击每一字母时,学习模块10将从触敏表面接收的触摸位置信息与预期按键比较。可接着使触摸位置信息与小键盘布局数据8中的预期按键相关。在一方面中,可用每一键击来调整所显示的虚拟键盘图像,使得键盘图像可移动到用户键入其的位置。学习模块10可经配置以忽略键入错误,例如距离预期按键的预期位置有阈值距离的键击。用户键入地越多,学习模块就越能良好地根据用户的独特键入模式来定制虚拟小键盘。当用户继续键入所显示的短语时,可对每一按键的中点位置求平均值以反映用户对每一按键的典型键击位置。随着此些训练例程继续且键击位置的数目增多,平均触摸中点可能会或多或少地改变,而可获得与用户在特定按键上的键击的可变性有关的信息。为了适应正常键击位置可变性,学习模块可计算反映键击位置可变性的统计参数,例如相对于平均中点的标准偏差,且设计虚拟按键图像的大小以反应此可变性。因此,可用相对较小的大小及对称形状(例如,椭圆形或正方形)来显示用户在一致位置中敲击的按键(例如,QWERTY键盘上的“F”及“ J”按键),而可用相对较大的大小及不对称形状(例如,比可变性轴长)来显示不一致地敲击的按键。接着将关于用户的键入模式的此学习的结果存储于小键盘布局数据中,所述小键盘布局数据用于产生定制虚拟小键盘的显示。在图9中说明在已用此方式优化了按键位置及形状之后的定制虚拟键盘布局的实例。图6A说明可在学习模块10内实施以在训练例程中学习用户的键击的实例性过程M0。在过程240中、框242处,计算装置内的学习模块10可提示用户录入一系列键击或键入某一定义的文本。这可通过以下方式实现在计算装置显示器上显示用户应键入的文本,或通过计算装置音频电路来播放音频文件。当用户在虚拟键盘(例如,在图8及图9中说明)上键入时,计算装置在框242中从触敏表面接收每一键击的坐标。在框244处,学习模块10可基于预期要键入的按键来确定用每一键击触摸的特定按键。举例来说,只要用户键入提示的键击或文本,学习模块10便可继续。在框258处,学习模块10可计算与在框244处确定的按键相关联的新的平均键击坐标。举例来说,学习模块10可将接收到的触摸坐标添加到特定按键的先前接收到的触摸坐标,且计算新的平均坐标。此外,在框沈0中,学习模块可例如通过更新对应于用户的键击的可变性的统计参数来计算新的按键包络。使用计算出的平均键击坐标及新按键包络统计数据,在框262处,学习模块10可更新小键盘布局数据8。在确定框264中,学习模块可基于已录入的文本来确定是否还有字母待由用户键入。如果还有文本待录入(即,确定框沈4= “是”),则学习模块可返回到框242继续接收下一键击的坐标。然而,如果用户已键入了全部所呈现的文本,使得特定学习会话已结束(即,确定框264 = “否”),则学习模块可在框242中在存储器中存储经更新的小键盘布局数据8。此经更新的小键盘布局数据可接着可供虚拟键盘产生器(即触摸屏幕、投影键盘装置等)使用。图6A还说明简单的训练模式,其使得用户能够通过触摸每一按键应定位的触敏表面位置来指定每一按键在虚拟小键盘中的放置。以此方式,无需默认键盘布局,且用户可在触敏表面的边界内创建具有任何定向的键盘。在过程MO中、框242处,学习模块10可提示用户(例如,用视觉方式或听觉方式)在序列中循序键入从A到Z的每一按键。用户接着可循序触摸所述表面以指示每一字母按键的所要位置。在框242处,学习模块10接收每一触摸的坐标。由于预期用户针对每一按键位置触摸所述表面一次,所以在框244处,学习模块10基于序列中的下一按键来确定所触摸的按键。在框258处,学习模块计算所触摸的按键的键击坐标(即,单个一组键击坐标的平均值是坐标本身)。用户首次定义键盘布局时,框260可能不是必要的,因为用户针对每一按键只触摸了表面一次。在框252处,学习模块首次更新或创建小键盘布局数据,从而将确定的按键链接到所触摸的位置。此过程继续,直到已接收到对每一按键的触摸为止(即,确定框264 = “否”),此时在框242处在存储器中存储小键盘布局数据。通过向用户提供用以练习的若干不同文本样本,学习模块10可使用户能够定制其虚拟键盘以减少其键入错误。因此,训练学习模块10的过程可类似于用户训练语音辨识系统的方式。在一方面中,学习模块10可继续追踪用户的键入,以便改进键盘布局数据8,且因此提供更优化的键盘布局。图6B说明实例性过程沈0,其可在学习模块中实施以通过辨识常见的打字错误来连续改进虚拟键盘。在过程260中、框242处,学习模块可监视用户在虚拟小键盘上的键入,且接收每一键击的坐标。在框244处,学习模块可使用存储于存储器中的小键盘布局数据8来确定所触摸的按键。以此方式,可通过学习模块10使用如图3中说明由装置驱动器4及/或小键盘接口 3使用的相同数据来实现对所触摸的按键的识别。或者,学习模块10可从装置驱动器4或小键盘接口 3接收按键识别符。使用拼写检查例程或预测文本录入例程,学习模块10可在确定框M6中确定所键入的单词是否完成。也可通过录入空格、逗号或句号来辨识完成的单词。如果单词未完成,则学习模块10可继续监视键击且确定对应键击(重复框242及M4)。当学习模块确定单词完成(即,确定框M6 = “是”)时,学习模块可在框M8中将录入的单词与拼写检查词典比较。以此方式,学习模块 10可确定是否已正确辨识了所键入的单词的字母。在决策框250中,学习模块10可确定所录入的单词的拼写是否正确。如果确定所录入的单词的拼写正确(即,确定框250 = “是”), 则学习模块10可通过执行框256到266来继续使用接收到的键击数据以更新小键盘布局数据。具体来说,在框256处,学习模块可选择所键入的单词的首个字母,且在框258中使用针对所述按键的键击的接收到的触摸坐标来计算选定按键的新的平均键击坐标。在框262 中,学习模块可相对于所述选定按键的平均中点坐标计算新的键击包络。如下文参照图10 更完整描述,按键包络参数的此更新可涉及各种统计分析以产生与每一按键相关联的触摸位置概率曲线。在框264处,经更新的小键盘布局数据可被更新且存储于存储器中。在确定框沈6中,学习模块可确定所录入的单词中是否还有字母待分析,且如果是的话,则返回到框256以选择单词中的下一字母。如果已分析了所录入的单词中的所有字母(即,决策框= “否”),则学习模块10可返回到框M2以分析由用户键入的下一单词的键击坐标。返回到过程沈0的确定框250,如果学习模块10确定所录入的单词的拼写不正确 (即,决策框250 = “否”),则学习模块可在确定框252中确定拼写错误是否因为虚拟键盘上的邻近字母的调换。此确定可涉及将所键入的单词与正确拼写的单词比较以确定互换键盘上的邻近字母是否将校正拼写错误。如果拼写错误是因为虚拟键盘上的彼此邻近的字母的混淆,则此可指示对用户的键入的解译不正确,这可能是因为用户对特定按键的键入的可变性,或因为未优化的小键盘布局。因此,如果打字错误是因为邻近按键的调换(即,确定框252 = “是”),则在框254中,学习模块10可改变与接收到的触摸坐标相关联的按键名称,以便校正识别出的打字错误。学习模块还可如上所述执行框256到266来分析及更新经校正的按键名称的按键布局数据。通过辨识及校正此些常见键入错误及使用经校正的按键名称与接收到的触摸坐标来改进小键盘布局数据,使得学习模块10能够在用户正在键入时辨识及适应用户的键击的可变性。通过这样做,学习模块可根据用户的键入模式来改善针对虚拟键盘上的每一按键定义的统计键击包络。如果拼写错误并非是来自两个邻近字母之间的调换(即,确定框252 = “否”),则此可指示拼写错误是真正的拼写出错,且并非是因为可通过改进小键盘布局数据来避免的打字错误。因此,对用户的键击的分析可基于辨识出的按键来继续,例如通过继续执行上文参照框256到266描述的过程。在另一方面中,学习模块可经配置以辨识用户何时对键入进行校正以便学习此些用户校正。图7说明可在学习模块10中实施以学习用户键入校正的实例性过程270。在过程270中、框272处,学习模块10可从计算装置接收中断或信号,其指示用户何时已按压了“退格”或“删除”键。由于按压这些按键指示用户可能正在进行键入校正,所以在框274处学习模块10可标注所删除的特定按键。如果用户正在使用退格键连续删除许多按键,则学习模块10可仅标注最后删除的按键。作为此过程的一部分,学习模块10还可存取所删除的按键的键击坐标,其在此方面中可暂时存储于存储器中,例如在堆栈存储器中。通过在暂时存储器中存储有限数目个键击坐标值,学习模块10可学习用户在于键盘上录入文本时通常发生的用户键入校正。在框276处,学习模块10可接收替换所删除的按键的键击的触摸坐标,且在框278中确定替换所删除的按键的按键,例如通过将接收到的坐标与小键盘布局数据比较。此时,学习模块10具有与所删除的按键相关联的键击坐标数据,且已确定所述特定键击所期望的替换按键。由于用户出于许多原因校正键入,且并非仅为了校正打字错误,所以在确定框280处,学习模块10可将所删除的按键与替换按键比较以确定这两个按键是否在虚拟键盘上彼此邻近。如果所删除的按键及替换按键在虚拟键盘上并不彼此邻近(即,确定框观0 = “否”),则此指示正出于并非校正简单的邻近按键打字错误的原因而进行校正,且因此,通过在框272中辨识退格键击而开始的学习模块过程可在框288处完成。如果学习模块确定所删除的按键及替换按键在虚拟键盘上邻近(即,确定框280=“是”),则在框282处,学习模块10可使用原始键击坐标数据来计算替换按键的新的平均键击坐标。在框284处,学习模块10还可计算替换按键的新的统计包络。换句话说,学习模块10基于对于特定按键的用户校正来辨识已犯了键击错误,且使用录入的键击坐标来进一步优化小键盘布局数据。在框观6中,可将经更新的小键盘布局数据存储于存储器中,此后通过在框272中辨识退格或删除键按压而开始的学习模块过程可在框288处完成。如上文所提及,学习模块10接收来自用户的训练输入及监视用户的键入的结果可为小键盘布局数据,其转换虚拟键盘上的按键的大小、形状、位置及定向以反映用户的特定键入模式。举例来说,所述过程可通过显示图8中说明的默认键盘格式而开始,学习模块10将所述默认键盘格式转换成例如图9中说明的用户特定的定制虚拟键盘布局。图8及图9中说明的实例是移动装置的触摸屏幕显示器320上的QWERTY键盘,其跨越装置的两个外侧表面,且在折页322处打开。移动装置的此设计向用户提供接近完整大小的键盘,同时各种方面使得虚拟键盘能够适应用户在移动装置上的键入。可使用各种统计分析方法来改进虚拟小键盘布局上的各个按键位置,所述方法例如是如图10中说明围绕虚拟按键中点计算统计包络。在图10中仅说明了虚拟小键盘440的一部分。可基于中点在虚拟键盘上指定按键位置,所述中点例如是“A”按键中点402、“Q”按键中点412及“S”按键中点420。可使用“X-Y”坐标或相对坐标(例如,键间角度及距离偏移)在触敏表面的几何形状内定位此些中点。可由围绕按键中点用统计方式定义的包络406-410,414-418及422_似6来反映用户的键入键击位置可变性。举例来说,可围绕每一按键中点定义最内包络406、414、422以涵盖键击的一个标准偏差值(deviation worth)。此内部包络可定义为涵盖特定按键的大部分键击位置。因此,可将落在此最内包络内的键击可靠地解译为具有对应中点的按键。作为另一实例,可将第二包络408、416、似4定义为涵盖较大百分比的键击位置,例如在中点的两个标准偏差以内的键击位置。可使用此包络来消除落在中点之间的键击的歧义。举例来说,如果键击落在中点402与412之间但在中点
22402的两个标准偏移包络408以内,则计算装置可将键击可靠地解译为对应于在中点402处的“A”按键。还可围绕按键中点定义第三(或更多)包络410、418、似6以进一步帮助消除落在中点之间的键击的歧义。举例来说,如果键击落在中点402与412之间且在中点402 的三个标准偏差包络408及中点412的包络418内,则计算装置可确定应使用另一技术来区分这两个按键(但并非其它按键),例如通过使用此项技术中众所周知的预测文本或拼写检查算法来区分。举例来说,可对照已知结构的数据库评估在不确定的键击之前及/或之后敲击的按键,以确定模糊键击的可能预期的字母。如上文参照图6A-7所述,可通过在训练会话期间以及在正常键入操作期间用统计方式分析键击位置来计算包络406-410、414-418及422-426。虽然上文关于标准偏差计算描述了此过程,但可使用其它统计测量来围绕按键中点定义适当的包络。可进一步使用计算出的按键包络来定义虚拟按键的大小、形状及定向。举例来说, 围绕“Q”按键中点412的统计包络414-418并不是圆形的,这反映了沿一个接入方向的可变性大于沿另一个接入方向的可变性。此外,包络的对称轴与虚拟键盘400的“Y”轴成一角度。反映用户对“Q”按键的键击的此大小、形状及定向,已用具有比“A”按键及“S”按键长但窄的形状来设计虚拟按键的大小,其中按键的长轴与“Y”轴成一角度。虽然图10展示了矩形的按键形状,但按键形状可为圆形、椭圆形、三角形、不对称或由用户的键入键击模式定义的其它形状。如前所述,可将虚拟小键盘布局存储于存储器中且使其与用户相关联,使得所述用户可检索所述虚拟小键盘布局以与触敏表面(例如触摸屏幕或投影键盘)一起使用。此实施方案允许用户在任何触敏表面上使用其虚拟键盘,所述触敏表面可例如经由图11中说明的网络来存取所存储的小键盘布局数据。参照图11,可提供中央数据库500,其包含存储用户的虚拟小键盘布局数据506的用户记录504。举例来说,可接入因特网的服务器可充当定制虚拟键盘布局数据的中央服务器数据库储存库(本文中称为中央数据存储装置 500),许多用户可在其上存储其虚拟小键盘布局数据506。用户记录504可包含例如用于不同类型的用户接口及计算装置的一种以上虚拟小键盘布局数据。举例来说,用户可具有对应于特定移动装置512的虚拟小键盘布局数据506。用户记录504可经由网络510 (例如因特网)供移动装置512使用。为了使用具有触摸屏幕显示器520的移动装置512,用户可连接到因特网510以存取中央数据存储装置500且录入足以向中央数据存储装置500验证他或她本人的信息。一旦向中央数据存储装置500验证,用户便可请求从用户的记录504 中下载特定虚拟小键盘布局数据506。可经由因特网510将所请求的虚拟小键盘布局数据 506发射到移动装置512,且将其存储于虚拟小键盘数据存储装置514中。移动装置512可接着使用接收到的虚拟小键盘布局数据来在触摸屏幕520上产生虚拟键盘。以此方式,可使用户的虚拟小键盘配置便携且可远程存取。虽然图11展示了用户的虚拟键盘被连接到移动装置512的实例性实施方案,但可在任何可存取用户的虚拟小键盘布局数据506的计算装置上实施虚拟键盘。由于各种方面将虚拟按键定位在针对特定用户定制的位置中,所以实施此些虚拟键盘的系统可将键盘定位在触敏表面上由用户选择的任何位置处。举例来说,大的表面(例如桌子、墙壁、大屏幕显示器及白板)可配置有触摸检测传感器,其用以使得此些表面的多个部分能够用作用于连接的计算装置的输入装置。因此,实施耦合到大型触敏表面的各个方面中的任一者的计算装置可准许用户将其定制虚拟键盘放置在其希望的任何位置处。举例来说,经配置以感测用户的触摸的耦合到计算装置的大屏幕显示器可准许用户将双手放在表面上、在用户希望呈现他或她的定制虚拟键盘的位置处。计算装置可(例如通过经由网络510存取中央数据存储装置500)从存储器取回用户的定制键盘的小键盘布局数据,且使用布局数据结合用户手指触摸在所要的位置处显示虚拟键盘。以此方式,可在当用户触摸触敏表面时计算装置可感测的任何位置呈现用户的虚拟键盘。图12A说明计算装置可用于响应于用户触摸在触敏表面上产生虚拟键盘的实例性过程600。在过程600中、框602处,触敏表面可辨识用户的可起始虚拟小键盘产生过程的触摸。在框604处,耦合到触敏表面的计算装置可确定特定用户的身份。这可使用各种已知的用于向计算装置识别个人的方法中的任一者来实现,所述方法包含生物统计方法,例如指纹辨识、声纹辨识及手纹或掌纹辨识。用户还可通过将识别符(例如,用户姓名及密码)录入到所呈现的默认键盘中而向计算装置识别他或她本人。在框606处,计算装置可使用用户的身份来存取存储有虚拟小键盘布局数据的中央数据库。使用用户的身份,计算装置可取回虚拟小键盘布局数据。在框608处,计算装置还可辨识用户手指在触敏表面上的触摸位置。可要求用户用特定方式触摸触敏表面以便在表面上指示用于键盘的所要位置。举例来说,可要求用户在用户希望看到空格键及左手与右手中的每一者的四个基本按键的位置中将十根手指搁在触敏表面上。或者,可要求用户用双手触摸表面且手指平伸开,以展示用户到达范围的尺寸。在框610中,计算装置可使用辨识的手指触摸位置结合用户的虚拟小键盘布局数据以计算触敏表面上的适当虚拟键盘位置。此计算可考虑到触敏表面的尺寸限制,例如将虚拟键盘定位成配合在可用表面积内。在框612处,计算装置使用虚拟小键盘布局数据在所要位置中产生用户的虚拟键盘的显示。此时,在触敏表面上的所要位置中向用户呈现他或她的定制虚拟键盘,且此后用户可开始键入输入,在框614处,计算装置可开始接收及处理所述输入。在一方面中,可使用用户的手在触敏表面上的测量结果来定制默认虚拟键盘。当在已产生定制小键盘布局之前用户首次开始与系统交互时,此过程可能是有用的。当用户想要使用默认小键盘而不是根据他或她的手设计大小的小键盘时,此过程可能也是有用的。此外,当用户使用特定计算装置的时间较短,不值得费劲去创建或下载完全定制的虚拟键盘时,此方面可能是有用的。图12B说明可在此方面中实施以根据用户的手的尺寸来定义默认键盘的实例性过程700。在过程700中、框702处,在计算装置上操作的学习模块10可辨识用户在触敏表面上的触摸以开始所述过程。如果这是用户与计算装置的交互的开始,则在框704处,学习模块10可提示用户将他或她的手放在适当位置中以供测量。举例来说,学习模块可提示用户将双手放在触敏表面上,手指延伸且拇指触摸。此手的位置将使得触敏表面能够测量用户的手指的整个跨度。作为另一实例,学习模块10可提示用户以用户期望在键入时使用的姿势将他或她的手定位在触敏表面上。在框706处,学习模块10可从触敏表面接收触摸位置信息,且使用所述信息来测量用户的手的尺寸。此些测量可集中于代表性尺寸,例如小手指-拇指的距离测量结果及掌心-食指指尖的距离测量结果。在框708处,学习模块10可使用手尺寸测量结果来计算默认键盘的适当的布局尺寸。此过程可涉及根据基于对平均个体的人体工程学研究的算法来缩放默认键盘。或者,此过程可涉及基于所测量的手尺寸与用于定义默认键盘布局的平均手尺寸的比率来计算比例因子,且接着将所述比例因子应用于默认键盘布局的尺寸。在框710处,学习模块10可将计算出的尺寸应用于默认键盘,且在框712中,产生大小经过适当设计的默认键盘的显示。此时,用户具有定制的虚拟键盘, 用户可使用所述虚拟键盘开始提供对计算装置的输入,在框714处接收所述输入。当各种结构及机器并入有图像投影及触摸感测能力时,实现可在各种计算装置上显示及使用的便携型虚拟键盘的方面可能非常有用。举例来说,用户可能某天能够通过触摸挡风玻璃(或其它表面)在其汽车中与计算机交互,所述挡风玻璃包含图像投影仪及光学(或其它)触摸传感器系统。在此实例中,当用户触摸汽车挡风玻璃时,汽车的计算机感测所述触摸,从存储器中取回用户的虚拟键盘,且将虚拟键盘在用户的触摸所指示的位置中投影到挡风玻璃上。此些便携型虚拟键盘的应用范围很广,特别是当结合在可通过因特网510存取的中央数据存储装置500(例如如图11中说明)中存储虚拟键盘的能力时。在此些方面中, 用户可在耦合到计算装置的任何触敏表面上存取其个人虚拟键盘,所述计算装置可接入因特网,通过因特网可存取定制虚拟键盘数据库。如前所述,用户可使用各种计算装置(包含移动装置)与触敏表面上的虚拟小键盘交互。适合于与各种方面一起使用的典型移动装置将都具有图13中说明的组件。举例来说,示范性移动装置1300可包含处理器1301,其耦合到内部存储器1302及触摸屏幕显示器1303。此外,移动装置1300可具有天线1304,用于发送及接收电磁辐射,所述天线耦合到无线数据链路及/或蜂窝式电话收发器1305,其耦合到处理器1301。在一些实施方案中,收发器1305以及处理器1301及存储器1302的用于蜂窝式电话通信的部分被统称为空中接口,因为其经由无线数据链路提供数据接口。移动装置1300还可包含物理小键盘1306 或微型键盘以及菜单选择按钮或摇臂开关1307,用于接收用户输入。移动处理器1301可为任何可编程微处理器、微型计算机或多处理器芯片,其可通过软件指令(应用程序)来配置以执行各种功能,包含本文中所述的各种方面的功能。在一些移动装置中,可提供多个处理器1301,例如一个处理器专用于无线通信功能,且一个处理器专用于运行其它应用程序。通常,在软件应用程序被存取且加载到处理器1301中之前, 其可存储在内部存储器1302中。在一些移动装置中,可将额外存储器芯片(例如,安全数据 (SD)卡)插入到装置1300中并耦合到处理器1301。在许多移动装置中,内部存储器1302 可为易失性或非易失性存储器,例如快闪存储器,或所述两者的混合。出于此描述的目的, 对存储器的一般引用是指代所有可由处理器1301存取的存储器,包含内部存储器1302、插入到移动装置中的可装卸存储器及处理器1301自身内的存储器。上述方面也可在各种计算装置中的任一者上实施,所述计算装置例如是图14中说明的个人计算机1460。此个人计算机1460通常包含耦合到易失性存储器1462及例如磁盘驱动器1463等大容量非易失性存储器的处理器1461。计算机1460还可包含耦合到处理器1461的软盘驱动器1464及压缩光盘(⑶)驱动器1465。通常计算机装置1460还将包含例如鼠标1467的指向装置及显示器1469,可包含例如触摸屏幕1468或其它触敏表面的用户输入装置。计算机装置1460还可包含耦合到处理器1461以用于建立数据连接或接纳外部存储器装置的若干连接器端口,例如USB或Fire Wire 连接器插座,或用于将处理器 1461耦合到网络的其它网络连接电路1466。如计算机技术中众所周知,在笔记本配置中,
25计算机外壳包含指向装置1467、触摸屏幕1468及显示器1469。上述若干方面还可与各种远程服务器装置中的任一者(例如图15中说明的服务器1500) —起实施。此服务器1500通常包含耦合到易失性存储器1502及例如磁盘驱动器1503的大容量非易失性存储器的处理器1501。服务器1500还可包含耦合到处理器1501的软盘驱动器及/或压缩光盘(⑶)驱动器1506。服务器1500还可包含耦合到处理器1501以用于与网络电路1505建立数据连接的若干连接器端口 1504。虽然以上实例性描述涉及与单个触敏表面一起操作的单个计算装置,但各方面及权利要求书同样适用于多处理器及多计算机实施方案,以及耦合到多个触敏表面的计算装置。此外,各方面及权利要求书同样适用于在一个或一个以上触敏表面上产生一个以上虚拟小键盘的实施方案。此外,各方面及权利要求书涵盖在一个或两个触敏表面上产生两个定制虚拟小键盘使得两个用户可同时与计算装置交互(例如在两个玩家的视频游戏中)的实施方案。举例来说,计算装置可耦合到触敏窗(例如,商店前窗),投影仪可在所述触敏窗上创建两个定制虚拟小键盘(例如,在此实例中为游戏控制器或游戏操纵杆)的显示及游戏显示,使得两个用户可通过触摸所述窗来对打视频游戏。在此实例中,用户可经由定制虚拟小键盘与计算装置交互,所述定制虚拟小键盘可从中央数据库或计算“云”存取。因此,用户可在其希望的地方使用包含动作按钮的定制游戏操纵杆或游戏控制器垫,且其使用指示应定位按钮。前述方法描述及过程流程图只是作为说明性实例而提供,且并不意在要求或暗示必须以所呈现的顺序来执行各种方面的步骤。所属领域的技术人员将明白,前述方面中的步骤的顺序可用任何顺序来执行。此外,对步骤识别符及例如“此后”、“接着”、“接下来”等单词的引用并不意在限制步骤的顺序;此些识别符及单词只是用来引导读者浏览对方法的描述。结合本文中揭示的方面描述的各种说明性逻辑块、模块、电路及算法步骤可实施为电子硬件、计算机软件或所述两者的组合。为清楚说明硬件与软件的此可互换性,上文已大致关于其功能性而描述了各种说明性组件、块、模块、电路及步骤。所述功能性是实施为硬件还是软件取决于特定应用及施加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以不同方式来实施所描述的功能性,但所述实施决策不应被解释为会导致脱离本发明的范围。可用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其经设计以执行本文中所描述的功能的任何组合来实施或执行用于实施结合本文中所揭示的方面而描述的各种说明性逻辑、逻辑块、模块及电路的硬件。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器与DSP核心的联合,或任何其它此配置。或者,一些步骤或方法可由特定用于给定功能的电路执行。在一个或一个以上示范性方面中,所描述的功能可用硬件、软件、固件或其任何组合来实施。如果用软件实施,则可将功能作为一个或一个以上指令或代码而在计算机可读媒体上存储或传输。本文中揭示的方法或算法的步骤可体现于所执行的处理器可执行软件模块中,所述模块可驻存在计算机可读媒体上。计算机可读媒体包含计算机存储媒体与包含促进计算机程序从一处传递到另一处的任何媒体的通信媒体两者。存储媒体可为任何可由计算机存取的可用媒体。以实例方式(且并非限制),所述计算机可读媒体可包括RAM、 R0M、EEPR0M、⑶-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于载送或存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。同样,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输软件,则将同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包含于媒体的定义中。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘使用激光以光学方式再生数据。上述的组合也应包含在计算机可读媒体的范围内。此外,方法或算法的操作可作为代码及/或指令中的一者或任何组合或集合而驻存在可并入到计算机程序产品中的机器可读媒体及/或计算机可读媒体上。 提供对所揭示的方面的前述描述以使得所属领域的技术人员能够制作或使用本发明。对于所属领域的技术人员来说,将易于明了对这些方面的各种修改,且在不脱离本发明的范围的情况下,本文中定义的一般原理可应用于其它方面。因此,本发明并不意在限于本文中所展示的方面,而是应被赋予与本文中所揭示的原理及新颖特征一致的最广范围。
权利要求
1.一种用于在触敏表面上定义小键盘的方法,其包括 接收在所述触敏表面上的一系列用户触摸的一系列坐标; 使多个按键与所述接收到的一系列坐标相关;确定与所述多个按键中的每一者相关的接收到的坐标的平均值; 在小键盘布局数据中保存所述多个按键中的每一者的所述确定的平均坐标;及使用所述小键盘布局数据产生虚拟小键盘的图像。
2.根据权利要求1所述的方法,其进一步包括 提示所述用户录入一系列键击,其中使多个按键与所述接收到的一系列坐标相关包括使所述提示的一系列键击与所述接收到的坐标相关。
3.根据权利要求1所述的方法,其进一步包括基于接收到的坐标为所述多个按键中的每一者确定统计包络;及在所述小键盘布局数据中保存所述多个按键中的每一者的所述统计包络。
4.根据权利要求1所述的方法,其中使用所述小键盘布局数据产生所述虚拟小键盘的图像包括基于存储于所述小键盘布局数据中的所述多个按键中的每一者的所述平均坐标在若干位置中在所述虚拟小键盘中产生按键的图像。
5.根据权利要求1所述的方法,其中使用所述小键盘布局数据产生所述虚拟小键盘的图像进一步包括在所述虚拟小键盘中产生所述多个按键的图像,其中每一按键图像的大小是基于所述小键盘布局数据中的所述多个按键中的每一者的所述统计包络。
6.根据权利要求1所述的方法,其进一步包括监视在所述触敏表面上的所述虚拟小键盘上的键入; 识别邻近按键键入错误;确定与所述邻近按键键入错误相关联的正确按键;基于所述键入的键击的接收到的坐标更新所述正确按键的所述平均坐标;及在所述小键盘布局数据中保存所述正确按键的所述经更新的平均坐标。
7.根据权利要求6所述的方法,其中识别邻近按键键入错误包括 辨识拼写错误的单词;及确定拼写错误是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换。
8.根据权利要求6所述的方法,其中识别邻近按键键入错误包括 辨识对与按键相关联的字母的用户校正;及确定所述用户校正是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换。
9.根据权利要求1所述的方法,其中在可接入网络的数据库中保存所述小键盘布局数据,所述方法进一步包括经由所述网络将所述小键盘布局数据发射到计算装置,其中使用所述小键盘布局数据产生虚拟小键盘的图像包括在耦合到所述计算装置的触敏表面上产生所述虚拟小键盘的所述图像。
10.根据权利要求9所述的方法,其进一步包括接收在耦合到所述计算装置的所述触敏表面上的用户触摸;及基于在所述触敏表面上的所述接收到的用户触摸确定所述触敏表面上的用于显示所述虚拟小键盘的位置,其中使用所述小键盘布局数据产生虚拟小键盘的图像包括在所述触敏表面上的用于显示的所述确定的位置处产生所述图像。
11.一种计算装置,其包括处理器;存储器,其耦合到所述处理器;及触敏表面,其耦合到所述处理器,其中所述处理器配置有用以执行包括以下的过程的处理器可执行指令接收在所述触敏表面上的一系列用户触摸的一系列坐标;使多个按键与所述接收到的一系列坐标相关;确定与所述多个按键中的每一者相关的接收到的坐标的平均值;在小键盘布局数据中保存所述多个按键中的每一者的所述确定的平均坐标;及使用所述小键盘布局数据产生虚拟小键盘的图像。
12.根据权利要求11所述的计算装置,其中所述处理器配置有用以执行包括以下的其它过程的处理器可执行指令提示所述用户录入一系列键击,其中使多个按键与所述接收到的一系列坐标相关包括使所述提示的一系列键击与所述接收到的坐标相关。
13.根据权利要求11所述的计算装置,其中所述处理器配置有用以执行包括以下的其它过程的处理器可执行指令基于接收到的坐标为所述多个按键中的每一者确定统计包络;及在所述小键盘布局数据中保存所述多个按键中的每一者的所述统计包络。
14.根据权利要求11所述的计算装置,其中所述处理器配置有处理器可执行指令,使得使用所述小键盘布局数据产生所述虚拟小键盘的图像包括基于存储于所述小键盘布局数据中的所述多个按键中的每一者的所述平均坐标在若干位置中在所述虚拟小键盘中产生按键的图像。
15.根据权利要求11所述的计算装置,其中所述处理器配置有处理器可执行指令,使得使用所述小键盘布局数据产生所述虚拟小键盘的图像进一步包括在所述虚拟小键盘中产生所述多个按键的图像,其中每一按键图像的大小是基于所述小键盘布局数据中的所述多个按键中的每一者的所述统计包络。
16.根据权利要求11所述的计算装置,其中所述处理器配置有用以执行包括以下的其它过程的处理器可执行指令监视在所述触敏表面上的所述虚拟小键盘上的键入;识别邻近按键键入错误;确定与所述邻近按键键入错误相关联的正确按键;基于所述键入的键击的接收到的坐标更新所述正确按键的所述平均坐标;及在所述小键盘布局数据中保存所述正确按键的所述经更新的平均坐标。
17.根据权利要求16所述的计算装置,其中所述处理器配置有处理器可执行指令,使得识别邻近按键键入错误包括辨识拼写错误的单词;及确定所述拼写错误是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换。
18.根据权利要求16所述的计算装置,其中所述处理器配置有处理器可执行指令,使得识别邻近按键键入错误包括辨识对与按键相关联的字母的用户校正;及确定所述用户校正是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换。
19.根据权利要求11所述的计算装置,其中所述小键盘布局数据保存在可接入网络的数据库中,其中所述处理器配置有用以执行包括以下的其它过程的处理器可执行指令经由所述网络从所述可接入网络的数据库接收所述小键盘布局数据。
20.根据权利要求19所述的计算装置,其中所述处理器配置有用以执行包括以下的其它过程的处理器可执行指令接收在耦合到所述计算装置的所述触敏表面上的用户触摸;基于在所述触敏表面上的所述接收到的用户触摸确定所述触敏表面上的用于显示所述虚拟小键盘的位置;及使用所述小键盘布局数据在所述触敏表面上的用于显示的所述确定的位置处产生所述虚拟小键盘的所述图像。
21.一种耦合到触敏表面的计算装置,其包括用于接收在所述触敏表面上的一系列用户触摸的一系列坐标的装置;用于使多个按键与所述接收到的一系列坐标相关的装置;用于确定与所述多个按键中的每一者相关的接收到的坐标的平均值的装置;用于在小键盘布局数据中保存所述多个按键中的每一者的所述确定的平均坐标的装置;及用于使用所述小键盘布局数据产生虚拟小键盘的图像的装置。
22.根据权利要求21所述的计算装置,其进一步包括用于提示所述用户录入一系列键击的装置,其中用于使多个按键与所述接收到的一系列坐标相关的装置包括用于使所述提示的一系列键击与所述接收到的坐标相关的装置。
23.根据权利要求21所述的计算装置,其进一步包括用于基于接收到的坐标为所述多个按键中的每一者确定统计包络的装置;及用于在所述小键盘布局数据中保存所述多个按键中的每一者的所述统计包络的装置。
24.根据权利要求21所述的计算装置,其中用于使用所述小键盘布局数据产生所述虚拟小键盘的图像的装置包括用于基于存储于所述小键盘布局数据中的所述多个按键中的每一者的所述平均坐标在若干位置中在所述虚拟小键盘中产生按键的图像的装置。
25.根据权利要求21所述的计算装置,其中用于使用所述小键盘布局数据产生所述虚拟小键盘的图像的装置进一步包括用于在所述虚拟小键盘中产生所述多个按键的图像的装置,其中每一按键图像的大小是基于所述小键盘布局数据中的所述多个按键中的每一者的所述统计包络。
26.根据权利要求21所述的计算装置,其进一步包括用于监视在所述触敏表面上的所述虚拟小键盘上的键入的装置;用于识别邻近按键键入错误的装置;用于确定与所述邻近按键键入错误相关联的正确按键的装置;用于基于所述键入的键击的接收到的坐标更新所述正确按键的所述平均坐标的装置;及用于在所述小键盘布局数据中保存所述正确按键的所述经更新的平均坐标的装置。
27.根据权利要求沈所述的计算装置,其中用于识别邻近按键键入错误的装置包括用于辨识拼写错误的单词的装置;及用于确定拼写错误是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换的装置。
28.根据权利要求沈所述的计算装置,其中用于识别邻近按键键入错误的装置包括用于辨识对与按键相关联的字母的用户校正的装置;及用于确定所述用户校正是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换的装置。
29.根据权利要求21所述的计算装置,其中所述小键盘布局数据保存在可接入网络的数据库中,所述计算装置进一步包括用于经由所述网络将所述小键盘布局数据发射到计算装置的装置,其中用于使用所述小键盘布局数据产生虚拟小键盘的图像的装置包括用于在耦合到所述计算装置的触敏表面上产生所述虚拟小键盘的所述图像的装置。
30.根据权利要求四所述的计算装置,其进一步包括用于接收在耦合到所述计算装置的所述触敏表面上的用户触摸的装置;及用于基于在所述触敏表面上的所述接收到的用户触摸确定所述触敏表面上的用于显示所述虚拟小键盘的位置的装置,其中用于使用所述小键盘布局数据产生虚拟小键盘的图像的装置包括用于在所述触敏表面上的用于显示的所述确定的位置处产生所述图像的装置。
31.一种计算机程序产品,其包括计算机可读媒体,其包括至少一个用于接收在触敏表面上的一系列用户触摸的一系列坐标的指令;至少一个用于使多个按键与所述接收到的一系列坐标相关的指令;至少一个用于确定与所述多个按键中的每一者相关的接收到的坐标的平均值的指令;至少一个用于在小键盘布局数据中保存所述多个按键中的每一者的所述确定的平均坐标的指令;及至少一个用于使用所述小键盘布局数据产生虚拟小键盘的图像的指令。
32.根据权利要求31所述的计算机程序产品,其中所述计算机可读媒体进一步包括至少一个用于提示所述用户录入一系列键击的指令,其中所述至少一个用于使多个按键与所述接收到的一系列坐标相关的指令包括至少一个用于使所述提示的一系列键击与所述接收到的坐标相关的指令。
33.根据权利要求31所述的计算机程序产品,其中所述计算机可读媒体进一步包括至少一个用于基于接收到的坐标为所述多个按键中的每一者确定统计包络的指令;及至少一个用于在所述小键盘布局数据中保存所述多个按键中的每一者的所述统计包络的指令。
34.根据权利要求31所述的计算机程序产品,其中所述至少一个用于使用所述小键盘布局数据产生所述虚拟小键盘的图像的指令包括至少一个用于基于存储于所述小键盘布局数据中的所述多个按键中的每一者的所述平均坐标在若干位置中在所述虚拟小键盘中产生按键的图像的指令。
35.根据权利要求31所述的计算机程序产品,其中所述至少一个用于使用所述小键盘布局数据产生所述虚拟小键盘的图像的指令进一步包括至少一个用于在所述虚拟小键盘中产生所述多个按键的图像的指令,其中每一按键图像的大小是基于所述小键盘布局数据中的所述多个按键中的每一者的所述统计包络。
36.根据权利要求31所述的计算机程序产品,其中所述计算机可读媒体进一步包括 至少一个用于监视在所述触敏表面上的所述虚拟小键盘上的键入的指令;至少一个用于识别邻近按键键入错误的指令;至少一个用于确定与所述邻近按键键入错误相关联的正确按键的指令; 至少一个用于基于所述键入的键击的接收到的坐标更新所述正确按键的所述平均坐标的指令;及至少一个用于在所述小键盘布局数据中保存所述正确按键的所述经更新的平均坐标的指令。
37.根据权利要求36所述的计算机程序产品,其中所述至少一个用于识别邻近按键键入错误的指令包括至少一个用于辨识拼写错误的单词的指令;及至少一个用于确定拼写错误是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换的指令。
38.根据权利要求36所述的计算机程序产品,其中所述至少一个用于识别邻近按键键入错误的指令包括至少一个用于辨识对与按键相关联的字母的用户校正的指令;及至少一个用于确定所述用户校正是否涉及在所述虚拟键盘中彼此邻近的两个按键的调换的指令。
39.根据权利要求31所述的计算机程序产品,其中所述小键盘布局数据保存在可接入网络的数据库中,且所述计算机可读媒体进一步包括至少一个用于经由所述网络将所述小键盘布局数据发射到计算装置的指令, 其中所述至少一个用于使用所述小键盘布局数据产生虚拟小键盘的图像的指令包括至少一个用于在耦合到所述计算装置的触敏表面上产生所述虚拟小键盘的所述图像的指令。
40.根据权利要求39所述的计算机程序产品,其中所述计算机可读媒体进一步包括 至少一个用于接收在耦合到所述计算装置的所述触敏表面上的用户触摸的指令;及至少一个用于基于在所述触敏表面上的所述接收到的用户触摸确定所述触敏表面上的用于显示所述虚拟小键盘的位置的指令,其中所述至少一个用于使用所述小键盘布局数据产生虚拟小键盘的图像的指令包括至少一个用于在所述触敏表面上的用于显示的所述确定的位置处产生所述图像的指令。
41.一种用于根据用户的手定制默认小键盘的方法,其包括接收在触敏表面上的用户触摸的多个坐标;基于用户触摸的所述接收到的多个坐标的至少一部分测量所述用户的手的尺寸;基于所述用户的手的所述测量出的尺寸调整默认小键盘布局的布局尺寸;及使用所述默认小键盘布局的所述经调整的布局尺寸产生虚拟小键盘的图像。
42.一种计算装置,其包括处理器;存储器,其耦合到所述处理器;及触敏表面,其耦合到所述处理器,其中所述处理器配置有用以执行包括以下的过程的处理器可执行指令接收在所述触敏表面上的用户触摸的多个坐标;基于用户触摸的所述接收到的多个坐标的至少一部分测量所述用户的手的尺寸;基于所述用户的手的所述测量出的尺寸调整默认小键盘布局的布局尺寸;及使用所述默认小键盘布局的所述经调整的布局尺寸产生虚拟小键盘的图像。
43.一种计算装置,其包括用于接收在触敏表面上的用户触摸的多个坐标的装置;用于基于用户触摸的所述接收到的多个坐标的至少一部分测量所述用户的手的尺寸的装置;用于基于所述用户的手的所述测量出的尺寸调整默认小键盘布局的布局尺寸的装置;及用于使用所述默认小键盘布局的所述经调整的布局尺寸产生虚拟小键盘的图像的装置。
44.一种计算机程序产品,其包括计算机可读媒体,其包括至少一个用于接收在触敏表面上的用户触摸的多个坐标的指令;至少一个用于基于用户触摸的所述接收到的多个坐标的至少一部分测量所述用户的手的尺寸的指令;至少一个用于基于所述用户的手的所述测量出的尺寸调整默认小键盘布局的布局尺寸的指令;及至少一个用于使用所述默认小键盘布局的所述经调整的布局尺寸产生虚拟小键盘的图像的指令。
全文摘要
本发明提供实现在例如触摸屏幕的触敏表面上定义定制虚拟键盘的方法及系统。使用学习算法,计算装置可学习用户的键入模式,且将虚拟键盘的按键“形态运算”成让用户感到舒适且可减少键入错误的位置、大小及定向。用户可通过在触敏表面上执行一系列键击来创建定制小键盘布局。所述计算装置可使触摸位置与特定按键相关且产生可用于显示所述虚拟键盘并解译所述触敏表面上的触摸的小键盘布局数据。所述计算装置可监视用户键入活动且基于检测到的或经校正的键入错误改进所述小键盘布局数据。可将小键盘布局数据导出到其它装置以使得用户能够随身携带其虚拟键盘。
文档编号G06F3/048GK102378950SQ200980158505
公开日2012年3月14日 申请日期2009年5月11日 优先权日2009年4月10日
发明者巴巴科·福鲁坦保尔, 库尔特·W·亚伯拉罕森 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1