CN104020943A - 字符串替换 - Google Patents

字符串替换 Download PDF

Info

Publication number
CN104020943A
CN104020943A CN201410073286.6A CN201410073286A CN104020943A CN 104020943 A CN104020943 A CN 104020943A CN 201410073286 A CN201410073286 A CN 201410073286A CN 104020943 A CN104020943 A CN 104020943A
Authority
CN
China
Prior art keywords
character string
indication
key
place
computing equipment
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
CN201410073286.6A
Other languages
English (en)
Other versions
CN104020943B (zh
Inventor
库尔特·爱德华·帕特里奇
欧阳瑜
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.)
Google LLC
Original Assignee
Google 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 Google LLC filed Critical Google LLC
Publication of CN104020943A publication Critical patent/CN104020943A/zh
Application granted granted Critical
Publication of CN104020943B publication Critical patent/CN104020943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand 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/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/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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

本申请涉及用于字符串替换的方法、***和设备。在一个示例中,一种方法包括输出包括文本显示区和图形键盘的图形用户界面以在存在敏感显示器处显示。该方法进一步包括接收在文本显示区内的一个位置处检测到的第一姿势的指示,以及至少部分地基于在文本显示区内的该位置,选择包括在文本显示区中的字符串的至少一部分。该方法进一步包括在第一姿势在存在敏感显示器处被检测到的同时,接收用于选择图形键盘的至少一个键的第二姿势的至少一部分的指示,以及响应于接收到至少第二姿势的终止的指示,输出替换字符串以在文本显示区内显示来替换该字符串的该部分。

Description

字符串替换
背景技术
一些计算设备(例如移动电话,平板电脑等等)可以将图形键盘提供为图形用户界面的一部分,用于使用存在敏感显示器(例如屏幕)来输入文本。图形键盘可以使计算设备的用户能够输入文本(例如用于电子邮件、文本消息或文档等等)。例如,计算设备的存在敏感显示器可以输出图形(或“软”)键盘,其使用户能够通过指示(例如通过敲击)在存在敏感显示器上显示的键来输入数据。
图形键盘可以使用户能够删除和/或替换文本的一个或多个部分。例如,在一些示例中,用户可以重复地选择包括在图形键盘中的退格键或删除键来删除文本的字符。某些技术可以通过在图形键盘处或附近提供姿势输入,来使用户能够选择文本的一部分(例如词)和输入替代文本。然而,在这样的示例中,当相对于用户的输入媒介(例如相对于用户的手指的大小),文本的大小小时,用户可能经历很难精确地选择该文本部分。此外,使用这样的技术,用户可能通常不得不向计算设备提供额外的输入(例如后续触摸输入)来在句子的末尾***另外的文本前,复原光标或方块(carat)。同样地,当使用图形键盘时删除和/或替换字符可能会很困难,以及可能降低用户可以与计算设备交互的速度。
发明内容
在一个示例中,一种方法包括通过计算设备输出包括文本显示区和图形键盘的图形用户界面以在存在敏感显示器处显示,以及通过计算设备接收在存在敏感显示器处检测到的在文本显示区内的一个位置处的第一姿势的指示。该方法进一步包括通过计算设备并且至少部分地基于文本显示区内的位置,选择字符串的至少一部分,通过计算设备并且在第一姿势在存在敏感显示器处被检测到的同时,接收用于选择图形键盘的至少一个键的第二姿势的至少一部分的指示,以及通过计算设备并且响应于接收到至少第二姿势的终止的指示,输出用于在文本显示区内显示的替换字符串以替换字符串的该部分。替换字符串可以至少部分地基于至少一个键。
在另一示例中,一种***包括,用于输出包括文本显示区和图形键盘的图形用户界面以在存在敏感显示器处显示的装置,用于接收在存在敏感显示器处检测到的在文本显示区内的一个位置处的第一姿势的指示的装置,以及用于至少部分地基于在文本显示区内的所述位置,选择字符串的至少一部分的装置。该***进一步包括:用于在第一姿势在存在敏感显示器处被检测到的同时接收用于选择图形键盘的至少一个键的第二姿势的至少一部分的指示的装置,以及用于响应于接收到至少第二姿势的终止的指示,输出用于在文本显示区内显示的替换字符串以替换字符串的该部分的装置,其中替换字符串至少部分地基于至少一个键。
在另一示例中,一种设备包括至少一个处理器、存在敏感显示器、以及至少一个模块,其可由至少一个处理器操作来输出包括文本显示区和图形键盘的图形用户界面以在存在敏感显示器处显示、接收在存在敏感显示器处检测到的在文本显示区内的一个位置处的第一姿势的指示、以及至少部分地基于在文本显示区内的所述位置来选择字符串的至少一部分。至少一个模块进一步可由至少一个处理器操作来在第一姿势在存在敏感显示器处被检测到的同时,接收用于选择图形键盘的至少一个键的第二姿势的至少一部分的指示,以及响应于接收到至少第二姿势的终止的指示,输出用于在文本显示区内显示的替换字符串以替换字符串的该部分,其中替换字符串至少部分地基于至少一个键。
在附图和下文的描述中,阐述了本公开内容的一个或多个示例的细节。其他特征、目的和优点从说明书和附图、以及从权利要求书将是显而易见的。
附图说明
图1是图示根据该公开的一个或多个技术的可以用来输出替换所显示的字符串的至少一部分的替换字符串的示例性计算设备的框图。
图2是图示根据该公开的一个或多个技术的如图1所示的计算设备的一个示例的另外的细节的框图。
图3是图示根据该公开的一个或多个技术的如图1所示的计算设备的一个示例的另外的细节的框图。
图4是图示根据该公开的一个或多个技术的如图1所示的计算设备的一个示例的另外的细节的框图。
图5是图示根据该公开的一个或多个技术的输出用于替换所显示的字符串的至少一部分的替换字符串的计算设备的示例性操作的流程图。
图6是图示根据该公开的一个或多个技术的输出用于在远程设备显示的图形内容的示例性计算设备的框图。
具体实施方式
通常,该公开涉及用于输出用于替换所显示的字符串的至少一部分的替换字符串的技术。在一些示例中,显示图形键盘的存在敏感显示器还可以检测姿势。存在敏感显示器(例如,触敏屏)可以通过检测以在存在敏感显示器处或附近执行的姿势形式的用户输入,使用户能够输入文本。在某些示例中,用户可以通过在存在敏感显示器处或附近执行一个或多个姿势,来输入文本串,例如词。例如,用户可以在存在敏感显示器处或附近执行一个或多个触摸姿势来依序地选择与图形键盘的键相关联的一个或多个字符。
按照惯例,用户可以通过在存在敏感显示器处或附近执行一个或多个姿势来删除一个或多个字符。例如,用户可以重复地选择包括在图形键盘中的退格键或删除键来删除字符。退格键的每一选择可以依序地删除包括在文本中的单一字符。然而,这些的常规技术可能导致删除比包括在期望删除或替换的文本部分中更多的字符。例如,使用这样的技术,用户可以重复地选择使计算设备依序地删除包括在文本串中的字符的退格键,直到删除文本的期望部分(例如一个或多个词、包括在词中的一个或多个字符等等)为止。然而,这样的依序删除可能导致删除不期望删除的字符,诸如接近期望删除的字符的一个或多个字符。
在此所述的技术可以提高用户可以使用在存在敏感显示器处或附近执行的一个或多个姿势来输入替换文本的方便和精度。根据该公开的各种技术,计算设备可以输出包括文本显示区和图形键盘的图形用户界面(GUI),以便显示(例如,在存在敏感显示器处)。计算设备可以接收在文本显示区内的一个位置处检测到的第一姿势的指示。至少部分地基于文本显示区内的位置,计算设备可以选择包括在文本显示区中的字符串的至少一部分。例如,计算设备可以接收在与包括在文本显示区中的文本的词相关联的存在敏感显示器的位置处检测到的触摸姿势的指示。作为响应,计算设备可以选择包括在文本显示区中的文本的词。
在第一姿势在存在敏感显示器处被检测到的同时,计算设备可以接收用于选择图形键盘的至少一个键的第二姿势的至少一部分的指示。在某些示例中,诸如当计算设备输出基于姿势的图形键盘时,第二姿势可以包括用于选择包括在图形键盘中的一组键的连续运动姿势。在一些示例中,计算设备可以接收多个触摸输入的指示,多个触摸输入中的每一个选择包括在图形键盘中的单个键(例如敲击)。计算设备可以至少部分基于与图形键盘的至少一个被选键相关联的至少一个字符来确定替换字符串。
计算设备可以输出用于替换包括在文本显示区中的字符串(例如词)的被选部分的替换字符串以显示(例如在存在敏感显示器处)。在某些示例中,计算设备可以响应于接收第一姿势的终止的指示(即,用于选择包括在文本显示区中的字符串的第一姿势),输出替换字符串。用这样的方式,计算设备可以使计算设备的用户能够选择所显示的字符串的一部分和快速地提供姿势输入,诸如一个或多个敲击姿势和/或轻扫姿势,以在用户保持用于选择待替换的字符串的姿势输入的同时选择替换字符串。同样地,在此所述的技术可以提高通过使用图形键盘选择替换字符串,用户可以替换所显示的文本的一部分的方便。
此外,在一些示例,计算设备可以响应于输出替换字符串而更新文本***位置(例如对应于文本***光标或方块)。例如,响应于输出替换字符串,计算设备可以更新文本***位置以便对应于一组文本的末尾。用这种方式,该公开的技术可以使用户能够有效地替换所显示的文本的一部分。此外,这些技术可以使用户能够提供在先前文本***位置,诸如文本行的末尾,输入文本的后续姿势输入,而不提供将文本***位置改变到先前位置(例如文本行的末尾)的姿势输入。同样地,根据在此所公开的技术,计算设备可以提高用户与计算设备交互来使用图形键盘输入文本的速度,由此提高计算设备的可用性。
图1是示例根据该公开的一个或多个技术的响应于用户输入而输出用于替换所显示的字符串的至少一部分的替换字符串的示例性计算设备2的框图。在一些示例中,计算设备2可以与用户12相关联。与计算设备相关联的用户可以通过将各种用户输入提供到计算设备中来与计算设备交互。
计算设备2的示例可以包括但不限于诸如移动电话(包括智能电话)的便携式或移动设备、膝上型计算机、台式计算机、平板电脑、智能电视平台、相机、个人数字助理(PDA)、服务器、主机、一个或多个处理器等等。如图1的示例中所示,计算设备2可以是平板电脑。计算设备2在一些示例中可以包括用户接口(UI)设备4、UI模块6、姿势模块8和字符替换模块10。实现该公开的技术的计算设备2的其他示例可以包括在图1中未示出的另外的部件。
计算设备2可以包括UI设备4。在一些示例中,UI设备可以被配置成接收触觉、音频或视觉输入。如图1所示的UI设备4可以包括触敏和/或存在敏感显示器或用于接收输入的任何其他类型的设备。UI设备4可以输出诸如图形用户界面(GUI)14的内容以显示。在图1的示例中,UI设备4可以是可以显示图形用户界面和使用存在敏感显示器处或附近的电容、电感和/或光学检测来从用户12接收输入的存在敏感显示器。
如图1所示,计算设备2可以包括UI模块6。UI模块6可以执行用于接收诸如用户输入的输入以及将这样的输入发送到诸如姿势模块8和/或字符替换模块10的与计算设备2相关联的其他部件的一个或多个功能。例如,UI模块6可以确定在UI设备4由用户12执行的姿势。UI模块6也可以从诸如姿势模块8和/或字符替换模块10的与计算设备2相关联的部件接收数据。使用该数据,UI模块6可以使诸如UI设备4的与计算设备2相关联的其他部件基于该数据提供输出。例如,UI模块6可以从字符替换模块10接收使UI设备在GUI14的文本显示区显示信息的数据。
UI模块6可以以各种方式实现。例如,UI模块6可以实现为可下载或预装的应用程度或“app”。在另一示例中,UI模块6可以实现为计算设备2的硬件单元的一部分。在另一示例中,UI模块6可以实现为计算设备2的操作***的一部分。
在一些示例中,计算设备2包括姿势模块8。姿势模块8可以包括在计算设备2上执行多种操作的功能,诸如根据在此所述的技术,用于选择包括在GUI14的文本显示区中的字符串的至少一部分的功能。姿势模块8可以以各种方式实现。例如,姿势模块8可以实现为可下载或预装的应用程序或“app”。在另一示例中,姿势模块8可以实现为计算设备2的硬件单元的一部分。在另一示例中,姿势模块8可以实现为计算设备2的操作***的一部分。
姿势模块8可以从诸如UI模块6的与计算设备2相关联的部件接收数据。例如,姿势模块8可以从UI模块6接收姿势数据,其使姿势模块8从该姿势数据确定文本。在一些示例中,姿势模块8基于从UI模块6接收的信息,确定响应于用户姿势触摸或检测的UI设备4的一个或多个位置。姿势模块8还可以将数据发送到与计算设备2相关联的部件,诸如UI模块6和/或字符替换模块10。
在某些示例中,计算设备2包括字符替换模块10。字符替换模块10可以包括用于在计算设备2上执行多种操作的功能,诸如根据在此所述的技术,用于输出替换包括在GUI14的文本显示区16中的字符串的一部分的替换字符串的功能。字符替换模块10可以以各种方式实现。例如,字符替换模块10可以实现为可下载或预装的应用程序或“app”。在另一示例中,字符替换模块10可以实现为计算设备2的硬件单元的一部分。在另一示例中,字符替换模块10可以实现为计算设备2的操作***的一部分。
字符替换模块10可以从诸如姿势模块8的与计算设备2相关联的部件接收数据。例如,字符替换模块10可以从姿势模块8接收数据,其使字符替换模块10选择包括在GUI14中的字符串的至少一部分。字符替换模块10也可以将数据发送到与计算设备2相关联的部件,诸如UI模块6和/或姿势模块8。例如,字符替换模块10可以将从姿势数据确定的文本发送到UI模块6,使UI设备4显示GUI14。
如图1所示,GUI14可以是由UI模块6生成的用户界面,允许用户12与计算设备2交互。GUI14可以包括图形内容。图形内容通常可以包括文本、图像、运动图像组等等。如图1所示,图形内容可以包括文本显示区16和图形键盘18。图形键盘18可以包括多个键,诸如“I”键28和“S”键34。在一些示例中,包括在图形键盘18中的多个键中的每一个表示单一字符。在其他示例中,包括在图形键盘18中的多个键中的一个或多个表示基于多个模式选择的一组字符。图形键盘18可以由UI设备4显示为可选键的有序集合。键可以表示来自字符集(例如英语字母表的字母)的单个字符,或可以表示字符的组合。图形键盘的一个示例可以包括传统的“QWERTY”键盘布局。其他示例可以包含用于不同语言的字符、不同字符集、或不同字符布局。如图1的示例中所示,图形键盘18包括用于英语的传统“QWERTY”键盘布局的样式,提供字符键和提供其他功能的各种键(例如,“?123”键)。
在一些示例中,文本显示区16可以包括在例如文本消息、文档、电子邮件消息、Web浏览器等等中包括的字符或其他图形内容。例如,文本显示区16可以包括由用户12经在UI设备4执行的姿势选择的字符或其他图形内容。
如图1的示例中所示,文本显示区16可以包括含有字符“This is a”的字符串20。字符串可以包括一个或多个字符,但不限于字母字符、数字字符、空格分隔符、以及标点符号(例如,句号、逗号、分号、省略号、冒号、问号、感叹号等等)。例如,尽管字符串20的所示示例包括字母字符和空格分隔符,在某些示例中,字符串可以包括其他类型的字符,诸如数字、符号、标点符号等等。
UI模块6可以确定与文本显示区16的位置相关联的文本***位置。文本***位置可以对应于包括被选文本(例如使用图形键盘18选择的一个或多个字符)的文本显示区16的位置。例如,姿势模块8可以接收在UI设备4(例如存在敏感显示器)检测的用于选择图形键盘18的一个或多个键的一个或多个姿势输入的指示。UI模块6可以将例如文本***位置确定为对应于文本行的末尾的文本显示区16的位置。在一些示例中,文本行的末尾可以是指在空白(例如无后续可见字符)前的最后一个字符后的终止字符位置。UI模块6可以在文本***位置显示被选字符。响应于在文本***位置显示被选字符,UI模块6可以更新文本***位置来对应于文本显示区16的不同位置,诸如在新显示的字符后的文本显示区16的位置。用这种方式,UI模块6可以使用户能够提供姿势输入来依序地选择文本的字符来撰写例如电子邮件、文本消息或其他基于字符的消息和/或文档。
在某些示例中,UI模块6可以在文本显示区16处输出文本***位置的可见指示以显示。例如,如图1所示,UI模块6可以在对应于文本***位置(例如字符串20的末尾)的文本显示区16的位置输出光标24。然而,尽管在图1的示例中示为光标,但本公开的技术不仅限于此。例如,UI模块6可以将文本***位置的可见指示输出为方块、指针、文本显示区16的高亮部分等等。通常,UI模块6可以输出文本***位置的任何指示,使用户能够辨别新选择的文本将显示的文本显示区16的位置。在某些示例中,UI模块6可以不输出文本***位置的指示。
姿势模块8可以接收在文本显示区16内的位置检测的输入单元(例如,手指、笔、触针等等)的指示。例如,如图1所示,姿势模块8可以接收在文本显示区16的位置26处检测到的第一输入单元27(例如用户12的手指)的指示。字符替换模块10可以至少部分基于位置26(例如对应于在位置26检测的触摸姿势),选择字符串20的至少一部分。例如,如所示,字符替换模块10可以至少部分基于检测在文本显示区16的位置26处的第一输入单元27,选择字符串20的部分22。在某些示例中,字符替换模块10可以将部分22选择为包括在字符串20中的词。例如,字符替换模块10可以确定显示词的文本显示区16的位置。该词可以包括例如由空格分隔符和标点符号中的一个或多个界定的、在诸如词典的语言模型中包括的字符序列。例如,如图1的示例中所示,词可以包括在英语中包括的字符“it”。
字符替换模块10可以至少部分基于位置26和显示部分22的文本显示区16的位置之间的距离,选择部分22(例如,词“it”)。例如,如图1的示例中所示,字符替换模块10可以确定位置26和显示部分22的文本显示区16的位置(例如,显示词“it”的文本显示区16的区域的质心)之间的距离(例如欧氏距离)。在一些示例中,字符替换模块10可以将位置26和显示部分22的文本显示区16的位置之间的确定的距离与阈值距离进行比较。字符替换模块10可以确定位置26和显示部分22的文本显示区16的位置之间的距离满足阈值距离,诸如当所确定的距离小于(或等于)阈值距离时。响应于确定所确定的距离满足阈值距离,字符替换模块10可以选择部分22。
在某些示例中,字符替换模块10可以确定多个距离,多个距离中的每一个对应于位置26和字符串20的各个部分之间的各个差。例如,字符替换模块10可以确定位置26和显示部分22(例如本示例中的词“it”)的文本显示区16的位置之间的第一距离。此外,字符替换模块10可以确定位置26和显示词“This”的文本显示区16的位置之间的第二距离。类似地,字符替换模块10可以确定位置26和显示词“a”的文本显示区16的位置之间的第三距离。字符替换模块10可以比较各个距离,以及可以至少部分基于该比较,选择字符串20的该部分。例如,字符替换模块10可以选择对应于所确定的距离集中的最小值的字符串20的部分。例如,诸如在图1的示例中,字符替换模块10可以确定位置26和显示部分22的文本显示区16的位置之间的距离小于位置26和分别显示词“this”和词“a”的文本显示区16的位置之间的距离的每一个。
在第一姿势在位置26处被检测到的同时,姿势模块8可以接收在显示图形键盘18的UI设备4的位置处检测到的第二姿势的至少一部分的指示。即,姿势模块8可以接收在文本显示区16的位置(例如位置26)处检测到的第一输入单元27的指示。在第一输入单元27在文本显示区16的位置处被检测到的同时,姿势模块8可以接收在对应于图形键盘8的键的UI设备4的位置处检测到的第二输入单元37(例如用户12的另一手指)的指示。
在一些示例中,在接收在文本显示区16的位置处检测到的第一输入单元27的指示前,姿势模块8可以接收在对应于图形键盘18的键的UI设备4的位置处检测到的第二输入单元37的指示。在某些示例中,姿势模块8可以在接收在对应于图形键盘18的键的UI设备4的位置处检测到的第二输入单元37的指示前,接收在文本显示区16的位置处检测到的第一输入单元27的指示。用这样的方式,姿势模块8可以接收多触摸姿势的指示,多触摸姿势包括在文本显示区16内的UI设备4的位置处检测到的第一输入单元和在对应于图形键盘18内的区域的UI设备4的位置处检测到的第二输入单元两者。在某些示例中,姿势模块8可以响应于确定在满足阈值的时间段,诸如大于(或等于)20毫秒、100毫秒、200毫秒或其他阈值时间量的时间段中,在UI设备4的位置处检测到第一输入单元和第二输入单元两者,而确定这样的多触摸姿势。在一些示例中,姿势模块8可以确定接收到多触摸姿势,与在UI设备4检测第一输入单元和第二输入单元的顺序无关。即,该公开的技术不应当解释为限定到计算设备接收在对应于文本显示区16的位置处检测到的姿势输入的指示和在对应于图形键盘18的位置处检测到的姿势输入的指示的特定顺序。
如图1所示,在第一输入单元27在位置26处被检测到的同时,姿势模块8可以接收姿势32的至少一部分的指示。姿势32可以包括从图形键盘18的第一位置30到图形键盘18的第二位置36的运动。姿势模块8可以至少部分基于所接收的姿势32的指示,选择图形键盘18的一个或多个键。例如,姿势模块8可以至少部分基于所接收的从第一位置30到第二位置36的姿势32的指示,选择“I”键28和“S”键34。
字符替换模块10可以至少部分基于与图形键盘的被选键相关联的一个或多个字符,确定替换字符串。例如,如在图1的示例中,字符替换模块10可以至少部分基于与“I”键28相关联的字符“i”和与“S”键34相关联的字符“s”,确定替换字符串“is”。在某些示例中,如在下文进一步详细所述,字符替换模块10可以确定一个或多个候选替换字符串,以及可以至少部分基于所接收的用于选择一个或多个候选替换字符串中的一个的姿势输入的指示,确定替换字符串。
字符替换模块10可以输出替换字符串以在文本显示区16内显示,用于替换该字符串的被选部分。例如,在图1的示例中,字符替换模块10可以输出替换字符串“is”以在文本显示区16显示,用于替换字符串20的部分22(即包括字符“it”的字符串)。即,字符替换模块10可以输出替换字符串“is”以在与显示字符串20的部分22的文本显示区16的一个位置相对应的文本显示区16的位置处显示。此外,字符替换模块10可以使UI模块6停止输出部分22以在文本显示区16处显示,使得输出替换字符串“is”以在文本显示区16处显示,以及不再输出部分22(例如,图1的示例中的字符串“it”)以在文本显示区16处显示。
在一些示例中,字符替换模块10可以响应于接收第一姿势(例如在位置26检测的第一触摸姿势)的终止的指示,输出用于替换字符串20的部分22的替换字符串。第一姿势的终止可以对应于在位置26处未检测到第一输入单元27的指示。例如,当用户使他或她的手指从UI设备4抬起时,姿势模块8可以接收到在UI设备4的位置26不再检测到第一输入单元27的指示。作为响应,姿势模块8可以使字符替换模块10输出替换字符串以在文本显示区16处显示。用这样的方式,在此所述的技术可以使用户能够有效地提供姿势输入(例如连续运动姿势,诸如轻扫姿势)来选择替换字符串,以及使计算设备输出替换字符串以在文本显示区处显示。
作为另一示例,字符替换模块10可以响应于接收到至少第二姿势(例如,用于选择与替换字符串相关联的一个或多个键的第二姿势)的终止的指示,输出用于替换字符串20的部分22的替换字符串。即,在某些示例中,在第一输入单元27在位置26处被检测到的同时,姿势模块8可以接收姿势32的至少一部分的指示。在一些示例中,可以将在第一输入单元27在位置26处被检测到的同时所接收的姿势32的至少一部分的指示视为触发事件。即,在某些示例中,触发事件可以包括:在文本显示区内检测到的触摸按下事件,其后紧随第二触摸按下事件,所述第二触摸按下事件在接收到用于文本显示区中的输入设备的触摸抬起事件前在图形键盘区内被检测到。在某些示例中,触发事件可以包括手持双击姿势。例如,包括手持双击姿势的触摸事件可以包括:在文本显示区内检测到的第一触摸按下事件,其后紧随在文本显示区内检测到的触摸抬起事件,其后紧随在文本显示区内检测到的第二触摸按下事件(例如手持双击),其后紧随在图形键盘区内检测到的第三触摸按下事件。在某些示例中,姿势模块8可以确定满足手持双击触发事件,诸如当在阈值持续时间,诸如半秒、一秒或其他阈值持续时间内,分别检测到第一触摸按下事件、触摸抬起事件和第二触摸按下事件。
在某些示例中,字符替换模块10可以响应于接收到触发事件,启动字符串替换模式(例如,可操作状态)。在一些示例中,当字符替换模块10在字符串替换模式的实例中操作时,字符串替换模块10可以确定用于替换所显示的文本的被选部分的替换字符串,而不是确定将在先前文本***位置(例如文本行的末尾)***的文本。在某些示例中,字符替换模块10可以响应于在文本显示区16(例如位置26)检测到的姿势的终止的指示,退出字符串替换模式。在一些示例中,当字符替换模块10不在字符串替换模式中操作时,UI模块6可以在光标位置,诸如在文本显示区16中包括的文本的终止位置,输出后续选择的文本。
在接收姿势32的部分的指示后,以及在接收姿势32的终止的指示(例如,在UI设备4未检测到第二输入单元37的指示)前,姿势模块8可以接收在UI设备4未检测到第一输入单元27的指示。在这样的示例中,字符替换模块10可以至少部分基于所接收的姿势32的指示,确定替换字符串,以及响应于接收到姿势32的终止的指示,输出替换字符串以在文本显示区16显示。用这样的方式,计算设备2可以使用户能够通过提供至少包括文本显示区16的位置的同步触摸输入和在与图形键盘18相关联的UI设备4的位置的触摸输入的多触摸姿势输入,启动替换字符串的选择。此外,通过响应于接收到姿势32(例如用于选择图形键盘18的一个或多个键的姿势)的终止的指示而输出替换字符串,计算设备2可以使用户能够提供用于选择替换字符串的姿势输入,而不保持用于选择待替换的字符串的部分的姿势输入(例如,不保持在UI设备4的位置26的触摸姿势输入)。
类似地,该公开的技术可以使用户能够提供用于启动替换字符串的选择的多触摸姿势输入,此后提供用于选择替换字符串的多触摸姿势,而不保持用于选择待替换的字符串的部分的姿势输入。即,尽管相对于包括用于选择图形键盘18的一个或多个键的连续运动姿势(例如轻扫姿势)的姿势32示出了图1的示例,但该公开的技术不限于此。例如,在某些示例中,姿势模块8可以接收在第一输入单元27在位置26处被检测到的同时至少在与图形键盘18的键相关联的UI设备4的位置处被检测到的触摸姿势的指示,来启动替换字符串的选择。此后,姿势模块8可以接收在图形键盘18的位置处检测到的多个触摸输入,所述多个触摸输入中的每一个选择图形键盘18的一个键。在这样的示例中,字符替换模块10可以至少部分基于与图形键盘18的被选键相关联的字符,确定替换字符串。字符替换模块10可以响应于在与GUI14的可选要素诸如图形键盘18的键、候选替换字符串或GUI14的其他可选要素相关联的UI设备4的位置处检测到的姿势的指示,输出替换字符串以在文本显示区16显示。
例如,姿势模块8可以接收在文本显示区16的位置26处检测到的姿势的指示(例如,使用第一输入单元27)。在第一输入单元27在位置26被检测的同时,姿势模块8可以接收用于选择“I”键28的在图形键盘18的第一位置30处检测到的第二姿势(例如敲击姿势)的指示。此后,姿势模块8可以接收用于选择“S”键34的在第二位置36检测到的第三姿势(例如敲击姿势)的指示。在某些示例中,姿势模块8可以在接收用于选择字符串20的部分22的在位置26处检测到的第一姿势的终止的指示后,接收第三姿势的指示(例如用于选择“S”键34)。字符替换模块10可以至少部分基于所接收的分别用于选择“I”键28和“S”键34的第二和第三姿势的指示,确定替换字符串。在这样的示例中,字符替换模块10可以响应于接收在与图形键盘18的键(例如,输入键,空格键等等)相关联的UI设备4的位置处检测到的姿势的终止的指示,输出替换字符串以在文本显示区16显示。例如,字符替换模块10可以响应于接收与图形键盘18的空格键(即,与空格分隔符相关联的图形键盘18的键)相关联的UI设备4的位置处检测到的姿势的指示,输出替换字符串。
在一些示例中,字符替换模块10可以响应于接收与图形键盘18的标点符号键(例如,句号键、逗号键、冒号键等等)相关联的UI设备4的位置处检测到的姿势的指示,输出替换字符串。在一些示例中,如在下文进一步详细所述,字符替换模块10可以输出一个或多个候选替换字符串以在GUI14显示。在这样的示例中,字符替换模块10可以响应于接收在与一个或多个候选替换字符串中的一个相关联的UI设备4的位置处检测到的姿势的指示,输出替换字符串。
用这种方式,计算设备2可以通过提供至少包括文本显示区16内的UI设备4的位置处的触摸姿势和与图形键盘18相关联的UI设备4的位置处的触摸姿势的多触摸输入,使用户能够启动替换字符串的选择。通过响应于在与GUI14的可选要素(例如图形键盘18的空格键)相关联的UI设备4的位置处检测到的姿势输入的指示,输出替换字符串,计算设备2可以使用户能够提供用于选择替换字符串的姿势输入,而不保持用于选择待替换的字符串部分(例如部分22)的姿势输入。同样地,根据在此所述的技术,计算设备2可以使用户能够使用两个输入设备(例如两个手指),启动替换字符串的选择,此后使用两个输入设备(例如两个手指)提供用于选择图形键盘18的键的多触摸输入。
在某些示例中,字符替换模块10可以使UI设备6响应于输出替换字符串以在文本显示区16内显示,更新文本***位置。例如,姿势模块8可以将文本显示区16的文本***位置确定为文本显示区16的第一文本***位置。如图1所示,姿势模块8可以将第一文本***位置确定为与文本行的末尾,诸如字符串20的末尾相关联的文本显示区16的位置。在某些示例中,UI模块6可以输出图形指示,诸如光标24,来可视地指示第一文本***位置。
姿势模块8可以接收在文本显示区16的位置26处检测到的姿势的指示。如所示,位置26可以是与第一文本***位置不同的文本显示区16的位置。响应于接收到在位置26处检测到的姿势的指示,姿势模块8可以更新文本***位置以便对应于位置26(例如,第二文本***位置)。例如,字符替换模块10可以至少部分基于所接收的在位置26处检测到的姿势的位置,选择字符串20的部分22。作为响应,姿势模块8可以更新文本***位置,以便对应于与部分22相关联的文本显示区的位置,诸如对应于部分22的第一字符(即,包括在部分22的字符串“it”中的字符“i”)的位置。在某些示例中,姿势模块8可以使UI模块6在对应于更新的文本***位置(例如,第二文本***位置)的文本显示区16的位置处显示光标24。在其他示例中,姿势模块8可以不使UI模块6在对应于更新的文本***位置的位置处显示光标24。在其他示例中,UI模块6可以不显示光标24。在这样的示例中,姿势模块8可以确定文本***位置,但可以不使UI模块输出文本***位置的可见指示(例如,光标24)。
在一些示例中,响应于输出替换字符串以在文本显示区16显示,字符替换模块10可以使姿势模块8更新文本***位置以便对应于不同的文本***位置。例如,在图1的示例中,字符替换模块10可以使姿势模块8更新文本***位置以便对应于字符串20的末尾。在一些示例中,姿势模块8可以使UI模块6显示更新的文本***位置的可见指示,诸如通过使UI模块6在字符串20的末尾显示光标24。同样地,计算设备2可以使用户(例如用户12)能够有效地替换所显示的字符串的一部分,并且继续提供用于在字符串的末尾输入文本的姿势输入,而不要求用户提供用于使文本***位置改变到字符串的末尾的后续姿势输入。
该公开的技术可以增加用户与计算设备交互来使用图形键盘选择文本的方便和效率。因此,在此所述的技术可以增强使用计算设备的图形键盘输入文本的用户体验度,诸如撰写邮件、文本消息或其他基于字符的消息和/或文档。
图2是图示根据该公开的一个或多个技术的如图1所示的计算设备2的一个示例的另外的细节的框图。图2仅图示计算设备2的一个具体示例,以及在其他实例中,可以使用计算设备2的许多其他示例。
如图2的具体示例中所示,计算设备2包括UI设备4、一个或多个处理器40、一个或多个输入设备42、一个或多个通信单元44、一个或多个输出设备46以及一个或多个存储设备48。如所示,计算设备2进一步包括可由计算设备2执行的UI模块6、姿势模块8、字符替换模块10和操作***52。可以互连(物理地、通信地,和/或可操作地)部件4、40、42、44、46和48中的每一个,用于部件间通信。在一些示例中,通信信道50可以包括***总线、网络连接、进程间通信数据结构、或用于通信数据的任何其他信道。如图2的示例,可以通过一个或多个通信信道50,耦接部件4、40、42、44、46和48。姿势模块8、UI模块6、字符替换模块10和操作***52也可以彼此通信信息以及与计算设备2的其他部件通信信息。
在一个示例中,一个或多个处理器40被配置成实现用于在计算设备2内执行的功能和/或过程指令。例如,一个或多个处理器40可以能处理在一个或多个存储设备48处存储的指令。一个或多个处理器40的示例可以包括微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或等效的离散或集成逻辑电路中的任何一个或多个。
一个或多个存储设备48可以被配置成在操作期间,在计算设备2内存储信息。在一些示例中,一个或多个存储设备48可以描述为计算机可读存储介质。在一些示例中,一个或多个存储设备48可以是临时存储器,意指一个或多个存储设备48的主要目的不是长期存储。在一些示例中,一个或多个存储设备48可以描述为易失性存储器,意指当关闭计算机时,一个或多个存储设备48不保持所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、以及本领域公知的其他形式的易失性存储器。在一些示例中,一个或多个存储设备48可以用来存储用于由一个或多个处理器执行的程序指令。例如,一个或多个存储设备48可以由在计算设备2上运行的软件或应用(例如UI模块6、姿势模块8和字符替换模块10)使用来在程序执行期间临时地存储信息。
在一些示例中,一个或多个存储设备48可以包括一个或多个计算机可读存储介质。一个或多个存储设备48可以配置成存储比易失性存储器更多的信息量。可以将一个或多个存储设备48进一步配置成长期存储信息。在一些示例中,一个或多个存储设备48包括非易失性存储元件。非易失性存储元件的示例包括磁硬盘、光盘、软盘、闪存或电可编程存储器(EPROM)或电可擦可编程(EEPROM)存储器的形式。
在一些示例中,一个或多个存储设备48可以存储使一个或多个处理器40、UI模块6、姿势模块8和字符替换模块10执行归属于一个或多个处理器40、UI模块6、姿势模块8和字符替换模块10的各种功能的一个或多个指令。尽管在图2示为单独部件,但在一些示例中,UI模块6、姿势模块8和字符替换模块10中的一个或多个可以是同一模块的一部分。在一些示例中,可以在共用硬件单元中形成UI模块6、姿势模块8、字符替换模块10和一个或多个处理器40中的一个或多个。在一些实例中,UI模块6、姿势模块8和字符替换模块10中的一个或多个可以是在一个或多个处理器40上执行的软件和/或固件单元。通常,为描述和示例方便起见,单独地呈现UI模块6、姿势模块8和字符替换模块10。然而,这些示例和描述不应当解释成暗示必定单独地实现UI模块6、姿势模块8和字符替换模块10,而是在一些示例中能单独地实现。而且,在某些示例中,一个或多个处理器40可以包括UI模块6、姿势模块8和字符替换模块10中的一个或多个。
在一些示例中,计算设备2还包括一个或多个通信单元44。一个示例中,计算设备2利用一个或多个通信单元44来经一个或多个网络,诸如一个或多个无线网络,与外部设备通信。一个或多个通信单元44可以是网络接口卡,诸如以太网卡、光收发器、射频收发器、或能发送和接收信息的任何其他类型的设备。这样的网络接口的其他示例可以包括蓝牙、3G和WiFi无线电计算设备以及通用串行总线(USB)。在一些示例中,计算设备2利用一个或多个通信单元44来与诸如另一计算设备的外部设备无线地通信。
在一个示例中,计算设备2还包括一个或多个输入设备42。在一些示例中,一个或多个输入设备42可以被配置成通过触觉、听觉或视觉反馈,接收来自用户的输入。一个或多个输入设备42的示例包括存在敏感显示器、鼠标、键盘、语音应答***、数码相机、麦克风或用于检测来自用户的输入的其他类型的设备。在一些示例中,存在敏感显示器包括触敏屏。
一个或多个输出设备46可以被配置成使用触觉、听觉或视觉刺激,向用户提供输出。例如,一个或多个输出设备46可以包括存在敏感显示器、触敏屏、声卡、视频图形适配器卡或用于将信号转换成人或机器能理解的适当形式的任何其他类型的设备。一个或多个输出设备46的另外的示例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或能产生用户可理解的输出的任何其他类型的设备。在一些示例中,UI设备4可以包括一个或多个输入设备42和/或一个或多个输出设备46的功能。
在一些示例中,计算设备2的UID4可以包括输入设备42和/或输出设备46的功能。在图2的示例中,UID4可以是或可以包括存在敏感屏。在一些示例中,存在敏感屏可以检测存在敏感屏处和/或附近的对象。作为一个示例范围,存在敏感屏可以检测对象,诸如在存在敏感屏的2英寸或更小范围内的手指或触针。存在敏感屏可以确定检测到该对象的在存在敏感屏处的位置(例如,(x,y)坐标)。在另一示例性范围中,存在敏感屏可以检测距存在敏感屏6英寸或更短的对象,以及其他示例性范围也是可以的。存在敏感屏可以使用电容、电感和/或光学识别技术,确定由用户的手指选择的屏幕的位置。在一些示例中,如参考输出设备46所述,存在敏感屏使用触觉、听觉或视觉刺激,为用户提供输出。在图2的示例中,UID4在UID4的存在敏感屏呈现用户界面(诸如图1的用户界面14),以及在计算设备2上执行的其他各种功能和应用。
计算设备2可以包括操作***52。在一些示例中,操作***52控制计算设备2的部件的操作。例如,在一个示例中,操作***52便于UI模块6、姿势模块8和字符替换模块10与一个或多个处理器40、UI设备4、一个或多个存储设备48、一个或多个输入设备42、一个或多个输出设备46和一个或多个通信单元44的通信。
在某些示例中,UI模块6、姿势模块8和字符替换模块10可以包括可由计算设备2执行的程序指令和/或数据。作为一个示例,UI模块6、姿势模块8和字符替换模块10可以包括使计算设备2执行在本公开中所述的操作和动作中的一个或多个的指令。
现在,将参考图2,进一步描述本公开的技术。在一个示例中,UI模块6可以输出包括文本显示区和图形键盘的图形用户界面,以在UI设备4(例如存在敏感显示器)显示。例如,UI模块6可以输出GUI14以在UI设备4显示。GUI14可以包括文本显示区16和图形键盘18。姿势模块8可以接收在存在敏感显示器处检测到的在文本显示区内的一个位置处的第一姿势的指示。例如,姿势模块8可以接收在UI设备4处检测到的在文本显示区16内的位置26处的第一姿势的指示。字符替换模块10可以至少部分基于文本显示区内的位置,选择包括在文本显示区中的字符串的至少一部分。例如,UI模块6可以输出字符串20(例如,字符串“This is a”),用于在文本显示区16显示。字符替换模块10可以选择部分22(例如,包括字符串“it”的字符串20的部分)。字符替换模块10可以至少部分基于所接收的在位置26处的第一姿势的指示,选择部分22。例如,字符替换模块10可以至少部分基于所确定的位置26和显示部分22的文本显示区16的位置之间的距离,选择部分22。
在第一姿势在存在敏感显示器处被检测到的同时,姿势模块8可以接收用于选择图形键盘的至少一个键的第二姿势的至少一部分的指示。例如,在第一输入单元27在UI设备4的位置26处被检测到的同时,姿势模块8可以接收选择图形键盘18的“I”键28和“S”键34的姿势32的至少一部分的指示。字符替换模块10可以响应于接收至少第二姿势的终止的指示,输出替换字符串以在文本显示区内显示,以便替换字符串的该部分。替换字符串可以至少部分基于至少一个键。例如,字符替换模块10可以至少部分基于“I”键28和“S”键34,确定替换字符串“is”。字符替换模块10可以输出替换字符串“is”以在文本显示区16显示。在某些示例中,字符替换模块10可以响应于接收到第二姿势(即用于选择图形键盘18的至少一个键的第二姿势)的终止的指示,输出替换字符串。在一些示例中,字符替换模块10可以响应于接收到第一姿势(即,用于选择字符串的该部分的第一姿势)的终止的指示,输出替换字符串。在某些示例中,字符替换模块10可以响应于接收到第一姿势的终止的指示和第二姿势的终止的指示,输出替换字符串。
如图2所示,在一些示例中,计算设备2包括语言模型54。语言模型54可以包括词典。在一些示例中,词典可以包括词的列表以及可以包括有关所列出的词的附加信息。可以由一个或多个数据结构,诸如阵列、列表、树或其他数据结构中的一个或多个,来表示词典。例如,语言模型54可以包括以特里(trie)数据结构存储的词典。在某些示例中,语言模型54可以包括安装在计算设备2上的一组预定术语。在其他示例中,语言模型54可以包括可以存储在计算设备2或存储在可经一个或多个通信单元44对计算设备2访问的一个或多个远程计算设备上的多个词典源。
在一些示例中,语言模型54可以以计算设备2的固件实现。语言模型54可以包括语言模型频率信息,诸如n元(n-gram)语言模型。n元语言模型可以基于序列(即P(xi|xi-(n-1),...,xi-1))中的先前项,对连续项序列中的项xi(字母、词、标点符号或其他分隔符)提供概率分布。例如,二元语言模型(n元模型,其中n=2)可以提供字母“s”在字母“i”后的概率。作为另一示例,二元语言模型可以提供词“is”在词“this”后的概率。作为又一示例,三元语言模型(n元模型,其中n=3)可以提供词“a”在词序列“this is”后的概率。在一些示例中,语言模型54包括具有集成的语言模型频率信息的词典特里结构。例如,词典特里结构的每一节点可以包括字母和概率值的表示。
在某些示例中,字符替换模块10可以至少部分基于语言模型54,确定替换字符串。例如,字符替换模块10可以基于与图形键盘18的被选键相关联的字符和包括在语言模型54中的语言信息,确定候选替换字符串。例如,字符替换模块10可以基于替换字符串包括在诸如英语的词典中的确定,确定替换字符串。在一些示例中,字符替换模块10可以至少部分基于图形键盘18的被选键和语言模型54,确定一个或多个候选替换字符串。例如,响应于接收用于选择“I”键28的姿势输入的指示,字符替换模块10可以确定一个或多个候选替换字符串,包括以形成包括在语言模型54的词典中的词的字母“I”开始的字符串。类似地,响应于接收用于选择“S”键34的姿势输入的指示,字符替换模块10可以确定一个或多个候选替换字符串,包括以形成包括在语言模型54的词典中的词的字母“is”开始的字符串。例如,字符替换模块10可以确定包括字符串“is”(例如,包括在英语中的词“is”)、字符串“isn’t”、字符串“island”或其他候选替换字符串的一个或多个这样的候选替换字符串。
在一些示例中,如在下文进一步详细所述,字符替换模块10可以使UI模块6输出候选替换字符串中的一个或多个以在GUI14显示。在某些示例中,字符替换模块10可以至少部分基于包括在语言模型54中的词频信息,确定一个或多个候选替换字符串以在GUI14显示。例如,字符替换模块10可以基于包括在语言模型54中的词频信息,确定词“isn’t”是比词“island”在词典(例如英语)中更频繁地使用的词。在这样的示例中,字符替换模块10可以基于词“isn’t”是词典中更频繁使用的词的确定,使UI模块6输出词“isn’t”以在GUI14显示,而不是词“island”。在某些示例中,字符替换模块10可以使UI模块6输出多个候选替换字符串,诸如两个候选替换字符串、三个候选替换字符串、五个候选替换字符串或其他数量的候选替换字符串。在一些示例中,字符替换模块10可以使UI模块6输出“n”个最频繁使用的候选替换字符串,其中“n”表示预定数量的候选替换字符串(例如,三个候选替换字符串)。
图3是图示根据本公开的一个或多个技术的如图1所示的计算设备2的一个示例的进一步细节的框图。如图3所示,UI模块6可以输出包括文本显示区60和图形键盘62的GUI,以显示(例如UI设备4)。姿势模块8可以接收在文本显示区60的第一位置66检测的第一姿势的指示。字符替换模块10可以至少部分基于第一位置,选择包括在文本显示区60中的字符串的至少一部分。例如,如在图3的示例中,字符替换模块10可以选择所显示的字符串的一部分,包括字符“it”的部分。在一些示例中,如图3所示,字符替换模块10可以使UI模块6输出字符串的被选部分的可视指示,诸如字符串的被选部分的可视高亮、加下划线、黑体、颜色改变等等。如图3进一步所示,响应于接收在位置66检测的第一姿势的指示,姿势模块8可以更新文本***位置来对应于位置66。例如,姿势模块8可以更新文本***位置来对应于显示字符串的被选部分的文本显示区60的位置。姿势模块8可以使UI模块6在对应于文本***位置的文本显示区60的位置输出光标64。
在UI设备4的位置66处检测第一姿势的同时,姿势模块8可以接收用于选择图形键盘62的至少一个键的第二姿势的至少一部分的指示。例如,姿势模块8可以接收在位置68处检测到的用于选择图形键盘62的“I”键69的触摸姿势的指示。字符替换模块10可以至少部分基于被选“I”键69,确定一个或多个候选替换字符串。例如,字符替换模块10可以确定包括以形成包括在语言模型54的词典中的词的字母“I”开始的字符串的一个或多个候选替换字符串。在某些示例中,字符替换模块10可以使UI模块6输出候选替换字符串中的一个或多个以在GUI显示。例如,如所示,字符替换模块10可以确定候选替换字符串,包括字符串“in”、“is”和“if”。
字符替换模块10可以使UI模块6输出候选替换字符串中的一个或多个以在GUI,诸如文本建议区70、72和74显示。在某些示例中,响应于接收到用于启动替换字符串的选择的姿势输入的指示,字符替换模块10可以使UI模块6增加用来显示文本建议区70-74的UI设备4的区域的面积。例如,响应于接收用于启动替换字符串的选择的姿势输入,字符替换模块6可以在不启动替换字符串选择的操作实例期间,使UI模块在显示文本显示区60的UI设备4的区域输出文本建议区70-74。在某些示例中,除输出用于在文本建议区70-74显示的候选替换字符串外,字符替换模块10可以使UI模块6输出在字符串的选择部分之前和/或之后的、包括在字符串中的词。
姿势模块8可以接收用于选择一个或多个候选替换字符串中的一个的姿势输入的指示。如图3所示,姿势模块8可以接收在UI设备4的位置76,对应于文本建议区72的位置76处检测到的触摸姿势的指示。在这样的示例中,字符替换模块10可以选择与被选文本建议区相关联的候选字符串。作为响应,字符替换模块10可以使UI模块6输出被选替换字符串以在文本显示区60显示。此外,如图3所示,姿势模块8可以更新文本***位置来对应于字符串的末尾的位置。
图4是图示根据本公开的一个或多个技术的如图1所示的计算设备2的一个示例的进一步细节的框图。如图4所示,UI模块6可以输出包括文本显示区80和图形键盘82的GUI,用于显示(例如在UI设备4)。UI模块6可以输出字符串以在文本显示区80显示,诸如所示的字符串“This it a”。姿势模块8可以接收在文本显示区80内的UI设备4的位置诸如在位置84处检测到的第一姿势的指示。字符替换模块10可以至少部分基于位置84,选择字符串的至少一部分。
在一些示例中,字符替换模块10可以至少部分基于所确定的位置84和字符串的一个或多个部分之间的距离,选择字符串的该部分。例如,字符替换模块10可以确定在位置84和与包括在字符串中的词“it”相关联的UI设备4的位置(例如,显示词“it”的文本显示区80的区域的质心)之间的第一距离96。类似地,字符替换模块10可以确定在位置84和与包括在字符串中的词“this”相关联的UI设备4的位置之间的第二距离98。在一些示例中,字符替换模块10可以至少部分基于第一距离96和第二距离98的比较,选择字符串的该部分。例如,字符替换模块10可以确定第一距离96小于第二距离98。作为响应,字符替换模块10可以选择所显示的字符串的部分“it”。
在一些示例中,字符替换模块10可以至少部分基于所接收的用于选择图形键盘82的一个或多个键的姿势输入,选择字符串的该部分。如图4所示,在第一姿势在文本显示区80的位置84处被检测到的同时,姿势模块8可以接收用于选择图形键盘82的至少一个键的姿势86的至少一部分的指示。姿势86可以包括输入单元(例如手指、笔、触针等等)从用于选择“I”键92的第一位置88到用于选择“S”键94的第二位置90的运动。字符替换模块10可以至少部分基于所接收的姿势86的指示,选择字符串的该部分。
作为一个示例,字符替换模块10可以在接收用于启动对替换字符串的选择的姿势输入后,确定被选的图形键盘82的键的数量。字符替换模块10可以将被选的键的数量与包括在字符串的一部分(例如词)中的字符的数量进行比较,以及可以至少部分基于该比较来选择字符串的该部分。例如,姿势模块8可以至少部分基于所接收的姿势86的指示,选择图形键盘82的两个键(即“I”键92和“S”键94)。字符替换模块10可以将包括在该字符串中的一部分---诸如包括词“this”的字符串的部分---中的字符的数量(即四个字符)与被选键的数量(即本示例中的2个)进行比较。类似地,字符替换模块10可以将包括在含有词“it”的字符串的部分中的字符的数量(即,2个字符)与被选键的数量(即2个)进行比较。字符替换模块10可以确定被选键的数量比词“this”中的字符的数量与词“it”中的字符的数量更接近匹配。作为响应,字符替换模块10可以选择包括词“it”的字符串的该部分,用于替换。
在一些示例中,字符替换模块10可以至少部分基于与图形键盘82的被选键相关联的一个或多个字符与包括在字符串的该部分中的一个或多个字符的比较,选择字符串的该部分。例如,字符替换模块10可以基于词“it”以字母“i”开始以及“I”键92是基于姿势86被选的第一键的确定,选择所显示的包括词“it”的字符串的部分。
在某些示例中,字符替换模块10可以基于:在位置84和字符串的一部分之间的距离;被选的图形键盘82的键的数量与包括在该字符串的该部分中的字符的数量的比较;以及与图形键盘82的被选键相关联的一个或多个字符与包括在该字符串的该部分中的一个或多个字符的比较的组合,来选择该字符串的该部分。例如,字符替换模块10可以基于距离、字符的数量和字符的类似性的组合的确定,为字符串的两个或以上部分的每一个确定分值。在某些示例中,字符替换模块10可以基于分值的比较,诸如通过选择对应于最高分值的字符串的该部分(例如,在高分值对应于与该字符串的该部分的增加的关联性的示例中),选择该字符串的该部分。在某些示例中,诸如当低分值对应于与该字符串的该部分的增加的关联性时,字符替换模块10可以选择对应于最低分值的该字符串的该部分。
用这样的方式,本公开的多个方面可以使计算设备能够提高计算设备选择字符串的一部分的精度。同样地,在此所述的技术可以提高用户可以与计算设备交互来选择所显示的字符串的一部分以及提供用于选择替换字符串来替换被选部分的姿势输入的便利。
图5是图示根据本公开的一个或多个技术的计算设备输出替换字符串来替换所显示的字符串的至少部分的示例性操作的流程图。仅为图示目的,在下文中,在如图1和2所示的计算设备2的上下文内,描述示例性操作。
计算设备2可以输出包括文本显示区和图形键盘的图形用户界面,以在存在敏感显示器上显示(100)。例如,在一个或多个处理器40上执行的UI模块6可以输出包括文本显示区16和图形键盘18的GUI14,以在UI设备4(例如存在敏感显示器)上显示。作为一个示例,UI模块6可以输出包括字符串“This it a”的字符串22,以在文本显示区16显示。计算设备2可以接收在存在敏感显示器处检测到的在文本显示区内的一个位置处的第一姿势的指示(102)。例如,姿势模块8可以接收在文本显示区16的位置26处检测到的第一姿势的指示。
计算设备2可以至少部分基于文本显示区内的位置,选择包括在文本显示区中的字符串的至少一部分(104)。例如,字符替换模块10可以选择字符串20的部分22,该部分22包括字符“it”。在第一姿势在存在敏感显示器处被检测到的同时,计算设备2可以接收用于选择图形键盘的至少一个键的第二姿势的至少一部分的指示(106)。例如,姿势模块8可以接收包括从用于选择“I”键28的第一位置30到用于选择“S”键34的第二位置36的运动的姿势32的至少部分的指示。
计算设备2可以响应于接收至少第二姿势的终止的指示,输出替换字符串以在文本显示区内显示,来替换字符串的该部分(108)。替换字符串可以至少部分基于至少一个键。例如,计算设备2可以至少部分基于所接收的用于选择“I”键28和“S”键34的姿势32的指示,确定包括字符“is”的替换字符串。字符替换模块10可以响应于接收至少第二姿势的终止的指示,使UI模块6输出替换字符串“is”以在文本显示区16显示。
在一个示例中,在文本显示区内的第一位置包括文本***位置,接收在存在敏感显示器处检测到的在文本显示区内的位置处的第一姿势的指示包括接收在存在敏感显示器处检测到的在文本显示区内的第二位置处的第一姿势的指示,第二位置不同于第一位置,以及操作进一步包括通过计算设备2以及响应于接收在存在敏感显示器处检测到的在文本显示区内的第二位置处的第一姿势的指示,更新文本***位置来对应于第二位置,以及通过计算设备2和响应于输出替换字符串以在文本显示区内显示,将文本***位置更新到第一位置。在一个示例中,第一位置对应于在字符串的末尾处的位置。
在一个示例中,将文本***位置更新到第一位置进一步响应于通过计算设备2接收第一姿势的终止的指示。在一个示例中,输出替换字符串以在文本显示区内显示进一步响应于由计算设备2接收第一姿势的终止的指示。在一个示例中,字符串的该部分包括由空格分隔符和标点符号中的一个或多个界定的一个或多个字符。
在一个示例中,接收用于选择图形键盘的至少一个键的第二姿势的至少一部分的指示包括接收用于选择图形键盘的第一键的第二姿势的至少该部分的指示,以及操作进一步包括由计算设备2接收在存在敏感显示器处检测到的用于选择图形键的第二键的第三姿势的指示。在这样的示例中,输出用于替换字符串的该部分的替换字符串进一步响应于由计算设备2接收至少第三姿势的终止的指示。
在一个示例中,接收在存在敏感显示器处检测到的用于选择图形键盘的第二键的第三姿势的指示包括在第一姿势在存在敏感显示器处被检测到的同时,接收第三姿势的指示。在一个示例中,图形键盘的第二键包括与空格分隔符相关联的图形键盘的键。在一个示例中,图形键盘的第二键包括与标点符号相关联的图形键盘的键。
在一个示例中,接收用于选择图形键盘的至少一个键的第二姿势的至少一该部分的指示包括:由计算设备2并且在第一姿势在存在敏感显示器处被检测到的同时,接收用于选择图形键盘的第一键的第二姿势的第一部分的指示,以及由计算设备2接收用于选择图形键盘的第二键的第二姿势的第二部分的指示。在这样的示例中,第二姿势包括在存在敏感显示器处检测到的连续运动姿势,以及替换字符串至少部分基于与第一键相关联的第一字符和与第二键相关联的第二字符。在一个示例中,接收用于选择图形键盘的第二键的第二姿势的第二部分的指示包括在第一姿势在存在敏感显示器处被检测到的同时,接收第二姿势的第二部分。
在一个示例中,操作进一步包括:由计算设备2并且至少部分基于至少一个键,确定一个或多个候选词;由计算设备2在图形用户界面中输出一个或多个候选词以在存在敏感显示器处显示;以及由计算设备2接收在存在敏感显示器处检测到的第三姿势的指示,第三姿势用于将一个或多个候选词中的一个选择为被选候选词。在这样的示例中,输出替换字符串来替换字符串的该部分包括输出被选候选词来替换字符串的该部分。
在一个示例中,包括在文本显示区内的字符串包括两个或更多个词,接收在存在敏感显示器处检测到的在文本显示区内的位置处的第一姿势的指示包括接收在存在敏感显示器处检测到的在文本显示区内的第一位置处的第一姿势的指示,以及选择字符串的至少该部分进一步包括:由计算设备2确定在第一位置和与两个或更多个词中的第一个相关联的第二位置之间的第一距离,由计算设备2确定在第一位置和与两个或更多词的第二个相关联的第三位置之间的第二距离;以及由计算设备2并且至少部分基于第一距离和第二距离的比较,将两个或更多个词中的第一个选择为该字符串的该部分。
在一个示例中,将两个或更多个词中的第一个选择为该字符串的该部分进一步包括:由计算设备2至少部分基于第一距离小于第二距离的确定,将两个或更多个词中的第一个选择为该字符串的该部分。在一个示例中,将两个或更多个词中的第一个选择为该字符串的该部分进一步包括:至少部分基于图形键盘的至少一个键,将两个或更多个词中的第一个选择为该字符串的该部分。在一个示例中,至少部分基于图形键盘的至少一个键将两个或更多个词中的第一个选择为该字符串的该部分包括:至少部分基于包括在两个或更多个词中的第一个中的字符的数量与至少一个键的键的数量的比较,将两个或更多个词中的第一个选择为该字符串的该部分。在一个示例中,其中,将两个或更多个词中的第一个选择为该字符串的该部分进一步包括:基于由计算设备2确定两个或更多个词中的第一个的至少一个字符对应于与所述至少一个键中的至少一个相关联的字符的确定,将两个或更多个词的第一个选择为该字符串的该部分。
图6是图示根据本公开的一个或多个技术的输出图形内容以在远程设备显示的示例性计算设备的框图。通常,图形内容可以包括可以输出以显示的任何视觉信息,诸如文本、图像、运动图像组等等。图6所示的示例包括计算设备110、存在敏感显示器114、通信单元116、投影仪126、投影屏128、平板设备132和视觉显示设备136。尽管为图1和2的示例的目的被示为单机计算设备,但通常计算设备可以是包括用于执行软件指令的处理器或其他适当计算环境的任何部件或***,并且例如不需要包括存在敏感显示器。
如图6的示例中所示,计算设备110可以是包括如相对于图2的处理器40所述的功能的处理器。在这样的示例中,计算设备110可以通过通信信道112A可操作地耦接到存在敏感显示器114,该通信信道112A可以是***总线或其他适当的连接。计算设备110还可以通过也可以是***总线或其他适当连接的通信信道112B可操作地耦接到通信单元116,下面进一步描述。尽管在图6中作为示例单独地示出,但计算设备110可以通过一个或多个通信信道的任意数目,可操作地耦接到存在敏感显示器114和通信单元116。
在其他示例,诸如先前在图1-2中所示,计算设备110可以是诸如移动电话(包括智能电话)的便携式或移动设备、膝上型计算机等等。在一些示例中,计算设备110可以是台式计算机、平板电脑、智能电视平台、相机、个人数字助理(PDA)、服务器、主机等等。
如图6所示,计算设备110也可以包括和/或可操作地耦接通信单元116。通信单元116可以包括如图2所述的通信单元114的功能。通信单元116的示例可以包括网络接口卡、以太网卡、光收发器、射频收发器或能发送和接收信息的任何其他类型的设备。这样的通信单元的其他示例可以包括蓝牙、3G和WiFi无线电、通用串行总线(USB)接口等等。计算设备110也可以包括和/或可操作地耦接一个或多个其他设备,例如输入设备、输出设备、存储器、存储设备等等,为简洁和示例目的在图6中未示出。
图6还图示了投影仪126和投影屏128。投影装置的其他这样的示例可以包括电子白板、全息显示装置和用于显示图形内容的任何其他适当的装置。投影仪126和投影屏128可以包括使各个设备能够与计算设备110通信的一个或多个通信单元。在一些示例中,一个或多个通信单元可以使能在投影仪126和投影屏128之间的通信。投影仪126可以从计算设备110接收包括图形内容的数据。响应于接收该数据,投影仪126可以将图形内容投影在投影屏128上。在一些示例中,投影仪126可以使用光学识别或其他适当的技术,确定在投影屏处的一个或多个用户输入(例如连续姿势、多触摸姿势、单触摸姿势等等),以及使用一个或多个通信单元,将这样的用户输入的指示发送到计算设备110。
在一些示例中,投影屏128可以包括存在敏感显示器130。存在敏感显示器130可以包括如在此公开中所述的UI设备4的功能的子集或全部功能。在一些示例中,存在敏感显示器130可以包括另外的功能。投影屏128(例如电子白板)可以从计算设备110接收数据,以及显示图形内容。在一些示例中,存在敏感显示器130可以使用电容、电感和/或光学识别技术,确定投影屏128处的一个或多个用户输入(例如连续姿势、多触摸姿势、单触摸姿势等等),以及使用一个或多个通信单元,将这样的用户输入的指示发送到计算设备110。
图6还图示了平板设备132和视觉显示设备136。平板设备132和视觉显示设备136每一个都可以包括计算和连接性能力。平板设备132的示例可以包括电子阅读器设备、可折叠笔记本设备、混合板(slate)设备等等。视觉显示设备136的示例可以包括电视、计算机监视器等等。如图6所示,平板设备132可以包括存在敏感显示器134。视觉显示设备136可以包括存在敏感显示器138。存在敏感显示器134、138可以包括如在本公开中所述的UI设备4的功能的子集或全部功能。在一些示例中,存在敏感显示器134、138可以包括另外的功能。在任一情况下,存在敏感显示器138例如可以从计算设备110接收数据,以及显示图形内容。在一些示例中,存在敏感显示器138可以使用电容、电感和/或光学识别技术,确定投影屏处的一个或多个用户输入(例如连续姿态、多触摸姿势、单触摸姿势等等),以及使用一个或多个通信单元,将这样的用户输入的指示发送到计算设备110。
如上所述,在一些示例中,计算设备110可以输出图形内容以在通过***总线或其他适当通信信道耦接到计算设备110的存在敏感显示器114处显示。计算设备110还可以输出图形内容以在诸如投影仪126、投影屏128、平板设备132和视觉显示设备136的一个或多个远程设备处显示。例如,计算设备110可以根据本公开的技术执行用于生成和/或修改图形内容的一个或多个指令。计算设备110可以将包括该图形内容的数据输出到计算设备110的通信单元,诸如通信单元116。通信单元116可以将数据发送到诸如投影仪126、投影屏128、平板设备132和/或视觉显示设备136的远程设备中的一个或多个。用这种方式,投影仪120可以输出图形内容以在远程设备中的一个或多个处显示。在一些示例中,远程设备中的一个或多个可以在包括在和/或可操作地耦接到各个远程设备的存在敏感显示器处输出图形内容。
在一些示例中,计算设备110可以不在可操作地耦接到计算设备110的存在敏感显示器114处输出图形内容。在其他示例中,计算设备110可以输出图形内容以在通过通信信道112A耦接到计算设备110的存在敏感显示器114以及在一个或多个远程设备处显示。在这样的示例中,可以在每一相应设备处基本同步地显示图形内容。例如,可以由将包括图形内容的数据发送到远程设备的通信等待时间带来一些延迟。在一些示例中,由计算设备110生成并且输出以在存在敏感显示器114处显示的图形内容可以不同于被输出以在一个或多个远程设备显示的图形内容显示。
计算设备110可以使用任何适当的通信技术发送和接收数据。例如,计算设备110可以使用网络链路118A可操作地耦接到外部网络122。图6中所示的远程设备中的每一个可以通过各个网络链路118B、11C和11D中的一个可操作地耦接到网络外部网络122。外部网络122可以包括可操作地互耦接的网络集线器、网络交换机、网络路由器等等,由此提供计算设备110和图6所示的远程设备之间的信息交换。在一些示例中,网络链路118A-118D可以是以太网、ATM或其他网络连接。这样的连接可以是无线和/或有线连接。
在一些示例中,计算设备110可以使用直接设备通信124可操作地耦接到包括在图6中的远程设备中的一个或多个。直接设备通信124可以包括通信,通过该通信,计算设备110可以使用有线或无线通信直接与远程设备发送和接收数据。即,在直接设备通信124的一些示例中,由计算设备110发送的数据可以在远程设备接收前不被一个或多个另外的设备转发,以及反之亦然。直接设备通信124的示例可以包括蓝牙、近场通信、通用串行总线、WiFi、红外等等。图6所示的远程设备中的一个或多个可以通过通信链路120A-120D可操作地与计算设备110耦接。在一些示例中,通信链路118A-118D可以是使用蓝牙、近场通信、通用串行总线、红外等等的连接。这样的连接可以是无线和/或有线的连接。
根据本公开的技术,计算设备110可以使用外部网络122可操作地耦接到视觉显示设备136。计算设备110可以输出包括文本显示区和图形键盘的图形用户界面,以在存在敏感显示器138处显示。例如,计算设备110可以将包括图形用户界面的表示的数据发送到通信单元116。通信单元116可以使用外部网络122将包括图形用户界面的表示的数据发送到视觉显示设备136。视觉显示设备136响应于使用外部网络122接收数据,可以使存在敏感显示器138输出图形用户界面。响应于用户执行在存在敏感显示器138处检测到的在文本显示区内的位置处的第一姿势,视觉显示设备136可以使用外部网络122将第一姿势的指示发送到计算设备110。通信单元116可以接收第一姿势的指示,以及将第一姿势的指示发送到计算设备110。类似地,响应于在第一姿势在存在敏感显示器138处被检测到的同时,用户执行在存在敏感显示器138处检测到的用于选择图形键盘的至少一个键的第二姿势的至少一部分,视觉显示设备136可以使用外部网络122将第二姿势的指示发送到计算设备110。通信单元116可以接收第二姿势的指示,以及将第二姿势的指示发送到计算设备110。
计算设备110可以至少部分基于在文本显示区内的位置来选择包括在文本显示区中的字符串的至少一部分。计算设备110可以响应于接收至少第二姿势的终止的指示以及至少部分基于图形键盘的至少一个键,输出替换字符串以在文本显示区内显示来替换字符串的该部分。计算设备110可以将包括候选字符串的数据发送到通信单元116,通信单元116进而使用外部网络122将该数据发送到视觉显示设备136。在接收到该数据后,视觉显示设备136可以使存在敏感显示器138显示候选字符串。用这种方式,根据本公开内容的技术,计算设备110可以输出候选词以在存在敏感显示器138显示。
示例1:一种方法,包括:通过计算设备输出包括文本显示区和图形键盘的图形用户界面以在存在敏感显示器处显示;通过所述计算设备接收在所述存在敏感显示器处检测到的在所述文本显示区内的位置处的第一姿势的指示;通过所述计算设备并且至少部分地基于所述文本显示区内的位置来选择包括在所述文本显示区中的字符串的至少一部分;通过所述计算设备并且在所述第一姿势在所述存在敏感显示器处被检测到的同时,接收用于选择所述图形键盘的至少一个键的第二姿势的至少一部分的指示;以及通过所述计算设备并且响应于接收到至少所述第二姿势的终止的指示,输出替换字符串以在所述文本显示区内显示来替换所述字符串的所述部分,其中所述替换字符串至少部分地基于所述至少一个键。
示例2:根据示例1所述的方法,其中,所述文本显示区内的第一位置包括文本***位置,其中接收在所述存在敏感显示器处检测到的在所述文本显示区内的所述位置处的所述第一姿势的指示包括接收在所述存在敏感显示器处检测到的在所述文本显示区内的第二位置处的所述第一姿势的指示,以及其中所述第二位置不同于所述第一位置,所述方法进一步包括:通过所述计算设备并且响应于接收在所述存在敏感显示器处检测到的在所述文本显示区内的所述第二位置处的所述第一姿势的指示,将所述文本***位置更新为对应于所述第二位置;以及通过所述计算设备并且响应于输出所述替换字符串以在所述文本显示区内显示,将所述文本***位置更新为所述第一位置。
示例3:根据示例1至2的任何一个所述的方法,其中,所述第一位置对应于在所述字符串的末尾处的位置。
示例4:根据示例1至3的任何一个所述的方法,其中,将所述文本***位置更新为第一位置进一步响应于通过所述计算设备接收所述第一姿势的终止的指示。
示例5:根据示例1至4的任何一个所述的方法,其中,输出所述替换字符串以在所述文本显示区内显示进一步响应于通过所述计算设备接收所述第一姿势的终止的指示。
示例6:根据示例1至5的任何一个所述的方法,其中,所述字符串的所述部分包括由空格分隔符和标点符号中的一个或多个界定的一个或多个字符。
示例7:根据示例1至6的任何一个所述的方法,其中,接收用于选择所述图形键盘的至少一个键的所述第二姿势的至少所述部分的指示包括接收用于选择所述图形键盘的第一键的所述第二姿势的至少所述部分的指示,所述方法进一步包括:通过所述计算设备接收在所述存在敏感显示器处检测到的用于选择所述图形键盘的第二键的第三姿势的指示,其中输出所述替换字符串来替换所述字符串的所述部分进一步响应于通过所述计算设备接收至少第三姿势的终止的指示。
示例8:根据示例1至7的任何一个所述的方法,其中,接收在所述存在敏感显示器处检测到的用于选择所述图形键盘的所述第二键的所述第三姿势的指示包括在第一姿势在所述存在敏感显示器处被检测到的同时,接收第三姿势的指示。
示例9:根据示例1至8的任何一个所述的方法,其中,所述图形键盘的所述第二键包括与空格分隔符相关联的所述图形键盘的键。
示例10:根据示例1至9的任何一个所述的方法,其中,所述图形键盘的所述第二键包括与标点符号相关联的所述图形键盘的键。
示例11:根据示例1至10的任何一个所述的方法,其中,接收用于选择所述图形键盘的至少一个键的所述第二姿势的至少所述部分的指示包括:通过所述计算设备并且在所述第一姿势在所述存在敏感显示器处被检测到的同时,接收用于选择所述图形键盘的第一键的所述第二姿势的第一部分的指示;以及通过所述计算设备接收用于选择所述图形键盘的第二键的所述第二姿势的第二部分的指示,其中,所述第二姿势包括在所述存在敏感显示器处检测到的连续运动姿势,以及其中,所述替换字符串至少部分地基于与所述第一键相关联的第一字符和与所述第二键相关联的第二字符。
示例12:根据示例1至11的任何一个所述的方法,其中,接收用于选择所述图形键盘的所述第二键的所述第二姿势的第二部分的指示包括在所述第一姿势在所述存在敏感显示器处被检测到的同时,接收所述第二姿势的第二部分。
示例13:根据示例1至12的任何一个所述的方法,进一步包括:通过所述计算设备并且至少部分地基于所述至少一个键,确定一个或多个候选词;通过所述计算设备在所述图形用户界面中输出所述一个或多个候选词以在所述存在敏感显示器显示;以及通过所述计算设备接收在所述存在敏感显示器处检测到的第三姿势的指示,所述第三姿势用于将所述一个或多个候选词中的一个选择为被选候选词,其中,输出所述替换字符串来替换所述字符串的所述部分包括输出被选候选词来替换所述字符串的所述部分。
示例14:根据示例1至13的任何一个所述的方法,其中,包括在所述文本显示区内的所述字符串包括两个或更多个词,其中,接收在所述存在敏感显示器处检测到的在所述文本显示区内的所述位置处的所述第一姿势的指示包括接收在所述存在敏感显示器处检测到的在所述文本显示区内的第一位置处的所述第一姿势的指示,以及其中,选择所述字符串的至少所述部分进一步包括:通过所述计算设备确定所述第一位置和与所述两个或更多个词中的第一个词相关联的第二位置之间的第一距离;通过所述计算设备确定所述第一位置和与所述两个或更多个词中的第二个词相关联的第三位置之间的第二距离;以及通过所述计算设备并且至少部分地基于所述第一距离和所述第二距离的比较,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分。
示例15:根据示例1至14的任何一个所述的方法,其中,将所述两个或更多词中的第一个词选择为所述字符串的所述部分进一步包括:至少部分基于所述计算设备确定所述第一距离小于所述第二距离,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分。
示例16:根据示例1至15的任何一个所述的方法,其中,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分进一步包括:至少部分基于所述图形键盘的所述至少一个键,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分。
示例17:根据示例1至16的任何一个所述的方法,其中,至少部分地基于所述图形键盘的所述至少一个键将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分包括:至少部分基于包括在所述两个或更多个词中的所述第一个词中的字符的数量与所述至少一个键的键的数量的比较,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分。
示例18:根据示例1至17的任何一个所述的方法,其中,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分进一步包括:基于所述计算设备确定所述两个或更多个词中的所述第一个词的至少一个字符对应于与所述至少一个键中的至少一个相关联的字符,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分。
示例19:一种***,包括:用于输出包括文本显示区和图形键盘的图形用户界面以在存在敏感显示器处显示的装置;用于接收在所述存在敏感显示器处检测到的在所述文本显示区内的一个位置处的第一姿势的指示的装置;用于至少部分地基于所述文本显示区内的所述位置,选择包括在所述文本显示区中的字符串的至少一部分的装置;用于在所述第一姿势在所述存在敏感显示器处被检测到的同时,接收用于选择所述图形键盘的至少一个键的第二姿势的至少一部分的指示的装置;以及用于响应于接收到至少所述第二姿势的终止的指示,输出替换字符串以在所述文本显示区内显示来替换所述字符串的所述部分的装置,其中所述替换字符串至少部分地基于所述至少一个键。
示例20:根据示例19所述的***,还包括用于执行示例2-18的方法中的每个步骤的的装置。
示例21:一种设备,包括:至少一个处理器;存在敏感显示器;以及可由所述至少一个处理器操作的至少一个模块,用于:输出包括文本显示区和图形键盘的图形用户界面以在所述存在敏感显示器处显示;接收在所述存在敏感显示器处检测到的在所述文本显示区内的一个位置处的第一姿势的指示;至少部分地基于所述文本显示区内的所述位置,选择包括在所述文本显示区中的字符串的至少一部分;在所述第一姿势在所述存在敏感显示器处被检测到的同时,接收用于选择所述图形键盘的至少一个键的第二姿势的至少一部分的指示;以及响应于接收到至少所述第二姿势的终止的指示,输出替换字符串以在所述文本显示区内显示来替换所述字符串的所述部分,其中所述替换字符串至少部分地基于所述至少一个键。
示例22:根据示例21的设备,其中,所述至少一个模块可由所述至少一个处理器操作来执行示例2-18的方法中的任何一个。
在此所述的技术可以提高用户可以与计算设备交互来使用图形键盘输入文本的便利和精度。根据该公开的技术,计算设备可以使用户能够快速地校正所显示的文本(例如词)的一个或多个部分,而不影响包括在后面的词中的字符。例如,根据各种技术,使用诸如基于姿势的键盘的图形键盘的文本输入可以一次执行一个词。同样地,词中的错误可能会被用户忽略。因为这种词中错误,退格键非常可能用来删除实际上期望显示的后续输入的字符。在此所述的技术可以使用户能够快速地校正这种词中错误,或句中错误,而不影响包括在后面的词中的字符(例如在要替换的字符后的字符)。此外,该公开的技术可以使用户能够使用一只手来选择要替换的文本部分,由此留下另一只手来自由地选择替换文本(例如,使用基于姿势的键盘)。
本公开中所述的技术至少部分可以以硬件、软件、固件或其组合来实现。例如,所述的技术的许多方面可以在一个或多个处理器(包括一个或多个微处理器)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效的集成或离散逻辑电路、以及这样的部件的任意组合内实现。术语“处理器”或“处理电路”可以统指上述逻辑电路中的任何一个、单独或与其他逻辑电路组合、或任何其他等效电路。包括硬件的控制单元也可以执行本公开的技术中的一个或多个。
可以在同一设备内或在分立的设备内实现这样的硬件、软件和固件来支持在本公开中所述的各种技术。此外,所述的单元、模块或部件中的任何一个可以一起实现或单独地实现为离散但可互操作的逻辑设备。将不同的特征描述为模块或单元意图突出不同功能方面,不一定暗示这样的模块或单元必须由单独的硬件、固件或软件部件实现。相反,与一个或多个模块或单元相关联的功能可以由单独的硬件、固件或软件部件执行,或集成在共同或单独的硬件、固件或软件部件内。
在本公开中所述的技术还可以嵌入或编码在包括编码有指令的计算机可读存储介质的制造制品中。在包括所编码的计算机可读存储介质的制造制品中嵌入或编码的指令可以使一个或多个可编程处理器或其他处理器实现在此所述的技术中的一个或多个,诸如当由一个或多个处理器执行包括或编码在计算机可读存储介质中的指令时。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存、硬盘、压缩盘ROM(CD-ROM)、软盘、磁带、磁性介质、光学介质或其他计算机可读介质。在一些示例中,制造制品可以包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非易失性存储介质。术语“非易失性”可以表示不以载波或传播信号来体现该存储介质。在某些示例中,非易失性存储介质可以存储随时间能改变的数据(例如在RAM或缓冲存储器中)。
已经描述了各种示例。这些和其他示例在所附权利要求书的范围内。

Claims (22)

1.一种用于字符串替换的方法,包括:
通过计算设备输出包括文本显示区和图形键盘的图形用户界面以在存在敏感显示器处显示;
通过所述计算设备接收在所述存在敏感显示器处检测到的在所述文本显示区内的一个位置处的第一姿势的指示;
通过所述计算设备并且至少部分地基于所述文本显示区内的所述位置来选择包括在所述文本显示区中的字符串的至少一部分;
通过所述计算设备并且在所述第一姿势在所述存在敏感显示器处被检测到的同时,接收用于选择所述图形键盘的至少一个键的第二姿势的至少一部分的指示;以及
通过所述计算设备并且响应于接收到至少所述第二姿势的终止的指示,输出替换字符串以在所述文本显示区内显示来替换所述字符串的所述部分,其中所述替换字符串至少部分地基于所述至少一个键。
2.根据权利要求1所述的方法,其中,所述文本显示区内的第一位置包括文本***位置,其中接收在所述存在敏感显示器处检测到的在所述文本显示区内的所述位置处的所述第一姿势的指示包括接收在所述存在敏感显示器处检测到的在所述文本显示区内的第二位置处的所述第一姿势的指示,以及其中所述第二位置不同于所述第一位置,所述方法进一步包括:
通过所述计算设备并且响应于接收在所述存在敏感显示器处检测到的在所述文本显示区内的所述第二位置处的所述第一姿势的指示,将所述文本***位置更新为对应于所述第二位置;以及
通过所述计算设备并且响应于输出所述替换字符串以在所述文本显示区内显示,将所述文本***位置更新为所述第一位置。
3.根据权利要求2所述的方法,其中,所述第一位置对应于所述字符串的末尾处的位置。
4.根据权利要求2所述的方法,其中,将所述文本***位置更新为所述第一位置进一步响应于通过所述计算设备接收所述第一姿势的终止的指示。
5.根据权利要求1所述的方法,其中,输出所述替换字符串以在所述文本显示区内显示进一步响应于通过所述计算设备接收所述第一姿势的终止的指示。
6.根据权利要求1所述的方法,其中,所述字符串的所述部分包括由空格分隔符和标点符号中的一个或多个界定的一个或多个字符。
7.根据权利要求1所述的方法,其中,接收用于选择所述图形键盘的所述至少一个键的所述第二姿势的至少所述部分的指示包括接收用于选择所述图形键盘的第一键的所述第二姿势的至少所述部分的指示,所述方法进一步包括:
通过所述计算设备接收在所述存在敏感显示器处检测的用于选择所述图形键盘的第二键的第三姿势的指示,
其中,输出所述替换字符串来替换所述字符串的所述部分进一步响应于通过所述计算设备接收至少所述第三姿势的终止的指示。
8.根据权利要求7所述的方法,其中,接收在所述存在敏感显示器处检测的用于选择所述图形键盘的所述第二键的所述第三姿势的指示包括在所述第一姿势在所述存在敏感显示器处被检测到的同时接收所述第三姿势的指示。
9.根据权利要求7所述的方法,其中,所述图形键盘的所述第二键包括与空格分隔符相关联的所述图形键盘的键。
10.根据权利要求7所述的方法,其中,所述图形键盘的所述第二键包括与标点符号相关联的所述图形键盘的键。
11.根据权利要求1所述的方法,其中,接收用于选择所述图形键盘的所述至少一个键的所述第二姿势的至少所述部分的指示包括:
通过所述计算设备并且在所述第一姿势在所述存在敏感显示器处被检测到的同时,接收用于选择所述图形键盘的第一键的所述第二姿势的第一部分的指示;以及
通过所述计算设备接收用于选择所述图形键盘的第二键的所述第二姿势的第二部分的指示,
其中,所述第二姿势包括在所述存在敏感显示器处检测到的连续运动姿势,以及
其中,所述替换字符串至少部分地基于与所述第一键相关联的第一字符和与所述第二键相关联的第二字符。
12.根据权利要求11所述的方法,其中,接收用于选择所述图形键盘的所述第二键的所述第二姿势的所述第二部分的指示包括在所述第一姿势在所述存在敏感显示器处被检测到的同时接收所述第二姿势的所述第二部分。
13.根据权利要求1所述的方法,进一步包括:
通过所述计算设备并且至少部分地基于所述至少一个键,确定一个或多个候选词;
通过所述计算设备在所述图形用户界面中输出所述一个或多个候选词以在所述存在敏感显示器处显示;以及
通过所述计算设备接收在所述存在敏感显示器处检测到的第三姿势的指示,所述第三姿势用于将所述一个或多个候选词中的一个选择为被选候选词,
其中,输出所述替换字符串来替换所述字符串的所述部分包括输出所述被选候选词来替换所述字符串的所述部分。
14.根据权利要求1所述的方法,其中,包括在所述文本显示区内的所述字符串包括两个或更多个词,其中,接收在所述存在敏感显示器处检测到的在所述文本显示区内的所述位置处的所述第一姿势的指示包括接收在所述存在敏感显示器处检测到的在所述文本显示区内的第一位置处的所述第一姿势的指示,以及其中,选择所述字符串的至少所述部分进一步包括:
通过所述计算设备确定所述第一位置和与所述两个或更多个词中的第一个词相关联的第二位置之间的第一距离;
通过所述计算设备确定所述第一位置和与所述两个或更多个词中的第二个词相关联的第三位置之间的第二距离;以及
通过所述计算设备并且至少部分地基于所述第一距离和所述第二距离的比较,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分。
15.根据权利要求14所述的方法,其中,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分进一步包括:至少部分地基于所述计算设备确定所述第一距离小于所述第二距离,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分。
16.根据权利要求14所述的方法,其中,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分进一步包括至少部分地基于所述图形键盘的所述至少一个键,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分。
17.根据权利要求16所述的方法,其中,至少部分地基于所述图形键盘的所述至少一个键将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分包括:至少部分地基于包括在所述两个或更多个词中的所述第一个词中的字符的数量与所述至少一个键的键的数量的比较,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分。
18.根据权利要求16所述的方法,其中,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分进一步包括:基于所述计算设备确定所述两个或更多个词中的所述第一个词的至少一个字符对应于与所述至少一个键中的至少一个相关联的字符,将所述两个或更多个词中的所述第一个词选择为所述字符串的所述部分。
19.一种用于字符串替换的***,包括:
用于输出包括文本显示区和图形键盘的图形用户界面以在存在敏感显示器处显示的装置;
用于接收在所述存在敏感显示器处检测到的在所述文本显示区内的一个位置处的第一姿势的指示的装置;
用于至少部分地基于所述文本显示区内的所述位置,选择包括在所述文本显示区中的字符串的至少一部分的装置;
用于在所述第一姿势在所述存在敏感显示器处被检测到的同时,接收用于选择所述图形键盘的至少一个键的第二姿势的至少一部分的指示的装置;以及
用于响应于接收到至少所述第二姿势的终止的指示,输出替换字符串以在所述文本显示区内显示来替换所述字符串的所述部分的装置,其中所述替换字符串至少部分地基于所述至少一个键。
20.根据权利要求19所述的***,
其中,所述文本显示区内的第一位置包括文本***位置,
其中,用于接收在所述存在敏感显示器处检测到的在所述文本显示区内的所述位置处的所述第一姿势的指示的装置包括:用于接收在所述存在敏感显示器处检测到的在所述文本显示区内的第二位置处的所述第一姿势的指示的装置,
其中,所述第二位置不同于所述第一位置,
并且所述***进一步包括:
用于响应于接收在所述存在敏感显示器处检测到的在所述文本显示区内的所述第二位置处的所述第一姿势的指示,将所述文本***位置更新为对应于所述第二位置的装置;以及
用于响应于输出所述替换字符串以在所述文本显示区内显示,将所述文本***位置更新为所述第一位置的装置。
21.一种用于字符串替换的设备,包括:
至少一个处理器;
存在敏感显示器;以及
可由所述至少一个处理器操作的至少一个模块,用于:
输出包括文本显示区和图形键盘的图形用户界面以在所述存在敏感显示器处显示;
接收在所述存在敏感显示器处检测到的在所述文本显示区内的一个位置处的第一姿势的指示;
至少部分地基于所述文本显示区内的所述位置,选择包括在所述文本显示区中的字符串的至少一部分;
在所述第一姿势在所述存在敏感显示器处被检测到的同时,接收用于选择所述图形键盘的至少一个键的第二姿势的至少一部分的指示;以及
响应于接收到至少所述第二姿势的终止的指示,输出替换字符串以在所述文本显示区内显示来替换所述字符串的所述部分,其中所述替换字符串至少部分地基于所述至少一个键。
22.根据权利要求21所述的设备,
其中,所述文本显示区内的第一位置包括文本***位置,
其中,接收在所述存在敏感显示器处检测到的在所述文本显示区内的所述位置处的所述第一姿势的指示包括接收在所述存在敏感显示器处检测到的在所述文本显示区内的第二位置处的所述第一姿势的指示,
其中,所述第二位置不同于所述第一位置,以及
其中,所述至少一个模块可由所述至少一个处理器操作来:
响应于接收在所述存在敏感显示器处检测到的在所述文本显示区内的所述第二位置处的所述第一姿势的指示,将所述文本***位置更新为对应于所述第二位置;以及
响应于输出替换字符串以在所述文本显示区内显示,将所述文本***位置更新为所述第一位置。
CN201410073286.6A 2013-02-28 2014-02-28 字符串替换 Active CN104020943B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/781,461 US8782550B1 (en) 2013-02-28 2013-02-28 Character string replacement
US13/781,461 2013-02-28

Publications (2)

Publication Number Publication Date
CN104020943A true CN104020943A (zh) 2014-09-03
CN104020943B CN104020943B (zh) 2017-06-20

Family

ID=50490537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410073286.6A Active CN104020943B (zh) 2013-02-28 2014-02-28 字符串替换

Country Status (5)

Country Link
US (2) US8782550B1 (zh)
KR (1) KR101484582B1 (zh)
CN (1) CN104020943B (zh)
DE (1) DE102014002848B4 (zh)
GB (2) GB2511431B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108983992A (zh) * 2017-06-05 2018-12-11 北京搜狗科技发展有限公司 一种具有标点符号的候选项展示方法和装置
CN111095171A (zh) * 2017-09-13 2020-05-01 国际商业机器公司 字符串的动态生成
CN112698739A (zh) * 2020-12-28 2021-04-23 联想(北京)有限公司 一种定位方法及装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9766797B2 (en) * 2012-09-13 2017-09-19 International Business Machines Corporation Shortening URLs using touchscreen gestures
US8782550B1 (en) 2013-02-28 2014-07-15 Google Inc. Character string replacement
JP2015041845A (ja) * 2013-08-21 2015-03-02 カシオ計算機株式会社 文字入力装置及びプログラム
KR20150026646A (ko) * 2013-09-03 2015-03-11 삼성전자주식회사 사용자로부터 입력되는 텍스트를 수정하는 방법 및 이를 위한 전자 장치
US9170736B2 (en) * 2013-09-16 2015-10-27 Microsoft Corporation Hover controlled user interface element
KR20150050882A (ko) * 2013-11-01 2015-05-11 삼성전자주식회사 다국어 입력 방법 및 이를 이용하는 다국어 입력 장치
US10296572B2 (en) * 2014-05-16 2019-05-21 Brother Kogyo Kabushiki Kaisha Editing apparatus
US9477653B2 (en) * 2014-06-26 2016-10-25 Blackberry Limited Character entry for an electronic device using a position sensing keyboard
US10048862B2 (en) * 2014-09-08 2018-08-14 Lenovo (Singapore) Pte. Ltd. Managing an on-screen keyboard
US11112965B2 (en) 2014-10-28 2021-09-07 Idelan, Inc. Advanced methods and systems for text input error correction
US10275152B2 (en) * 2014-10-28 2019-04-30 Idelan, Inc. Advanced methods and systems for text input error correction
FR3029656B1 (fr) * 2014-12-09 2017-01-13 ISKn Procede de detection continue d'un etat de contact ou de non contact entre une pointe d'un ustensile et un support d'ecriture d'epaisseur variable, et systeme associe
US9836443B2 (en) * 2015-02-27 2017-12-05 Lenovo (Singapore) Pte. Ltd. Changing text input modes
US10481791B2 (en) * 2017-06-07 2019-11-19 Microsoft Technology Licensing, Llc Magnified input panels
US20190034069A1 (en) * 2017-07-26 2019-01-31 Microsoft Technology Licensing, Llc Programmable Multi-touch On-screen Keyboard
US20190065446A1 (en) * 2017-08-22 2019-02-28 Microsoft Technology Licensing, Llc Reducing text length while preserving meaning
KR20220015831A (ko) * 2020-07-31 2022-02-08 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN113190125A (zh) * 2021-05-06 2021-07-30 维沃移动通信(杭州)有限公司 输入矫正方法和装置
US11960823B1 (en) * 2022-11-10 2024-04-16 Adobe Inc. Missing glyph replacement system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101506867A (zh) * 2005-06-30 2009-08-12 微软公司 带有输入敏感显示设备的键盘
CN102141889A (zh) * 2010-02-12 2011-08-03 微软公司 用于编辑的打字辅助
KR20110096524A (ko) * 2007-09-13 2011-08-30 애플 인크. 다언어 환경을 갖는 장치를 위한 입력 방법
WO2012166976A2 (en) * 2011-05-31 2012-12-06 Apple Inc. Devices, methods, and graphical user interfaces for document manipulation

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR100327209B1 (ko) 1998-05-12 2002-04-17 윤종용 첨펜의자취를이용한소프트웨어키보드시스템및그에따른키코드인식방법
US6885317B1 (en) * 1998-12-10 2005-04-26 Eatoni Ergonomics, Inc. Touch-typable devices based on ambiguous codes and methods to design such devices
US7293231B1 (en) 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
US7750891B2 (en) 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
CA2392446C (en) 1999-05-27 2009-07-14 America Online Incorporated Keyboard system with automatic correction
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
CA2416835A1 (en) 2000-07-21 2002-01-31 Raphael Bachmann Method for a high-speed writing system and high-speed writing device
US7042443B2 (en) 2001-10-11 2006-05-09 Woodard Scott E Speed Writer program and device with Speed Writer program installed
US7075520B2 (en) 2001-12-12 2006-07-11 Zi Technology Corporation Ltd Key press disambiguation using a keypad of multidirectional keys
US7151530B2 (en) 2002-08-20 2006-12-19 Canesta, Inc. System and method for determining an input selected by a user through a virtual interface
US7199786B2 (en) 2002-11-29 2007-04-03 Daniel Suraqui Reduced keyboards system using unistroke input and having automatic disambiguating and a recognition method using said system
US7251367B2 (en) 2002-12-20 2007-07-31 International Business Machines Corporation System and method for recognizing word patterns based on a virtual keyboard layout
US7098896B2 (en) 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
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
US7119794B2 (en) * 2003-04-30 2006-10-10 Microsoft Corporation Character and text unit input correction system
US7250938B2 (en) 2004-01-06 2007-07-31 Lenovo (Singapore) Pte. Ltd. System and method for improved user input on personal computing devices
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
US20060176283A1 (en) 2004-08-06 2006-08-10 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US7508324B2 (en) 2004-08-06 2009-03-24 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US8036878B2 (en) 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
US7542029B2 (en) 2005-09-20 2009-06-02 Cliff Kushler System and method for a user interface for text editing and menu selection
US8074172B2 (en) * 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US8060841B2 (en) 2007-03-19 2011-11-15 Navisense Method and device for touchless media searching
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
US8610671B2 (en) * 2007-12-27 2013-12-17 Apple Inc. Insertion marker placement on touch sensitive display
US8650507B2 (en) 2008-03-04 2014-02-11 Apple Inc. Selecting of text using gestures
US8739055B2 (en) 2009-05-07 2014-05-27 Microsoft Corporation Correction of typographical errors on touch displays
US8135582B2 (en) 2009-10-04 2012-03-13 Daniel Suraqui Keyboard system and method for global disambiguation from classes with dictionary database from first and last letters
US8179370B1 (en) 2010-02-09 2012-05-15 Google Inc. Proximity based keystroke resolution
US8918734B2 (en) 2010-07-28 2014-12-23 Nuance Communications, Inc. Reduced keyboard with prediction solutions when input is a partial sliding trajectory
US9465457B2 (en) * 2010-08-30 2016-10-11 Vmware, Inc. Multi-touch interface gestures for keyboard and/or mouse inputs
US8898586B2 (en) * 2010-09-24 2014-11-25 Google Inc. Multiple touchpoints for efficient text input
KR20140044355A (ko) 2011-06-01 2014-04-14 가부시키가이샤 엔티티 도코모 소형 노드 디바이스들을 이용한 모바일 통신에서의 향상된 로컬 액세스
US9715489B2 (en) * 2011-11-10 2017-07-25 Blackberry Limited Displaying a prediction candidate after a typing mistake
US8782550B1 (en) 2013-02-28 2014-07-15 Google Inc. Character string replacement

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101506867A (zh) * 2005-06-30 2009-08-12 微软公司 带有输入敏感显示设备的键盘
KR20110096524A (ko) * 2007-09-13 2011-08-30 애플 인크. 다언어 환경을 갖는 장치를 위한 입력 방법
CN102141889A (zh) * 2010-02-12 2011-08-03 微软公司 用于编辑的打字辅助
WO2012166976A2 (en) * 2011-05-31 2012-12-06 Apple Inc. Devices, methods, and graphical user interfaces for document manipulation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108983992A (zh) * 2017-06-05 2018-12-11 北京搜狗科技发展有限公司 一种具有标点符号的候选项展示方法和装置
CN111095171A (zh) * 2017-09-13 2020-05-01 国际商业机器公司 字符串的动态生成
CN111095171B (zh) * 2017-09-13 2023-12-26 国际商业机器公司 字符串的动态生成
CN112698739A (zh) * 2020-12-28 2021-04-23 联想(北京)有限公司 一种定位方法及装置

Also Published As

Publication number Publication date
US9753906B2 (en) 2017-09-05
US8782550B1 (en) 2014-07-15
KR101484582B1 (ko) 2015-01-21
GB2538579A (en) 2016-11-23
GB2511431B (en) 2016-03-23
GB201519660D0 (en) 2015-12-23
GB2538579B (en) 2017-05-31
CN104020943B (zh) 2017-06-20
GB201403525D0 (en) 2014-04-16
DE102014002848B4 (de) 2021-01-21
GB2511431A (en) 2014-09-03
KR20140108176A (ko) 2014-09-05
US20140289618A1 (en) 2014-09-25
DE102014002848A1 (de) 2014-08-28

Similar Documents

Publication Publication Date Title
CN104020943A (zh) 字符串替换
CN105308551B (zh) 用于连续手势输入的多图形键盘
CN105164616B (zh) 用于输出候选字符串的方法、计算设备及存储介质
US20200050661A1 (en) Incremental Multi-Word Recognition
CN104718544B (zh) 部分手势文本输入的方法、计算设备及***
US9547439B2 (en) Dynamically-positioned character string suggestions for gesture typing
CN105009064B (zh) 使用语言和空间模型的触摸键盘
CN110083254B (zh) 多手势文本输入预测
CN104838348B (zh) 递增的基于特征的手势键盘解码
CN105122185A (zh) 使用过去交互数据的文本建议输出
US20140351760A1 (en) Order-independent text input
CN105074643B (zh) 非词典字符串的手势键盘输入
US9009624B2 (en) Keyboard gestures for character string replacement
CN104123012A (zh) 使用替代评分的非字典字符串的姿态键盘输入
CN104718512A (zh) 特定于上下文的自动分隔符
CN102866826A (zh) 一种字符输入方法及其装置
US9965454B2 (en) Assisted punctuation of character strings
EP3241105A1 (en) Suggestion selection during continuous gesture input

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Google limited liability company

Address before: American California

Patentee before: Google Inc.