CN111708478A - 键盘输入的消歧 - Google Patents

键盘输入的消歧 Download PDF

Info

Publication number
CN111708478A
CN111708478A CN202010561738.0A CN202010561738A CN111708478A CN 111708478 A CN111708478 A CN 111708478A CN 202010561738 A CN202010561738 A CN 202010561738A CN 111708478 A CN111708478 A CN 111708478A
Authority
CN
China
Prior art keywords
input
keyboard
character
gesture
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010561738.0A
Other languages
English (en)
Other versions
CN111708478B (zh
Inventor
W·A·S·巴克斯顿
R·L·休斯
K·P·欣克利
M·帕胡德
I·斯皮里多诺瓦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN202010561738.0A priority Critical patent/CN111708478B/zh
Publication of CN111708478A publication Critical patent/CN111708478A/zh
Application granted granted Critical
Publication of CN111708478B publication Critical patent/CN111708478B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0234Character input methods using switches operable in different directions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0236Character input methods using selection techniques to select from displayed items
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus

Abstract

一种装置,包括操作键盘的键盘引擎,其接受形状书写输入和径向条目输入。键盘输入模块从键盘的至少一个输入传感器获取输入数据。意图消歧引擎实现键盘用户对于形状书写输入和径向条目输入的接受的同时使用。

Description

键盘输入的消歧
本申请是申请日为2015年09月09日、申请号为201580049268.7、发明名称为“键盘输入的消歧”的发明专利申请的分案申请。
背景技术
电子设备的用户越来越多地使用移动设备和平板电脑,这已经导致触摸屏图形键盘和其他触敏键盘使用的增加、以及相应的对高效文本输入技术的用户需求。研究人员已经采取了很多策略来改进触摸屏打字,从非QWERTY键盘布局,到用单个划动对整个单词进行形状书写,到处理严重复用键并通过语言模型解决模糊输入。
尽管这些技术可以产生大量的性能优点,但是它们也可能在实现性能改善之前通常需要来自用户对获取技能的大量投入。因此,用户可能对这样的新技术不能保持足够长时间的兴趣以得到这样的改善。
发明内容
根据一个一般方面,一种装置,包括操作接受形状书写输入和径向条目输入的键盘的键盘引擎。键盘输入模块从键盘的至少一个输入传感器获取输入数据。意图消歧引擎实现所述键盘的用户对于形状书写输入和径向条目输入的接受的同时使用。
根据另一方面,可以从接受形状书写输入和径向条目输入的键盘获取输入数据。可以通过对输入数据消歧以区分形状书写输入和径向条目输入来为键盘的用户提供形状书写输入和径向条目输入的接受的同时使用。
根据另一方面,一种计算机程序产品,可以包括存储可执行代码的计算机可读存储介质,可执行代码可以引起至少一个设备处理器从接受形状书写输入和径向条目输入的键盘获取输入数据,以及通过对输入数据消歧以区分形状书写输入和径向条目输入来为键盘的用户提供形状书写输入和径向条目输入的接受的同时使用。
提供本发明内容以便以简化的形式介绍将在具体实施方式中被进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不在于用于限制所要求保护的主题的范围。在接下来附图以及说明书中阐述了一个或多个实现方式的细节。根据说明书和附图以及权利要求书,其他特征将是显而易见的。
附图说明
图1A-1B示出了示例虚拟键盘。
图2示出了横向径向条目手势的示例。
图3示出了对角径向条目手势的示例。
图4示出了垂直径向条目手势的示例。
图5A-5B示出了示例径向菜单。
图6A-6B示出了示例单词预测。
图7A-7C示出了示例形状书写。
图8描绘了与径向手势功能相关联的示例径向手势帮助菜单。
图9描绘了附接有示例键盘的示例设备。
图10A-10B描绘了可以由示例意图消歧引擎使用的示例状态机。
图11示出了示例键盘引擎的示例逻辑。
图12是示出用于对键盘输入模式消歧的示例通用系统的框图。
图13A-13C是示出图12中的系统的示例操作的流程图。
具体实施方式
I.介绍
对在平板、平板电脑、移动电话和多点触摸电子白板上的文本输入的软键盘的增强和创新是当前研究和创新的活跃区域。
用于改善文本输入性能或用于在相同屏幕空间中适配更多键功能的一种技术是使用单点触摸滑动或多点触摸滑动手势来增强触摸屏键盘。例如,可以以这种方式采用用于诸如空格(Space)、回格(Backspace)、回车(Enter)和上档(Shift)等键的划动快捷方式,作为径向手势(即,在虚拟键盘的键上、附近或之间的各种位置处触发的定向划动;或者在一些实现中直接在文本本身上方),或者经由可以在特定键(例如用于上档键)上或在键盘的几乎任何区域(例如,用于空格、回格和回车键)上调用的径向菜单。特别地,该方法还使得能够潜在地移除或省略由于手势而冗余的相应键,从而释放来自潜在的第二和第三虚拟键盘的附加字符的键盘空间。作为示例,用于提供具有径向菜单和省略了手势冗余键的划动键盘的一些技术在2012年10月30日提交的题为“Graphical Keyboard with RadialMenus”的共同拥有的美国临时专利申请序列号61/720,335(代理人卷号No.336986.01)以及2012年12月19日提交的题为“Keyboard with Gesture-Redundant Keys Removed”的公开为美国专利申请公开号2014/0123049的美国专利申请序列号13/720,527(代理人案卷号No.333686.02)中讨论。
此外,可以经由示例划动或短划动手势来实现这样的键功能。作为示例,用于提供这样的键功能的一些技术在2012年12月12日提交的题为“Gesture-Initiated KeyboardFunctions”的公开为美国专利申请公开号2014/0078063的共同拥有的美国专利申请序列号13/712,111(代理人案卷号337229.02)中讨论。
根据本文中所讨论的示例技术,键盘可以提供短线性划动手势(例如,径向划动、径向条目模式手势或径向菜单手势)以及形状书写的组合。根据本文中所讨论的示例技术,任何允许的输入模式可以在键盘上的任何地方使用,并且可以在运行中无缝地在接受用户输入的键盘上的任何位置实现模式之间的消歧。
在本上下文中,“手势”可以指代抵靠或来自键盘装置的触敏表面的手指或其他键盘输入对象(或其任何组合或子组合)的任何触摸、滑动、保持或释放。此外,“手势”可以指代在键盘上发生的任何手指、手或其他键盘输入对象(或其任何组合或子组合)的未触摸键盘输入对象(例如,在键盘上方的大气空间中,无论是物理键盘还是软键盘,或者关于虚拟键盘)的运动。此外,“手势”可以指代在显示器上开始并随着输入对象移动时在显示器上方上升的任何手指、手或其他键盘输入对象的移动(例如,,利用深度敏感显示器,径向菜单手势可以在显示器上开始并且随着手指执行手势在显示器上方向上移动,因此其可以与在手指保持与显示器接触的相同方向上的手势区分开)。
如在本上下文中使用的,键盘上的“形状书写”可以涉及在键盘的顶部上滑动以拼出单词而不抬起手指。例如,形状书写可以通过基于划动的形状和划动的拐点所确定的接近手势的不同键来解释(例如,基于预设的“接近”的门限值来确定哪个键足够接近拐点——以确定该“足够接近”键意图用于进入作为输入)。例如,在形状书写中可以使用这样的手势进行整个词的输入。例如,可以使用语言模型将划动路径与期望的单词相匹配。
例如,形状手势可以用于频繁使用的单词(例如,“the”、“of”或特定用户频繁使用的其他单词),并且当用户掌握形状手势时,可以有利地在文本输入时提供更优的速度和效率。例如,形状手势也可以用于不常出现的单词(即,对于字典中的任何单词)。例如,当用户获得形状书写技术的经验时,他们可能表现出形状书写越来越多不常发生的单词的倾向。
如在本上下文中使用的,“径向划动”或“径向条目”手势通常可以指代基本上短的、线性的(即,基本上直的、基本上没有拐点、或者非线性角度的手势)划动或手势,其通过在初始触摸之后在特定方向(例如,向上、向下、向左、向右等,若设备被保持在其正常使用位置)的移动来执行。
如在本上下文中使用的,“径向划动”或“径向条目”手势还可以指代较长的划动。例如,这样的较长的划动可以用于径向菜单(例如,被解释为重复回格手势的长的、直的、竖直的划动)。
如在本上下文中使用的,“径向划动”或“径向输入”手势还可以指代具有一个拐点的划动(例如,以实现分级(嵌套)径向菜单)。
如在本上下文中使用的,“意图”可以指代用户在键盘输入方面的意图。例如,当他/她从键盘上的“w”键到“e”键做出连续的手势时,用户可能想要输入单词“we”。如在本上下文中使用的,“意图消歧”可以指代在键盘上输入的的潜在意图表达以及由提供键盘输入的实体(例如,用户)的意图之间的消歧。
根据本文中所讨论的示例技术,对于同时支持“形状书写”技术的键盘,其可以包括上述的的示例键(例如,对于划动快捷键是冗余的并且因此可以从支持划动快捷键的键盘中省略的键)和/或功能的简单划动快捷键以及其他手势的集成。例如,这种集成可以实现一种混合方法,其将示例划动手势的简单性能优势与全形状书写的长期学习相结合,这(提供了更高的性能上限)可能需要用户更多的练习和学习投入才能从中充分受益。
图1A示出了省略了空格键、回格键、上档键和回车键的示例性敲击加手势QWERTY图形或印刷键盘100A。例如,对实际完全省略/消除的替代方式是设置有尺寸显著减小和/或被组合到单个键上的一个或多个键,即,基本上省略这些键。同样,按照用户的偏好这也可以指代可作为一个选项卡或选项供用户选择的标准键盘(具有所有键),、以及可作为另一个选项卡或选项以供选择的省略了这些键中的一些或全部的键盘。在本上下文中,“移除(remove)”及其变体如“省略”、“移除(removal)”或“移除(removing)”是指实际省略(或实质省略)。
可以看出,通过省略,数字/特殊字符可以被替换,例如,在通过省略冗余键释放的空间中提供标准QWERTY键盘的顶行(数字一至九和零、以及它们上方的变换字符)。例如,“7”键102被示出为具有径向条目替代“\”、“&”和“/”,分别通过向左上(up-left)、向上(up)、和右上(up-right)的径向划动选择。例如,“7”键102上的敲击将提供用户意图输入“7”的推断。然而,先触摸“7”键102上、然后是向上的短划动(基本上线性、基本上短手势),接着向左移动方向(向左上方,基于用户的视角)即可以提供用户意图通过径向条目手势(即,径向条目划动)输入“\”的推断。例如,每个键的这些附加字符可以显示于键上,从而相应的手势显得自然直观(例如,从用户角度来看,“\”的输入涉及向上到向左的手势的、以及“/”的输入涉及向上到向右的手势)。另外,“9”键和“0”键分别包括大括号、圆括号和方括号,打开括号的划动(在“9”键上)与关闭括号的对应类型的划动或手势(在“0”键上)直观地耦合,从而使得径向条目输入直观容易。
如图1A所示,在示例键盘100A中,最多可以将三个而不是一个辅助字符(包括符号和命令等)添加到键盘的基本键,使得每个键能到四个字符用作径向菜单手势或划动。因此,例如,三个向上的划动——向左上、向上和向右上可以用于区分选择了三个辅助字符中的哪一个。向上所代表的字符(例如,星号“*”)可以是在标准QWERTY键盘上通常与相关联的初始字符(例如,小写,用于字母)搭配的字符,并且被显示为位于另外两个划动选择字符之间。因此,向上划动的大致方向对应了所选择字符的位置(向左上划动选择用于“8”键106的左划动变换字符加“+”,向右上划动选择右划动变换字符减“-”)。在其他实现中,可以有更多(或更少)的手势对应于每个键(因此每个键具有更多(或更少)的字符和/或命令)、和/或可以有更多手势可以在键盘上的任何位置启动。因此,可以基本上减少(或消除)切换到辅助键盘以进行这些附加输入的操作。
例如,每个键的附加字符可以在视觉上变灰(或者其他视觉帮助来去强调可见性中的附加字符),以使得用户在键入时更容易实现可读性感知。例如,可视键盘可以具有黑色(或类似深色)的背景颜色,在键上具有白色(或相似的更浅色)的字符印记。因此,附加字符在所显示的键盘上的呈现不如“基本”键字符那么强调,以帮助用户实现可见性“分离”。
例如,使用所添加的键的辅助符号和主符号(如图所示)将字符从次要键盘移动到主键盘。例如,出现在典型QWERTY键盘上的其他字符也可能出现在右上角和右下角。通过省略空格、回车、上档和回格键,在占用相同大小的触敏表面区域的情况该键盘可以提供更多的字符,并且,例如,与具有少得多的字符的其他键盘具有相同大小的键(或不同大小的键)。这种机制提供的这些常见字符的快速访问使得文本输入速度显著增加,同时降低了复杂性。
如图1A所示,当在键盘100A上发生用户输入时,可以提供备选建议列表104的显示区域,用于用文本显示备选(例如,备选单词、备选手势等)。例如,可以在用户进行输入时提供建议。例如,用户可以从列表中选择备选,其还可以包括可选择的“撤消”选项。例如,在编辑器中进入的接受的单词可以在备选建议列表104中显示为彩色(例如,经由绿色着色),以在视觉上将其与其他备选建议区分开。尽管未示出,但是备选建议列表104可以在单独的显示处中显示,作为键盘100A的补充或替代。例如,备选建议列表104可以显示在所显示(例如,已输入的)的文本处附近的单独的窗口中。
图1B示出了包括空格110、回格112、上档114和回车116输入的键的示例QWERTY图形或印刷键盘100B。例如,数字键通常可以在典型的传统键盘上提供,但是可以在键盘的另一层上提供,其涉及切换键盘层以访问数字键。
图2示出了示例性轻敲加手势图形或印刷键盘100上的示例手势,其中箭头表示短用户手势的一些示例。计算设备领域的技术人员将理解,能够检测和使用更精细的手势,然而为了简化说明,示出了简单划动的形式的手势。例如,短划动可以是直观的并且一旦掌握易于用户记住的。在一些实现中,也可以考虑划动或手势的长度。例如,非常短的划动可以被视为轻敲。作为另一示例,敲击的力分布可以用于这样的推断。例如,具有变化显著的力起始阶段分布的触摸可以被推断为轻敲的意图,而柔和的起始阶段分布可以被推断为指示有意的滑动运动(例如,使用大约1kHz的高采样率来可靠地感测该压力起始曲线)。
例如,到左侧的短线性划动202可以被视为回格,并且向左的更长的线性划动可以被视为“删除上一单词”或“选择上一单词”命令。例如,向右的短线性划动204可以被视为Space。在一些实现中,也可以考虑划动或手势的速度、加速度和/或动态性质。
在图2中,被轻敲(例如,接触和提起)的任何键可以与其他触摸键盘上的键类似地表现。因此,轻敲可以提供被轻敲的键的字符或功能(例如,由所显示的键上表示的符号指示)的推断。因此,在示例键盘100上,如果轻敲“a”键,则推断小写字母“a”作为用户的预期键盘输入。
根据本文中所讨论的一些示例技术,手势可以用于启动动作,例如在启动之后使用保持动作以用于进入控制状态。例如,抬起时的向左的划动202可以被识别为回格,而相同的划动,但是随后保持划动的结束位置而不是抬起,可以启动自动重复回格。例如,在该点之后向左移动可以用于加速自动重复。例如,向右移动可以用于减慢自动重复,并且可能反转自动重复以替换删除的字符。例如,自动重复回格可以仅限于某些键(例如,可以仅限于数字键,因为单词中通常不包含的数字),以避免与其他形状书写手势的大量模糊性。例如,很多用户可以频繁地使用回格功能,并且这样的限制可以基本上帮助消歧。
根据本文中所讨论的示例技术,如果用户触摸键盘上的几乎任何地方并且执行向右的划动,则可以推断为空格字符,如手势204所示。根据本文中所讨论的示例技术,向左的划动可以表示回格。因此,例如,如果用户触摸(几乎)键盘上的任何地方并且执行向左的划动,则他/她可以指示回格,这可能导致删除的一个或多个先前输入的字符。这由手势202示出。例如,某些键可能不响应这些手势(例如,在屏幕边缘的键(诸如Ctrl键)可以具有它们自己的定制菜单)。例如,这些手势可以基本上在用户键入常规单词期间可能自然地触摸的任何地方使用,但是某些区域(例如,在边缘附近或在特定控制对象上)可以被保留用于其他目的。
根据本文中所讨论的示例技术,如图3所示,向下向左划动302可以提供回车(或换行(Return))条目。因此,如果用户触摸键盘上的任何地方并且向左执行向下划动,则可以推断“回车”键。例如,预定门限角度可以用于区分用户意图,例如以区分向左且仅稍微向下的划动更可能是回格划动或回车划动。在一个实现中,对于一些或所有手势,只要在键盘内启动手势,用户可以在所显示的键盘的外部释放手势。如图3所示,向右上划动304可以提供退出(Escape)条目。因此,如果用户触摸键盘上的任何地方并且向右上划动,则可以推断为“退出”键。
计算设备领域的技术人员将理解,由于可以在作为大目标的键盘上的任何地方启动空格、回格和回车划动,并且由于它们的方向既容易表达又容易记忆,它们可以使用开环抛射动作(例如,不需要任何精细肌肉控制的抛射手势)而不是小心翼翼的闭环按键来进行关节运动。结果可以有利地提供容易学习的方式来显著提高文本输入速率。
在图4中,线性向上划动手势402示出了如何将向上划动手势处理成字符的版本变换。因此,如果用户执行向上的划动而不是敲击,则得到该字符的变换版本。在图4的示例中,如果接触“p”键,接着是如由手势402指示的向上划动402(而不是手指或触笔的直接抬起),则产生大写“P”(如备选列表区域102所示)。例如,只要在键的区域内启动手势(例如,手指可以在键的区域上方释放),则进行转换手势的手指可以被释放在键的区域之外。同时,尽管图4示出了备选列表区域102中的大写“P”,但是也可能条目(例如,大写字母)不会出现在备选列表区域102中。
作为另一示例,起于键盘上预设起始区域的通用向上手势可以用于开启整个键盘的字形变换状态(而不需要针对特定字符做目标手势以产生变换字符)。例如,这有助于检测边缘手势如果用户需要从底部行的键(其可能无意地调用其他功能)进行手势。作为另一示例,使用两个手指而不是一个手指的向上手势(并且可在键盘上的任何地方启动)可以被推断为大写锁定(Caps Lock)而不是上档。此外,使用两个手指向下的向下手势可以恢复默认状态。作为另一示例,作为两手指手势的替代,当另一手指与键盘接触时做出的单手指手势可以被解释为具有与类似的单手指手势不同的含义。
作为另一示例,径向菜单和/或径向划动可以为键盘100上的各种键提供更多的备选。例如,用户可以点击并按住“E”键,并且经由短定向划动或手势得到若干可用字符的选集。例如,如图5A-5B所示,径向菜单502和/或504可以为经由“E”键的有向短划动提供多种选项。例如,径向菜单502或504可以提供能够通过触摸输入(或笔输入、或经由其他输入对象的输入)识别的不同手势以及对应于每个手势的键盘功能的菜单。因此,可以使用户知道可用于输入的键盘功能,这可以使得手势能够对应于不同应用中的不同键盘功能和/或当在不同键上执行时减少潜在的用户混淆。如图5A-5B所示,径向菜单502或504可以例如使得能够基于特定键来向用户呈现菜单,但是所呈现的径向菜单502或504可以独立于输入的位置。例如,径向菜单502或504可以被显示为覆盖在键盘上、和/或在不同的显示设备上、和/或在相同的显示器上但是在键盘旁边等。例如,径向菜单502或504可以显示在键盘上的关联键附近(例如,键的周围)。例如,径向菜单可以被用户理解,并且如果需要,可以不在键盘输入期间显示。
当使用径向菜单时,键盘引擎可以被配置成包括在示出视觉帮助之前的定时。例如,键盘引擎可以直到预定的时间门限已经过去才开始显示径向菜单。
另外,键盘引擎可以被配置成在提交示例命令的结果之前等待直到用户“释放”(因为用户仍然可以选择不同的操作)。例如,如果用户触摸字母“e”并且向上做出划动,但不释放并且决定选择不同的东西,则用户可以在释放(和提交)之前修改他/她的轨迹并且朝向另一方向移动。
根据本文中所讨论的示例技术,可以将单词预测与划动快捷键和形状书写一起或独立地集成到示例键盘引擎中。例如,在潜在的模糊的形状书写手势的情况下,可以提供划动快捷键手势作为预测替代。例如,如图6A-6B所示,单词“to”可以作为向右的水平划动602被输入,这取决于用户绘制的手势的长度,可能与空格的示例划动快捷方式相混淆。例如,单词预测引擎可以使用词典来根据预期单词的最高概率来确定一个或多个单词预测。例如,单词预测引擎还可以使用n元语言模型来帮助解释形状书写手势。可以使用进一步的拼写校正,既可以单独作为预测的校正拼写,也可以与最高概率单词预测组合。此外,可以对用户个性化单词预测,使用用户曾经使用和/或选择过的过去的单词的用户简档历史来进行特定历史的最高概率单词预测。例如,可以使用词典来解释形状书写输入的含义。因此,离散文本输入可以用作备份以输入没有在键盘引擎所使用的词典中的单词。
在该示例中,形状书写识别器可以假设“to”作为期望的单词,但是消歧引擎还可以提供“(空格)”作为备选建议列表104中的预测备选(连同任何其他单词预测备选),以使得用户容易且方便地断言该手势作为期望的预测,从而消除该手势的歧义。例如,用户可以从列表104中选择“to”选项。如图6B所示,轨迹箭头604可以指代临时地表示出手势602的路径和时间的“彗星轨迹”。例如,这样的“彗星轨迹”可以帮助用户在键盘100上可视化由键盘引擎接收作为输入的手势的路径。
作为另一示例,如果用户在QWERTY键盘上从“w”键滑到“e”键,则划动可能被不明确地解释为“空格”键的划动快捷手势,或者被解释为单词“we”的形状书写划动。根据本文中所讨论的示例技术,消歧引擎可以提供包括“we”和“(空格)”二者的预测备选,使得用户可以消除歧义。
根据本文中所讨论的示例技术,备选建议列表104可以帮助解决手势的模糊性。例如,虽然典型的单词备选列表可以提供备选单词,但是本文中所讨论的示例技术还可以明确地提供手势作为备选。
如图7A-7C所示,示例键盘100可以使用形状书写以单个手势中输入整个单词。如图7A的示例所示,用户可以通过触摸“r”键并且水平地向“e”键向左划动来启动手势702。如果触摸在该点结束,则备选建议列表104可以在这一点显示“re”和“(回格)”,因为水平向左的短的水平手势或划动可以(不明确地)被解释为用户意图输入“回格”(例如,如通过上面讨论的向左的短线性划动202所示)。如图7B所示,手势702继续移动,到达“e”键并且经由“w”键处的手势拐点朝向“a”键向左下倾斜。如果触摸在这一点结束,则备选建议列表104可以在这一点显示“rea”和“(回车)”,因为对角线向下和向左的短的成角度的手势或划动可以(含糊地)被解释为用户意图输入“回车”(例如,诸如上面讨论的向左下划动302)。如果触摸在这一点结束,则备选建议列表104还可以显示当前手势的其它潜在备选,包括“rew”、“ra”、“re”和“(回格)”(来自先前的推论)。例如,如果触摸在该点结束,则消歧引擎可以推断之前的“回格”不是想要的,因为手势现在已经在不同的方向上斜向移动。
如图7C所示,手势702经由“a”键处的手势拐点继续移动,到达“a”键并朝向“d”键水平地右移。如图7C所示,备选建议列表104可以在这一点处显示“read”和“(空格)”,因为短的倾斜的手势或划动水平向右划动可能(模糊地)被解释为用户意图进入“Space”(如,如通过上面讨论的向右的短线性划动204所示)。备选建议列表104还可以显示当前手势的其他潜在备选,包括“rad”、“reading”、“reader”、“ready”和“ras”,如图所示。例如,消歧引擎现在可以推断之前“回车”不是想要的,因为手势现在已经在不同的方向斜向移动。
例如,消歧引擎还可以经由与形状书写相关联的词典中的词典查找来推断用户的意图。例如,使用这样的词典的单词预测引擎可以提供各种选项,诸如“read”、“rad”、“reading”、“reader”和“ready”,作为短时间内横跨字母“r”后跟“e”后跟“a”后跟“d”键的形状书写手势的有可能的意图单词。
例如,可以提供视觉指示符作为键盘的用户的反馈,其可以指示当划动被输入时的各个方面。例如,“彗星轨迹”可以在划动的执行期间显示(例如,叠加显示在键盘上),以在它被执行时视觉地图形地表示键盘上的划动的起点和路径。例如,这样的反馈可以在划动的执行之后继续被显示,以向用户提供一个提供另外的输入机会(例如,选择所显示的备选或放弃一个或多个当前显示的备选,或“撤消”手势/划动输入)。例如,彗星轨迹可能在键盘上手势执行过程中更晚被触摸(或“选中”)的显示点处显得更厚(和更亮),划动并且在键盘上的更早被触摸(例如,提供划动从开始到结束的图形时间历史)的显示点处可能看起来更薄。例如,可以使用箭头类型的划动轨迹,以提供划动的图形时间历史(例如,在时间上指示在执行期间划动的方向)。例如,颜色还可以用于指示手势被清楚地解释(例如,一旦手势完成,彗尾变为绿色,指示“被理解”,或者变为红色,以指示“不被理解”)。因此,作为示例消歧技术的一部分,可以向用户提供图形输出以验证他们在划动/手势输入中的意图。
另外,尽管在附图中未明确示出,但是可以使用颜色和阴影(例如,中度灰色的上档字符、接近真实白色的数字本身),以提供在视觉上容易地理解键盘输入的当前状态。也可以使用其他可视指示器,例如,当键盘处于形状书写模式时,键可以被显示为连接。计算设备领域的技术人员将理解,可以使用任何类型的图形技术使得视觉上更容易理解键盘输入的当前状态。例如,可以通过触觉使得用户可以感觉到他/她在哪个模式,和/或可以通过触觉引导用户的手指(例如,与径向菜单条目相反,当手指或输入对象在形状书写条目中越过键的边界时使用触觉纹理和/或不同的触觉反馈)。此外,可以使用具有或不具有触觉的音频提示。
根据本文中所讨论的示例技术,以上讨论的单词(或其他符号)预测可以提供预测备选的列表,其可以包括潜在形状书写候选以及能够明确指示径向条目划动和/或划动快捷键的预测的短划动(或径向条目)备选划动。例如,列表可以包括表示短划动(或径向条目)备选的显式文本名称和/或图形对象(例如,作为备选列出的文本“(空格)”)。例如,这样的备选的列表可以向用户提供以来自备选预测的列表的选择的形式提供消歧输入的机会。根据本文中所讨论的示例技术,当手势被输入时,可以在键盘上(例如,在键盘的顶部)或者与键盘相关联的位置显示备选。根据本文中所讨论的示例技术,预测可以与可选择的“取消”选项一起显示在键盘上(例如,作为图形可选择的“取消”符号、和/或可选择的文本选择项)。
根据本文中所讨论的示例技术,用户可以经由径向条目划动来指示对备选建议列表104中的备选的选择。例如,用户可以提供笔直向下的划动(在键上或不在键上)以从键盘顶部的单词/手势预测(如果有的话)中进行选择。如果没有预测,这可以被推断为无操作。例如,笔直向下划动选择列表中的默认(第一)选项。例如,笔直向下后以45度拐点向右的划动可以被推断为第二选择的选择。例如,笔直向下后以90度拐点向右的划动可以被推断为第三选择的选择。或者,用户也可以点击所显示的备选建议来选择它。
根据本文中所讨论的示例技术,具有形状书写预测备选的另一示例实现可以包括:一旦可用则显示具有选择的径向菜单,并且用户放慢手指或其他输入对象的动作(例如,意味着手势很有可能完成)。例如,当手指放慢时,径向菜单可以直接出现在手指位置。例如,如果用户然后再次加速(例如,因为他/她实际上没有用他/她的活动完成整个单词),则径向菜单中的中间建议可以淡出,并且,当手指再次减速时,可以向用户提供显示具有建议的另一径向菜单。例如,向下选择可以是默认预测。在该示例场景中,可以使用短的向下划动来选择默认预测。
根据本文中所讨论的示例技术,考虑到与通常输入的划动快捷键的潜在混淆,可以从单词词典中省略或移除某些低频单词。例如,单词“igg”出现在英语字典中(俚语单词,表示省略或缓冲),但是当前很少使用,因此可以从示例形状书写词典中省略,以便省略与示例“回车”手势的可能冲突(例如,向下然后向左划动),如果该手势明确地在“i”键附近开始,则可触发该单词的形状识别。例如,词典可以排除可能引起直线径向菜单划动和(罕见的)形状书写单词之间的冲突的低频单词。例如,通常可能期望具有甚至对于低频单词都相当完整的词典,但是当这些单词被确定为基本上更可能(例如,大约90%的概率、或更高)为错误识别的划动手势时,可能更希望省略它们。
根据本文中所讨论的示例技术,触摸和笔输入都可以在键盘上使用。例如,触摸模式或笔模式的选择可以用于将形状书写功能与划动手势功能分离。根据示例技术,划动手势可以仅通过触摸来形成,并且形状书写手势可以仅用笔来表达。或者,可以平等地对待笔和触摸输入。此外,鼠标输入可以用于区分形状书写输入和划动手势输入。计算设备领域的技术人员将理解,也可以使用其他形式的输入(在其他输入对象的情况下)。
根据示例技术,可以调用仅触摸模式以显式地允许用手指进行形状书写。
图8描绘了与径向手势功能相关联的示例径向手势帮助菜单802。例如,用户可以通过输入被指定来启动径向手势菜单802的显示的控制输入来访问径向手势菜单802。例如,在用户已经在执行了至少与径向手势菜单802相关联的预定时间门限的“触摸并保持”输入之后,径向手势菜单802可以被显示为从键盘位置(例如,键位置)的“上滑”菜单。如图8所示,如果用户已经在“e”键上执行了这样的“触摸并保持”输入,则径向手势菜单802可以被提供为在被按压的键上方的区域中用户可见的“上滑”显示菜单(例如,如图8所示的“e”键),使得用户可以能够查看径向菜单选项,而没有任何选项被用户的手指输入(或用于键盘输入的其他对象)遮挡。此外,例如,径向手势菜单802可以被显示并半透明,以提供在其显示下方的键的至少一些可见性。如图8所示,径向菜单可以提供帮助,使得左划动可以表示回格,右划动可以表示空格,向上的划动可以表示大写(Uppercase),并且左下划动可以表示回车。因此,例如,如果用户触摸键盘上的任何地方并且执行这些划动中的一个,则他/她可以指示相应的键盘输入,如在径向手势帮助菜单802中所指示的。
图9描绘了附有键盘100的示例设备902,以在用户已经从备选建议列表104中选择了“你好”之后,在显示器902(其可以是触摸显示器或非触摸显示器)上显示单词“你好”。如图9所示,输入/输出部件904可以被包括在设备中例如以从键盘100A获得输入并且向键盘100A提供输出。尽管未示出,但是备选建议列表104可以在显示器902上,作为显示在键盘100A上的补充或替代。
根据本文中所讨论的示例技术,状态机可以用作各种输入手势的消歧的一部分。例如,消歧引擎可以获得指示划动数据或手势数据的输入的键盘输入数据。例如,预定门限值可以用于确定划动数据是否对应于径向条目(例如,划动快捷键)或形状书写划动。例如,输入数据解释模块可以确定划动的长度、以及划动的起点和方向。例如,如果用户已经处于(当前)“敲击”模式,并且然后向下触摸键,接着是通过几个键定向移动到与初始触摸的键分离的另一键,则可以无缝地提供到形状书写模式的进入模式转换。
其它标准是可能的,例如,包括划动的压力分布、三轴加速度计和陀螺仪运动传感器信号,用于基于合成的运动数据和/或根据加速度计、陀螺仪和磁力计传感器读数的传感器融合导出的完整的瞬时三维(3D)取向来推断触摸的类型、位置和性质。计算设备领域的技术人员将认识到,存在很多方式来基于这样的传感器信号来改进触摸输入,或者通过根据运动信号和触摸信号的组合推断触摸的类型(例如,拇指与食指输入)来调整或改善触摸处理。例如,这些方法可以用于确定输入的类型,例如,作为可以在机器学习方法中用于消除输入歧义的附加特征。
例如,输入数据解释模块可以确定在每个相应的确定的拐点处划动是否包括一个或多个拐点、以及与划动方向的变化相关联的相应角度。例如,具有拐点的划动可以给出该划动意图作为形状书写划动的假设。在本上下文中,“拐点”可以指代在划动输入期间划动发生方向的实质变化的点。例如,拐点可以包括曲线上的点,该点将弧向上凹入与弧向下凹入分离,反之亦然。然而,在形状书写中,一些单词可能仅涉及单向运动(例如,“we”、“to”、“all”、“rip”),没有拐点。它是行进路径中的一组屏幕点,其主要被认为是用于形状书写检测的输入。例如,状态机可以用于跟踪当前(和过去)键盘输入模式作为状态图中的状态。例如,如果当前状态指示“形状书写”模式,则下一键盘输入将以“形状书写”模式继续的概率很高。因此,输入模式的历史可以用于推断用户在其后续(即,下一时间)输入中的意图。
例如,下一输入可能会改变模式,或者可以通过显式输入来改变模式,诸如在键上施加基本上更多的压力,这可以被键盘引擎解释为用户改变键盘输入模式的意图。作为另一示例,基本上轻的触摸可以被解释为使用形状书写模式的意图,并且基本上强的按压触摸可以被解释为使用除了形状书写模式之外的手势模式的意图。例如,压力的确定(例如,在压感键盘上)可以用于输入消歧。
例如,通过将观察到的长度与预定门限长度进行比较,可以确定以更大长度执行的划动更可能是形状书写划动。
例如,输入数据解释模块可以确定划动的执行的速度和/或加速度(例如,输入的速度和/或加速度)。例如,通过将观察到的速度和/或加速度与预定门限速度和/或加速度进行比较,可以确定以更大的速度和/或加速度(例如,更快,更迅速)执行的划动可以指示划动快捷键或用户可能频繁使用的形状书写手势。
例如,键盘引擎输入模块可以接收与键盘上的触摸相对应的输入。可以确定触摸的各种属性,诸如键盘上的位置、触摸所包括的键盘上的表面区域等。例如,键盘引擎可以将初始触摸解释为手势的初始输入。例如,如果初始触摸是手势的终止动作,则触摸可以被解释为用户“敲击”键盘的该位置的意图,并且该输入可以被解释为基本上位于例如“敲击”模式下触摸的位置的键的附近条目。
例如,意图消歧引擎(例如,借助于在用户进入键盘输入时跟踪与键盘输入模式相对应的状态的状态机)可以跟踪各种状态,诸如“敲击”或“类型”模式、形状书写“模式”和/或“径向条目”输入条目。例如,如果当前输入之前的最后状态是“敲击”模式或“键入”模式,则预期可能存在下一键盘输入处于“敲击”模式或“键入”模式的概率很高,除非接收到临时的方向手势,此时模式可以改变到不同的输入模式(例如,“形状书写”模式),这可以被视为使向状态机做出切换到不同状态(例如,“形状书写”状态)的决定的输入。例如,如果最后(当前)状态是处于“形状书写”模式,则预期可能存在下一键盘输入处于“形状书写”模式的概率很高。例如,当他/她继续键盘进入时,可以向键盘的用户指示当前输入模式(例如,作为键盘或设备显示器上的键盘模式指示器或者作为视觉指示器,诸如键盘颜色的改变、键盘上的一个或多个键的不同外观等)。
例如,如果初始触摸之后是到不同于初始触摸位置的键盘上的位置的键盘上的手势移动,则键盘引擎可以将这样的移动解释为用户输入手势的意图。例如,如果移动超过预定门限移动长度(例如,20个像素),则键盘引擎可将这样的移动解释为用户输入形状书写手势的意图。例如,预定门限移动长度可以被确定为取决于键盘尺寸、显示器尺寸和分辨率的值、和/或取决于显示器是垂直的、倾斜的还是水平的等。例如,由键盘的输入模块接收的输入数据可以在移动进行时被存储,使得键盘引擎可以将输入解释为与输入手势相关联的时间移动中涉及的时间状态。
例如,键盘引擎可以分析从初始输入“手指向下”并且通过“手指移动”的每个阶段到最终输入“手指向上”的输入手势路径。键盘引擎可以使用这样的路径解释手势并且确定用户的一个或多个潜在意图。例如,键盘引擎可以确定输入的潜在消歧,以确定用户意图是否提供短划动或径向输入还是提供形状书写输入。
例如,意图消歧引擎可以利用输入的各种属性来描述各种触摸和移动的特征。例如,属性可以包括移动的长度(例如,“用户输入移动多远?”、“移动通过多少像素或键?”)、移动的路径(例如,“用户输入移动通过什么字母或键?”、“用户移动通过什么方向”、“运动从哪里开始,结束在哪里结束(它采取什么路径)”、“路径的长度是多少”)、以及用于完成特定输入手势的时间量(例如,更长的时间可以意味着输入形状书写手势的意图)。此外,意图消歧引擎可以利用各种属性,包括划动动态(例如,加速、减速、加速等)。
另外,属性可以包括输入手势时的输入速度的加速度、观看菜单所花费的时间的用户历史或与各种类型的输入的条目相关联的用户历史。例如,可以将观察值与门限值进行比较以帮助消除歧义。例如,用户简档可以用于提供关于在各种类型的键盘输入中的用户的过去意图的信息。此外,属性可以包括确定被触摸以开始手势输入的键,因为用于某些功能的短划动手势可以限于特定键(例如,自动重复回格可以仅限于数字键)。
例如,如果移动的长度被确定为小于预定长度门限值,则特定移动可以被解释为用户提供短手势的意图,其可以被解释为径向输入、或径向菜单输入。作为另一示例,如果在键的径向区域中启动运动,并且运动经过径向区域之外,并且继续大于预定门限时间的时间长度,则可以推断出,用户意图使用形状书写模式(而不是径向条目输入或点击模式)。
图10A-10B描绘了可以由示例意图消歧引擎使用的示例状态机。如图10A所示,状态图可以用于示出示例状态机的状态和转换。
如图10A所示,用户可以在状态触摸开始1002处开始对键盘的输入,此时可以在记录键(起始键)1004处记录键。用户可以在触摸移动1006处移动手指或其他输入对象,此时,可以将获得的位置添加到手势路径(向手势路径添加位置1008)。
在1010,确定起始键是否是数字键、以及路径是否“足够长”(例如,大于预定义的门限手势路径长度)。如果是,则在1012发出“重复”的键。
在1014,确定路径是否长于键宽度的两倍(2x)。如果是,则在1016处进行形状书写模式。
当当前触摸活动被终止时,触摸移动1006迭代直到达到触摸结束1018。
如图10B所示(从图10A的触摸结束1018开始),在形状书写模式1020(例如,从在1016处的形状书写模式的约束)或在轻敲模式1022下继续进行。
如果在轻敲模式1022下,在1024,确定是否存在匹配路径的径向手势。如果是,则在1026发出径向手势的键。如果对于路径不存在匹配的径向手势,则在1028发出该轻敲的键。在该上下文中,“发出”可以指代从键盘引擎输出信息(例如,在显示设备上显示信息、将信息存储在存储介质上、打印信息等)。
如果系统处于形状书写模式1020,则在1030确定路径是否为空。如果在1030路径为空,则在1032处采用轻敲模式,并且在1028处发出轻敲的键。
如果在1030路径不为空,则在1034确定是否存在匹配单词。如果是,则在1036发出匹配的单词。
如果在1034没有匹配单词,则在1038确定路径是否是线性的并且不太长(例如,小于预定门限值)。如果在1038为“否”,则在1040处确定是否存在匹配的“最佳猜测”单词。如果在1040处存在匹配的“最佳猜测”单词,则在1042处建议该单词。如果在1040处不存在匹配的“最佳猜测”单词,在1044处推断失败。在本上下文中,“失败”是指不能从所提供的输入检测用户意图。
如果在1038处确定路径是线性的并且不太长,则在1046处确定是否存在用于路径的匹配径向手势。如果是,则在1026发出用于径向手势的键。如果在1046处确定不存在用于路径匹配径向手势,在1044处推断出故障。在该上下文中,“故障”是指不能从所提供的输入检测用户意图。
根据本文中所讨论的示例技术,可以经由特定键上的“触摸并保持”输入来请求径向菜单,以提供围绕键的图形显示,其指示可以被输入以获得与被触摸的“基本”字符不同的各种字符(或功能)的有向短划动(例如,大写、不同的语言、标点符号等——通过在所指示的方向上的短划动可获得的)。根据本文中所讨论的示例技术,径向菜单可以初始显示为围绕所选择的键,但是然后可以在键盘上向上滑动(例如,在预定时间门限值之后),以避免用户手指遮挡显示(或其他键盘输入对象)。无论图形显示围绕键还是向上滑动,可以显示当前选择哪个方向和字符的指示,使得一旦手指(或其他输入对象)被释放,用户就可以理解获得什么。根据本文中所讨论的示例技术,用户可以在不请求径向菜单的情况下输入划动径向菜单手势,并且可以使用消歧技术(例如,经由消歧引擎)来消除用户手势的歧义,以区分径向手势和形状书写手势。
图11示出了用于键盘引擎1102的简单化通用逻辑的示例,作为可以表示可以由键盘引擎使用用于解释输入的跟踪到键盘100的输入(为了便于在此可读)的广义段的段1104、1108和1116。例如,如图11所示,可以确定“向下触摸”的初始输入1106作为从键盘100接收“向下触摸”输入的结果,随后是输入“抬起”移动。然后可以“抬起”1107的最终确定可以被推断出,此时可以推断出如下解释:用户意图“敲击”键盘上的特定键以提供其作为对应于逻辑段1104的输入。
例如,“向下触摸”的初始输入1110可以被确定为从键盘100接收“向下触摸”输入,接着是输入单向移动的结果。然后可以输入“备选”1112的推断,随后输入“抬起”运动。例如,“备选”1112可以包括初始键后划动的序列或初始键后到另一键的序列。然后“抬起”1114的最终确定可以被推断出,此时可以推断出如下解释:用户意图提供如上所述并且对应于段1108的“径向条目”或“形状书写”输入。例如,然后如本文进一步讨论地可以利用示例消歧技术。
例如,“向下触摸”的初始输入1118可以被确定为从键盘100接收“向下触摸”输入,接着是输入单向移动的结果。然后可以输入“备选”1120的推断,随后输入“方向改变”运动。例如,“备选”1120可以包括初始键后划动的序列或初始键后到另一键的序列。在形状书写中,一些单词可能仅涉及单向运动,没有拐点。它是行进路径中的一组屏幕点,其主要被认为是用于形状书写检测的输入。可选地,可以输入“拐点”1122的推断,随后是各种其他输入。例如,可以分析拐点以确定输入手势的移动中的方向变化的角度、以及移动的速度和/或加速度以及手势移动的其他属性。可以最终接收输入“抬起”运动。然后可以进入“抬起”的最终确定1124,此时可以推断出如下解释:用户意图提供如上所述的并且对应于逻辑段1116的“形状书写”条目。
然而,径向菜单的划动可能不仅涉及单向运动。例如,在径向菜单上,用户可以向上敲击,然后决定在释放之前向左移动,以输入回格而不是上档。此外,在形状书写中,一些单词可能仅涉及单向运动(例如,“we”、“to”、“all”、“rip”),没有拐点。它是行进路径中的一组屏幕点,其主要被认为是用于形状书写检测的输入。
根据本文中所讨论的示例技术,形状书写手势可以通过输入的各种属性与径向条目输入区分开。例如,消歧引擎可以确定由用户用于输入形状书写手势的不同的压力,其与径向条目输入不同(例如,用于形状书写的轻触摸/悬停、用于径向条目输入的更强的触摸/悬停)。例如,可以使用触摸压力感测和/或显示器上方的感测来检测这种不同的压力,用于确定输入是意图作为形状书写输入还是径向条目输入。
例如,对于支持笔感测和触摸感测的键盘,笔输入可以指示输入意图作为形状书写输入,而触摸输入可以指示输入意图作为划动手势。
例如,对于支持多点触摸感测的键盘,用于输入的手指的数量可以用于区分输入。例如,两手指输入可以被解释为指示输入意图作为形状书写输入,而单指输入可以被解释为指示输入意图作为划动手势。
例如,消歧引擎还可以基于用户的技能水平来区分形状书写手势和径向条目输入(例如,有经验的用户可能不会想通过移动输入对象或手指向右然后向下来“进入”手势,而初学者可能进行这样的输入时会有此意图)。
例如,消歧引擎可以基于用户的优选语言来区分形状书写手势和径向条目输入。
例如,消歧引擎可以基于划动的动态(例如,加速度、速度、曲线等)来区分形状书写手势和径向条目输入。例如,机器学习可以用于训练消歧引擎基于这些类型的输入特征的消歧。
例如,对于可以感测用户在设备上的抓握的设备(例如,经由抓握传感器),消歧引擎可以基于用户在设备上的抓握(例如,抓住板状壳等)来区分形状书写手势和径向条目输入。
根据本文中所讨论的示例技术,可以显示诸如“彗星轨迹”等图形指示符,以向用户提供他/她的时间手势路径的图形指示符。因此,根据本文中所讨论的示例技术,向右的轻拂可以指示输入Space的意图,向右的较长的划动可以指示输入Tab的意图。或者,轻拂(例如,而不是长划动)可以触发形状书写模式(例如,对于任何划动方向)。
根据本文中所讨论的示例技术,慢的闭环运动可以被推断为转换到光标控制或插入点移动模式的意图,而快速的开环运动可以被推断为输入手势的意图,其可以涉及线性划动手势和/或形状书写手势。
根据本文中所讨论的示例技术,在闭环精细定位模式下,可以采用各种光标(或插入点)放置控制功能,包括但不限于:
(1)基于移动距离的绝对(但间接)地放置。
(2)基于增益因子乘以移动距离的比例(相对)地放置。
(3)比例或绝对控制直到固定移动距离门限,在该移动门限之后具有不同的控制功能。例如,点击并按住以基于时间自动重复是一个这样的功能。例如,点击并按住压力以基于压感自动重复是另一个这样的功能。自动重复是压力的函数。
(4)基于手指移动距离和速度的使用传递函数的比例控制,例如,以类似于在WINDOWS XP上实现的用于鼠标指针运动的抛射控制的方式。
(5)基于手指运动的比例和绝对控制的混合。例如,这样的控制的示例实现的讨论可以在共同拥有的美国专利No.7,202,857和美国专利No.6,707,449中获得,其标题均为“Manual controlled scrolling”。例如,该方法的基础(在触摸屏的上下文中)在Hinckley等人的“New Applications for the Touchscreen in 2D and 3D Medical ImagingWorkstations”,In Proc.Natl.Acad.Sci.USA,1995 SPIE Conference on MedicalImaging:Image Display(SPIE Proceedings),Vol.2431,April 27,1 995,pp.561-570中给出。
(6)任何上述情况,插入点离散运动的触底全部或部分地被链接到键感所提供的物理制动,比如,在屏幕上能够在间接的压感或触敏键盘(例如,MICROSOFTSURFACETOUCHCOVER)感受到的键感。
如在美国专利No.6,707,449中所讨论的,在其中讨论的滚动的上下文中,在检测键盘上的移动(或在键盘上做出的用于接近感知键盘的手势)时,可能希望在某些情况下忽略非常小的手指(或其他输入对象)运动。例如,可能希望忽略通过用户的手指在键盘的触敏表面上(或通过靠近键盘的手势输入对象)的无意的小移动。这在如下情况下可能是有益的:例如直到将手指保持在触敏表面上(或在接近感知键盘上)的一个地方时,用户才能控制他或她的手指绝对静止。这还可以防止由于传感器读数的小变化和/或用户手指的抽搐带来的文档“晃动”或者看起来在显示屏上稍微移动。当用户的手指与键盘的表面(或接近能够感知接近的键盘)接触时,系统可以通过使用不同运动门限的组合来推断用户是否有意移动他或她的手指。用户是否有意移动手指的决定可以用于几个其他特征和识别的手势的构建块,诸如在某些情况下可能冻结滚动和/或开始自动滚动模式和/或依赖于用户的数据的手势。例如,该决定还可以取决于其他参数,诸如环境(例如,系统可以感测到用户在公共汽车上同时一切都在运动,因此门限可以不同,系统可以感测到平板是平放的、区分与在用户的膝盖上、或被握持等)。
当用户首先触摸键盘的触敏表面(或将输入对象移动到接近感知键盘的附近)时,如检测到的,用户的手指位置可被认为没在键盘上移动。没移动的状态可以是初始条件。移动或没移动的状态可以被存储为标记或者使用任何其他方法来实现“移动”或“没移动”状态。如果在可选的第一超时时间段内确定手指运动没有超过第一门限距离(例如,与初始触摸点的距离)和/或速度(和/或加速度),则手指仍被认为是没有在键盘上移动,以及将继续判断是否超出第一门限。另一方面,在第一超时时间内手指运动超过第一门限的情况下,则认为手指正在移动(“移动”状态),并且可以相应地设置标志。可以存储该标志。当第一门限被定义为距离时,其可以被定义为设置的长度(例如,毫米或英寸、像素)、设置的速度(例如,每秒毫秒、每秒像素数)、设置的滚动区域长度的百分比、这些的任何组合或子组合。例如,第一门限可以被设置为键盘输入区域的滚动区域长度的大约1%。系统将持续地认为手指在移动中直到第二超时期满,在第二超时期间手指的总移动小于第二门限距离和/或速度。
例如,第一和第二超时可以相同或者它们可以不同。例如,第二超时可以大约是第一超时的两倍(例如,第一超时可以是大约200毫秒,并且第二超时可以是大约400毫秒)。此外,第二门限可以是滚动设备的长度的大约0.5%。虽然第二门限小于第一门限,但是第二门限可以与第一门限相同或甚至大于第一门限。如果手指移动小于第二门限,则手指再次可以被认为不在移动(“没移动”状态),并且可以相应地设置标志。如果手指运动超过第二门限,则手指仍然可以被认为正在移动,并且下一步骤为开启被定时的另一延迟。这些步骤中的一些或全部可以串行或并行地执行,可以组合为单个步骤,和/或可以进一步细分为额外的子步骤。尽管上面的讨论包括两个门限,但是计算设备领域的技术人员将理解,可以使用任何数量的门限(例如,根据期望或需要的多个门限)。
有时当用户从键盘的触敏表面移除他或她的手指(在本文中也被称为“剥离”或“释放”)时,用户的手指可能会无意地影响或干扰当前位置。可以通过保持最近手指位置的FIFO(先入先出)队列来减少这种影响。FIFO队列可以由系统存储,诸如存储在存储设备和/或存储器中。当用户断开与键盘的触敏表面的接触时,系统可以通过队列向后搜索以查找运动确定(或接近)停止时的样本。如果找到这样的样本,则可以调整当前位置到以在该停止点处发生。因此,在看起来用户的意图是要停止的情况下,则根据用户的表观意图来调整位置。
另一方面,如果在队列中没有找到指示预期停止的样本,或者如果校正的量(距离)大于门限量(由距离和/或长度的百分比测量)的话,则可以不调整位置。拒绝大的校正的原因是,这表示当用户放开键盘的触敏表面时,用户可能相对快地移动他或她的手指。这不是不常见的现象,因为可以预期在剥离过程期间手指的阻力或吃力程度自然地减小。因此,在这种情况下不改变位置可能是有益的,因为用户想要快速运动,并且撤销该运动可能违背用户的意图。
在“滚动”的上下文中,美国专利No.6,707,449讨论了自动滚动速率的确定,诸如基于手指压力或接触面积,如下。
用于将滚动速率映射到用户输入的很多不同的函数是可能的。例如,系统可以基于诸如手指速度、手指压力/接触面积、保持长度、敲击数量和/或敲击频率等各种因素使用固定的滚动速率和/或可变的滚动速率。如果使用固定的滚动速率,则固定速率可以具有默认值,可以是用户可选择的,和/或可以由操纵/编辑文档的软件应用选择。可变速率的滚动可以使得用户能够在他或她扫描文档时连续地调整滚动速率。连续调整滚动速率的能力可以提供更加可控和可预测的滚动界面。
例如,可以基于针对滚动设备的触敏表面的手指压力来使用可变速率的滚动。手指压力可以直接被测量和/或是在设备的触敏表面上测量的手指接触面积的函数。在这样的实现中,可以使用对当前滚动动作上的手指接触量进行标准化和/或执行手指接触区域的指数变换以在慢速和快速滚动之间提供可控制的滚动速度范围的算法。例如,由于用户的手指可以具有不同的大小,所以当用户在显示器上点击时,系统可以自动测量手指在按下时的大小。滚动速率可以在两个步骤中计算。例如,对于设备的触敏表面上的手指压力的每个样本,可以首先计算以下变量P:
P=K3((p/p0)-1) (1)其中P是基于接触面积的归一化压力估计,K3是增益因子,p是当前压力读数,p0是为下述最小速率点选择的压力。
接下来,等式(1)的结果可以用于计算当前采样的手指压力的滚动速率:
dy/dt=K4(e(P+1)-e+1) (2)
其中K4是增益因子,dy/dt是所计算的滚动速率(t表示时间)。因此,使用这样的等式,文档的滚动速率是手指接触面积和/或压力的非线性函数。如果dy/dt小于零,则可以将dy/dt设置为零。此外,如果dy/dt大于门限,则可以将dy/dt设置为该门限。当滚动速率dy/dt应用于文档的滚动时,可以使用正值dy/dt用于向下滚动(例如),并且向上滚动dy/dt可以乘以负1。
例如,系统可以确定设备的哪些区域正被触摸,并且增益因子K3和/或K4的不同值可以用于在相反方向上的自动滚动,这取决于哪个活动区域正在被触摸。例如,自动向上滚动和自动向下滚动区域可以与不同的增益因子K3和/或K4相关联。取决于触敏表面的具体形状、可以将滚动区域与自动滚动区域分开的任何边框或其他分隔物的形状、以及自动滚动是否发生在与滚动区域物理分离的区域中,可能发生用户的手指和自动向上滚动区域而非自动向下滚动区域之间不同量的接触。例如,在滚动条的正常使用期间,当接触用于向上滚动的活动区域时,而不是当接触用于向下滚动的活动区域时,用户的手指可以预期为稍微不同的角度,导致表面接触的量当手指伸展时比当手指卷曲时更大。因此,可以设置增益因子K3和/或K4的值以补偿该差异,使得自动向上滚动和自动向下滚动具有与彼此相比相似的感觉和响应。增益因子K4以滚动速度为单位,诸如每秒像素数、每秒厘米数或每秒文本行数。值dy/dt也可以具有与K4相同的单位。
下面讨论p0最小速率点的适当值的选择,因为确定p0的值的方式是可能的。例如,当用户试图指定滚动速率时,当前用户手势本身的动态可以用于实时确定p0的值。例如,可以在初始接触之后的可选延迟之后对针对最小速率点的设备的触敏表面的手指压力进行采样。延迟可以足够长以使得用户能够建立与触敏表面的稳固的初始接触,诸如大约200毫秒。在该延迟期间,手指压力的当前值可以被连续地测量并且用作p0的初步估计,使得用户可以以最小可感知延迟开始滚动。
可以替代地或附加地施加滚动速率的最大门限。此外,可以使用表示预期未来压力值p的范围的滑动窗口,其可以基于一个或多个先前的压力值p。在如上所示的dy/dt的计算得到大于最大门限的速率的情况下,可以通过在压力值中向上滑动窗口来重新计算p0的值,使得当前压力值p将得到最大门限滚动速率。另一方面,如果手指压力下降到窗口的底部以下,则可以通过向下滑动窗口来重新计算p0的值。可以由设备感测的压力值的已知范围可以用作选择窗口的初始默认最小和最大压力的基础。下面描述的速率极限和/或压力最大标准可以用在这样的滑动窗口策略中。例如,这样的滑动窗口技术允许系统针对不同的用户自动地自校准,其中与具有轻触摸或较小手指的其他用户相比,一些具有重触摸或大手指。
例如,可以利用速率极限来改善p0最小速率点的选择。可以对上述等式施加最大和/或最小移动速率,使得如果超过速率极限,则重新计算p0最小速率点以满足该限制。这可以具有使感测的压力适应用户的手势和典型的阅读速度的效果。此外,因为很多触敏垫实际上感测手指接触区域以便确定手指压力,所以对于可施加多少“压力”通常存在实际限制。对典型的这样的最大压力值的了解可以用于帮助选择p0最小速率点。例如,如果用户通过用力按压设备的触敏表面来开始,则文档可以立即快速滚动,其中系统知道用户将不能进一步增加接触面积。
例如,对于不同的活跃区域,上述等式中的压力最大值或参数可以不同,因为预期用户的手指与不同位置处的不同区域的典型接触面积可以变化。换句话说,施加到设备的触敏表面的每单位手指压力,不同方向上的滚动速率可以不同。取决于在设备的触敏灵敏表面上触摸的区域对参数的调整可以使压力响应看起来更一致。
计算设备领域的技术人员将理解,如上所述在滚动的上下文中的这样的技术也可以应用在其他上下文中,诸如用于其他目的的手势。
计算设备领域的技术人员将理解,在不脱离本文中的讨论的精神的情况下,很多其他类型的数据输入属性可以用于消歧。
计算设备领域的技术人员将理解,在不脱离本文中所讨论的精神的情况下,可以有很多方式来实现本文中所讨论的键盘输入的消歧。
II.示例操作环境
本文中所讨论的特征可以被提供作为可以以计算设备领域的技术人员可以理解的很多不同方式实现的示例实施例,而没有脱离本文中所讨论的精神。这些特征仅被解释为示例实施例特征,并且不意图被解释为仅限于这些详细描述。
如本文进一步讨论的,图12是用于消除键盘输入模式的歧义的一般化系统1200的框图。所示的通用系统1200仅意图示出可以被包括在如本文中所讨论的示例系统中的各种示例功能,而不意图在各种硬件和/或软件配置方面对实现进行限制。
例如,系统1200可以包括包括有键盘引擎1206的装置,键盘引擎1206包括存储用于由至少一个处理器执行的指令的计算机可读存储介质。如图12所示,系统1200可以包括包括有至少一个处理器1204的设备1202。
设备1202可以包括键盘引擎1206,键盘引擎1206可以操作接受形状书写输入和径向条目输入的键盘1208。例如,尽管在图12中示出为在设备1202外部,但是设备1202可以包括(例如,壳体)键盘1208。键盘引擎1206可以操作同时接受形状书写输入和径向条目输入的键盘1208,使得用户可以无缝地使用任一类型的输入(还包括轻敲模式),而不需要在模式之间特别地切换(例如,经由切换键或功能)。例如,键盘引擎1206可以支持轻敲模式或形状书写模式下的径向手势输入。
例如,可以提供图形或印刷键盘1208以便于用户输入。例如,键盘1208可以占据整个触敏区域(或手势敏感区域)的全部或几乎全部,因此本文中示出或讨论的键盘描述都不意图表示本文中表示的各种部件的任何物理尺度、大小或方向。触敏区域(或手势感应区域)可以是任何类型,包括多点触摸和/或笔触摸。触敏区域可以是触敏屏幕、或印刷键盘下方的压力/电容或其他传感器、或接近感知键盘(物理和/或虚拟)。此外,鼠标输入可以与键盘1208一起使用。
计算设备领域的技术人员将理解,存在而没有脱离本文中的讨论的精神的很多形式的键盘。
根据示例实施例,键盘引擎1206或其一个或多个部分可以包括可以存储在有形计算机可读存储介质上的可执行指令,如下所讨论的。根据示例实施例,计算机可读存储介质可以包括任何数量的存储设备和任何数量的存储介质类型,包括分布式设备。
在本上下文中,“处理器”可以包括被配置成处理与处理系统相关联的指令的单个处理器或多个处理器。处理器因此可以包括并行和/或以分布式方式处理指令的一个或多个处理器。虽然设备处理器1204在图12中被描绘为在键盘引擎1206的外部,但是计算设备领域的技术人员将理解,设备处理器1204可以被实现为单个部件和/或可以位于键盘引擎1206的内部或外部的分布式单元、和/或其任何元素。
例如,系统1200可以包括一个或多个处理器1204。例如,系统1200可以包括存储由一个或多个处理器1204可执行的指令的至少一个有形计算机可读存储介质,可执行指令被配置成引起至少一个计算装置(例如,计算设备)执行与被包括在系统1200中的各种示例部件相关联的操作,如本文中所讨论的。例如,一个或多个处理器1204可以被包括在至少一个计算装置(例如,计算设备)中。计算设备领域的技术人员将理解,在不脱离这样的讨论的精神的情况下,可以根据本文中的讨论来配置处理器和计算设备的很多配置。
在本上下文中,“部件”或“引擎”可以指代可以被配置成在硬件辅助下执行某些操作的可执行指令或硬件。这样的指令可以被包括在指令的组件组内,或者可以分布在多于一个组上。例如,与第一部件的操作相关联的一些指令可以被包括在与第二部件(或多个部件)的操作相关联的指令组中。例如,本文中的“部件”或“引擎”可以指代配置有可以由可执行指令实现的功能的一种类型的计算实体,可执行指令可以位于单个实体中,或者可以散布或分布在多个实体上,并且可以与与其他部件相关联的指令和/或硬件交叠。在本上下文中,“可执行”指令是指被特别配置为由一个或多个硬件设备执行的指令,而不是指软件本身。
根据示例实施例,键盘引擎1206可以与一个或多个用户设备相关联地实现。例如,键盘引擎1206可以与一个或多个服务器通信,如下面进一步讨论的。
例如,实体资源库1216可以包括一个或多个数据库,并且可以经由数据库接口部件1218来访问。计算设备领域的技术人员将理解,存在用于存储本文中所讨论的储存库信息的很多技术,诸如各种类型的数据库配置(例如,关系数据库、分层数据库、分布式数据库)和非数据库配置。
根据示例实施例,键盘引擎1206可以包括存储器1220,存储器1220可以例如存储键盘引擎1206的中间数据。在本上下文中,“存储器”可以包括被配置成存储数据和/或指令的单个存储器设备或多个存储器设备。此外,存储器1220可以跨越多个分布式存储设备。
根据示例实施例,用户界面部件1222可以管理用户1224和键盘引擎1206之间的通信。用户1224可以与接收设备1226相关联,接收设备1226可以与显示器1228和其他输入/输出设备相关联。例如,显示器1228可以被配置成经由内部设备总线通信或者经由至少一个网络连接与接收设备1226通信。例如,显示器1228可以直接连接到接收设备1226。
根据示例实施例,显示器1228可以被实现为平面屏幕显示器、印刷形式的显示器、二维显示器、三维显示器、静态显示器、移动显示器、传感显示器、诸如触觉输出、音频输出以及用于与用户(例如,用户1224)通信的任何其他形式的输出。
根据示例实施例,键盘引擎1206可以包括网络通信部件1230,其可以管理键盘引擎1206和可以经由至少一个网络1232与键盘引擎1206通信的其他实体之间的网络通信。例如,网络1232可以包括以下中的至少一项:因特网、至少一个无线网络或至少一个有线网络。例如,网络1232可以包括蜂窝网络、无线电网络或者可以支持键盘引擎1206的数据传输的任何类型的网络。例如,网络通信部件1230可以管理键盘引擎1206和接收设备1226之间的网络通信。例如,网络通信部件1230可以管理用户接口部件1222和接收设备1226之间的网络通信。例如,设备1202可以是独立的,其中处理器、显示器、存储装置等都包括在单个硬件实体(例如,平板电脑,平板等)中。例如,设备1202可以是独立的触摸屏设备。
键盘引擎1206可以包括从键盘1208的至少一个输入传感器获得输入数据1242的键盘输入模块1240。
意图消歧引擎1244使得能够键盘1208的用户对于形状书写输入和径向条目输入的接受的同时使用。
例如,输入数据解释模块1246可以分析输入数据1242并且提供包括候选形状书写输入结果或候选径向条目输入结果中的一个或多个的一个或多个候选处理值1248。
例如,意图消歧引擎1244可以基于一个或多个候选处理值1248提供多个建议值1250。
例如,多个建议值1250可以包括候选形状书写输入结果和候选径向条目输入结果,其中键盘引擎1206还可以包括键盘输出模块1252,其提供建议值的显示,其中,候选径向条目输入结果的显示提供具体指示与候选径向条目输入结果相关联的径向条目输入的推断的图形指示。
例如,输入数据解释模块1246可以分析输入数据1242以通过确定输入数据是否包括指示键盘的径向区域中的短划动输入的键盘输入来确定候选径向条目输入结果。
例如,词典1254可以省略被确定为以低频率出现的项的低频项的条目,其中输入数据解释模块1246可以使用词典1254分析输入数据以提供一个或多个候选处理值1248。
例如,形状书写解释器1256可以分析输入数据1242并且使用输入数据1242提供一个或多个候选形状书写结果1258。
例如,径向条目解释器1260可以分析输入数据1242并且使用输入数据提供一个或多个候选径向条目结果1262。例如,径向条目解释器1260可以提供径向条目结果和/或嵌套(例如,分层、多级)径向条目结果(例如,一个或多个径向菜单项可以具有子菜单)。
例如,状态机1264可以跟踪到键盘引擎1206的输入模式。
例如,键盘1208可以包括压敏键盘、触敏键盘或接近感知键盘。
例如,键盘1208可以包括虚拟键盘。
例如,键盘1208可以包括具有触敏键的短行程机械键盘或纯触敏键盘。
例如,键盘1208可以包括具有基本上被省略并由短划动输入功能代替的多个键的键盘。
例如,可以在压敏或触敏表面上提供图形或印刷键盘,用于接收轻敲输入和手势输入。例如,键盘1208可以配置有包括至少一个省略或基本上省略的键的移除或省略的键集,其中省略键集中的每个键对应于经由手势可输入的字符、动作或命令代码。
例如,键盘1208可以是半透明的,以提供在键盘显示器下方的屏幕的完全可见性。
例如,键盘1208可以包括在相同大小或基本上相同大小的触敏区域中的字母键和数字键,相对的,包括字母键并且不包括数字键的不同键盘,并且其中键盘和不同的键盘具有相同大小或基本相同大小的字母键。键盘1208可以省略通过手势输入而被冗余化的一个或多个键。键盘1208还可以包括放置在键盘的右侧或左侧的典型数字键盘布置的数字键;当以横向屏幕取向(但可能不是纵向取向)显示键盘时,这样的布置可能是有利的。例如,键盘1208的尺寸可以根据显示设备尺寸和横向/纵向取向来调整。
例如,可以接收对应于与键盘1208的键的交互的数据,其中至少一个键表示多个字符(包括字母、数字、特殊字符和/或命令)。如果数据指示交互表示第一手势,则推断第一字符值。如果数据指示交互表示第二手势(其不同于第一手势),则推断第二字符值。如果数据指示交互表示轻敲,则可以推断由该键表示的轻敲相关字符值。
本文中所讨论的各种示例技术通常可以包括触敏图形或印刷键盘,其中手势可以替代键盘上的某些键。例如,可以通过手势使替换的键不必要(或者以其它方式冗余化)。例如,省略或去除否则冗余的键可以使得能够在相同触敏区域中的键盘上提供更多的键,在相同的触敏区域中提供更大的键,和/或减少由键盘占用的触敏区域的量。
作为示例,轻敲键盘1208的任何字母键可以输出与该键相关联的小写字符,而在相同键上启动的向上划动可以输出相关联的键的字形变换值(例如,大写)字符被输出,从而避免需要在上档键上单独敲击。例如,在键盘1208上的任何地方启动的向右的划动可以输出空格。类似地,在键盘上任何地方启动的向左的划动可以输出回格,而向左下倾斜的划动(例如,在键盘上的任何地方启动)可以输出回车。例如,可以在字母数字字符的中心群集上启用划动手势,而一个或多个外围键(例如,特定键(诸如回格键或控制键(Ctrl))、或特定区域(诸如数字小键盘或触摸垫区域光标控制)(如果有的话)可以具有分配给他们的不同的或仅仅部分交叠的划动手势,例如在从触摸板开始区域进行光标控制的情况下根本不包括手势)。因此,划动菜单可以在空间上复用(例如,潜在地不同于某些键,或对于某些键集合,或对于所有键)。此外,对于在键盘1208边缘附近的键,在某些方向上的手势可能由于缺少空间而不可能(例如,从表面的右边缘上的键开始的右击,对于其右侧非常接近边框),因此用户可以更多地从中心开始手势以进行输入(或者进一步远离边缘)。
此外,在一些示例实现中,附加的键修改器(诸如控制键、换挡键(Alt)、WINDOWS键(开始键)、右菜单键等)可以通过在与键盘或单独的键相关联的径向菜单上的单触摸或多触摸划动手势可用,补充或替代如上所述的空格、回格、上挡和回车敲击。
计算设备领域的技术人员将理解,手势还可以用于输入其他非字符动作(不仅是回格),诸如一般的用户界面命令(例如,在填写表格中的Prev/Next字段、Go命令、搜索命令等),其有时在软键盘上具有表示。此外,还可以通过手势输入更丰富或更一般的命令(诸如剪切/复制/粘贴),可以通过手势等调用宏等。如本文中所讨论的,直观手势(例如,空格的向右划动)可在学习和记住手势方面有利地提供方便。
如本文中所讨论的,手势通常可以基于所显示的键盘的上-下-右-左(例如,北-南-东-西或N-S-E-W)方向。然而,方向轴可以旋转一定量(在相反的,镜像的方向上),特别是对于基于拇指的手势,因为意图用右拇指进行向上手势的用户可能倾向于更多地向右上手势(例如,东北,取决于设备的当前定向)或上-右上(例如,北-东北)。类似地,左拇指可以趋向于更多左上(例如,西北)或上-左上(例如,北-西北)手势。此外,还可以补偿装置的取向。例如,如果用户正在侧向保持设备,则手势向上可以用作继续执行字形变换的信号,即使参照设备手势正在向左上或向右上移动,取决于装置的取向。这样的取向调整的确定可以考虑由一个或多个惯性传感器(例如包括加速度计、陀螺仪和/或磁力计)和/或其他类型的传感器(例如基于视觉的传感器等)确定的平板的取向。
在本上下文中,“图形”键盘可以指代在可见“表面”(例如,触敏显示表面或接近感知表面)上呈现并且因此可以以编程方式改变其外观的键盘。在本上下文中,“印刷”键盘可以指代与压敏或类似的表面相关联的键盘(例如,构建在平板或平板计算设备的盖中),其在外观上不可编程地改变,例如,键盘印刷、压印、物理地覆盖作为模板或以其它方式附接或压敏表面或接近感知表面的一部分。如将理解的,本文中所描述的键盘通常可以包括图形键盘或印刷键盘、和/或混合键盘(例如,在其上具有一个或多个显示器和/或触摸屏的印刷键盘)、和/或虚拟键盘。
根据本文中所讨论的示例技术,附加手势可以使得单个显示的键能够表示多个字符,例如三个或四个(或更多个)。在本上下文中,“字符”可以指代可以经由键输入到系统中的任何东西,包括字母字符、数字字符、符号、特殊字符和命令。例如,键可以使得能够输入用于“敲击”输入的一个字符、以及用于三个区分向上手势的三个字符,诸如一个用于大致向左上手势,一个用于大致直立手势,以及一个用于大致向右上手势。
例如,取决于可以在径向区域中输入的各种手势,可以使得键周围的径向区域能够提供不同类型的输入。作为示例,围绕(或接近)键的区域可以被划分成几何布置的部分(例如,八个部分),使得关于各个部分做出的手势可以被理解为具有各种不同的意义(即,提供不同的键盘输入)。此外,键周围的区域可能非常大。
例如,手势可以与另一现有手势相同,其中例如通过它们在键盘上的开始位置或穿过表面边界(边框)的手势来区分两个相似/相似的手势。
也可以使用不同于和/或除了本文中所讨论的那些中的一个或多个之外的不同手势。另外,手势可以是“空中”手势,不一定在触敏表面上,诸如由KINECT设备、红外接近传感器、非接触式电容感测或其他类似设备感测的。例如,这样的“空中”手势可以与虚拟键盘一起使用。还可以存在用户通过的触摸显示器及空中划动(例如,沿径向菜单的方向中的一个)开始的手势,其可以与显示器保持接触的同一手势区分开。作为另一示例,可以使用鼠标输入。
作为另一示例,虽然本文中可以讨论手指输入,但是诸如塑料棒/触笔或电容笔等机械中间件、或者电池供电或电感耦合触针是可以使用的一些可能的替代。作为另一示例,其他对象可以用于提供这样的“空中”手势。此外,可以改进输入(例如,可以为叠加在键上的手势命令接收悬停反馈),和/或可以根据已知笔或手指是否要执行交互来在划动手势上应用不同的长度和/或精度约束(其可以通过接触区域和/或通过使用用于笔和触摸的不同数字化仪,和/或通过使用深度相机区分笔和触摸和/或使用其他能够区分笔和触摸的技术)。因此,计算设备领域的技术人员将理解,本文中的讨论不限于本文中所描述的任何特定的实施例、方面、概念、结构、功能或示例。相反,本文中所描述的实施例、方面、概念、结构、功能或示例中的任一个是非限制性的,并且本发明可以使用可以在计算机和一般键盘和手势技术方面提供益处和优点的各种方式。
计算设备领域的技术人员将理解,在不脱离本文中所讨论的精神的情况下,可以使用很多不同的技术来消除键盘手势输入的歧义。
III.流程图说明
本文中所讨论的特征被提供作为可以以计算设备领域的技术人员可以理解的很多不同方式实现的示例实施例,而没有脱离本文中所讨论的精神。这些特征仅被解释为示例实施例特征,而不意图被解释为仅限于这些详细描述。
图13A-13C是示出根据示例实施例的图12的系统的示例操作的流程图。在图13A的示例中,可以操作键盘以接受形状书写输入和径向条目输入(1302)。
可以从键盘的至少一个输入传感器处获得输入数据(1304)。
可以使得键盘的用户能够同时使用形状书写输入和接受径向条目输入的接受(1306)。
例如,在图13B的示例中,可以分析输入数据并且可以使用输入数据提供一个或多个候选形状书写输入结果(1308)。
例如,可以分析输入数据并且可以使用输入数据提供候选径向条目输入结果或嵌套径向条目输入结果中的一个或多个(1310)。
例如,可以经由状态机跟踪输入模式(1312)。
例如,键盘可以包括压感键盘(1314)。
例如,键盘可以包括虚拟键盘(1316)。
例如,键盘可以包括与从键盘中省略的传统键盘的键相对应的某些文本输入操作的短划动输入功能(1318)。
例如,在图13C的示例中,可以响应于触摸和保持输入来启动径向手势菜单的显示作为从键位置的上滑菜单(1320)。
例如,可以分析输入数据并且可以提供包括候选形状书写输入结果或候选径向进入径向条目输入结果中的一个或多个的一个或多个候选处理值(1322)。
例如,可以基于一个或多个候选处理值提供多个建议值(1324)。
例如,多个建议值可以包括候选形状书写输入结果和候选径向条目输入结果(1326)。
例如,可以提供建议值的显示,其中候选径向条目输入结果的显示提供一个图形只是以具体指示与候选径向条目输入结果相关联的径向条目输入的推断(1328)。
例如,可以分析输入数据以通过确定输入数据是否包括指示键盘的径向区域中的短划动输入的键盘输入来确定候选径向条目输入结果(1330)。
例如,可以使用省略低频项的条目的词典来分析输入数据以提供一个或多个候选处理值,低频项被确定为出现频率较低的条目以及在直线径向菜单划动和形状书写单词之间存在较大冲突概率的词(1332)。
计算设备领域的技术人员将理解,在不脱离本文中所讨论的精神的情况下,可以有很多方式来消除输入键盘手势的歧义。
IV.某些实施例的方面
本文中所讨论的特征被提供作为可以以计算设备领域的技术人员可以理解的很多不同方式实现的示例实施例,而没有脱离本文中所讨论的精神。这些特征仅被解释为示例实施例特征,而不意图被解释为仅限于这些详细描述。
例如,系统包括包括有至少一个设备处理器和键盘引擎的装置,键盘引擎经由至少一个设备处理器中的至少一个来操作接受形状书写输入和径向条目输入的键盘。键盘引擎包括从键盘的至少一个输入传感器获得输入数据的键盘输入模块、以及能够实现键盘用户同时使用形状书写输入和径向条目输入的接受的意图消歧引擎。
键盘引擎还包括输入数据解释模块,其分析输入数据并且提供包括候选形状书写输入结果或候选径向条目输入结果中的一个或多个的一个或多个候选处理值,其中意图消歧引擎基于一个或多个候选处理值提供多个建议值。
多个建议值包括候选形状书写输入结果和候选径向条目输入结果。
键盘引擎还包括提供建议值的显示的键盘输出模块,其中候选径向条目输入结果的显示提供一个图形指示以具体指示与候选径向条目输入结果相关联的径向条目输入的推断。
输入数据解释模块分析输入数据以通过确定输入数据是否包括指示键盘的径向区域中的短划动输入的键盘输入来确定候选径向条目输入结果。
所述装置还包括词典,其省略被确定为以低频发生的项目以及在直线径向菜单划动和形状书写单词之间存在大冲突概率的项的低频项目的条目,其中输入数据解释模块使用字典来分析输入数据以提供一个或多个候选处理值。
键盘引擎还包括形状书写解释器,其分析输入数据并且使用输入数据提供一个或多个候选形状书写输入结果。
键盘引擎还包括径向条目解释器,其分析输入数据并且使用输入数据提供候选径向条目输入结果或嵌套径向条目输入结果中的一个或多个。
键盘引擎还包括跟踪到键盘引擎的输入模式的状态机。
键盘包括压感键盘。
键盘包括虚拟键盘。
键盘包括与从键盘省略的传统键盘的键相对应的某些文本输入操作的短划动输入功能。
获得来自接受形状书写输入和径向条目输入的键盘的输入数据。
通过对输入数据消歧以区分形状书写输入和径向条目输入经由装置处理器来向键盘的用户提供形状书写输入和径向条目输入的接受的同时使用。
分析输入数据以提供包括候选形状书写输入结果或候选径向条目输入结果中的一个或多个的一个或多个候选处理值。
基于一个或多个候选处理值提供多个建议值。
多个建议值包括候选形状书写输入结果和候选径向条目输入结果。
启动建议值的显示,其中候选径向条目输入结果的显示提供一个图形指示以具体指示与候选径向条目输入结果相关联的径向条目输入的推断。
分析输入数据包括分析输入数据以通过确定输入数据是否包括指示键盘的径向区域中的短划动输入的键盘输入来确定候选径向条目输入结果。
响应于触摸和保持输入,启动径向手势菜单的显示作为从键位置的上滑菜单。
一种计算机程序产品包括存储可执行代码的计算机可读存储介质,可执行代码引起至少一个计算设备从接受形状书写输入和径向条目输入的键盘获取输入数据,并且通过对输入数据消歧以区分形状书写输入和径向条目输入来向键盘的用户提供形状书写输入和径向条目输入的接受的同时使用。
可执行代码引起至少一个计算设备分析输入数据以提供包括候选形状书写输入结果或候选径向条目输入结果中的一个或多个的一个或多个候选处理值,并且基于所述一个或多个候选处理值提供多个建议值。
客户隐私和机密性已经是计算环境中多年来的持续考虑。因此,用于消除输入键盘手势的歧义的示例技术可以使用由已经经由与相和这样的技术相关联的应用或服务相关联的一个或多个订阅协议(例如,“服务条款”(TOS)协议)提供许可的用户提供的用户输入和/或数据。例如,用户可以提供同意将他们的输入/或数据传输和存储在设备上,尽管可以明确声明(例如,经由用户接受的协议),每个参与方可以控制传输和/或存储如何发生、以及什么级别或持续时间的存储可以被传输(,如果有的话。此外,可以例如通过对实际用户信息进行散列来模糊可以用于识别用户使用的设备的标识符。应当理解,可以根据任何相关管辖区的隐私法律和法规来获得任何用户输入/数据。
本文中所描述的各种技术的实现可以在数字电子电路中、或者在计算机硬件、固件,软件或它们的组合(例如,配置成执行指令以执行各种功能的装置)中实现。
也可以实现为在信号(例如,诸如纯传播信号等纯信号)中实施的计算机程序。这样的实现在本文中将被称为经由“计算机可读传输介质”来实现,其在本文中不限定为如下所述的“计算机可读存储介质”或“计算机可读存储设备”。
或者,可以经由在机器可用或机器可读存储设备(例如,磁或数字介质、诸如通用串行总线(USB)存储设备、磁带、硬盘驱动器、压缩盘、数字视频盘(DVD)等)中实施的计算机程序来实现各种实现,用于由计算装置(例如,数据处理装置,计算设备)执行或控制其操作,例如可编程处理器、专用处理器或设备、计算机或多个计算机。这样的实现在本文中可以被称为经由“计算机可读存储介质”或“计算机可读存储设备”来实现,并且因此不同于纯信号的实现,诸如纯传播信号(并且因此在本文中不限定为如上所述的“计算机可读传输介质”)。因此,本文中对“计算机可读存储介质”或“计算机可读存储设备”的引用不是指信号本身。
诸如上述计算机程序等计算机程序可以以任何形式的编程语言编写,包括编译、解释或机器语言,并且可以以任何形式部署,包括作为独立的、或作为适于在计算环境中使用的模块、部件、子例程或其它单元。计算机程序可以有形地实施为在机器可用或机器可读存储设备(例如,计算机可读介质)上的可执行代码(例如,可执行指令)。可以实现上述技术的计算机程序可以被部署为在一个计算机上或在一个站点处的多个计算机上执行,或者分布在多个站点上并且通过通信网络互连。
方法步骤可以由执行计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。一个或多个可编程处理器可以并行地执行指令,和/或可以以分布式配置来布置以用于分布式处理。本文中所讨论的示例功能性还可以至少部分地由一个或多个硬件逻辑部件来执行,并且装置可以至少部分地被实现为一个或多个硬件逻辑部件。例如而非限制,可以使用的硬件逻辑部件的说明性类型可以包括现场可编程门阵列(FPGA)、程序特定集成电路(ASIC)、程序特定标准产品(ASSP)、系统级硬件、芯片系统(SOC)、复杂可编程逻辑器件(CPLD)等。
适合于执行计算机程序的处理器例如包括通用和专用微处理器、和/或任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可以包括用于执行指令的至少一个处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还可以包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或者可操作地耦合以从其接收数据或向其传送数据。适合于包含计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,包括例如半导体存储器设备,例如EPROM、EEPROM和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;和CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,可以在具有用于向用户显示信息的显示设备(例如,阴极射线管(CRT)、液晶显示器(LCD)、发光二极管(LED)监视器、等离子体监视器)以及用户可以通过其向计算机提供输入的键盘和指示设备(例如鼠标或轨迹球)的计算机上实现各种实现。如本文中所讨论的,平板电脑、触摸屏、平板等可以用于输入和显示。其他种类的设备也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、和/或听觉反馈、和/或触觉反馈。例如,输出可以经由任何形式的感觉输出来提供,包括(但不限于)视觉输出(例如,视觉手势,视频输出)和/或音频输出(例如,语音,设备声音)和/或触觉输出(例如,触摸,设备移动)和/或温度和/或气味等。
此外,可以以任何形式接收来自用户的输入,包括声音和/或语音、和/或触觉输入。如本文中所讨论的,可以从笔或其他输入对象接收输入。例如,可以经由任何形式的感觉输入来从用户接收输入,包括(但不限于)视觉输入(例如,手势,视频输入)、音频输入(例如,语音,设备声音)、触觉输入(例如,触摸,装置移动)、温度、气味等。
此外,自然用户界面(NUI)可以用于与用户交互。在这种情况下,“NUI”可以指代使得用户能够以“自然”方式与设备交互而不受诸如鼠标、键盘、遥控器等输入设备强加的人为约束的任何接口技术。
NUI技术的示例可以包括依赖于语音识别、触摸和指示笔识别、屏幕上和屏幕上相邻的手势识别、空气手势、头部和眼睛跟踪、语音和语音、视觉、触摸、手势和机器智能等的那些技术。示例NUI技术可以包括但不限于触敏显示器、语音和语音识别、意图和目标理解、使用深度相机的运动手势检测(例如,KINECT、立体相机系统、红外相机系统、RGB(红、绿、蓝)相机系统及其组合)、使用加速度计/陀螺仪的运动手势检测、磁力计、面部识别、3D显示器、头部、眼睛和注视跟踪、沉浸式增强现实和虚拟现实系统,所有这些可以提供更多自然界面、以及使用电场感测电极感测脑活动的技术(例如,脑电图(EEG)和相关技术)。
实现可以在包括后端部件(例如,作为数据服务器)或包括中间件部件(例如应用服务器)或包括前端部件(例如具有用户可以通过其与实现交互的图形用户界面或Web浏览器的客户端计算机)、或者这样的后端、中间件或前端部件的任何组合的计算系统中实现。部件可以通过任何形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如因特网。
虽然已经用对结构特征和/或方法动作专用的语言描述了主题,但是应当理解,所附权利要求中定义的主题不一定限于上述具体特征或动作。相反,上述具体特征和动作被公开作为实现权利要求的示例形式。尽管已经示出了如本文中所描述的实现的某些特征,但是本领域技术人员现在将想到很多修改、替换、改变和等同物。因此,应当理解,所附权利要求意图覆盖落入实施例的范围内的所有这样的修改和改变。

Claims (20)

1.一种装置,包括:
至少一个设备处理器;以及
至少一个计算机可读存储介质,所述至少一个计算机可读存储介质存储指令,所述指令在由所述至少一个设备处理器执行时使所述至少一个设备处理器:
操作键盘,所述键盘被配置为实施单词的形状书写以及单个字符录入;
检测到所述键盘的、指向主字符的输入,所述主字符与特定辅助字符相关联;
评估所述输入,以对所述输入是用以输入特定单词的形状书写输入还是用以输入所述特定辅助字符的辅助字符输入进行消歧;
在所述输入被消歧作为所述形状书写输入的第一实例中,输入所述特定单词,所述特定单词包括所述主字符;以及
在所述输入被消歧作为所述辅助字符输入的第二实例中,输入与所述主字符相关联的所述特定辅助字符。
2.根据权利要求1所述的装置,所述主字符具有多个相关联的辅助字符,所述多个相关联的辅助字符包括所述特定辅助字符和一个或多个其他辅助字符。
3.根据权利要求2所述的装置,其中所述指令在由所述至少一个设备处理器执行时使所述至少一个设备处理器:
检测所述输入包括在所述主字符上的轻敲和保持;以及
响应于检测到所述输入包括在所述主字符上的轻敲和保持,显示标识所述多个相关联的辅助字符的菜单。
4.根据权利要求3所述的装置,其中所述指令在由所述至少一个设备处理器执行时使所述至少一个设备处理器:
检测所述输入在所述轻敲和保持之后朝所显示的所述菜单上的所述特定辅助字符移动;以及
响应于所述输入朝所显示的所述菜单上的所述特定辅助字符的移动,选择所述特定辅助字符以用于所述第二实例中的录入。
5.根据权利要求1所述的装置,其中所述指令在由所述至少一个设备处理器执行时使所述至少一个设备处理器:
至少基于所述输入的速度来将所述形状书写输入与所述辅助字符输入进行区分。
6.根据权利要求1所述的装置,其中所述指令在由所述至少一个设备处理器执行时使所述至少一个设备处理器:
至少基于所述输入的压力来将所述形状书写输入与所述辅助字符输入进行区分。
7.根据权利要求1所述的装置,其中所述指令在由所述至少一个设备处理器执行时使所述至少一个设备处理器:
至少基于所述输入的划动长度来将所述形状书写输入与所述辅助字符输入进行区分。
8.根据权利要求1所述的装置,其中所述指令在由所述至少一个设备处理器执行时使所述至少一个设备处理器:
至少基于所述输入是否包括拐点来将所述形状书写输入与所述辅助字符输入进行区分。
9.一种由计算设备执行的方法,所述方法包括:
提供键盘,所述键盘接受单词的形状书写和单个字符的录入;
检测指向所述键盘上的起始字符的触摸输入,所述起始字符与多个辅助字符相关联;
在所述触摸输入指示在所述起始字符上的轻敲和保持的第一实例中:
显示标识所述多个辅助字符的菜单;以及
响应于经由所述触摸输入的、对来自所述菜单的特定辅助字符的选择,在所述计算设备上输入所述特定辅助字符;以及
在所述触摸输入穿过一个或多个其他字符而未从所述键盘被移除的第二实例中,输入由所述触摸输入标识的形状书写单词,所述形状书写单词包括所述起始字符和所述一个或多个其他字符。
10.根据权利要求9所述的方法,还包括:
在所述第一实例中,靠近所述起始字符显示所述菜单。
11.根据权利要求9所述的方法,还包括:
在所述第一实例中,在所述起始字符上方显示所述多个辅助字符。
12.根据权利要求9所述的方法,其中,在所述第一实例中,所述触摸在所述轻敲和保持之后维持与所述键盘接触,并同时朝所述特定辅助字符移动。
13.根据权利要求12所述的方法,还包括:
在所述第一实例中,响应于所述触摸输入的释放,输入所述特定辅助字符。
14.根据权利要求12所述的方法,还包括:
在所述第二实例中,响应于所述触摸输入的释放,输入所述形状书写单词。
15.一种系统,包括:
触敏显示器;
处理器;以及
存储可执行代码的计算机可读存储介质,所述可执行代码在被执行时使所述处理器:
提供具有形状书写模式和单个字符录入模式的键盘;
接收指向所述键盘的触摸输入;以及
至少基于所述触摸输入的特性,选择性地在第一实例中以所述形状书写模式操作所述键盘,并且在第二实例中以所述单个字符录入模式操作所述键盘。
16.根据权利要求15所述的系统,其中所述可执行代码在被执行时使所述处理器:
在所述第一实例中,标识沿着所述触摸输入的路径的多个字符;以及
至少基于所述路径,输入形状书写单词。
17.根据权利要求16所述的系统,其中所述可执行代码在被执行时使所述处理器:
在所述第二实例中,当所述触摸输入指示在所述单个字符上执行的轻敲和释放手势时,选择单个字符以用于录入。
18.根据权利要求16所述的系统,其中所述可执行代码在被执行时使所述处理器:
在所述第二实例中,当所述触摸输入指示在起始字符上的轻敲和保持手势、且随后是朝所选择的辅助字符的移动时,输入所选择的所述辅助字符。
19.根据权利要求18所述的系统,其中所述可执行代码在被执行时使所述处理器:
在所述轻敲和保持手势后,显示标识与所述起始字符相关联的多个辅助字符的菜单,所述触摸输入的所述移动从所述菜单中标识所选择的所述辅助字符。
20.根据权利要求19所述的系统,所选择的所述辅助字符包括除英文字母表的字母外的特殊字符。
CN202010561738.0A 2014-09-13 2015-09-09 键盘输入的消歧 Active CN111708478B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010561738.0A CN111708478B (zh) 2014-09-13 2015-09-09 键盘输入的消歧

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/485,720 US9940016B2 (en) 2014-09-13 2014-09-13 Disambiguation of keyboard input
US14/485,720 2014-09-13
PCT/US2015/049056 WO2016040405A1 (en) 2014-09-13 2015-09-09 Disambiguation of keyboard input
CN202010561738.0A CN111708478B (zh) 2014-09-13 2015-09-09 键盘输入的消歧
CN201580049268.7A CN107077288B (zh) 2014-09-13 2015-09-09 键盘输入的消歧

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580049268.7A Division CN107077288B (zh) 2014-09-13 2015-09-09 键盘输入的消歧

Publications (2)

Publication Number Publication Date
CN111708478A true CN111708478A (zh) 2020-09-25
CN111708478B CN111708478B (zh) 2023-11-07

Family

ID=54148639

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202010561738.0A Active CN111708478B (zh) 2014-09-13 2015-09-09 键盘输入的消歧
CN201580049268.7A Active CN107077288B (zh) 2014-09-13 2015-09-09 键盘输入的消歧

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201580049268.7A Active CN107077288B (zh) 2014-09-13 2015-09-09 键盘输入的消歧

Country Status (11)

Country Link
US (2) US9940016B2 (zh)
EP (2) EP3191929B1 (zh)
JP (1) JP6655064B2 (zh)
KR (2) KR102415851B1 (zh)
CN (2) CN111708478B (zh)
AU (1) AU2015315248B2 (zh)
BR (1) BR112017003650A2 (zh)
CA (1) CA2959715C (zh)
MX (1) MX2017003316A (zh)
RU (1) RU2707148C2 (zh)
WO (1) WO2016040405A1 (zh)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8572513B2 (en) 2009-03-16 2013-10-29 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
US10191654B2 (en) * 2009-03-30 2019-01-29 Touchtype Limited System and method for inputting text into electronic devices
US9424246B2 (en) 2009-03-30 2016-08-23 Touchtype Ltd. System and method for inputting text into electronic devices
GB0905457D0 (en) 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
US10706096B2 (en) 2011-08-18 2020-07-07 Apple Inc. Management of local and remote media items
US9002322B2 (en) 2011-09-29 2015-04-07 Apple Inc. Authentication with secondary approver
JP5844707B2 (ja) * 2012-09-28 2016-01-20 富士フイルム株式会社 画像表示制御装置、画像表示装置、プログラム及び画像表示方法
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
US9898187B2 (en) 2013-06-09 2018-02-20 Apple Inc. Managing real-time handwriting recognition
JP6328797B2 (ja) 2014-05-30 2018-05-23 アップル インコーポレイテッド 1つのデバイスの使用から別のデバイスの使用への移行
CN105450583B (zh) 2014-07-03 2019-07-05 阿里巴巴集团控股有限公司 一种信息认证的方法及装置
CN105446992A (zh) 2014-07-08 2016-03-30 阿里巴巴集团控股有限公司 建立商品对象回收信息数据库、确定价值信息方法及装置
CN105450411B (zh) 2014-08-14 2019-01-08 阿里巴巴集团控股有限公司 利用卡片特征进行身份验证的方法、装置及系统
CN105447378B (zh) * 2014-08-27 2018-07-13 阿里巴巴集团控股有限公司 一种密码生成方法和装置
CN113824998A (zh) 2014-09-02 2021-12-21 苹果公司 音乐用户界面
US9940016B2 (en) 2014-09-13 2018-04-10 Microsoft Technology Licensing, Llc Disambiguation of keyboard input
US20160077735A1 (en) * 2014-09-17 2016-03-17 Kabushiki Kaisha Toshiba Character input apparatus and character input method
EP3201737B1 (en) * 2014-09-29 2021-10-27 Hewlett-Packard Development Company, L.P. Virtual keyboard
CN105719183A (zh) 2014-12-03 2016-06-29 阿里巴巴集团控股有限公司 定向转账方法及其装置
CN104571585B (zh) * 2014-12-30 2017-07-28 北京奇虎科技有限公司 输入法光标操作方法和装置
CN105869043A (zh) 2015-01-19 2016-08-17 阿里巴巴集团控股有限公司 分散热点的数据库账户转入、转出的记账方法及装置
CN105989467A (zh) 2015-02-03 2016-10-05 阿里巴巴集团控股有限公司 无线支付方法与装置及交通工具乘坐费检验方法与系统
EP3249513B1 (en) * 2015-02-16 2020-10-21 Huawei Technologies Co. Ltd. Keyboard display method and device
US9996258B2 (en) * 2015-03-12 2018-06-12 Google Llc Suggestion selection during continuous gesture input
US10503264B1 (en) * 2015-06-16 2019-12-10 Snap Inc. Radial gesture navigation
US10282090B2 (en) * 2015-09-30 2019-05-07 Apple Inc. Systems and methods for disambiguating intended user input at an onscreen keyboard using dual strike zones
CN106570009B (zh) 2015-10-09 2020-07-28 阿里巴巴集团控股有限公司 导航类目更新方法及装置
US9939921B2 (en) * 2015-12-30 2018-04-10 Synaptics Incorporated Electronic device keyboard spacebar with visual feedback associated with location sensing
US10528186B2 (en) * 2016-03-31 2020-01-07 Rovi Guides, Inc. Systems and methods for controlling playback of a media asset using a touch screen
DK179186B1 (en) 2016-05-19 2018-01-15 Apple Inc REMOTE AUTHORIZATION TO CONTINUE WITH AN ACTION
DK179329B1 (en) 2016-06-12 2018-05-07 Apple Inc Handwriting keyboard for monitors
DK201670622A1 (en) 2016-06-12 2018-02-12 Apple Inc User interfaces for transactions
WO2017221516A1 (ja) * 2016-06-21 2017-12-28 ソニー株式会社 情報処理装置及び情報処理方法
US20180018086A1 (en) * 2016-07-14 2018-01-18 Google Inc. Pressure-based gesture typing for a graphical keyboard
JP6162299B1 (ja) * 2016-07-28 2017-07-12 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、入力切替方法、及びプログラム
US20180090027A1 (en) * 2016-09-23 2018-03-29 Apple Inc. Interactive tutorial support for input options at computing devices
US10739990B1 (en) * 2016-12-18 2020-08-11 Leonid Despotuli Gesture-based mobile device user interface
US11609692B2 (en) * 2017-04-07 2023-03-21 Hewlett-Packard Development Company, L.P. Cursor adjustments
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US20200270871A1 (en) 2019-02-27 2020-08-27 Louisiana-Pacific Corporation Fire-resistant manufactured-wood based siding
CN111343060B (zh) 2017-05-16 2022-02-11 苹果公司 用于家庭媒体控制的方法和界面
US20220279063A1 (en) 2017-05-16 2022-09-01 Apple Inc. Methods and interfaces for home media control
US11455094B2 (en) 2017-07-11 2022-09-27 Thumba Inc. Interactive virtual keyboard configured for gesture based word selection and having a plurality of keys arranged approximately radially about at least one center point
US11061556B2 (en) * 2018-01-12 2021-07-13 Microsoft Technology Licensing, Llc Computer device having variable display output based on user input with variable time and/or pressure patterns
CN108734371A (zh) 2018-02-12 2018-11-02 阿里巴巴集团控股有限公司 一种针对风控指令的处理方法、装置及设备
JP7106890B2 (ja) * 2018-03-05 2022-07-27 オムロン株式会社 文字入力装置、文字入力方法、及び、文字入力プログラム
CN108632348B (zh) 2018-03-19 2020-02-18 阿里巴巴集团控股有限公司 一种业务校验方法和装置
DK201970533A1 (en) 2019-05-31 2021-02-15 Apple Inc Methods and user interfaces for sharing audio
KR20240049648A (ko) 2019-05-31 2024-04-16 애플 인크. 오디오 미디어 제어를 위한 사용자 인터페이스
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
US10904029B2 (en) 2019-05-31 2021-01-26 Apple Inc. User interfaces for managing controllable external devices
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11009969B1 (en) 2019-12-03 2021-05-18 International Business Machines Corporation Interactive data input
CN111552429B (zh) * 2020-04-29 2021-07-23 杭州海康威视数字技术股份有限公司 一种图形选中方法、装置及电子设备
US11079913B1 (en) 2020-05-11 2021-08-03 Apple Inc. User interface for status indicators
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11797173B2 (en) * 2020-12-28 2023-10-24 Microsoft Technology Licensing, Llc System and method of providing digital ink optimized user interface elements
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing
KR20230020711A (ko) * 2021-08-04 2023-02-13 한국전자통신연구원 음성인식성능 향상을 위한 영어 문자 입력 장치 및 이를 이용한 방법
US20230324997A1 (en) * 2022-04-11 2023-10-12 Meta Platforms Technologies, Llc Virtual Keyboard Selections Using Multiple Input Modalities

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070040813A1 (en) * 2003-01-16 2007-02-22 Forword Input, Inc. System and method for continuous stroke word-based text input
US20140078063A1 (en) * 2012-09-18 2014-03-20 Microsoft Corporation Gesture-initiated keyboard functions
US20140098036A1 (en) * 2012-10-10 2014-04-10 Microsoft Corporation Text entry using shapewriting on a touch-sensitive input panel
US20140123049A1 (en) * 2012-10-30 2014-05-01 Microsoft Corporation Keyboard with gesture-redundant keys removed

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3546337B2 (ja) * 1993-12-21 2004-07-28 ゼロックス コーポレイション 計算システム用ユーザ・インタフェース装置及びグラフィック・キーボード使用方法
US6317128B1 (en) 1996-04-18 2001-11-13 Silicon Graphics, Inc. Graphical user interface with anti-interference outlines for enhanced variably-transparent applications
US5953541A (en) 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US6160555A (en) 1997-11-17 2000-12-12 Hewlett Packard Company Method for providing a cue in a computer system
US6424338B1 (en) 1999-09-30 2002-07-23 Gateway, Inc. Speed zone touchpad
EP1184414A3 (en) 2000-08-30 2003-08-06 JSR Corporation Conjugated diene-based rubber and method of producing the same, oil extended rubber and rubber composition containing the same
US20030014239A1 (en) 2001-06-08 2003-01-16 Ichbiah Jean D. Method and system for entering accented and other extended characters
US7202857B2 (en) 2001-08-29 2007-04-10 Microsoft Corporation Manual controlled scrolling
US7075520B2 (en) 2001-12-12 2006-07-11 Zi Technology Corporation Ltd Key press disambiguation using a keypad of multidirectional keys
US20070005685A1 (en) * 2002-09-16 2007-01-04 Wunchun Chau Browser-based payment system
US7453439B1 (en) 2003-01-16 2008-11-18 Forward Input Inc. System and method for continuous stroke word-based text input
SG135918A1 (en) 2003-03-03 2007-10-29 Xrgomics Pte Ltd Unambiguous text input method for touch screens and reduced keyboard systems
US9047047B2 (en) 2010-10-01 2015-06-02 Z124 Allowing multiple orientations in dual screen view
US7706616B2 (en) * 2004-02-27 2010-04-27 International Business Machines Corporation System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout
US20080010055A1 (en) * 2005-03-08 2008-01-10 Pathiyal Krishna K Handheld Electronic Device and Associated Method Employing a Multiple-Axis Input Device and Providing a Prior Variant List When Employing a Disambiguation Routine and Reinitiating a Text Entry Session on a Word
US7487461B2 (en) * 2005-05-04 2009-02-03 International Business Machines Corporation System and method for issuing commands based on pen motions on a graphical keyboard
US7895518B2 (en) * 2007-04-27 2011-02-22 Shapewriter Inc. System and method for preview and selection of words
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
WO2010018579A2 (en) 2008-08-12 2010-02-18 Benjamin Firooz Ghassabian Improved data entry system
US9041660B2 (en) * 2008-12-09 2015-05-26 Microsoft Technology Licensing, Llc Soft keyboard control
GB0905457D0 (en) 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
US20100259482A1 (en) 2009-04-10 2010-10-14 Microsoft Corporation Keyboard gesturing
US20120030607A1 (en) 2009-04-29 2012-02-02 Alexandra Michel Controlling a keyboard
US8549432B2 (en) 2009-05-29 2013-10-01 Apple Inc. Radial menus
US8884872B2 (en) 2009-11-20 2014-11-11 Nuance Communications, Inc. Gesture-based repetition of key activations on a virtual keyboard
CN102081490B (zh) * 2009-11-27 2013-01-30 沈阳格微软件有限责任公司 面向触屏设备的点划式汉字声韵输入系统
EP2513755A2 (en) 2009-12-20 2012-10-24 Keyless Systems Ltd Features of a data entry system
US8381119B2 (en) 2010-01-11 2013-02-19 Ideographix, Inc. Input device for pictographic languages
KR101477530B1 (ko) * 2010-03-12 2014-12-30 뉘앙스 커뮤니케이션즈, 인코포레이티드 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템
US20110242138A1 (en) 2010-03-31 2011-10-06 Tribble Guy L Device, Method, and Graphical User Interface with Concurrent Virtual Keyboards
JP5615583B2 (ja) 2010-04-08 2014-10-29 京セラ株式会社 文字入力装置、文字入力方法および文字入力プログラム
US20110302518A1 (en) 2010-06-07 2011-12-08 Google Inc. Selecting alternate keyboard characters via motion input
CN102117175A (zh) * 2010-09-29 2011-07-06 北京搜狗科技发展有限公司 一种滑行输入中文的方法、装置和触摸屏输入法系统
US20120081297A1 (en) 2010-10-01 2012-04-05 Google Inc. Touch keyboard with phonetic character shortcuts
JP5705499B2 (ja) 2010-10-15 2015-04-22 シャープ株式会社 情報処理装置および情報処理装置の制御方法
EP2641145A4 (en) 2010-11-20 2017-05-03 Nuance Communications, Inc. Systems and methods for using entered text to access and process contextual information
KR20120069484A (ko) 2010-12-20 2012-06-28 삼성전자주식회사 키 입력 방법 및 장치
US20130067420A1 (en) 2011-09-09 2013-03-14 Theresa B. Pittappilly Semantic Zoom Gestures
US8856674B2 (en) 2011-09-28 2014-10-07 Blackberry Limited Electronic device and method for character deletion
US8890808B2 (en) 2012-01-06 2014-11-18 Microsoft Corporation Repositioning gestures for chromeless regions
US9141262B2 (en) 2012-01-06 2015-09-22 Microsoft Technology Licensing, Llc Edge-based hooking gestures for invoking user interfaces
US8902181B2 (en) 2012-02-07 2014-12-02 Microsoft Corporation Multi-touch-movement gestures for tablet computing devices
US20130271385A1 (en) 2012-04-16 2013-10-17 Research In Motion Limited Method of Changing Input States
CN102841752B (zh) * 2012-08-21 2015-10-07 刘炳林 一种人机交互设备的字符输入方法和装置
US9940016B2 (en) 2014-09-13 2018-04-10 Microsoft Technology Licensing, Llc Disambiguation of keyboard input

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070040813A1 (en) * 2003-01-16 2007-02-22 Forword Input, Inc. System and method for continuous stroke word-based text input
US20140078063A1 (en) * 2012-09-18 2014-03-20 Microsoft Corporation Gesture-initiated keyboard functions
US20140098036A1 (en) * 2012-10-10 2014-04-10 Microsoft Corporation Text entry using shapewriting on a touch-sensitive input panel
US20140123049A1 (en) * 2012-10-30 2014-05-01 Microsoft Corporation Keyboard with gesture-redundant keys removed

Also Published As

Publication number Publication date
KR102415851B1 (ko) 2022-06-30
KR102345039B1 (ko) 2021-12-29
CN107077288B (zh) 2020-07-07
AU2015315248B2 (en) 2020-07-09
CN107077288A (zh) 2017-08-18
US20160077734A1 (en) 2016-03-17
CN111708478B (zh) 2023-11-07
US9940016B2 (en) 2018-04-10
JP2017531372A (ja) 2017-10-19
US10983694B2 (en) 2021-04-20
BR112017003650A2 (pt) 2017-12-05
RU2017107513A3 (zh) 2019-04-25
JP6655064B2 (ja) 2020-02-26
AU2015315248A1 (en) 2017-03-09
RU2017107513A (ru) 2018-09-10
EP3191929A1 (en) 2017-07-19
KR20170054503A (ko) 2017-05-17
MX2017003316A (es) 2017-06-21
CA2959715C (en) 2023-01-17
KR20220005592A (ko) 2022-01-13
CA2959715A1 (en) 2016-03-17
WO2016040405A1 (en) 2016-03-17
EP3191929B1 (en) 2020-04-22
US20180300056A1 (en) 2018-10-18
RU2707148C2 (ru) 2019-11-22
EP3686727A1 (en) 2020-07-29

Similar Documents

Publication Publication Date Title
CN107077288B (zh) 键盘输入的消歧
US9348458B2 (en) Gestures for touch sensitive input devices
EP1774429B1 (en) Gestures for touch sensitive input devices
US20140123049A1 (en) Keyboard with gesture-redundant keys removed
US20090100383A1 (en) Predictive gesturing in graphical user interface
JP2011248888A (ja) デュアルスクリーン上のユーザジェスチャのための方法及びデュアルスクリーンデバイス
JP2013527539A (ja) 多角的ボタン、キーおよびキーボード
WO2013071198A2 (en) Finger-mapped character entry systems
JP6139647B1 (ja) 情報処理装置、入力判定方法、及びプログラム
Gaur AUGMENTED TOUCH INTERACTIONS WITH FINGER CONTACT SHAPE AND ORIENTATION

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant