智能用户定制图形键盘的制作方法

文档序号:6534186阅读:247来源:国知局
智能用户定制图形键盘的制作方法
【专利摘要】一种计算设备基于到图形键盘的用户输入自动地定制图形键盘的属性。例如,该计算设备可以显示第一图形键盘布置,其包括与输入敏感显示器的目标区相关联的键的第一表示。该计算设备接收多个用户输入,每个与输入敏感显示器的相应触摸区相关联。在确定一个或多个触摸区不与目标区基本上对准之后,计算设备显示包括该键的第二表示的第二图形键盘布置,其中,该键的第二表示的至少一个属性被在图形上相对于该键的第一表示修改,以便使触摸区中的一个或多个与和该键的第二表示相关联的目标区基本上对准。
【专利说明】智能用户定制图形键盘

【技术领域】
[0001]本公开涉及由计算设备提供的图形键盘。

【背景技术】
[0002]用户可与在计算设备(例如移动电话、平板计算机、智能电话、台式计算机等)上执行的应用相交互。在某些示例中,计算设备可包括可使得用户能够与计算设备相交互的触摸敏感显示器。例如,在计算设备上执行的应用可促使触摸敏感显示器显示可使得用户能够通过触摸图形键盘的某些区域来记录键按压的图形键盘。
[0003]图形键盘的单独用户可具有变化的键入风格。该图形键盘在尺寸方面小于用户可能习惯于的物理键盘。在某些情况下,单独用户当在图形键盘上键入时可能产生大体上一致的错误。例如,被用户触摸的图形键盘上的实际键可能不同于预期的目标键。


【发明内容】

[0004]在一方面,一种方法包括在计算设备的输入敏感显示器处输出包括与输入敏感显示器的目标区相关联的键的第一表示的第一图形键盘布置,并在输入敏感显示器处接收多个用户输入,来自所述多个用户输入的每个用户输入与输入敏感显示器的相应触摸区相关联。该方法还包括响应于确定来自所述多个用户输入的每个输入与该键的第一表示相关联而确定相关联的触摸区中的一个或多个是否不与和该键的第一表示相关联的目标区基本上对准。该方法还包括识别不与目标区基本上对准的触摸区的数量,并且在确定该数量超过不与目标区基本上对准的触摸区的阈值数量之后,在输入敏感显示器处输出包括该键的第二表示的第二图形键盘布置,其中,该键的第二表示的至少一个属性被在图形上相对于该键的第一表示修改,以便使触摸区中的一个或多个与和该键的第二表示相关联的目标区基本上对准。
[0005]在另一方面,一种系统包括至少一个处理器、可被所述至少一个处理器操作以生成图形键盘布置的键盘应用程序以及输出第一图形键盘布置的输入敏感显示器,所述第一图形键盘布置包括与输入敏感显示器的目标区相关联的键的第一表示。输入敏感显示器被配置成接收多个用户输入,每个与输入敏感显示器的相应触摸区相关联,其中,在用户使用在系统上执行的除键盘应用之外的应用期间接收所述多个用户输入,并且键盘应用响应于确定来自所述多个用户输入的每个输入与该键的第一表示相关联而确定相关联的触摸区中的一个或多个是否不与和该键的第一表示相关联的目标区基本上对准。输入敏感显示器输出第二图形键盘布置,其包括该键的第二表示,其中,该键的第二表示的至少一个属性被在图形上相对于该键的第一表不修改,以便使触摸区中的一个或多个与和该键的第二表不相关联的目标区基本上对准。
[0006]在另一方面,一种计算机可读存储介质包括指令,该指令在被计算系统的一个或多个处理器执行时促使计算系统执行操作,该操作包括输出第一图形键盘布置以显示,该第一图形键盘布置包括与输入敏感显示器的目标区相关联的键的第一表示,接收指示多个用户输入的数据,来自所述多个用户输入的每个用户输入与输入敏感显示器的相应触摸区相关联,以及响应于确定来自所述多个用户输入的每个输入与该键的第一表示相关联而确定相关联的触摸区中的一个或多个是否不与和该键的第一表示相关联的目标区基本上对准。该操作还包括在确定触摸区中的一个或多个不与和该键的第一表示相关联的目标区基本上对准之后,输出包括该键的第二表示的第二图形键盘布置以显示,其中,该键的第二表示的至少一个属性被在图形上相对于该键的第一表示修改,以便使触摸区中的一个或多个与和该键的第~■表不相关联的目标区基本上对准。
[0007]在附图和以下描述中阐述了一个或多个示例的细节。根据描述和附图以及根据权利要求,其他特征、目的和优点将是显而易见的。

【专利附图】

【附图说明】
[0008]图1是图示出被配置成执行键盘应用的计算设备的示例的概念图。
[0009]图2是图示出图1中所示的计算设备的一个示例的更多细节的框图。
[0010]图3是图示出键盘应用的示例的概念图。
[0011]图4A-4D是图示出图形键盘的示例性部分的框图。
[0012]图5是图示出与图形键盘上的键的表示相关联的用户输入的示例性分布的概念图。
[0013]图6是图示出被配置成执行键盘应用的计算设备的示例性操作的流程图。

【具体实施方式】
[0014]一般地,本公开涉及在计算设备上对图形键盘的属性进行定制。例如,计算设备可以执行或以其他方式实现键盘应用,其基于从用户的图形键盘使用收集的数据而自动地对图形键盘的布置进行定制,并向用户呈现定制的图形键盘。可例如在计算设备的触摸敏感显示器上呈现图形键盘。
[0015]在示例性方面,键盘应用可向用户呈现训练程序以用于对图形键盘进行定制。例如,可在初始使用计算设备的默认图形键盘时向用户呈现训练程序。根据一个示例性方面,该训练程序可通过显示器向用户呈现样本训练文本,并且可指示用户使用默认图形键盘键入训练文本。键盘应用可记录当用户键入训练文本时发生的用户错误键入的实例。可将键盘应用配置成不考虑其他类型的错误,诸如拼错词或手指在键上的移位,其不是由方向错误的键按压而引起的。
[0016]在另一示例性方面,除训练程序模式之外或作为其替代,键盘应用可在连续键盘学习模式下操作。在连续键盘学习模式下,键盘应用在用户使用计算设备的同时在后台执行,并基于与计算设备的其他应用相关联的用户键入而收集数据。
[0017]在某些方面,对于在图形键盘上表示的每个键,键盘应用可记录用户向输入敏感表面输入的精确位置,并且随时间推移而在与每个键相关联的区域内逐渐形成触摸位置的分布。在某些示例中,键盘应用基于从用户的图形键盘使用收集的数据而自动地对图形键盘进行定制,并向用户呈现定制的图形键盘。键盘应用可将触摸区与目标区相比较,并在例如与最大数量的触摸相关联的位置位于用于该键的内触摸区外面且触摸的数量超过阈值时修改图形键盘(或向用户提议修改)。键盘应用可例如修改图形键盘上的键的形状、尺寸以及相对位置。
[0018]以这种方式针对个体用户的键入习惯定制图形键盘可帮助改善用户使用图形键盘时的体验的质量,诸如通过减少用户作出的错误和修改的数量。键盘应用可使定制的图形键盘布局与用户登录相关联,允许计算设备的多个用户每个具有不同的定制的图形键盘。
[0019]图1是图示出被配置成执行键盘应用的计算设备的示例的概念图。如图1中所示,计算设备2可以包括输入设备4和输出设备6。可将计算设备2配置成执行键盘应用8,其可促使输出设备6显示图形键盘10。键盘应用8可被包括计算设备2的计算系统的至少一个处理器操作以生成图形键盘布置。计算设备2的示例可以包括但不限于便携式或移动设备,诸如蜂窝式电话、平板计算机、个人数字助理(PDA)、便携式游戏设备、便携式媒体播放器和电子书阅读器以及诸如台式计算机之类的非便携式设备。
[0020]在某些示例中,输入设备4被配置成通过触觉、音频或视频反馈从用户接收输入。输入设备4的示例可以包括输入敏感显示器,诸如触摸敏感和/或存在敏感屏幕、鼠标、键盘、语音响应系统或用于检测来自用户的命令的任何其他类型的设备。在某些示例中,输入设备4可以包括触摸敏感显示器、鼠标、键盘、麦克风或视频相机。
[0021]在某些示例中,可将输出设备6配置成使用触觉、音频或视频刺激向用户提供输出。在一个示例中,输出设备6包括输入敏感显示器(例如,触摸敏感显示器或存在敏感显示器)、声卡、视频图形适配卡或用于将信号转换成人或机器可理解的适当形式的任何其他类型的设备。输出设备6的附加示例可以包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、有机发光二极管(OLED)或能够向用户生成可理解输出的任何其他类型的设备。输出设备6可向用户呈现计算设备2的内容。例如,输出设备6可呈现web浏览器或可能需要呈现给用户的其他输出。在某些示例中,输出设备6可以是可以允许用户提供一个或多个用户输入以与计算设备2相交互的触摸屏。
[0022]在计算设备2上执行的键盘应用8可提供一个或多个信号以促使输出设备6(例如,触摸敏感显示器)显示图形键盘10。在某些示例中,用户可提供用户输入以促使计算设备2通过触摸显示图形键盘10的字符键的输出设备6的区域而选择图形键盘10的一个或多个字符键。例如,用户可在图形键盘10的所显示的字符键(诸如字符键9)处执行轻敲手势。该轻敲手势可以包括触摸所显示的字符键和释放字符键。
[0023]在某些示例中,由于当输出设备6包括存在敏感显示器时,可通过使输入手指、触控笔、笔等输入设备在足够接近而使得输出设备6能够检测到输入设备的存在的输出设备附近区域内来实现触摸输出设备6。这样,触摸图形键盘10的所显示的字符键在某些示例中可不包括输入设备与图形键盘10之间的实际物理接触。同样地,在某些示例中,由于当输出设备6包括存在敏感显示器时,可通过从输出设备6的可检测范围移开输入设备来实现释放图形键盘10的所显示的字符键。
[0024]在示例性方面,键盘应用8可向用户呈现训练程序以用于对图形键盘10进行定制。例如,可在初始使用计算设备2的默认图形键盘时向用户呈现训练程序。根据一个示例性方面,该训练程序可通过显示器(例如,由输出设备6呈现)向用户呈现样本训练文本,并且可提示用户使用默认图形键盘布置来键入预定义的一系列字符。由键盘应用8的训练程序呈现的样本训练文本可以包括各种字符,并且可选择成使得每个字符出现多次且使得字符的顺序改变。
[0025]键盘应用8可记录当用户键入训练文本时发生的用户错误键入的实例。例如,键盘应用8可记录触摸敏感显示器上的键按压,并确定与键按压相关联的触摸区不与和目标键相关联的触摸敏感显示器的目标区基本上对准的时间。键盘应用8可基于用户输入的顺序与由训练程序呈现的预定义的一系列字符的顺序的比较来确定用户输入与用于一个键的什么目标区相关联。键盘应用8可确定某些错误是否是由于用户遗漏预期目标键并替代地按下图形键盘10的附近区域而引起的。可将键盘应用8配置成不考虑不是由于方向错误的键按压而引起的其他类型的错误,诸如拼错的词。
[0026]在某些方面,对于在图形键盘10上表示的每个键,键盘应用8可记录用户在输入敏感表面上触摸的精确位置,并且随时间推移而在与每个键相关联的区域内逐渐形成触摸位置的分布。在一个示例性方面,当位置分布的最大点位于与键相关联的特定内区外面且最大点的值大于阈值时,键盘应用8可提出移动键的边界以更好地与最大点的位置对准,即用户实际上按下键的地方。例如,键盘应用8可在位置分布的最大点超过阈值且位于远离与给定键相关联的当前中心区域至少一定距离处时移动用于该键的键边界。键盘应用8可例如修改图形键盘10的属性,诸如图形键盘10上的键的形状、尺寸以及相对位置。
[0027]在另一示例性方面,除训练程序模式之外或作为其替代,键盘应用8可在连续键盘学习模式下操作。在连续键盘学习模式下,键盘应用8在用户使用计算设备2的同时在后台执行,并基于与计算设备2的其他应用(未示出)相关联的用户键入而收集数据。键盘应用8可如上所述地收集键触摸位置分布数据。作为另一示例,键盘应用8可学习用户可能产生键入错误的位置,诸如基于用户返回并修正其键入的实例。
[0028]键盘应用8可例如偶尔地向用户呈现示出新提议的图形键盘布局的显示,允许用户选择使用新的图形键盘布局或保持当前布局。键盘应用8可以同时地输出先前的图形键盘布置和新的图形键盘,使得用户能够看到提出的变化并选择期望的布置。键盘应用8可以请求对第一图形键盘布置和第二图形键盘布置中的一个的用户选择以供将来使用。新的图形键盘布置可具有与第一图形键盘布置不同的总尺寸和形状,其中,由键盘应用8来选择第二图形键盘布置的总尺寸和形状,以便使触摸区中的一个或多个与和键的第二表示相关联的目标区基本上对准。键盘应用8还可为用户提供以键为基础接受、拒绝或修改键布局变化的选项,诸如通过请求对第一图形键盘布置的各键的一个或多个表示的属性的一个或多个修改的用户选择以供将来使用。例如,可以为用户提供通过移动键或通过将键盘重新确定尺寸来修改提议的布局。在某些示例中,键盘应用8可在不请求用户批准的情况下自动地改变图形键盘10的布局。以这种方式,本公开的技术可使得计算设备能够为用户提供适合于用户的特定键入风格的定制图形键盘。
[0029]键盘应用8可使定制图形键盘布局与用户登录相关联,允许计算设备的多个用户每个使用不同的定制的图形键盘。用户可能能够关掉连续键盘学习模式,诸如通过选择在显示器上指示的选项以停止作为后台任务的键盘定制应用的执行。键盘应用8可以是例如在计算设备2上执行的可下载或预先安装的应用。在另一示例中,键盘应用8可以是计算设备的硬件单元的一部分。
[0030]图2是图示出图1中所示的计算设备的一个示例的更多细节的框图。图2图示出计算设备2的仅一个特定示例,并且在其他情况下可使用计算设备2的许多其他示例性实施例。如在图2的特定示例中所示,计算设备2包括输入设备4、输出设备6、一个或多个应用19、一个或多个处理器20、一个或多个存储设备26以及网络接口 24。计算设备2还包括操作系统16,其可包括可由计算设备2执行的模块。在一个示例中,计算设备2还包括也可由计算设备2执行的键盘应用8。键盘应用8包括手势确定模块12、训练模块14以及键盘定制模块18。可将部件4、6、8、12、14、18、20、24和26中的每一个(物理地、通信地和/或操作地)互连以用于部件间通信。在某些示例中,通信信道22可包括系统总线、网络连接、进程间通信、数据结构或用于传送数据的任何其他信道。作为图2中的一个示例,可用一个或多个通信信道22将部件4、6、20、24和26耦合。
[0031]计算设备2可以包括为了明了起见而在图2中未示出的附加部件。例如,计算设备2可以包括电池以向计算设备2的部件提供功率。同样地,图2中所示的计算设备2的部件可以在计算设备2的每个示例中不是都需要的。例如,计算设备2可能不是在所有示例中都包括网络接口 24。
[0032]虽然在图2中被示为单独部件,但在某些示例中,键盘应用8、手势确定模块12、训练模块14以及键盘定制模块18中的一个或多个可以是同一模块的一部分。在某些不例中,键盘应用8、手势确定模块12、训练模块14、键盘定制模块18以及一个或多个处理器20中的一个或多个可在公共硬件单元中形成。在某些示例中,键盘应用8、手势确定模块12、训练模块14以及键盘定制模块18中的一个或多个可以是在一个或多个处理器20上执行或者其可操作的软件和/或固件单元。
[0033]一个或多个处理器20在某些示例中可包括微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或等效离散或集成逻辑电路中的任何一个或多个。可将一个或多个处理器20配置成实现用于在计算设备2内执行的功能和/或进程指令。例如,一个或多个处理器20可能能够处理存储在一个或多个存储设备26中的指令。
[0034]在一个示例中,一个或多个存储设备26被配置成在操作期间将信息存储在计算设备2内。在某些示例中,将存储设备26描述为计算机可读存储介质。在某些示例中,存储设备46是临时存储器,意指存储设备46的主要目的不是长期存储。在某些示例中个,将存储设备46描述为易失性存储器,意指存储设备46在计算机被关闭时不保持所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及在本领域中已知的其他形式的易失性存储器。在某些示例中,使用存储设备46来存储程序指令以便由一个或多个处理器20执行。在一个示例中,存储设备26被在计算设备2 (例如,键盘应用8)上运行的软件或应用用来在程序执行期间临时地存储信息。
[0035]在某些示例中,一个或多个存储设备26还包括一个或多个计算机可读存储介质。可将一个或多个存储设备26配置成存储比易失性存储器大的信息量。还可针对信息的长期存储而配置一个或多个存储设备26。在某些示例中,一个或多个存储设备26包括非易失性存储元件。此类非易失性存储元件的示例包括磁性硬盘、光盘、软盘、闪速存储器或电可编程存储器(EPROM)或电可擦可编程(EEPROM)存储器的形式。
[0036]如图2中所示,存储设备26包括用户设置28、训练程序20、键区32、阈值34以及触摸数据36。可将用户设置28、训练程序30、键区32、阈值34以及触摸数据36每个配置为数据库、平面文件、表、树或存储在计算设备2的存储设备26内的其他数据结构。在某些示例中,可将用户设置28、训练程序30、键区32、阈值34以及触摸数据36配置为到单独的数据储存库,而在其他示例中,其可以是单个数据储存库的一部分。
[0037]在图2的示例中,计算设备2包括网络接口 24。在一个示例中,计算设备2使用网络接口 24经由一个或多个网络、诸如一个或多个无线网络来与外部设备通信。网络接口 24可以是网络接口卡,诸如以太网卡、光学收发机、射频收发机或能够发送和接收信息的任何其他类型的设备。此类网络接口的其他示例可包括移动计算设备中的蓝牙、3G和WiFi无线电以及USB。在某些示例中,计算设备2使用网络接口 24来无线地与外部设备(未示出)通信,诸如服务器、移动电话或其他联网的计算设备。
[0038]计算设备2可包括操作系统16。在某些示例中,操作系统16控制计算设备2的部件的操作。例如,在一个示例中,操作系统16促进键盘应用8与处理器20、网络接口 24、存储设备26、输入设备4以及输出6的交互。
[0039]计算设备2包括可由计算设备2、诸如由一个或多个处理器20执行的键盘应用8。如图2中所示,键盘应用8可包括手势确定模块12、训练模块14以及键盘定制模块18。包括键盘应用8的应用19每个可包括可由计算设备2执行的程序指令和/或数据。例如,手势确定模块12、训练模块14以及键盘定制模块18可包括促使在计算设备2上执行的键盘应用8执行在本公开中描述的操作和动作中的一个或多个的指令。手势确定模块12可诸如从输入设备4或输出设备6 (例如,触摸敏感显示器)接收一个或多个输入,并且可确定所述一个或多个输入包括手势。手势的示例可以包括但不限于轻敲手势、滑动手势、圆形手势等。
[0040]作为一个示例,在一个或多个处理器20上执行的键盘应用8可促使计算设备2、诸如输出设备6的触摸敏感显示器显示图形键盘。手势确定模块12可从输出设备6接收输入,其指示图形键盘的所显示的字符已被诸如手指、触控笔、笔等触摸。当所选的字符已被释放时,手势确定模块12可确定已执行轻敲手势。作为另一示例,在从输出设备6接收到指示所显示的字符已被触摸的输入之后,手势确定模块12在通过在保持与输出设备6的接触的同时滑动输入设备离开所选择的字符来释放所选择的字符时确定已执行滑动手势。
[0041]在某些示例性方面,计算设备2可根据训练程序模式进行操作。在训练程序模式下,训练模块14可执行训练程序30的训练程序以向输出设备6提供训练文本块以便向用户显示。训练模块14可例如在图形键盘初始被计算设备2的用户使用时运行训练程序30。训练程序30可以包括多种样本训练文本。该训练文本可提供一系列字符,包括对应于图形键盘10上的字符的字母、数字以及其他符号。可选择训练文本以确保每个字符发生至少一次或多次。可将训练文本选择成包括例如常见词、常见字符组合和/或各种不同的字符组入口 ο
[0042]手势确定模块12记录用户在触摸敏感显示器上的键按压,并且可确定与每次键按压相关联的触摸区。手势确定模块12可确定与触摸敏感显示器(例如,输出设备6)的与诸如手指、触控笔或其他输入单元之类的输入单元接触的一部分相关联的触摸区。在某些示例中,输出设备6可指示输入单元与输出设备6之间的接触区域的半径。例如,该接触区域可以是触摸敏感显示器的其中触摸敏感显示器的所检测的电容响应于输入单元(例如,手指)的表面区域而改变的区域。在此类示例中,手势确定模块12可使用输出设备6所指示的半径来确定输出设备6的与输入单元接触的部分的触摸区。在某些示例中,输出设备6可指示输出设备6的与输入单元接触的已知区域的像素或其他单元的数目。手势确定模块12可诸如通过基于已知区域的单元数目进行外推来确定输出设备6的与输入单元接触的部分的中心。
[0043]在某些示例中,手势确定模块可指示正在一次执行多个手势。例如,用户可同时提供包括触摸和释放多个所显示的字符的用户输入。在此类示例中,手势确定模块12可单独地跟踪多个手势,并且键盘定制模块18可对于每个单独手势进行确定。
[0044]键盘定制模块18确定每个用户输入与键相关联,即用户输入意图用于与图形键盘上的键的表示接触。如下面更详细地描述的,键盘定制模块18可将触摸区和与显示器上的键的表示相关联的预期目标区相比较,以确定给定触摸区和相关联的目标区是否基本上对准。
[0045]在训练程序模式的示例中,键盘定制模块18从训练模块14和键区32获得预期目标区。键区32可存储指定图形键盘上的目标区的边界的数据。键盘定制模块18可以确定认为用户将按压哪个键,并从键区32获得此键的键边界。例如,可由键盘定制模块18从训练模块14获知训练文本的键字符的预期顺序,并且键盘定制模块18可将其与由手势确定模块12记录的用户输入的顺序和标识相比较。键盘定制模块18被配置成识别与方向错误的键按压无关的无关键入错误,诸如拼写错误或手势移位。例如,键盘定制模块18可注意到方向错误的键按压可非常接近于预期键定位,同时与拼写错误相关联的键按压可更加远离预期键定位。作为另一示例,键盘定制模块18可识别并修正由于用户手指在图形键盘上的移位而引起的错误,诸如在用户的手指已在用户不知道的情况下从原始定位略微地漂移时可能发生的。键盘定制模块18可在将触摸区与图形键盘的预期目标区相比较时忽视无关键入错误或手指移位。
[0046]在某些示例性方面,计算设备2的键盘定制模块18可在连续学习模式下进行操作以便确定是否可能对用户提出对图形键盘的修改。计算设备2可作为诸如上述的训练程序模式的替选或附加来根据连续学习模式进行操作。在连续学习模式下,键盘定制模块18可在用户利用计算设备2的同时作为后台任务执行。例如,用户可利用在计算设备2的操作系统16上执行的一个或多个其他应用19,其中,其他应用19是除键盘应用8之外的应用。键盘定制模块18可基于用户使用图形键盘10到计算设备2的输入来收集数据,并且可例如将所收集的数据存储在一个或多个存储设备26的触摸数据36处。作为一个示例,在用户使用应用19的电子邮件应用来使用图形键盘10进行键入的同时,键盘定制模块18可在连续学习模式下进行操作以在电子邮件应用的使用期间记录与用户输入相关联的数据,并且计算与用户输入相关联的触摸区。
[0047]键盘定制模块18可识别与每个触摸区相关联的目标区。换言之,对于每个用户输入,键盘定制模块18可识别哪些键预期被用户输入按压,并且然后识别用于意图被按压的键的相应目标区。例如,目标区可与预期键的表示的边界一致。键盘定制模块18可基于用户键入自修正来识别哪些键意图被用户输入按压以及因此的相应目标区,诸如当用户删除并重新键入例如某些文本、自修正建议的选择和/或其他用户键入修正。也就是说,键盘定制模块18可识别用户选择了什么键字符来替换原来由用户键入的内容。
[0048]键盘定制模块18可确定对应于给定用户输入的触摸区是否与图形键盘的相关联的目标区基本上对准,并且键盘定制模块18识别其中触摸区与相应的预期键区32不基本上对准的实例。例如,键盘定制模块18可将触摸区的中心与相应目标区的中心相比较。键盘定制模块18可在例如触摸区和目标区的中心在相互的某个配置距离内时确定触摸区与相应目标区基本上对准。在某些示例中,即使触摸区中的某些或全部落在键的表示的边界内,如果触摸区的中心过于接近于键边界的边缘,则可将其确定为不是基本上对准的。在某些示例性方面,键盘定制模块18可针对每个用户构建触摸数据36中的用户触摸的累积记录,并且可确定累积用户触摸的分布与目标区基本上对准。在其他示例中,键盘定制模块18可在触摸区的大于阈值量的表面区域位于目标区之外时确定触摸区不与相应的目标区基本上对准。
[0049]基于用户触摸数据36和/或阈值34,键盘定制模块18可确定可修改图形键盘的一个或多个参数以改善用户体验。键盘定制模块18可例如提出修改一个或多个属性,诸如图形键盘上的键的形状、尺寸以及相对位置。作为另一示例,键盘定制模块18可提出修改诸如图形键盘的总布局之类的属性,包括修改整个图形键盘的尺寸。例如,键盘定制模块18可增加图形键盘的总尺寸,诸如通过增加图形键盘的一个或多个键的尺寸。
[0050]当键盘定制模块18确定应修改图形键盘的一个或多个参数时,键盘定制模块18可向用户建议对图形键盘的提议修改,诸如通过在输出设备6的显示器上示出提议修改。键盘定制模块18可例如偶尔地向用户呈现示出新的提议图形键盘布局的显示。键盘定制模块18可在单个显示器上同时地显示图形键盘的当前布局和图形键盘的提议修改布局两者。
[0051]在某些示例中,键盘定制模块18可为用户给出选择使用新的图形键盘布局或保持当前布局的选项。键盘定制模块18还可为用户提供以键为基础来接受键布局改变的选项。在某些示例中,键盘字定制模块18可在不请求用户批准的情况下自动地改变图形键盘的布局。用户可能能够例如经由由计算设备2呈现的用户菜单来开启或关掉连续键盘学习模式。用户还可以能够延迟参与键盘定制训练程序。
[0052]当多个不同的用户利用计算设备2且在计算设备2上具有例如不同的用户名和相关联的简档时,训练模块14可针对每个用户运行一个或多个训练程序30。键盘定制模块18可针对每个用户创建不同的定制图形键盘。键盘定制模块18可将与不同定制图形键盘相关联的数据存储到用户设置28。例如,键盘定制模块18可将数据存储到用户设置28,其指示用户与相应定制图形键盘布局之间的映射。除与定制的图形键盘有关的设置之外,用户设置28还可以包括用于每个用户的各种用户设置。
[0053]在一个示例中,键盘定制模块18可基于触摸区和目标区的比较来建议放大图形键盘10的总尺寸。例如,如果基于用户的键入收集的触摸数据36指示用户常常触摸超出当前图形键盘的边界的位置,则键盘定制模块18可提出将图形键盘10的总尺寸放大。
[0054]图3是图示键盘应用的示例的概念图。出于图示的目的,下面在图1和图2的计算设备2的上下文中描述示例性键盘应用。在一个或多个处理器20上执行的键盘应用8可提供一个或多个信号以促使诸如输出设备6之类的触摸敏感显示器显示图形键盘40。如图3中所示,用户可在显示图形键盘的字符中的一个或多个的触摸敏感显示器(例如,输出设备6)的位置处执行手势,诸如轻敲手势。可将轻敲手势定义为用输入单元(在所示示例中,手指)在所显示的字符中的一个或多个处触摸触摸敏感显示器并通过从触摸敏感显示器移开输入单元来释放字符。在某些示例中,用户可诸如通过在保持输入单元与触摸敏感显示器之间的接触的同时从所选择的字符移开输入单元而释放字符来执行滑动手势(未示出)。
[0055]在图3的所示示例中,轻敲手势从手势42开始,其中,用户开始在所显示的字符“k”处发起触摸图形键盘40。在手势44处,用户已与图形键盘40的所显示的字母“k”进行接触。手势确定模块12可在输出设备6提供指示输入设备已与触摸敏感显示器进行接触的一个或多个信号时确定诸如所示的轻敲手势之类的手势已开始。在某些示例中,如当输出设备6包括存在敏感显示器时,手势确定模块12可在输出设备6提供指示输入设备已进入存在敏感设备的可检测范围的一个或多个信号时确定手势已开始。
[0056]在手势46处,用户已通过从触摸敏感显示器移开他或她的手指来释放所显示的字符“k”。手势确定模块12可确定已执行轻敲手势,因为通过从触摸敏感显示器移开输入单元而从所选择的字符移开了输入单元(所示示例中的手指)。
[0057]在确定已执行轻敲手势时,手势确定模块12可确定输出设备6的与输入单元接触的部分的触摸区,诸如通过使用位置数据和输出设备6所指示的触摸区的半径。手势确定模块12可存储用户触摸数据、诸如图形键盘上的轻敲手势的位置、与该位置相关联的键字符以及与轻敲手势相关联的触摸区的半径存储到触摸数据36。
[0058]图4A-4D是图示出图形键盘的示例性部分的框图。图4A包括三个目标区50A-50C(“目标区50”)。在图4A的示例中,目标区50A与“H”键的表示相关联,目标区50B与“J”键的表示相关联,并且目标区50C与“N”键的表示相关联。图4A还包括与键“H”的表示相关联的触摸区52。在本示例中,目标区50与图形键盘上的相应键的表示的外边界同范围。在其他示例中,目标区50可能不与键的表示的外边界同范围。例如,目标区50可由与相应键相关联的不同区域组成,诸如通过描绘键的表示的内区。
[0059]在某些方面,可由手势确定模块12基于单个用户输入来确定触摸区52,或者可由键盘定制模块18基于多个用户输入来确定,诸如基于一组用户输入,类似于由图5的图60的分布所表示的那些。在其中目标区50对应于单个用户输入的示例中,在键盘定制模块18在发生与触摸区52相关联的用户输入时确定预期用户已键入“H”的意义上,键盘定制模块18可确定触摸区52与目标区50A相关联。键盘定制模块18可基于来自训练程序30的数据或其他方法确定该关联。
[0060]在图4A的示例中,键盘定制模块18可确定触摸区52与目标区50A基本上对准。例如,键盘定制模块18可确定目标区52的中心在目标区50A的中心的阈值距离内。在图4B的示例中,键盘定制模块18可同样地确定触摸区54与目标区50A相关联。手势确定模块12可计算触摸区54的半径55,并且可使用半径55来确定触摸区54。
[0061]键盘定制模块18可在例如触摸区和目标区的中心相互在某个配置距离内时确定触摸区与相应目标区基本上对准。在某些示例中,即使触摸区中的某些或全部落在键的表示边界内,如果触摸区的中心过于接近于键边界的边缘,则键盘定制模块18可确定触摸区不与目标区基本上对准。图4C图示出一个此类示例。在图4C的示例中,键盘定制模块18可确定触摸区56不与目标区50A基本上对准,因为触摸区56的中心57大于距离目标区50A的中心59的阈值距离。图4D可以是其中发现触摸区58将不与和对应于字符“H”的键的表不相关联的目标区50A基本上对准的另一不例。
[0062]图5是图示出与图形键盘上的键的表示相关联的用户输入的示例性分布的概念图。图5图示出包括表示键63A-63C的图形键盘的部分61。键63A是“H”键的表示,键63B与“ J”键的表示相关联,并且键63C与“N”键的表示相关联。在图5的示例中,三维图60包括表示沿着图形键盘10的平面中的第一维度的位置的X轴62以及表示沿着图形键盘10的平面中的第二维度的位置的I轴64。三维图60还包括z轴66,其表示在图形键盘上的键的给定位置处已发生的触摸的累计数量N。键盘定制模块18可保持分布数据36,其可包括诸如由用于在用于每个用户的图形键盘上表示的每个键(例如,与字母“H”相关联的键)的三维图60所表示的数据。
[0063]图5的示例包括指示与特定见相关联的图形键盘上的位置的键边界68,例如与字母“H”相关联的键。图5还包括与键“H”的表示相关联的目标区72。在图5的示例中,目标区72不是与键边界68同范围,而是表示具有比键边界68涵盖的区域小的表面区域的内区。
[0064]当用户触摸被手势确定模块12记录为与图形键盘10的平面中的特定(x,y)位置相关联时,键盘定制模块18可记录触摸的实例,诸如通过递增与该(X,y)位置相关联的计数器。通过三维图表60来图示在用于键“H”的键边界内的每个(X,y)位置处的达到给定时间点的触摸的累积数量。键盘定制模块18可不记录被确定为实际键入错误(例如,拼写错误)的那些触摸,而是替代地可仅记录被确定为尝试在用于“H”的键的表示处键入的那些触摸。
[0065]可用指定了触摸的阈值数量的阈值70来配置计算设备2。如果当用户尝试触摸用于“H”的键时被用户最多触摸的键边界68内的(X,y)位置过于接近于键边界68的边缘,则键盘定制模块18可确定修改键的位置、形状或其他参数或特性以更好地适合于用户的键入习惯。
[0066]键盘定制模块18可在确定与键“H”相关联的触摸区不与和键“H”相关联的目标区72基本上对准时发起图形键盘的一个或多个参数的修改。例如,键盘定制模块18可在与键“H”相关联的最多被触摸位置位于键的配置内区72外面时发起图形键盘的修改。通过在三维图表60中表不的分布的最大值74来表不最多被触摸的位置。在某些方面,可将键盘定制模块18配置成当在内区72外面仅发生几次触摸时不修改图形键盘,而是可替代地只有当目标区72外面的位置处的触摸的数量超过触摸70的阈值数量时才修改图形键盘。可通过调整用于阈值70和/或目标区72的设置来配置键盘定制模块18的灵敏度。
[0067]替选地或另外,如上所述,键盘定制模块18可在触摸区的中心位于大于与目标区72的中心的配置距离处时发起图形键盘的修改,其中,可基于由图60表示的累积用户输入来确定触摸区。键盘定制模块18可使用其他技术来确定触摸区与相应的目标区基本上对准。响应于确定触摸区不与相应目标区基本上对准,键盘定制模块18可提出修改键的位置、形状或其他参数或特性以更好地适应用户的键入习惯。以这种方式,键盘定制模块18可帮助改善用户使用图形键盘时的体验的质量,诸如通过减少用户作出的错误和修改的数量。
[0068]图6是图示出被配置成执行键盘应用的计算设备或计算系统(例如,图1-2的计算设备2)的示例性过程的示例的流程图。在图6的示例中,具有输入敏感显示器的计算设备通过输出第一图形键盘布置来进行操作,该第一图形键盘布置包括与输入敏感显示器的目标区相关联的键的第一表示(80)。该操作包括在输入敏感显示器处接收多个用户输入,来自所述多个用户输入的每个用户输入与输入敏感显示器的相应触摸区相关联(82)。响应于确定来自所述多个用户输入的每个输入与键的第一表示相关联,该操作包括确定相关联的触摸区中的一个或多个是否不是与和键的第一表示相关联的目标区基本上对准(84)。该操作包括识别不与目标区基本上对准的触摸区的数量(86),并且在确定该数量超过不与目标区基本上对准的触摸区的阈值数量之后在输入敏感显示器处输出包括键的第二表示的第二图形键盘布置,其中,该键的第二表示的至少一个属性被在图形上相对于该键的第一表不修改,以便使触摸区中的一个或多个与和该键的第二表不相关联的目标区基本上对准(88)。
[0069]在一个示例中,该过程还可以包括响应于由计算设备呈现提示用户使用第一图形键盘布置键入预定义的一系列字符的训练程序而接收所述多个用户输入,并基于用户输入的顺序与由训练程序呈现的所述预定义的一系列字符的顺序的比较来确定来自所述多个用户输入的每个用户输入与键的第一表示相关联。替选地或另外,该过程可以包括作为计算设备的后台任务执行键盘定制应用,并在用户使用在计算设备上执行的除键盘定制应用之外的应用期间接收所述多个用户输入。在某些示例中,该过程可以包括至少部分地基于从用户接收到的键入修正而确定例如来自所述多个用户输入的每个用户输入与键的第一表示相关联。该过程可以包括在计算设备的输入敏感显示器处输出用以停止作为后台任务的键盘定制应用的执行的选项的指示。
[0070]替选地或另外,在某些示例中,该过程可以包括在计算设备的输入敏感显示器处同时输出第一图形键盘布置和第二图形键盘,并请求对第一图形键盘布置和第二图形键盘中的一个的用户选择以供将来使用和/或请求对第一图形键盘布置的键的一个或多个表示的属性的一个或多个修改的用户选择以供将来使用。该过程可以包括使第二图形键盘布置与计算设备的用户的简档相关联。该过程还可以包括修改键的第二表示的一个或多个属性以在图形上相对于键的第一表示进行修改,诸如形状、尺寸、位置或其他属性。
[0071]在某些示例中,该过程可以包括至少基于确定触摸区的中心位于大于与目标区的中心相距的阈值距离处而确定相关联的触摸区中的一个或多个不与和键的第一表示相关联的目标区基本上对准。在某些示例中,该过程可以包括至少基于确定触摸区的大于阈值量的表面区域位于目标区外面而确定相关联的触摸区中的一个或多个不与和键的第一表不相关联的目标区基本上对准。
[0072]本文所述的技术可至少部分地用硬件、软件、固件或其任何组合来实现。例如,可在一个或多个处理器内实现所述实施例的各个方面,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效集成或分立逻辑电路以及此类部件的任何组合。术语“处理器”或“处理电路”可一般地指的是前述逻辑电路中的任何一个,单独地或与其他逻辑电路组合,或任何其他等效电路。包括硬件的控制单元还可执行本公开的技术中的一个或多个。
[0073]可在同一设备内或在单独设备内实现此类硬件、软件以及固件以支持本文所述的各种技术。另外,可一起或单独地作为分立但可互操作的逻辑设备来实现任何的所述单元、模块或部件。将不同特征描述为模块或单元意图突出显示不同的功能方面,并且不一定意味着由单独硬件、固件或软件部件来实现此类模块或单元。相反,可由单独硬件、固件或软件部件来执行与一个或多个模块或单元相关联的功能,或者将其集成在公共或单独硬件、固件或软件部件内。
[0074]还可在包括编码有指令的计算机可读存储介质的制品中体现或编码本文所述的技术。在包括已编码的计算机可读存储介质的制品中嵌入或编码的指令可促使计算系统的一个或多个可编程处理器或其他处理器实现本文所述的技术中的一个或多个,诸如当在计算机可读存储介质中包括或编码的指令被所述一个或多个处理器执行时。计算机可读存储介质可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(RPOM)、可擦可编程序只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪速存储器、硬盘、压缩盘ROM (CD-ROM)、软盘、磁带、磁介质、光学介质或其他计算机可读介质。在某些示例中,制品可包括一个或多个计算机可读存储介质。
[0075]在某些示例中,计算机可读存储介质可包括非临时介质。术语“非临时”可指示存储介质是有形的且不是体现在载波或传播信号中。在某些示例中,非临时存储介质可存储能够随时间推移而改变的数据(例如在RAM或高速缓存中)。
[0076]已描述了各种示例。这些及其他示例在所附权利要求的范围内。
【权利要求】
1.一种方法,包括: 由计算设备输出第一图形键盘布置以在输入敏感显示器处显示,所述第一图形键盘布置包括与所述输入敏感显示器的目标区相对应的键的第一表示; 由所述计算设备接收在所述输入敏感显示器处接收的多个用户输入的指示,来自所述多个用户输入的每个用户输入位于所述输入敏感显示器的相应触摸区处; 由所述计算设备至少部分地基于所述多个用户输入中的一个或多个,确定来自所述多个用户输入的每个用户输入对应于所述键; 响应于确定每个用户输入对应于所述键,由所述计算设备识别用于所述用户输入的不与和所述键的所述第一表示相对应的目标区基本上对准的触摸区的数量;以及 响应于确定所述数量超过不与所述目标区基本上对准的触摸区的阈值数量,由所述计算设备输出包括所述键的第二表示的第二图形键盘布置以在所述输入敏感显示器处显示,其中,所述键的所述第二表示的至少一个属性被在图形上相对于所述键的所述第一表示修改,以便使与所述键的所述第二表示相对应的目标区与所述触摸区中的一个或多个基本上对准。
2.根据权利要求1所述的方法,其中,在所述输入敏感显示器处接收所述多个用户输入的指示包括响应于由所述计算设备呈现的提示用户使用所述第一图形键盘布置来键入预定义的一系列字符的训练程序而接收所述多个用户输入的指示, 其中确定来自所述多个用户输入的每个用户输入对应于所述键包括至少部分地基于所述用户输入的顺序与由所述训练程序呈现的所述预定义的一系列字符的顺序的比较来进行确定。
3.根据权利要求1所述的方法,进一步包括: 作为所述计算设备的后台任务来执行键盘定制应用, 其中,在所述输入敏感显示器处接收所述多个用户输入的指示包括在用户使用在所述计算设备上执行的除所述键盘定制应用之外的应用期间接收所述多个用户输入的指示。
4.根据权利要求3所述的方法,进一步包括: 由所述键盘定制应用至少部分地基于从所述用户接收到的键入修正来确定来自所述多个用户输入的每个用户输入对应于所述键。
5.根据权利要求3所述的方法,进一步包括: 由所述计算设备输出用以停止作为后台任务执行所述键盘定制应用的选项的指示以在所述计算设备的所述输入敏感显示器处显示。
6.根据权利要求1所述的方法,进一步包括: 由所述计算设备同时输出所述第一图形键盘布置和所述第二图形键盘以在所述计算设备的所述输入敏感显示器处显示;以及 请求对所述第一图形键盘布置和所述第二图形键盘中的一个的用户选择以供将来使用。
7.根据权利要求1所述的方法,进一步包括: 由所述计算设备同时输出所述第一图形键盘布置和所述第二图形键盘两者以在所述输入敏感显示器处显示;以及 请求对所述第一图形键盘布置的键的一个或多个表示的属性的一个或多个修改的用户选择以供将来使用。
8.根据权利要求1所述的方法,进一步包括: 使所述第二图形键盘布置与所述计算设备的用户的简档相关联。
9.根据权利要求1所述的方法,进一步包括: 选择要在图形上相对于所述键的所述第一表示修改的所述键的所述第二表示的所述至少一个属性,其中,所选择的属性包括所述键的所述第二表示的形状。
10.根据权利要求1所述的方法,进一步包括: 选择要在图形上相对于所述键的所述第一表示修改的所述键的所述第二表示的所述至少一个属性,其中,所选择的属性包括所述键的所述第二表示的尺寸。
11.根据权利要求1所述的方法,进一步包括: 选择要在图形上相对于所述键的所述第一表示修改的所述键的所述第二表示的所述至少一个属性,其中,所选择的属性包括所述键的所述第二表示在所述图形键盘中的位置。
12.根据权利要求1所述的方法, 其中,所述第一图形键盘布置包括多个相应键的多个表示, 其中,所述第二图形键盘布置包括相应键的第二多个表示, 其中,所述第二图形键盘布置具有与所述第一图形键盘布置不同的总尺寸和形状,以及 其中,所述第二图形键盘布置的所述总尺寸和形状被选择成使与所述键的所述第二表示相对应的目标区与所述触摸区中的一个或多个基本上对准。
13.根据权利要求1所述的方法,其中,所述输入敏感显示器包括所述计算设备的存在敏感显示器,所述存在敏感显示器在不要求输入单元与所述存在敏感显示器之间的物理接触的情况下至少部分地基于所述输入单元的存在来记录所述多个用户输入中的每一个。
14.根据权利要求1所述的方法,其中,所述输入敏感显示器包括所述计算设备的触摸敏感显示器,其中,所述多个用户输入包括所述触摸敏感显示器的多个用户触摸。
15.根据权利要求1所述的方法,进一步包括:至少部分地基于确定所述触摸区的中心位于大于距所述目标区的中心的阈值距离处,确定相关联的触摸区中的一个或多个不与和所述键的所述第一表示相对应的所述目标区基本上对准。
16.根据权利要求1所述的方法,进一步包括:至少部分地基于确定所述触摸区的大于阈值量的表面区域位于所述目标区之外,确定相关联的触摸区中的一个或多个不与和所述键的所述第一表示相对应的所述目标区基本上对准。
17.根据权利要求1所述的方法,其中确定来自所述多个用户输入的每个用户输入对应于所述键包括确定每个相应触摸区域至少部分地位于与所述键的所述第一表示相对应的所述目标区内。
18.—种系统,包括: 至少一个处理器; 键盘应用,所述键盘应用能被所述至少一个处理器操作以生成图形键盘布置;以及 输入敏感显示器,所述输入敏感显示器输出第一图形键盘布置以显示,所述第一图形键盘布置包括与所述输入敏感显示器的目标区相对应的键的第一表示, 其中,所述输入敏感显示器被配置成接收每个位于所述输入敏感显示器的相应触摸区处的多个用户输入的指示,其中,在由用户使用在所述系统上执行的除所述键盘应用之外的应用期间接收所述多个用户输入的指示, 其中,所述键盘应用至少部分地基于所述多个用户输入中的一个或多个确定来自所述多个用户输入的每个用户输入对应于所述键; 其中,所述键盘应用响应于确定每个用户输入对应于所述键,识别用于所述用户输入的不与和所述键的所述第一表示相对应的目标区基本上对准的触摸区的数量,以及 其中,所述输入敏感显示器输出第二图形键盘布置,所述第二图形键盘布置包括所述键的第二表示,其中,所述键的所述第二表示的至少一个属性被在图形上相对于所述键的所述第一表示修改,以便使与所述键的所述第二表示相对应的目标区与所述触摸区中的一个或多个基本上对准。
19.根据权利要求18所述的系统,其中,所述键盘应用响应于确定所述数量超过不与所述目标区基本上对准的触摸区的阈值数量而生成所述第二图形键盘布置。
20.一种包括指令的计算机可读存储介质,所述指令如果被计算系统的一个或多个处理器执行则促使所述计算系统执行操作,所述操作包括: 输出第一图形键盘布置以在输入敏感显示器处显示,所述第一图形键盘布置包括与所述输入敏感显示器的目标区相对应的键的第一表示; 接收指示多个用户输入的数据,来自所述多个用户输入的每个用户输入位于所述输入敏感显示器的相应触摸区处; 至少部分地基于所述多个用户输入中的一个或多个,确定来自所述多个用户输入的每个用户输入对应于所述键; 响应于确定每个用户输入对应于所述键,识别用于所述用户输入的不与和所述键的所述第一表示相对应的目标区基本上对准的触摸区的数量;以及 响应于确定所述触摸区中的一个或多个不与和所述键的所述第一表示相关联的目标区基本上对准,输出包括所述键的第二表示的第二图形键盘布置以在所述输入敏感显示器处显示,其中,所述键的所述第二表示的至少一个属性被在图形上相对于所述键的所述第一表示修改,以便使与所述键的所述第二表示相对应的目标区与所述触摸区中的一个或多个基本上对准。
21.根据权利要求20所述的计算机可读存储介质,其中,接收指示所述多个用户输入的数据包括接收指示响应于由计算设备呈现的提示用户使用所述第一图形键盘布置来键入预定义的一系列字符的训练程序而接收到的多个用户输入的数据, 其中,确定来自所述多个用户输入的每个用户输入对应于所述键包括至少部分地基于所述用户输入的顺序与由所述训练程序呈现的所述预定义的一系列字符的顺序的比较来进行确定。
【文档编号】G06F3/0488GK104350449SQ201380029556
【公开日】2015年2月11日 申请日期:2013年3月11日 优先权日:2012年4月6日
【发明者】张信成, 彭业飞 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1