CN101529494A - 文本编辑和菜单选择用户界面的系统和方法 - Google Patents

文本编辑和菜单选择用户界面的系统和方法 Download PDF

Info

Publication number
CN101529494A
CN101529494A CNA2007800326907A CN200780032690A CN101529494A CN 101529494 A CN101529494 A CN 101529494A CN A2007800326907 A CNA2007800326907 A CN A2007800326907A CN 200780032690 A CN200780032690 A CN 200780032690A CN 101529494 A CN101529494 A CN 101529494A
Authority
CN
China
Prior art keywords
text
text object
assembly
user
input operation
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
CNA2007800326907A
Other languages
English (en)
Other versions
CN101529494B (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.)
Speed Clearing Co
Original Assignee
Individual
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
Priority claimed from US11/533,714 external-priority patent/US7382358B2/en
Application filed by Individual filed Critical Individual
Publication of CN101529494A publication Critical patent/CN101529494A/zh
Application granted granted Critical
Publication of CN101529494B publication Critical patent/CN101529494B/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/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/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
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Document Processing Apparatus (AREA)

Abstract

允许输入操作识别文本输入系统用户无需将文本插入位重新定位到要修改的文本处即可编辑任何错误识别文字的方法和系统。该系统还能在替换文本对象时自动对采用不同自动空格方式的文本对象智能判别正确空格方式。该系统还提供了有利于更快、更方便地选择所需选项的菜单选择图形显示,因为它所需的选择动作精度要求比直接触碰所需选项关联的菜单子区域低。

Description

文本编辑和菜单选择用户界面的系统和方法
优先权声明
这个应用程序是2006年9月20日注册序号11/533,714应用程序的后续版本,后者主张了60/718,984号临时应用程序的权益。本应用程序还通过参考引用,主张了2006年7月3日注册序号60/806,522号和2007年5月14日注册序号60/917,849号临时应用程序的权益。
技术领域
本发明与计算机系统图形和手部动作用户界面相关,更准确地说,与需要用户用一种或多种输入设备进行输入操作的各种计算机系统有关,这些输入操作产生的数据经过分析,将用户的输入操作识别为对应的输入计算机系统的文本数据。本发明还涉及图形方法,即通过为用户提供有两个或更多选项的菜单,用户通过简单快捷的手部操作即可加以选择。菜单选择也是文本输入方法或计算机系统其它控制功能的一部分。
背景技术
现在有多种便于用户快速输入文本的文本输入系统。与其它可比系统相比,更快地输入文本通常是通过允许用户模糊操作实现的,因为在不需要很准确地操作时,通常可以更快地执行一组操作。总的来说,实现方式是定义一个由系统生成的文本对象词典,并将用户的输入操作与词典中的一个或多个文字对象建立映射关系。系统会随后分析用户的一个或多个输入操作,并确定用户操作最可能希望的文本对象,将其视作用户操作所对应的对象。Robinson等人的美国专利(6,801,190号)就是这样一个例子。它采用虚拟键盘,用户通过不精确的点击即可输入文本。另一个示例是Zhai的美国专利出版物US 2004-0120583A1中申请的“ShapeWriter”系统。它可以在对比虚拟键盘上画出的轨迹和与文字对应的原形图库,从而识别文字。还有一个示例是Kushler等人在美国专利7,098,896号中申请的系统。
在其它系统中(例如语音识别和手写识别系统),用户可以通过其它形式的信息输入(例如语音识别系统中的说话和手写识别系统中的手写)进行文本输入,而不是采用相同形式的模糊输入(比如Robinson等人的虚拟键盘)。在这些采用“其它形式”的系统中,用户的输入操作(比如语音识别中所说的话或手写识别中的手写)也会同样映射(“识别”)为系统词典中的一个或多个文本对象。其它系统会不可避免地导致用户文本输入操作的模糊性,从而需要将用户输入操作映射到词典中的一个或多个文本对象。比较典型的一个示例是商业上所谓“T9”的输入系统(Grover等人的美国专利5,818,437号)。它被广泛用于按键数量较少的移动电话键盘,标准手机按键子集的每个按键都对应于多个具体字母,用户输入的按键顺序被映射到一个或多个字母顺序与按键输入顺序对应的词。
虽然这些各式系统(以下简称“输入操作识别系统”)中,用户输入操作的本质和输入操作与系统词典文本对象的映射方式各异,但输入操作识别系统有一些共同的特点:
1)这些输入操作识别系统识别的文字对象都通过文本显示系统输出,最常见的是显示文本的显示装置上的某个区域,供用户进一步编辑生成的文本。
2)都有一个输入操作(或输入操作序列)映射到多个可能的识别文本对象的情况,文本显示系统上显示的是与输入操作最接近的识别文本对象。
3)系统会保留它认为与输入操作足够接近的一个或多个候选文本对象的记录(至少是最近生成的少数文本对象记录),并且(至少暂时)将这些候选文本对象与实际生成并输出的文本对象相关联。或者,系统还可记录输入操作的某些数据或信息,并与相关候选文本解释相关联,或者重新处理输入操作的记录数据以便以后识别候选文本对象。
4)有时候,确定的与输入操作最接近并通过文本显示系统输出的识别文本对象并不是用户希望生成的文本对象,所以用户需要编辑生成的文本,使之与用户希望生成的文本一致。
5)文本显示系统中有文本插入位,可在此插入用户下一个生成的文本对象。这通常叫做“光标”位置(以下简称“文本插入位”),有时候也叫做“填字符”位置。
6)有文本编辑操作(或称“手部操作”),用户通过此操作来更改文本显示系统上的文本插入位。在绝大多数系统中,文本显示系统包含显示器上的文本输出区域。比如,在使用鼠标的系统中,此操作通常是在文本输出区域中单击鼠标左键。在使用触笔的系统中,此操作通常是在文本输出区域中轻点触笔。
7)通常,系统处理的字符可分为两类。一类字符是系统用于生成一个或多个文字对象的有效构成字符(以下称作“文本对象字符”)。另一类字符是系统用作分隔字符的一个或多个字符或者字符类型,它不包含在系统生成的文字对象中(以下称作“分隔符”)。分隔符类通常包括“空白”字符(空格、制表符、回车等)和其它标点字符。
绝大多数用户使用各种输入操作识别系统的另一个共同特点是,用户希望输入操作越来越快(必然导致越来越不精确),直到开始出现某些“错误”,这些错误是指系统输出到文本显示系统上的文本对象并非用户希望生成的文本对象。几乎每个文本编辑系统都共同存在的另一个特点是,用户执行的任何编辑操作(即用户通过操作来修改文本显示系统上显示的任何文字)都会导致文本插入位重新定位到被编辑文本的位置。在鼠标键盘式的文字编辑方式中,这种行为是有意义的(在某种意义上也是不可避免的),但在上述的许多输入操作识别系统应用中,这种行为是不希望出现的。在这些应用要求的“文本编辑”中,用户通常希望流利地输入文本。在这个过程中,用户会时不时地查看文本输出区域(或者用其它方式核对文本显示系统),发现生成的文本与用户希望生成的文本存在这样或那样的不同,原因是用户先前的一个或多个输入操作被系统“错误识别”,导致文本输出区域显示的一个或多个文本对象与用户希望显示的文本不同。大多数情况下,用户会希望改正错误识别的文本(实质上是让系统“重新映射”或者“重新编辑”对生成文本对象时的用户操作的解释),并在当前文本插入位处继续输入新文本。但是仍然存在的问题是,在现有系统中,如果不将文本插入位重新定位到要编辑的文本处,是不可能编辑错误识别的文本的。
标准的桌面计算系统几乎都配有全尺寸的桌面键盘和鼠标(或者类似鼠标的装置,比如跟踪球或图板数字转换器)。所以,大多数用户会较舒适且相对快捷地用键盘和鼠标在桌面系统上进行文本输入。在便携设备和手持设备上,由于尺寸和实际需求的限制,在相对固定的平面上使用桌面键盘和鼠标是不现实的。因此,上述的许多输入操作识别文本输入系统要么针对便携设备和手持设备应用进行专门开发,要么被视作尤其适用于此类设备。
便携计算设备的功能和用途变得越来越强大。实践已经证明,触摸屏是便携设备上非常有用、灵活和易于使用的界面。触摸屏界面用于各种便携式设备中,包括Tablet PC这样较大的设备,但在PDA和手机这样的小型设备上,它尤其有效。此类设备的发展在很大程度上侧重于两个相互矛盾的目标:一个目标是缩小设备尺寸,另一个目标是使其使用更轻松、更快捷、更方便。
各种系统中都会用到的一个用户界面要素是向用户显示选项菜单,让用户从显示的多个选项中选择所需的响应。这个用户界面要素经常用于上述输入操作识别文本输入系统中,因为经常需要向用户显示与一个或多个输入操作对应的多个候选文本解释的列表,并允许用户选择输入时所希望的正确解释。在基于触摸屏界面的系统中,与屏幕菜单互动最自然的方式是用触笔或手指触碰所需的菜单项来选择希望使用的选项。通常希望的结果是,菜单显示所需的显示区要尽可能小,不遮挡屏幕上的其它要素。另一方面,由于用户要通过触碰来选择所需的菜单选项,所以菜单越小,用户选择时就要越精确,导致菜单的使用难度增加。
因此,这些可用性方面本身就存在矛盾。另一个类似的考虑则源自经常需要的另一个设计目标,即允许用户用手指来使用触摸屏,而不是要求使用触笔或其它专用仪器来与屏幕互动。这也会导致同样的矛盾,因为指尖通常不如触笔准确,所以设计允许用手指来选择的菜单通常要大大增加菜单的显示面积。
上面说过,根据现有技术,选择触摸屏菜单需要用户直接接触所需的选项。在一些实现方式中,要求用户控制触笔的落点,触笔(或手指)首次接触屏幕的地方就应该在所需选项对应的区域内。另外一些方式则允许用户首次接触屏幕时将触笔落在活动选择区的任何部位,然后滑动到与所需选项对应的区域(中间不能离开屏幕)再抬起触笔。第一种方式必须仔细控制首次触碰的位置才能选中所需的选项,第二种方式则要同样仔细地控制最后的触碰位置。因为每个菜单选项都用显示菜单的给定二维区域标识,所以不论采用何种方式,用户都要在两个维度上控制触屏落点来选中所需的选项。二维菜单区域越小,用户的触屏操作就必须越精确,一般来说,进行菜单选择所需的时间也就越长。
发明内容
本发明所使用的方法和系统允许用户无需重新将文本插入位定位到要编辑的文本的位置即可编辑任何识别错误的文字,从而解决了上述输入操作识别文本输入系统的问题。一方面,在用户生成要输入文本输出区的文字时,本发明的文本编辑系统会跟踪和记录文本输出区中的文本插入位,所以在“重新编辑”错误识别的文本时,可以立即恢复到文本插入位。
另一方面,系统会定义文本编辑用户操作(或“动作”),该操作不同于将文本插入位更改到文本输出区域新位置的操作,执行有这种特征的文本编辑用户操作表示,用户希望将先前生成(但被错误识别)的文本对象更改为与实际生成输出的文本对象相关的候选文本对象之一(以下称作“重新编辑”动作)。例如,在基于触笔的触摸屏系统中,单击触笔将文本插入位更改为文本输出区内的一个新位置,可将“重新编辑”动作区别定义为触笔双击(在最大阈值时间间隔内在不超过最大阈值的距离内连续两次轻点),位置是在文本输出区中原输出文本对象附近。当系统检测到用户在原输出文本对象区内执行双击动作的时候,允许用户选择先前输入操作生成的原文本对象(默认选择或用户选中的对象)中的其它候选文字对象来替换文本输出区域中的文本对象,然后文本插入位自动恢复到检测到重新编辑动作前的原位置。
当用户选择要用来替换原文本对象的其它文本对象时,大多数实际用户界面会显示候选文本对象菜单,用户可从中选择所需的文本对象。本发明进一步提高了用户选择的速度和便利性,它无需用户控制屏幕触屏操作以使其在所需菜单选项关联的二维菜单区域内开始或结束,即可进行菜单选项选择。相反,用户的触屏操作激活的菜单选择是由触屏操作轨迹经过的菜单的最外沿边界部分决定的,每个菜单边界部分都与一个菜单选项相关联。采用这种办法,首次触屏落点可以在显示菜单内的任何地方,不受起点(或终点)必须在所需文本对象相关(或类似相关)的区域内的限制。当需要在两个或更多的选项中进行选择时,本发明的菜单选择系统会提供更大的效率。
附图说明
对照以下图形,详细介绍了本发明的具体实现方式:
图1中的结构系统框图显示了实现本发明文本编辑和菜单选择系统(分别见图2A、2B、2C和图3A、3B、3C)的典型系统硬件;
图2A显示了按照本发明的方法正被重新编辑的文本对象示例;
图2B显示了按照本发明的方法正被重新编辑的两个连写文本对象示例;
图2C显示了按照本发明的方法重新编辑图2B中的两个连写文本对象后的结果示例;
图3A显示了根据本发明的方法设计结构的菜单示例;
图3B显示了用本发明的方法设计结构的菜单示例,显示的选项中,有两个选项与用户希望的选项匹配优先级较低;
图3C显示了用本发明的方法设计结构的菜单示例,与所示的每个选项相关的菜单边界部分都在所示选项及关联边界部分的背景上用相应的颜色、阴影或纹理表示;
图4显示了根据本发明的方法设计结构的菜单的触碰操作示例;
图5显示根据本发明的方法设计结构的菜单示例,并且允许增加显示的选项数量;
图6显示了用图5所示方式设计结构的菜单示例,用类似的背景颜色显示可通过类似选择动作选择的菜单选项集。
具体实施方式
本发明的系统允许用户在不必中断文本输入和编辑过程的前提下,对输入操作识别系统错误识别的文本进行修改。当希望的词或短语被错误识别时(即输入操作被“映射”到并非用户进行输入操作时希望的文本),用户必须改正系统的识别错误,但是这种改正并不表示用户希望更改或编辑其希望的文本,而是在生成文本对象时“重新映射”或者“重新编辑”系统对用户原输入操作的解释。当用户发现系统错误识别一个或多个先前的输入操作时,本发明的系统允许用户改正错误识别的文本,并且只需最少的操作即可在文本插入位继续输入文本,因为文本插入位会自动回到原位置。
一方面,在用户生成要输入文本输出区的文字时,系统会跟踪和记录文本输出区中的文本插入位,所以在合适的时候,会将文本插入位自动恢复到此位置。另一方面,系统会定义文本编辑用户操作(或“动作”),该操作不同于将文本插入位更改到文本输出区域新位置的操作,执行有这种区别的文本编辑用户操作表示,用户希望将先前生成(但被错误识别)的文本对象更改为与实际生成输出的文本对象相关的候选文本对象之一(以下称作“重新编辑”动作)。例如,在基于触笔的触摸屏系统中,单击触笔将文本插入位更改为文本输出区内的一个新位置,可将“重新编辑”动作区别定义为触笔双击,位置是在文本输出区中原输出文本对象附近。系统检测到用户在关联了原输出文本对象的区域中执行重新编辑动作时,文本对象会被替换为关联候选文本之一(如下所述),然后,文本插入位自动回到原来的位置(即在检测到重新编辑动作前的位置)。
在对本发明各方面及实现方式的以下描述中,会经常描述某个特别的方面或实现方式,并用在基于触笔的触屏系统的实现中为例。但是,这些方面和实现方式要同样便利地应用于各种系统,这显然将会是现代的常见技术之一。比如使用标准鼠标和键盘进行输入操作的系统,不需要代替鼠标的触笔的触摸屏系统(例如“凝视”系统可跟踪用户眼球来确定用户凝视的屏幕位置并自动将系统光标定位在该位置,通过监视眨眼或其它机制来让用户执行各种鼠标操作),基于语音命令的系统,或者使用其它方式让用户执行输入操作、生成文本并且/或者对输入的文字进行编辑的系统。
另一方面,系统允许用户通过高亮选择要编辑的词(或者通过将文本插入位定位到该词之内或与其边界相邻的位置)来选择文本输出区域中的文字进行重新编辑,然后激活一个标记为“重新编辑”的编辑功能键(在这种情况下,系统必须跟踪文本插入位的先前两个位置,以便将其恢复到重新定位文本插入位以激活重新编辑功能之前的位置)。另一方面,为尽可能高效地改正这样的识别错误,系统会识别在文本输出区域执行的重新编辑动作,并识别与预定的触笔操作或动作执行处最近的文本输出区域中的词,作为重新编辑的目标词。在上例中提到的一个实现方式中,预定操作是在触摸屏显示的词上“双击”触笔。在另一种实现方式中(例如用鼠标之类的光标移动控制装置来操作的系统),预定编辑操作可以是将鼠标短暂停留在要编辑的词上,然后快速晃一晃鼠标(这只是一个动作示例,可以定义许多类似的动作)。
还有一种实现方式是,将重新编辑操作定义为用一个动作选中多个词。例如,在语音识别系统中,识别错误通常会影响生成的文字输出中的多个词。例如,当用户说“难以识别语音”时,系统生成的输出是“难以失败预约”。在这样的系统中,可以将重新编辑动作定义为,比如穿过几个连续单词的横线。在上面的示例中,可在“失败预约”上划线。系统即可生成与相关发音对应的多个候选解释,无需更改与“难以”发音部分对应的解释。同样的方法也可用于手写识别系统,在这样的系统中,用户表示单个字的手写体常常会被误读成两个或更多的字。当然,还可定义其它重新编辑动作,比如在要重新编辑的一组词周围画圈,这些定义应被视为本发明涵盖的范畴。例如,在语音识别系统中,可以将重新编辑“动作”定义为一个语音命令,在本例中可以是这样一个语音“重新编辑:失败预约”。
一方面,系统储存已识别的候选文本对象清单,作为与输入操作最匹配的最近输出的文本对象。系统检测到重新编辑动作后,会随即显示一个清单,包含了与确定为用户原输入操作对应的文本对象最匹配的候选文本对象,从而重新编辑输出的文本对象。另一种实现方式是,显示的文本对象候选清单中不包含原来输出的文本对象,因为重新编辑过程通常是为了替换原来的文本对象。再就是,要重新编辑的文本对象被自动替换为系统根据输入操作识别的最接近候选文字对象列表中的下一个最接近的对象(无需用户从显示的文本对象选择列表中选择文本对象)。这种方法对这样一些系统比较有利,即大多数情况下用户所需的文本对象正是第二个最接近的候选文本对象。另一方面,当被重新编辑过的文本对象已经被重新编辑并因此对应于自动替换了原来的输出文本对象的下一个最接近的对应候选文本对象时,系统会随后显示一个文本对象选择列表,以便用户从中选择候选的文本对象。
图1显示了典型设备100的硬件组件简化框图,实现了文本编辑和菜单选择用户界面的系统和方法。设备100包括一个或多个输入设备120,后者向CPU(处理器)110提供输入,通知用户执行的操作。这通常是通过硬件控制器来解释从输入设备接收的原始信号,并用已知的通信协议将信息通过可用数据端口传输到CPU 110。输入设备120的示例之一是触摸屏,它向CPU 110提供输入,通知用户触碰触摸屏时的触摸事件。类似的,CPU 110与显示130的硬件控制器通信,在显示器130上显示。显示器130的示例之一是向用户提供图形和文本视觉反馈的触摸屏显示器。或者,可以将扬声器140连接到处理器,向用户提供恰当的音频指示信号(主要是错误信号),还可将麦克风141连接到处理器,以便接收用户发出的语音输入(主要是用语音识别作为用户文本输入法的输入操作识别系统)。处理器110可访问存储器150,存储器包括临时存储器和/或永久存储器、只读和可读写存储器(随机存取存储器RAM)、只读存储器(ROM)、可读写非易失性存储器(如FLASH存储器、硬盘、软盘等)。存储器150包括包含所有程序和软件的程序存储器160,比如操作系统161、输入操作识别系统软件162和任何其它应用程序163。程序存储器160还包含至少一个文本编辑系统软件164,用于根据本发明的方法记录和恢复文本插入位,并包含菜单选择系统软件165,用于根据本发明的方法以图形方式向用户显示一个或多个选项,确定用户对图形显示选项的选择。存储器150还包括数据存储器170,它包含了输入操作识别系统软件162所需的文本对象数据库171、任选的维护用户选项记录和首选设置的存储器172,以及设备100任何要素所需的其它数据173。
图2A显示了“重新编辑”的激活过程。它可由系统100的显示器130上的“重新编辑”功能键208激活,也可通过在原输出文本对象(图2A中的“great”200)上执行预定义的“重新编辑”动作来激活,以便改正不符合用户预期的文本对象输出。在另一种实现方式中,当“重新编辑”功能键208被激活且当前没有突出显示的文本对象时,系统会识别包含当前文本插入位或者与之临近的文本对象,并自动选中它作为“重新编辑”过程的目标。
图2A显示了得到的文本对象选择列表202。在本例中,用户要用的文本对象“heat”显示为文本对象选择列表202的第一个文本对象204,因为系统判定它是下一个与原输入操作最匹配的文本对象(在先前输出的与原输入操作对应的文本对象“great”之后)。当用户用输入设备120在文本对象选择列表202中选择文本对象204时,处理器110会自动将显示器文本输出区域206中突出显示的文本对象“great”200替换为用户想用的文本对象“heat”。
另一方面,“重新编辑”过程会按照由输入操作识别系统软件162自动生成空格的方式插入或删除空格。当输入操作识别系统自动在文本对象间生成空格时,如果在每对相邻的文本对象间自动生成一个空格,用户经常会遇到需要删除自动生成的但却不需要的空格的情况。例如,在英语中,经常会在名词的后面添加“′s”(撇号-s)来表示该名词的所有格形式。在法语中,以元音开头的词的前面有冠词“le”和“la”时,会写成“l′”(l-撇号),撇号和后面的单词的第一个字母之间没有空格。在德语等其它语言中,经常要用两个或更多单词连写来构建较长的“复合”词。虽然也有一些其它方法(不被视为超出本发明的范畴)来解决这个问题,但在输入操作识别系统中解决此问题的简单方法是将某些文本对象标记为在相邻文本对象间自动生成空格的通常规则的例外情况。例如,在英语中,文本对象“′s”(撇号-s)在系统的文本对象数据库中被标记,表示会在它和后面的文本对象之间生成空格,但不在它和前面的文本对象间生成空格。相反,在法语中,文本对象“l′”(l-撇号)在系统的文本对象数据库中被标记,表示会在它和前面的文本对象之间生成空格,但不在它和后面的文本对象间生成空格。另外,德语等语言的不同文本对象通常用空格分隔,但也经常连写多个词来构造较长的“复合”文本对象。为适应这样的语言,输入操作识别系统提供了一个功能,激活该功能即可阻止下一次出现该情况时自动生成空格(从而允许连续生成这两个文本对象,系统不会在中间插入空格)。或者,用该功能阻止正常情况下会生成的所有空格,除非激活该功能来重新允许自动生成空格。也可以在输入操作识别系统中包括删除最近生成的自动空格的功能。如下所述,本发明的“重新编辑”处理方式可包容自动生成空格的这些例外情况,所以可以根据自动添加空格的不同规则,在重新编辑过程中用文本对象替换另一个文本对象时生成有正确空格的重新编辑文本。
另一方面,可将重新编辑动作定义为用一个动作选中文本对象字符的单个相邻字符串的某个子字符串。在图2B显示的示例中,“of′s”210由“of”212和“′s”214构成。请注意,在本例中,这两个文本对象是通过连续两个不同的输入操作创建的。另请注意,该文本是在一个用户输入操作识别系统上创建的,这个系统默认情况下会在连续生成的文本对象间自动输出空格,但文本对象“′s”214在系统的文本对象数据库中被标记为此默认行为的例外情况,所以输出的“′s”214之前没有空格,而是连写在上一个文本对象的后面,构成正确的所有格形式。但是,在图2B显示的示例中,文本对象“′s”214并不是用户在执行输入操作时希望使用的文本对象。
另一方面,当系统在与文本对象字符构成的字符串(前后有一个或多个分隔符,如图2B示例中的字符串“of′s”210)相关的区域中检测到重新编辑动作时,系统会首先判断整个字符串(图2B示例中的“of′s”210)是否是由一个用户输入操作生成的,如果是,则系统依照该输入操作的候选文本对象方式进行响应。另一方面,如果识别的字符串(当前示例中的“of′s”210)是响应两个或更多用户输入操作生成的,每个操作都生成一个子字符串文本对象要素,则系统识别与执行的“重新编辑”动作最接近的子字符串文本对象要素,突出显示识别的子字符串文本对象,并向用户显示与生成该子字符串文本对象要素对应的原用户输入操作所关联的候选文本对象,供用户选择。在图2B中,与检测到的重新编辑动作(例如双击位置216)相关的位置216是最接近子字符串“′s”214的,该子字符串已被识别为重新编辑的“目标”,并在文本输出区域206中突出显示。在示例图2B中,用户刚刚输入了一个完整的句子,所以,在检测位置216的重新编辑动作之前,文本插入位位于刚输入的句子末尾处(位置218),用户可以输入下一个句子。
在本例中,用户要用的文本对象“Oz”显示为文本对象选择列表202的第一个文本对象220,因为它被确定为下一个与原输入操作最匹配的文本对象(在先前输出的与原输入操作对应的文本对象“′s”214之后)。图2C显示了在文本对象选择列表202中选择文本对象“Oz”220之后的结果,导致文本编辑系统软件164在文本输出区206中用用户希望的文本对象“Oz”220替换突出显示的文本对象“′s”214。请注意,文本编辑系统软件还在前面的文本对象“of”212和“Oz”220之间插入了空格222。如前所述,文本对象“′s”214在系统的文本对象数据库171中被标记为在连续生成的文本对象间自动生成空格这一默认行为的例外情况,所以先前在图2B中输出的“′s”214之前没有生成空格。选择的替换文本对象“Oz”220并未在系统的文本对象数据库171中被标记为此种例外情况,所以当系统用文本对象“Oz”220替换文本对象“′s”214时,插入替换文本之前会生成空格,于是“of”212和“Oz”220之间会有一个空格222。类似的,如果情况相反,先前生成的文本对象是“Oz”220,后来要在重新编辑过程中用文本对象“′s”214来替换它,则在先前生成的文本对象“Oz”之前会已经生成一个空格222,当用“′s”214替换“Oz”220时,前面的空格会被删除,“′s”214会直接与前面的文本对象连写。因此,在另一方面,当某个文本对象因为重新编辑过程而被另一个文本对象替换时,两个文本对象会关联不同的自动空格行为,替换文本对象周围的空格会根据两个文本对象关联的空格行为差异进行调整。
在另一种实现方式中,文本编辑系统软件164会跟踪文本输出区206中的文本插入位,并在重新编辑的替换文本对象紧后面接上一个候选文本对象,文本输出区中的文本插入位自动恢复到执行重新编辑过程之前的原位置。在图2C的示例中,用文本对象“Oz”220替换文本对象“′s”214之后,文本插入位自动恢复到整个句子末尾的原位置218(即在检测到位置216处的重新编辑动作前的位置),用户无需手动重新定位文本插入位即可继续输入文本。另一方面,如果不选择替换文本对象即取消生成的文本对象选择列表时,识别的文本对象仍会突出显示(被选中),文本输出区的文本插入位不会恢复到先前的位置,从而可以对仍被突出显示的识别文本对象进行其它操作。另外,在从生成的文本对象选择表中选中替换文本对象之前,如果执行了一个或多个其它操作,则会自动取消文本对象选择表,文本输出区的文本插入位不会恢复到原来的位置,并且响应这些其它操作生成的文本被发送到文本输出区,并根据字处理程序的标准行为,当前突出显示(选中的)文本区中的原输出文本对象会被替换。另外,会生成控制字符的输入操作会将控制字符发送到目标文本应用程序中。例如,执行会生成Ctrl-B的输入操作时,目标应用程序会收到Ctrl-B,并对突出显示的原输出文本对象应用粗体格式。还有,当系统检测到执行重新编辑动作时,如果用户已滚动显示的文本区,使得文本插入位不再在显示屏上时,则从自动生成的文本对象选择表中选择候选文本对象时,文本输出区的文本插入位不会恢复到原来的位置(不在屏幕上)。另一方面,系统对预定义的重新编辑动作的各种可能响应和后续操作(包括,例如,将文本插入位恢复到文本输出区中的原位置等操作)是由用户通过选择一组系统首选项来决定的。
系统的这些方面大大提高了其文本输入效率。输入操作识别系统不可避免地会导致生成一些不正确的文本对象,它们通常是随机分布在已经生成的文本中。大多数情况下,用户只需改正错误生成的文本对象,然后暂停输入以检查前面的输出文本处继续输入文本。有些用户不喜欢将文本插入位移动到原来的位置,对他们而言,系统自动跟踪和恢复文本插入位的能力提供了巨大的便利。通过大大提高错误更正过程的效率,可以从两方面大幅度提高系统的总效率。首先,很明显的,只需很少的时间即可方便地更正偶然的错误,从而提高整体输入速度。其次,由于错误更正规程如此简单方便,大多数用户会减少对可能存在识别错误的关注度,从而更快地进行文本输入操作,减少对精确性的关注。在许多输入操作识别系统中,这通常可以实行更快的输入速度。
另一方面,文本编辑系统软件164检测到何时用户已在文本输出区内重新定位文本插入光标,并修改了关于新的文本插入位前后的自动系统行为。一方面,当系统一般自动在生成的词之间自动输出空格时,如果系统检测到文本插入位已移动到新的上下文,则会在新的上下文中的第一个词之前禁用自动输出空格。另一方面,当系统测到文本插入位已移动到新的上下文,并且启用了自动添加空格时,系统会检查新的文本插入位左侧的字符,当文本插入位左侧的字符是“空白”字符时,并且/或者当文本插入位在文本字段的第一个字符位置时,并且/或者当文本字段是口令输入字段时,系统会自动在新的上下文中的第一个词之前禁用自动输出空格。
另外,当用户重新编辑文本对象时,会向用户显示包含一个或多个后续文本对象的列表,用户可从中选择所需的文本对象。输入操作识别系统将这些候选文本对象与一个或多个输入操作的候选“映射”对应,系统先前将这些输入操作映射到被重新编辑的文本对象映射。还有,候选文本对象列表显示以特殊的图形方式显示,供用户选择,这种显示方式允许用户用简单直观的动作来指定所需的选择;而这个动作的精度要求通常比原有技术中的菜单选择方法低,从而加快了选择所需对象的过程,进而加快了重新编辑的速度。再就是,这种特殊的图形菜单显示可用于用户界面的其它地方,相应地加快系统中其它功能的多选项选择过程。当显示的一个或多个候选选项是用户预期选项的概率比平均值高时,本发明的图形显示和动作选择法特别有效。在需要向用户提供选项的应用中,这种情况是很常见的。
图3A显示了菜单300的示例,该菜单是利用本发明的方法的优势建立结构的。图3A中的示例包含了6个选择子区域:5个选择子区域301-305用于选项1到选项5,第6个子区域306标记了一个图标,表明此选项是取消菜单300的动作。选择子区域301-306中,每一个子区域都与菜单300四周边界的对应部分311-316相关联。本发明中,进行菜单选择的操作是,先接触菜单最外面边界所包围的区域中的任何位置,在保持与屏幕接触的同时,在屏幕上拖动,从与所需选项对应的菜单边界分段穿出,同时在菜单300边界之外的地方中断与屏幕的接触(比如抬起触笔)。或者,当触屏操作一离开菜单区即可生效,无需中断与屏幕的接触。需要中断屏幕接触来使菜单选择生效的方式可以允许用户通过在不中断接触的情况下重新进入菜单区,然后从菜单边界的另一段穿出后再中断接触,从而更改选择。描述的本示例需要使用触摸屏,触碰屏幕和中断触碰的动作会有效“激活”和“解除激活”触笔(或手指或其它物体)位置决定的控制点,但其它方法也属于本发明的范畴。例如,控制点可以是由鼠标运动控制的光标,它可通过单击和方可鼠标按键来“激活”和“解除激活”。
在图3A中,与菜单选择子区域关联的菜单300边界分段也是菜单子区域本身边界分段的一部分。图3A中的示例菜单显示,选择子区域301中的选项1与菜单边界分段311关联,311是整个菜单300边界的一部分。要想选择它,可以在菜单300内的任何地方触碰屏幕,向上划并从顶部穿出菜单区,然后中断与屏幕的接触。图4显示了触碰操作400的示例,它从初始触碰位置401开始,从边界分段311的退出位置402处退出,最后在接触位置403处结束。虽然触碰操作400的初始接触位置在菜单选择子区域303(与“选项3”关联)之内,但操作结果是选择了菜单选项301(“选项1”)。
本发明的一个优点是通常可以让用户更快地进行选择,因为无需精确的触碰操作,从而可以更快地执行。如果选择某些菜单选项的可能性经常比其它选项更高时,则会获得更大的优势。假如,在图3A所示的菜单中,事先已知菜单选项301(“选项1”)和305(“选项5”)被选中的频率分别比302、303或304都高一倍。图3A中的示例菜单设计是,整个菜单边界的顶部311与对应“选项1”的选择子区域301关联,整个菜单边界的底部315与对应“选项5”的选择子区域305关联。在这个示例菜单中,311段和315段都比312、313和314(分别关联选择子区域302、303、304)段长了近三倍,所以“选项1”和“选项5”要容易选择得多,因为在穿越边界分段快速划出菜单区时,它们有更大的误差边界。设计各种菜单选择子区域,使得相关边界分段的相对长度与各种菜单选择的相对预期使用频率基本对应,这是很方便的设计方法。
本发明的另一个重要优点是,只要触碰操作的初始位置在菜单边界包围的区域内并且不穿出菜单边界,则该操作会被视作传统的菜单选择方式,也就是说通过“轻点”来选择菜单选择子区域。这使得本发明经过改良的菜单选择方法可用于各种系统,哪怕系统用户从未看过新式菜单选择方法的说明和信息。对新式选择方法一无所知的用户也能用传统的菜单选择“轻点”进行操作,直到他发现或学习了新的菜单选择方法。这还进一步增加了菜单设计的灵活性,因为使用频率极低的菜单选项可以显示为“内陆”菜单选项,也就是菜单选项的边界不包含菜单外部边界的任何部分。这可以解放更多的可用菜单边界长度,分配给使用频率较高的其它菜单选项。例如,图3B显示了可能的菜单布局,其选项集与图3A相同。但是,图3B显示的菜单选项布局中,“选项2”(322)的被选中的概率要远远高于图3A,而“选项3”和“选项4”被选中的概率要远低于图3A。在图3B的示例中,菜单的整个右边332都与“选项2”关联,而要选择“选项3”和“选项4”,则必须分别直接触碰相关菜单选择子区域323和324,并且在不退出所要求的菜单选择子区域的情况下中断触碰(即使用传统的菜单选择“轻点”)。
通过合并两个子菜单,可将同样的设计原则有效地用于设计选项数量更多的菜单。图5显示了有8个选择子区域501-508的菜单500。选择子区域501-504共同构成了第一个子菜单区521,子区域505-508共同构成了另一个子菜单区522。选择子区域501-504与子菜单521的边界分段511-514关联,选择子区域505-508与子菜单522的边界分段515-518关联。请注意,子菜单521的边界分段514和子菜单522的边界分段515实际上是相同的线段(514/515),它本身就在菜单500内部,不临菜单500的外边界。这没有问题,但是,菜单选项504和505的选择动作在跨越线段(514/515)时的方向不同,而且初始触点的所在子菜单区也不同。初始触点位置在子菜单521内,且向下穿越线段(514/515)的触碰操作是模糊选择菜单选项504,而初始触点位置在子菜单522内,且向上穿越线段(514/515)的触碰操作是模糊选择菜单选项505。在另一种实现方式中,检测到子菜单区域内的初始触碰后,包含初始触点的子菜单即突出显示,以显示可用通过划线退出子菜单外边界来选择的菜单选项集(该子菜单包含的选项)。
将菜单边界与菜单选项关联的最直接的方法是关联同属菜单选项本身边界的菜单边界分段(如上所述)。此外还有其它的方法,这些方法应被视为属于本发明的范畴。例如,与每个菜单选项关联的区域用不同的区别背景(或字体)颜色显示,关联的菜单边界分段用相应的关联(或相同)颜色显示。例如在图3C中,6个菜单选项341-346的背景颜色分别用橙色(341)、黄色(342)、绿色(343)、蓝色(344)、紫罗兰(345)和红色(346)显示,并且对应的菜单边界分段分别用橙色(351)、黄色(352)、绿色(353)、蓝色(354)、紫罗兰(355)和红色(356)显示。或者,6个菜单选项341-346的背景颜色分别用浅橙色、浅黄色、浅绿色、浅蓝色、浅紫罗兰和浅红色显示以增强每个菜单在较淡背景色下的可读性,并且对应的菜单边界分段分别用明亮的橙色(351)、黄色(352)、绿色(353)、蓝色(354)、紫罗兰(355)和红色(356)显示。组合使用这两种方法可以减少所用颜色的数量,通过颜色和相连边界分段来清楚地表示它所关联的菜单选项子区域。通过这种方法,可以象图3C中的示例那样显示菜单。这种布局中,每个菜单选项子区域采用较传统的矩形,而不是采用图3A所用的较复杂的多边形。另一方面,可以用图案或形状来代替颜色以区分各种菜单子区域,以及将子区域与相应的菜单边界分段相关联。
此外,如图6所示,菜单结构500可以采用一致的四色方案,使得所需的菜单选择操作在所用情况下都既简单又直观。例如,菜单选项子区域501和505可采用蓝色背景,子区域502和506可采用红色背景,子区域503和507可采用黄色背景,子区域504和508可采用绿色背景。用户只需记住:蓝色背景-在下面轻点并向上划;红色背景-在旁边轻点并向右划;黄色背景-在旁边轻点并向左划;绿色背景-在上面轻点并向右划。这种方案甚至还有助记法:蓝色-“蓝天”;绿色-“绿地”;“红左”;“黄右”等。这种模块化方法允许使用本发明的原则构建有任意数量选项的菜单。
前面已经图示并描述了本发明的实现方式,它有许多变化,但其本质和范围都不脱离本发明本身。因此,该方法的范围应按附加的权利要求及其法律效力判定,而不应按上述的具体方面来判定。

Claims (36)

1.一种在有用户界面的电子设备上输入和编辑文本的方法,所述电子设备包含至少一个检测用户输入操作以生成和编辑文本的输入系统,以及至少一个向所述用户显示所述文本的文本显示系统,该方法包括:
记录所述文本显示系统内的文本插入位的位置,以在该位置输出下一个生成的文本对象;
检测特殊输入操作以识别先前输出到所述文本显示系统的一个或多个所述文本对象;
根据检测到的特殊输入操作来识别先前输出的一个或多个所述文本对象;
确定与一个或多个检测到的输入操作相应的候选文本对象,先前根据所述一个或多个检测到的输入操作确定所述识别的一个或多个文本对象;
用一个或多个所述确定的候选文本对象替换所述先前输出的一个或多个识别的文本对象;以及
将所述文本插入位恢复到在检测所述特殊输入操作之前记录的位置。
2.根据权利要求1的方法,进一步包括:在文本显示系统上向用户显示所述确定的一个或多个候选文本对象中的一个或多个供用户选择,用户可选择显示的文本对象之一来替换所述识别的先前输出的一个或多个文本对象。
3.根据权利要求1的方法,进一步包括:确定所述文本显示系统内与所述特殊输入操作关联的位置,并识别最接近所述确定的位置的先前输出到所述文本显示系统的文本对象。
4.根据权利要求1的方法,进一步包括:自动在一个或多个输出的文本对象间生成一个或多个空格。
5.根据权利要求4的方法,进一步包括:将两个或更多的文本对象识别为属于两个或更多的文本对象类,其中所述两个或更多的文本对象类中的每一个,在属于该类的文本对象的输出至少之前或之后自动生成一个或多个空格的方式与其它文本对象类不同。
6.根据权利要求5的方法,进一步包括:至少自动插入或自动删除至少位于一个文本对象之前或之后的空格,该文本对象替换了属于所述文本对象类的不同类的文本对象。
7.根据权利要求5的方法,进一步包括:检测所述文本插入位的位置的变化,并关于与紧邻所述变化的文本插入位的文本对象关联的所述文本对象类,以及关于紧邻所述变化的文本插入位的任何空格,在所述变化的文本插入位改变在至少下一个文本对象的输出之前或之后自动生成一个或多个空格的方式。
8.根据权利要求4的方法,进一步包括:检测特殊的用户输入操作并禁用与下一个生成的文本对象的输出关联的所述自动生成空格功能,以及在所述下一个生成的文本对象的输出之后自动重新启用所述自动生成空格功能。
9.根据权利要求4的方法,进一步包括:检测特殊用户输入操作,并删除最近生成的所述自动生成的空格之一。
10.根据权利要求1的方法,进一步包括:在文本显示系统上显示两个或更多所述确定的候选文本对象,并检测用户选择以识别替换所述指示的文本对象的所述候选文本对象。
11.根据权利要求10的方法,其中所述用户在选择任何所述显示的候选文本对象作为所述识别的文本对象的替换之前执行一个或多个其它输入操作,且不执行所述文本插入位的恢复,而选择所述识别的文本对象作为所述文本插入位,使得所述一个或多个其它输入操作的结果修改或替换所述指示的文本对象。
12.根据权利要求1的方法,进一步包括:自动识别用于替换所述被识别文本对象的所述确定的候选文本对象中的一个,该候选文本对象被确定为下一个与所述检测到的输入操作最接近对应的文本对象。
13.根据权利要求1的方法,进一步包括:当所述检测所述特殊输入操作之前记录的所述文本插入位的位置不位于所述文本显示系统的当前可见区域内时,不将所述文本显示系统内的所述文本插入位恢复到所述位置。
14.一种文本输入和编辑设备,包括:
检测一个或多个用户输入操作以生成和编辑文本的一个或多个输入设备;
向用户显示生成的文本的输出设备;
与输入设备和输出设备相连的处理器,该处理器包括:
第一组件,用于记录文本插入位的位置以确定下一个生成的文本对象的输出位置;
第二组件,用于检测特殊输入操作以识别先前输出到所述输出设备的一个或多个所述文本对象;
第三组件,用于根据检测到的特殊输入操作来识别先前输出的一个或多个所述文本对象;
第四组件,用于确定与所述一个或多个检测到的输入操作相应的候选文本对象,先前根据所述一个或多个检测到的输入操作确定所述识别的一个或多个文本对象;
第五组件,用于用一个或多个所述确定的候选文本对象替换所述先前输出的一个或多个识别的文本对象;
第六组件,用于将所述文本插入位恢复到在检测所述特殊输入操作之前记录的位置。
15.根据权利要求14的设备,其中所述处理器还包括:
第七组件,用于在所述输出设备上向用户显示所述确定的一个或多个候选文本对象中的一个或多个供用户选择,用户可选择显示的文本对象之一来替换所述识别的先前输出的一个或多个文本对象。
16.根据权利要求14的设备,其中所述处理器还包括:
第七组件,用于确定输出设备内与所述特殊输入操作相关联的位置;
第八组件,用于识别先前输出到所述输出设备上与所述确定的位置最近的文本对象。
17.根据权利要求14的设备,其中所述处理器还包括:
第七组件,用于在输出的一个或多个文本对象间自动生成一个或多个空格。
18.根据权利要求17的设备,其中所述处理器还包括:
第八组件,用于将两个或更多的文本对象识别为属于两个或更多的文本对象类,其中所述两个或更多的文本对象类中的每一个,在属于该类的文本对象的输出至少之前或之后自动生成一个或多个空格的方式与其它文本对象类不同。
19.根据权利要求18的设备,其中所述处理器还包括:
第九组件,用于至少自动插入或自动删除至少位于一个文本对象之前或之后的空格,该文本对象替换了属于所述文本对象类的不同类的文本对象。
20.根据权利要求18的设备,其中所述处理器还包括:
第九组件,检测所述文本插入位的位置的变化,并关于与紧邻所述变化的文本插入位的文本对象关联的所述文本对象类,以及关于紧邻所述变化的文本插入位的任何空格,在所述变化的文本插入位改变在至少下一个文本对象的输出之前或之后自动生成一个或多个空格的方式。
21.根据权利要求17的设备,其中所述处理器还包括:
第八组件,用于检测特殊的用户输入操作并禁用与下一个生成的文本对象的输出关联的所述自动生成空格功能,以及在所述下一个生成的文本对象的输出之后自动重新启用所述自动生成空格功能。
22.根据权利要求17的设备,其中所述处理器还包括:
第八组件,用于检测特殊用户输入操作,并删除最近生成的所述自动生成的空格之一。
23.根据权利要求14的设备,其中所述处理器还包括:
第七组件,用于在所述输出设备上显示两个或更多所述确定的候选文本对象;和
第八组件,用于检测用户选择以识别替换所述指示的文本对象的所述候选文本对象。
24.根据权利要求23的设备,其中所述处理器还包括:
第九组件,用于检测所述用户在选择任何所述显示的候选文本对象作为所述识别的文本对象的替换之前执行的一个或多个其它输入操作;和
第十组件,用于选择所述识别的文本对象作为所述文本插入位,使得所述一个或多个其它输入操作的结果修改或替换所述指示的文本对象,并且不将所述文本插入位恢复到之前的位置。
25.根据权利要求14的设备,其中所述处理器还包括:
第七组件,用于自动识别用于替换所述被识别文本对象的所述确定的候选文本对象中的一个,该候选文本对象被确定为下一个与所述检测到的输入操作最接近对应的文本对象,其中根据所述检测到的输入操作生成所述识别的文本对象。
26.根据权利要求14的设备,其中所述处理器还包括:
第七组件,用于确定所述检测所述特殊输入操作之前记录的所述文本插入位的位置是否不在所述输出设备上当前可见的文本内;
第八组件,用于当所述第七组件确定记录的位置不在所述输出设备上当前可见的文本内时,防止所述第六组件将所述文本插入位恢复到所述检测所述特殊输入操作之前记录的位置。
27.在电子显示设备上定义的有界区域内以图形方式显示两个或更多选项供选择的方法,其中用户可在所述显示设备上定位、移动、激活或解除激活控制点,该方法包括:
在所述有界区域内显示所述两个或更多选项的图形显示;
定义所述有界区域的一个或多个明显边界分段;
将一个或多个所述定义的边界分段的每一个都与所述图形显示的选项中明显的一个唯一关联;
检测所述有界区域内的所述控制点的激活;
检测所述已激活控制点的后续运动,使所述激活的控制点退出所述有界区域;
识别所述激活的控制点在退出所述有界区域过程中运动通过的所述明显边界分段中的一个;
根据所述识别的边界分段确定所述图形显示的选项中的一个。
28.根据权利要求27的方法,其中每个所述选项都显示在所述有界区域内明显有界子区域内,并且其中所述定义的明显边界分段被定义为与所述子区域中的一个的边界分段重合的边界分段,所述子区域内显示的选项与所述重合的边界分段唯一关联。
29.根据权利要求27的方法,其中一个或多个所述选项用颜色、图案或阴影的一个或多个进行图形显示,每个所述唯一关联的定义的明显边界分段用颜色、图案或阴影的相应的一个或多个显示。
30.根据权利要求27的方法,进一步包括:在所述有界区域内检测到所述控制点的激活时,修改所述所定义的有界区域的图形显示。
31.根据权利要求27的方法,其中两个或更多所述定义的边界分段的长度之间的关系与用户将选择与所述两个或更多定义的边界分段中的每一个唯一关联的每个所述图形显示选项的确定的概率之间的关系有关。
32.一种设备,包括:
图形显示两个或更多选项供选择的输出设备;
用于检测用户执行的一个或多个输入操作,在所述显示设备上定位、移动、激活或解除激活控制点的输入设备;
与输入设备和输出装置相连的处理器,该处理器包括:
第一组件,用于在所述显示设备上定义的有界区域内以图形方式显示两个或更多选项;
第二组件,用于定义所述有界区域的一个或多个明显边界分段;
第三组件,用于将一个或多个所述定义的边界分段的每一个与所述图形显示的选项中明显的一个唯一关联;
第四组件,用于检测所述有界区域内的所述控制点的激活;
第五组件,用于检测所述已激活控制点的后续运动,使所述激活的控制点退出所述有界区域;
第六组件,用于识别所述激活的控制点在退出所述有界区域过程中运动通过的所述明显边界分段中的一个;
第六组件,用于根据所述识别的边界分段确定所述图形显示的选项中的一个。
33.根据权利要求32的设备,其中所述处理器还包括:
第七组件,用于在所述有界区域的每个明显有界子区域内显示每个所述选项;
第八组件,用于定义所述明显边界分段为与所述子区域中的一个的边界分段重合的边界分段;
第九组件,用于将所述子区域内显示的选项与所述重合边界分段相关联。
34.根据权利要求32的设备,其中所述处理器还包括:
第七组件,用于用颜色、图案或阴影的一个或多个以图形方式显示一个或多个所述选项,并用颜色、图案或阴影的相应的一个或多个以图形方式显示每个所述唯一关联的定义的明显边界分段。
35.根据权利要求32的设备,其中所述处理器还包括:
第七组件,用于在所述有界区域内检测到所述控制点的激活时,修改所述所定义的有界区域的图形显示。
36.根据权利要求32的设备,其中两个或更多所述定义的边界分段的长度之间的关系与用户将选择与所述两个或更多定义的边界分段中的每一个唯一关联的每个所述图形显示选项的确定的概率之间的关系有关。
CN2007800326907A 2006-07-03 2007-07-03 文本编辑和菜单选择用户界面的系统和方法 Active CN101529494B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US80652206P 2006-07-03 2006-07-03
US60/806,522 2006-07-03
US11/533,714 US7382358B2 (en) 2003-01-16 2006-09-20 System and method for continuous stroke word-based text input
US11/533,714 2006-09-20
US91784907P 2007-05-14 2007-05-14
US60/917,849 2007-05-14
PCT/US2007/015403 WO2008013658A2 (en) 2006-07-03 2007-07-03 System and method for a user interface for text editing and menu selection

Publications (2)

Publication Number Publication Date
CN101529494A true CN101529494A (zh) 2009-09-09
CN101529494B CN101529494B (zh) 2012-01-04

Family

ID=38981954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800326907A Active CN101529494B (zh) 2006-07-03 2007-07-03 文本编辑和菜单选择用户界面的系统和方法

Country Status (5)

Country Link
EP (1) EP2044587A4 (zh)
JP (1) JP5661279B2 (zh)
KR (1) KR101488537B1 (zh)
CN (1) CN101529494B (zh)
WO (1) WO2008013658A2 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957724A (zh) * 2010-10-05 2011-01-26 孙强国 一种拼音文字联想输入的改进方法
CN103399793A (zh) * 2013-07-30 2013-11-20 珠海金山办公软件有限公司 一种自动切换同类内容的方法及系统
CN103533448A (zh) * 2013-10-31 2014-01-22 乐视致新电子科技(天津)有限公司 智能电视的光标控制方法和光标控制装置
TWI490705B (zh) * 2010-10-07 2015-07-01 英業達股份有限公司 純文字內容的編輯操作系統及其方法
US9182831B2 (en) 2011-04-09 2015-11-10 Shanghai Chule (Cootek) Information Technology Co., Ltd. System and method for implementing sliding input of text based upon on-screen soft keyboard on electronic equipment
CN107203505A (zh) * 2017-05-26 2017-09-26 北京小米移动软件有限公司 文本信息编辑方法及装置
CN107506115A (zh) * 2016-06-14 2017-12-22 阿里巴巴集团控股有限公司 一种菜单的显示处理方法、装置及系统
WO2018176977A1 (zh) * 2017-03-29 2018-10-04 北京搜狗科技发展有限公司 一种文本编辑方法、装置及电子设备
CN108984239A (zh) * 2018-05-29 2018-12-11 北京五八信息技术有限公司 选择控件的处理方法、装置、设备和存储介质

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5438909B2 (ja) * 2008-03-14 2014-03-12 ソニーモバイルコミュニケーションズ株式会社 文字入力装置、文字入力支援方法及び文字入力支援プログラム
KR101412586B1 (ko) * 2008-07-01 2014-07-02 엘지전자 주식회사 이동단말기의 문자입력 방법
US8510665B2 (en) * 2009-03-16 2013-08-13 Apple Inc. Methods and graphical user interfaces for editing on a multifunction device with a touch screen display
KR101633332B1 (ko) 2009-09-30 2016-06-24 엘지전자 주식회사 단말기 및 그 제어 방법
JP5486977B2 (ja) * 2010-03-24 2014-05-07 株式会社日立ソリューションズ 座標入力装置及びプログラム
JP5609718B2 (ja) * 2011-03-10 2014-10-22 富士通株式会社 入力支援プログラム,入力支援装置および入力支援方法
KR20130034747A (ko) * 2011-09-29 2013-04-08 삼성전자주식회사 휴대 단말기의 사용자 인터페이스 제공 방법 및 장치
US8667414B2 (en) 2012-03-23 2014-03-04 Google Inc. Gestural input at a virtual keyboard
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US9021380B2 (en) 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US8806384B2 (en) * 2012-11-02 2014-08-12 Google Inc. Keyboard gestures for character string replacement
CN103838458B (zh) * 2012-11-26 2017-05-10 北京三星通信技术研究有限公司 移动终端及其输入法的控制方法
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
US8887103B1 (en) 2013-04-22 2014-11-11 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing
EP3118731A4 (en) * 2014-01-24 2017-05-03 Huawei Device Co., Ltd. Method and electronic device for inputting character
CN110197136B (zh) * 2019-05-13 2021-01-12 华中科技大学 一种基于动作边界概率的级联动作候选框生成方法与系统
US11379113B2 (en) 2019-06-01 2022-07-05 Apple Inc. Techniques for selecting text

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5378736A (en) 1976-12-23 1978-07-12 Toshiba Corp Return mechanism to final input position
JPS5840584A (ja) 1981-09-02 1983-03-09 株式会社東芝 文字表示装置
JPH0754512B2 (ja) 1986-12-10 1995-06-07 キヤノン株式会社 文書処理装置
US5574482A (en) * 1994-05-17 1996-11-12 Niemeier; Charles J. Method for data input on a touch-sensitive screen
JPH09293328A (ja) 1996-04-25 1997-11-11 Olympus Optical Co Ltd 音声再生装置
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
JPH1115914A (ja) * 1997-06-09 1999-01-22 Internatl Business Mach Corp <Ibm> 文字データ入力装置およびその方法
JPH11102361A (ja) * 1997-09-29 1999-04-13 Nec Ic Microcomput Syst Ltd 文字入力修正方法及び前記方法手順を記録した記録媒体
JP3082746B2 (ja) * 1998-05-11 2000-08-28 日本電気株式会社 音声認識システム
US7030863B2 (en) * 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
JP2001060192A (ja) * 1999-08-20 2001-03-06 Nippon Hoso Kyokai <Nhk> 文字データ修正装置および記憶媒体
US7098896B2 (en) * 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
JP4260777B2 (ja) * 2004-07-22 2009-04-30 パナソニック株式会社 半導体装置及びその製造方法
US20060071915A1 (en) * 2004-10-05 2006-04-06 Rehm Peter H Portable computer and method for taking notes with sketches and typed text
JP2006031725A (ja) 2005-08-10 2006-02-02 Microsoft Corp 文字処理装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957724A (zh) * 2010-10-05 2011-01-26 孙强国 一种拼音文字联想输入的改进方法
TWI490705B (zh) * 2010-10-07 2015-07-01 英業達股份有限公司 純文字內容的編輯操作系統及其方法
US9417710B2 (en) 2011-04-09 2016-08-16 Shanghai Chule (Cootek) Information Technology Co., Ltd. System and method for implementing sliding input of text based upon on-screen soft keyboard on electronic equipment
US9417709B2 (en) 2011-04-09 2016-08-16 Shanghai Chule 9Cootek) Information Technology Co., Ltd. System and method for implementing sliding input of text based upon on-screen soft keyboard on electronic equipment
US9417711B2 (en) 2011-04-09 2016-08-16 Shanghai Chule (Cootek) Information Technology Co., Ltd. System and method for implementing sliding input of text based upon on-screen soft keyboard on electronic equipment
US9182831B2 (en) 2011-04-09 2015-11-10 Shanghai Chule (Cootek) Information Technology Co., Ltd. System and method for implementing sliding input of text based upon on-screen soft keyboard on electronic equipment
CN103399793B (zh) * 2013-07-30 2017-08-08 珠海金山办公软件有限公司 一种自动切换同类内容的方法及系统
CN103399793A (zh) * 2013-07-30 2013-11-20 珠海金山办公软件有限公司 一种自动切换同类内容的方法及系统
CN103533448A (zh) * 2013-10-31 2014-01-22 乐视致新电子科技(天津)有限公司 智能电视的光标控制方法和光标控制装置
WO2015062511A1 (zh) * 2013-10-31 2015-05-07 乐视致新电子科技(天津)有限公司 智能电视的光标控制方法和光标控制装置
CN107506115A (zh) * 2016-06-14 2017-12-22 阿里巴巴集团控股有限公司 一种菜单的显示处理方法、装置及系统
WO2018176977A1 (zh) * 2017-03-29 2018-10-04 北京搜狗科技发展有限公司 一种文本编辑方法、装置及电子设备
US10936798B2 (en) 2017-03-29 2021-03-02 Beijing Sogou Technology Development Co., Ltd. Text editing method, device, and electronic apparatus
CN107203505A (zh) * 2017-05-26 2017-09-26 北京小米移动软件有限公司 文本信息编辑方法及装置
CN108984239A (zh) * 2018-05-29 2018-12-11 北京五八信息技术有限公司 选择控件的处理方法、装置、设备和存储介质
CN108984239B (zh) * 2018-05-29 2021-07-20 北京五八信息技术有限公司 选择控件的处理方法、装置、设备和存储介质

Also Published As

Publication number Publication date
EP2044587A2 (en) 2009-04-08
JP2009543209A (ja) 2009-12-03
JP5661279B2 (ja) 2015-01-28
WO2008013658A3 (en) 2008-11-27
KR20090035570A (ko) 2009-04-09
EP2044587A4 (en) 2012-09-26
WO2008013658A2 (en) 2008-01-31
CN101529494B (zh) 2012-01-04
KR101488537B1 (ko) 2015-02-02

Similar Documents

Publication Publication Date Title
CN101529494B (zh) 文本编辑和菜单选择用户界面的系统和方法
US7542029B2 (en) System and method for a user interface for text editing and menu selection
US20210406578A1 (en) Handwriting-based predictive population of partial virtual keyboards
EP3220252B1 (en) Gesture based document editor
US10275152B2 (en) Advanced methods and systems for text input error correction
US9811193B2 (en) Text entry for electronic devices
US6340967B1 (en) Pen based edit correction interface method and apparatus
CN101393506A (zh) 用于具有多语言环境的设备的输入方法及相关设备和系统
US11112965B2 (en) Advanced methods and systems for text input error correction
JP5977764B2 (ja) 拡張キーを利用した情報入力システム及び情報入力方法
TWI793232B (zh) 具有多語言支援的觸控螢幕使用者介面
US20150301739A1 (en) Method and system of data entry on a virtual interface
KR101405815B1 (ko) 디지털 텍스트의 편집 방법 및 이 방법에 따라 디지털 텍스트를 편집하는 장치
KR101680777B1 (ko) 오타 문자 수정 방법
KR20240081804A (ko) 소프트웨어로 구현 가능한 문자 입력 장치
KR20240118587A (ko) 소프트웨어로 구현 가능한 문자 입력 장치
CN100445945C (zh) 汉语编程中程序代码的记忆式快速检索及列表输入方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: SWYPE CORP.

Free format text: FORMER OWNER: CLIFF KUSHLER

Effective date: 20130328

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130328

Address after: Massachusetts USA

Patentee after: Speed Clearing Company

Address before: Washington, USA

Patentee before: Kushler Cliff