专利名称:随处写工具的制作方法
技术领域:
本发明涉及一种用户接口,让用户可在显示屏工作区上几乎任一位置都可手写输入。具体而言,本发明涉及一种覆盖其他用户接口的透明用户接口。因此,本发明让用户可在工作区任一处手写输入例如文本,同时还可进行指点装置与系统应用互动。
常规的专用手写输入接口出现在相对窗较小的窗口中,该窗口只提供仅够用户写几个字文本的空间。这些接口是分立的,通常离开要插入识别文本的应用。另外,有些常规的手写输入与单独应用合为一体,不能用于对其他应用输入手写数据。
这些常规的专用手写输入接口存在若干缺点。第1,如上文所述,该接口通常使用户仅可写少量字的手写输入。如果用户希望增多手写输入,就必须等待,直到初始的手写输入得到识别并且从接口清除掉。第2,除非用户接口位于紧靠插入识别文本的应用,否则用户必须一直在用户接口与从手写输入接收所识别文本的应用之间移动用于建立手写输入用的指点器(即输入笔)。因此,用户的注意力必须一直在应用与手写输入接口之间转移。另外,如果用户将手写输入接口放到靠近应用,以免不断转移注意力,则在手写输入量增多时,手写接口会遮盖识别的文本。
因此,需要一种让用户一次就可建立大量手写输入的手写输入接口。而且,还需要一种手写输入接口,让用户可进行手写输入而不从接收识别手写输入的应用转移其注意力,又不遮蔽应用中的所识别手写输入。
发明内容
有利地是本发明的随处写工具提供一种透明图形用户接口,该接口覆盖其他应用的用户接口,并且在透明用户接口区显示所接收手写输入表示的墨迹对象。本发明的透明用户接口可扩展成包含计算机大部分显示区,从而用户可在显示区的任一处书写。这还使用户可书写多行文本。此外,由于用户接口透明,用户可观看其他应用的基础图形用户接口,这些应用包括接收从写入透明用户接口的手写输入所识别的文本的应用。因此,用户可在靠近下层(underlying)用户接口中的插入点进行手写输入,而且还同时保持注意力集中在透明用户接口和下层用户接口两者。此外,用户还能与下层用户接口互动,而不遮盖透明用户接口。
图1示出能用于实现本发明各发明点的通用数字计算环境的示意图。
图2说明接收手写输入前根据本发明一实施例的手写用户接口。
图3说明用笔或输入笔接触时图2所示的手写用户接口。
图4说明接收1行手写输入后图2所示的手写用户接口。
图5说明接收2行手写输入后图2所示的手写用户接口。
图6说明下层用户接口从2行手写输入收到所识别文本后图5所示的手写用户接口。
图7说明的是示出根据本发明一实施例所涉及随处写工具组成部件的框图。
图8画出表示本发明一实施例所涉及随处写工具有操作步骤的流程图。
可用能在计算装置上执行的指令实现本发明的随处写工具。据此,将说明执行该指令的示范计算环境。还将连同本发明随处写工具的部件和功能一起说明展示本发明的操作和应用的各种接口。
示范操作环境如上文所述,可用软件实现本发明的随处写工具。也就是说,可在1个或多个计算装置执行的计算机可执行指令(诸如程序模块)的环境下说明随处写工具。通常,程序模块一般包含完成特定任务或实现特定抽像数据类型的例行程序、程序、对象、部件、数据结构等。通常可按各实施例的需要组合或分配程序模块的功能。
由于可用软件实现本发明,简要讨论可利用本发明各实施例的典型可编程计算机的部件和操作,有助于更好地理解本发明。图1中示出该示范计算机系统。此系统包含通用计算机100,其形式可为常规个人数字助理、输入板、桌上或膝上个人计算机、网络服务器等。
计算机100通常包含至少一些形式的计算机可读媒体。该媒体可为计算机100能访问的任何可用的媒体。作为例子,计算机可读媒体可包含计算机存储媒体和通信媒体,但不局限于此。计算机存储媒体包含以任何方法和工艺实现的易失性和非易失性、可换和非可换的媒体,或用于存储信息,诸如计算机可读指令、数据结构、程序模块或其它数据。计算机存储媒体包括RAM、ROM、EEPROM(快速擦写存储或其他存储技术)、CD-ROM、数字通用光盘(DVD)或其他光存储器、盒式磁盘、磁带、磁盘存储器或其他磁存储器件、或者能存储所需信息且计算机100能访问的任何其他媒体。
通信媒体通常包含计算机可读指令、数据结构、程序模块或已调数据信号(诸如载波)或其他传输机构中的其他数据,并且包括任何信息传送媒体。术语“已调数据信号”含义为以将信号中信息编码的方式设定或改变本身的1个或多个特性的信号。例如,通信媒体包含有线媒体(诸如有线网络或直接有线连接)和无线媒体(诸如声、RF、红外等无线媒体),但不受此限制。上述各项的组合也在计算机可读媒体范围内。
计算机100通常包含处理单元110、系统存储器120和将各系统部件(包括系统存储器)连接到处理单元110的系统总线130。该总线130可具有若干类型的总线结构,包括存储总线或存储控制器、外围总线和利用各种总线结构中的任一种的局部总线。系统存储器120包括只读存储器(ROM)140和随机存取存储器(RAM)150。含诸如在启动时帮助计算机100各单元间传递信息的基本程序的基本输入输出系统160(BIOS)存储在ROM 140中。
计算机100还包含附加计算机存储媒体设备,例如对硬盘进行读写的硬盘驱动器170、对可移动磁盘190进行读写的磁盘驱动器180和对可移动光盘192(诸如CD ROM或其他光媒体)进行读写的光盘驱动器191。这些硬盘驱动器170、磁盘驱动器180和光盘驱动器191分别通过硬盘驱动器接口192、磁盘驱动器接口193和光盘驱动器接口194连接到系统总线130。这些驱动器及其关联的计算机可读媒体给个人计算机100提供计算机可读指令、数据结构、程序模块和其他数据的非易失性存储。本领域的技术人员会理解,示例操作环境中还可用其他类型的能存储计算机可访问数据的计算机可读媒体,诸如盒式磁带、快速擦写存储卡、数字视频盘、贝努里盒式磁盘、随机存取存储器(RAM)、只读存储器(ROM)等。应理解计算机100的一些便携实施例(诸如输入板个人计算机或个人数字助理器)可省略1个或多个上述计算机存储媒体器件。
可在硬盘驱动器170、磁盘驱动器190、光盘驱动器192、ROM 140和RAM 150存放一些程序模块,包括操作系统195、1个或多个应用程序196、其他程序模块197和程序数据198。用户可通过诸如键盘101和指点装置102(例如鼠标、触板或指示棒)等输入装置将命令和信息输入计算机100。如上文所述,本发明针对接收并显示手写输入用的随处写工具。本领域一般技术人员会理解,虽然可用各种指点装置产生手写输入,但建立手写输入的最方便指点装置是笔。因此,计算装置120通常包含用户可用于建立手写输入的输入笔166和数字化器165。数字化器165在输入笔166接触其表面时接收手写输入。计算机100还可具有另外的输入装置,诸如操纵杆、游戏板、卫星天线、扫描器、触屏等。
这些或其它输入装置常通过与系统总线130耦合的串行端口接口连接处理单元110,但也可经诸如并行端口、游戏端口、IEEE-1394B总线或通用串行总线(USB)等其他接口连接。这些装置又可经适当接口(未示出)直接与系统总线130相连。还通过诸如显示适配器108等接口将监视器107或其他类型的显示器接到系统总线130。除监视器107外,个人计算机通常包含其他外围输出装置(未示出),诸如扬声器和打印机。本领域一般技术人员会理解,监视器107可编入数字化器165。这种布局使用户可方便地利用笔166接触监视器107的显示屏,以直接指点监视器107上显示的对象。
计算机100可用对1个或多个远端计算机(诸如远端计算机109)的逻辑连接工作在联网环境中。尽管图1中仅画出具有相关应用程序196的存储器装置111,远端计算机109可以是服务器、路由器、网络PC、对等装置或其他公共网络节点,并且通常包含许多或全部以上对计算机100所述的单元。图1所示逻辑连接包含局域网(LAN)112和广域网(WAN)113。该联网环境为办公室常用、企业范围的计算机网、内联网和因特网。这样,这里就不详细说明。
用于LAN联网环境时,计算机100通过网络接口或适配器114连接局域网112。用于WAN联网环境时,个人计算机100通常包含调制解调器115或用于在诸如互联网的广域网113上建立通信链路的其他装置。内部或外部的调制解调器115经串行端口接口106连接系统总线130。联网环境中,相对于个人计算机100示出的程序模块或其各部分可存入远端存储器装置。当然,应理解所示网络连接为示例,可用其他方法建立计算机间的通信链路。设想已存在诸如TCP/IP、以太网、FTP、HTTP等各种已知协议,本系统可按客户机-服务器配置工作,使用户可从万维网服务器检索网页。能用任一常规万维网浏览器显示并处理网页数据。
透明墨迹覆盖接口图2说明计算机的监视器提供的显示区201。所示实施例中,显示区201与数字化器165一起扩展。因此,用户可通过使输入笔166接触显示区201的表面,建立计算机的手写输入。如该图所示,显示区201显示Microsoft Word字处理软件应用的图形用户接口203。该显示还包含覆盖大部分Word用户接口203(后文简称为下层用户接口)的透明用户接口205。
由于用户接口205透明,图2中不能看清。然而该图中用虚线207表示该用户接口205存在的边界。所示实施例中,透明用户接口205覆盖大部分显示区201。当用户在该接口205对应的显示部分上建立手写输入时,识别该手写输入前在该接口205显示手写输入代表的手写对象,这点下文将详细说明。一旦识别了手写输入,就在下层用户接口203(即微软的Word字处理软件应用的用户接口,该应用有时简称为下层应用)显示从手写输入识别的文本,并且从透明用户接口205删除该文本。
从图2可知,透明用户接口205不是微软Windows操作操作或Macintosh操作系统通常用的普通窗形用户接口。即,该接口205没有普通窗口型用户接口那样的边界和工具栏。实际上,该接口205显示边际线209,规定该接口205受理手写用的显示区201的手写范围。这些边际可画成例如50%抖动的灰色。另外,可用alpha混合显示边际线条209,但本领域一般技术人员会理解,采用抖动会减少耗电。当然,本领域的一般技术人员也会理解,可将透明用户接口205按需修改成包含边界或工具栏。
要建立手写输入,用户就使笔166与显示区201接触,如图3所示。透明用户接口205对笔166移动到该接口的手写区作出响应,也显示手写引导线211。这些线从1条边际线延伸到对置的边际线,帮助用户进行水平手写输入。本领域的一般技术人员会理解,用户手写越平直,手写输入识别越准确。因此,引导线211有助于提高用户手写输入的识别准确性。
引导线211还用于给用户提供有关透明用户接口205的工作状态反馈。具体而言,该接口205仅在准备受理手写输入时显示引导线211。因此,注意点从该接口205转移到另一用户接口(诸如下层用户接口203)时不显示引导线211。而且,当笔166移到边际线209形成的边界外时,或者笔166移动得超过离开显示区201表面的门限高度时,也不显示引导线211。图4说明用户用笔166进行手写输入后的透明用户接口205。从该图可知,透明用户接口205显示与手写输入对应的手写墨迹对象。通过在引导线211之间保持手写输入,使手写输入保持水平,因而可较准确识别。
用户开始写文本的另一行时,如图5所示,引导线211的位置变化,以配合文本的新行。所示实施例中,引导线211仅紧扣(snap)透明用户接口的一些固定位置。当然,本发明的其他实施例允许引导线211重新定位于透明用户接口205的任何适当位置。
为了较好符合用户的书写意图,引导线211的位置取决于笔166的状况。一旦用户将笔166接触屏幕,就把引导线211固定在适当位置。这就方便于例如当用户的手写包含在引导线211上下延伸的字的情况。因此,接触手写区后,用户可将笔166移到手写区任意区域,引导线211的位置会保持相同。
即使笔166离开书写区表面,引导线211也依据笔166的位置,在一段门限时间定位不变。这使用户在书写、继续写1行时,可短暂抬笔166离开手写区,而引导线211不移动。然而,如果用户将笔166抬起并从其先前接触点移开一段门限距离,引导线211的位置会自动移动,以配合笔166的新位置。
根据本发明的一些实施例,笔166的移动方向决定引导线211重新定位前的门限时间。例如,用户将笔166移到当前书写行上方的位置,则引导线211保持固定的时间长于将笔166移到当前书写行下方位置时的保持时间,即使到这2个位置的距离相同也这样。本领域一般技术人员已公知,有些数字化器提供悬停特性,使数字化器在笔166处于其表面上方时可检测该笔的位置。此特性可用于检测笔166逼近手写区的时间,以开始显示引导线。还可将该特性用于较快速地判定用户移动笔166的方向,以便较好地确定引导线211重新定位在新位置前保持固定的门限时间。
在图3和图4中还可看出,透明用户接口205的实施例提供包围笔166的位置的距形半透明区213。透明用户接口205提供这种半透明区213,以便使用户可较好地读取其手写输入对应的手写对象,而不被下层图形用户接口分散注意力。可通过例如对透明用户接口205进行alpha混合来建立此半透明区213。该区213可高到足以包含用户当前所作手写输入行和当前所作手写输入行紧邻上下各行的上下小距离。当然,本发明的其他实施例可改变矩形半透明区213的大小、形状和外观,或者将其显示都省略掉。
在透明用户接口205中显示对应手写输入的手写对象,直到识别出手写输入为止。即使注意力从透明用户接口205转移到另一用户接口(诸如下层用户接口203),这些手写对象也继续显示。在超时时限后或用户指令时,发生手写输入识别。当识别该手写输入时,将其插到在透明用户接口205下层的用户接口中的插入点。于是,如图6所示,在微软Word用户接口显示从手写输入识别的文本,并且从透明用户接口205删除相应的手写对象。因此,本发明的透明用户接口205提供一种方便的方法,使用户可将手写输入供给下层应用,而且还能同时观看下层应用的用户接口和对应手写输入的手写对象。
本发明的有些实施例可用于翻译亚洲语的书写。根据这些实施例,引导线211呈现为框,而不是直线。透明用户接口205还可显示图形对象,用于在将所识别手写翻译传到下层应用前纠正手写翻译。
当然,本领域的一般技术人员会理解,透明用户接口205可按需要包含各种图形对象。例如,如上文所述,该接口205的一些实施例可包含边界或工具栏。而且,该接口205的一些实施例还可包含图形对象,用于修改手写对象的外观,掩盖该接口205或完成其他功能。
穿通法本领域的一般技术人员会理解,有时用户希望将笔166建立的指点器输入当作是对下层用户接口203的输入,而不是对透明用户接口205的手写输入。例如,用户希望选择下层用户接口203中已经识别且显示的文本,或者希望激活该接口203中的按键或菜单选择。这些情况下,透明用户接口205必须区分对透明用户接口205的手写输入的指点器输入和对下层用户接口203的输入。有利的是,本发明的透明用户接口205提供许多方法,使指点器输入可传到下层用户接口203。
该方法的一种称为“轻快笔触”技术。根据这种方法,当透明用户接口205不显示手写对象时,笔166在手写区的轻快拍触将处理成对下层用户接口203的输入。具体而言,如果透明用户接口205未显示手写对象,并且手写区在也对应于下层用户接口203的显示器上的部位收到166的轻触,则将该指点器输入处理成对下层用户接口203的输入,而不是对透明用户接口205的手写输入。
一些因素的组合将决定何时将笔轻触当作对下层用户接口203的指点输入,而不是对透明用户接口205的手写输入。判断将笔轻触当作对下层用户接口203的指点输入的第1因素是笔166对手写区的初始接触与该笔离开手写区的时刻之间的时间间隔量。将笔166与手写区超过门限时间的延长接触当作建立手写输入的笔划开始,而不是给下层用户接口203提供输入的单次笔轻触。
判断何时将笔轻触当作对下层用户接口203的指点输入的另一因素是笔166接触手写区期间在该区的行走距离。如果笔166的移动限于其初始接触点周围的较小区域,则认为笔轻触是试图对下层应用提供指点输入。另一方面,如果笔166接触手写区时,经过其初始接触点超过门限距离,则认为指点器输入是手写输入,而不是笔166的单次轻触。
又一因素是接收轻触的环境,如上文所述。如果透明用户接口205不显示任何手写对象,则用户不可能试图在空的接口建立单独手写对象。实际上,透明用户接口205会认为该轻触更可能是对其位置下方的下层用户接口203的指点器输入。当然,本领域的一般技术人员会理解,本发明的一些实施例为了识别轻快笔触,可仅要求笔触的门限距离内不存在手写对象,而不要求透明用户接口205各处都不包含手写对象。例如,本发明的有些实施例在笔触点的2英寸内无手写对象显示时,就认为是轻快笔触。
同样,区分与对透明用户接口205的手写输入对下层用户接口203的指点器输入时,也可考虑下层用户接口203中相对于对象的笔触位置。例如,如果直接在下层用户接口203中按键或菜单选择上方收到笔触,透明用户接口205可放宽将笔触识别为下层用户接口203的指点器输入而非透明用户接口205的手写输入所需的时间门限和距离门限。根据上述图符,如果笔触正下方无下层用户接口203中的图形对象,透明用户接口205可减小时间门限或距离门限,使透明用户接口205更可能将笔触当作手写输入,而不是下层用户接口203的指点器输入。
当然,本领域的一般技术人员会理解,可用其他方法和准则区分快触与手写输入。例如,随处写工具可使用可训练系统(诸如神经网络或统计判定系统)区分指点器输入穿通到下层用户接口的快触与透明用户接口205的手写输入。
指点器输入传到下层应用的另一种方法是持通法(hold through)。根据这种方法,如果用户在1个位置握持笔166不动时间够长,透明用户接口205就识别为用户试图将指点器输入递交给下层用户接口203,而不是要建立手写输入。当然,本领域的一般技术人员会理解,实际上用户不可能对数字化显示器表面握持笔166完全不动。
因此,用户是否应用持通法的判断中,透明用户接口205考虑笔166处于该部位的总时间和笔166离开初始位置的距离,以判断是将指点器输入当作手写输入,还是当作对下层应用的输入。例如,每次笔166移到新部位,透明接口205都启动计数器,判断笔166是否按门限时间留在该部位的门限距离内。因此,笔166可在某位置轻微摆动或移动,且如果在门限时间内笔166没有超过离开该部位的门限距离,则透明接口205仍寄存持通命令。本发明的另一实施例甚至允许笔166移动超过门限距离一段很短的时间,只要笔166快速返回距离初始位置的门限距离内。
同样,透明用户接口205在判断输入当作手写处理还是当作下层用户接口203的输入时,也考虑指点器输入的环境。例如,如果将笔166保持在与下层用户接口203中按键或菜单选择所对应的某部位,则透明用户接口205较可能将指点器输入当作为下层接口的输入。例如,透明用户接口可在用户是否利用持通法技术的判断中放宽门限时间、门限距离或两者。另外,如果将笔166保持在与下层用户接口203中图形对象不对应的某部位,透明用户接口205较可能将指点器输入当作手写输入。
有利的是,一旦判定指点器输入的一部分是下层用户接口203的输入,就将全部指点器输入当作对下层用户接口203的输入,而不当作手写。因此,在用户在某个位置保持笔166时间足够长以建立指点器输入对下层用户接口203的持通后,将笔166离开手写区前得到的全部后续指点器输入都当作对下层用户接口203的输入,而不当作手写。这便于使用户可持通到下层用户接口203,并接着通过移动笔166使图形对象移动(或选择多个图形对象),不必抬起笔166离开手写区。
同样,用户在某个位置保持笔166时间长到足以建立持通前所收到的指点器输入也可当作对下层用户接口203的输入,而非手写输入。例如,用户可跨越手写区移动笔166。可将这种笔166的初始指点器输入当作手写输入,并且透明接口显示与这种手写输入对应的手写对象。如果其后用户持笔166静止超过门限时间,而不从手写区抬起笔166,则将先前识别为手写输入的全部指点器输入当作对下层用户接口203的指点器输入。删除与该指点器输入对应的手写对象。在适当的下层用户接口203(即指点器输入下方的用户接口)进行与指点器输入对应的动作。因此,如果用户在注意力转移到下层用户接口203前,偶然移动笔166,想拖动该接口203中图形对象(或选择多个图形对象),则用户只要通过将笔166保持在目的处,就还能利用指点器输入达到其目的。
将指点器输入传到下层用户接口203的又一方法是笔势(gesture)识别。本领域的技术人员会理解。有些手写识别处理将手写输入笔划的特定布局识别为命令,而不是文本。这些特定手写输入笔划常称为笔势。例如,根据本发明的透明用户接口205可将特定组合的手写笔划识别为命令间隔、退格和轻击(即控制功能的激发,诸如用户按压鼠标上的按钮时)的笔势。当然,可将透明用户接口205修改成识别附加或另外的笔势。
透明用户接口205可将一些笔势识别为该接口专用,将另一些笔势识别为下层应用专用。或者/而且,透明用户接口205可用探索法判断笔势要作为其输入,还是作为对下层用户接口203的输入。例如,透明用户接口205可将划掉笔势识别为删除该笔势所示文本的命令。如果在含手写对象的透明用户接口205一部分中收到划掉笔势,则透明用户接口205将该划掉笔势当作透明用户接口205的输入,并删除所示手写对象和关联的手写输入。
另外,如果在不含手写对象的手写区中的某个部位收到划掉笔势,则将该笔势传给含插入点的下层用户接口203。然后,可利用该划掉笔势从下层用户接口203删除先前识别的文本。又,如果在最近含手写对象的手写区中某个部位上收到划掉笔势,就将该笔势传到接收与该手写对象对应所识别手写输入的下层用户接口203。而且,可用手写笔势删除所识别的文本。
除识别笔势外,透明用户接口205可用探索法(heuristics)区分用户想作为手写输入的指点器输入与用户想作为对下层用户接口203的输入的指点器输入。例如,这些探索法可鉴别要用作手写输入的指点器输入的独特特性,并且将不包含这些特性的指点器输入当作对下层用户接口203的输入。或者,这些探索法可鉴别要用作对下层用户接口203的输入的指点器输入的独特特征,将不含这些特征的全部指点器输入的项作为手写输入。
本发明的透明用户接口205可用于将指点器输入传给下层用户接口203的另一方法是将该下层用户接口203指定为排除窗口。具体而言,透明用户接口205可让用户或软件应用将特定用户接口指定为排除窗。当透明用户接口205在与排除窗对应的位置接收指点器输入时,不将该指点器输入当作手写。实际上,透明用户接口205自动将该指点器输入当作对下层排除窗的输入,并将其供给下层用户接口203。因此,不能在排除窗上作手写输入,并且该窗上不显示手写对象。然而,根据本发明的一些实施例,不覆盖排除窗的部分手写区中开始的手写可在排除窗上继续进行,以便让用户可连续书写。
这种排除窗的例子可包括例如滚动条。指定滚动栏作为排除窗,便于使用户可滚动下层应用,不需要建立与轻快笔触法或持通法对应的指点器输入。可指定为排除窗的另一种用户接口类型是纠正非正确识别文本用的纠正用户接口。本发明的一些实施例只允许用户将用户接口指定为排除窗,而另一些实施例只允许外部软件应用将用户接口指定为排除窗。当然,本发明的又一些实施例使用户和外部软件应用均可将用户接口指定为排除窗。
随处写工具图7示出实现上述本发明透明用户接口205的随处写工具。如该图所示,随处写工具701包含分层的墨迹控制模块703。如下将详细描述,该模块703包含手写输入识别模块705、指点器输入目的模块707和再现模块709,它显示边际线209、引导线211和对应用于手写输入的手写对象。随处写工具701利用文本输入面板模块711作为基础。该模块711的目的在于对用户提供许多数据输入选项,其中包括使用本发明的透明用户接口205,后文将详述。回调模块713将来自分层墨迹模块703的数据传到再现模块709。
除随处写工具701的这些部件外,图7还示出笔输入应用程序接口(API)715和数字化显示器717。如本领域一般技术人员所公知,笔输入API 715接收当输入笔166接触数字化显示器717时建立的指点输入。然后,笔输入API将收到的指点器输入传给随处写工具701的分层墨迹控制模块703。除对笔输入API 715的笔输入外,数字化显示器717还接收并显示来自再现模块709和下层应用用户接口的数据。如上文所述,数字化显示器717组合监视显示器和数字化器165,使用户可方便地通过笔166接触数字化显示器717的表面,来指点所显示的图形对象。然而,本领域的一般技术人员会理解,用本发明的其他实施例,能与显示器分开地实现数字化器165。
图7还示出下层应用及其关联的下层应用用户接口。如上文所述,下层用户接口203是在本发明透明输入面板下方显示的接口。下层应用则为形成下层用户接口203的主方的软件应用。虽然图7仅示出1个下层应用及其关联的下层应用用户接口,本发明的透明用户接口205可覆盖许多不同的下层用户接口203。这些下层用户接口203可利用1个或多个下层软件应用作为基础。
参照图8所示流程图说明随处写工具701的操作。步骤801中,分层墨迹控制模块703从笔输入API 715接收指点器输入。然后,步骤803中,指点器输入目的模块707判断将该指点器输入当作手写输入,还是当作对下层应用的输入。于是,该模块707利用探索法判断是否将指点器输入当作轻快笔触、持通输入或代表对下层应用的命令的笔势,如上文所述。该模块707还判断在显示区201某位置上收到的指点器输入是否对应于已指定为排除窗的下层用户接口203。
如果指点器输入目的模块707判断指点器输入是对下层应用的输入,则分层墨迹控制模块703在步骤805将该输入供给下层应用。根据本发明的有些实施例,分层墨迹控制模块703可将指点器输入直接供给下层应用。或者,分层墨迹控制模块703可仅将指点器输入连同传送该输入给下层应用的指示送回笔输入API 715。下层应用一收到该指点器输入,就对该输入作出应答,并且在下层应用用户接口显示适当的相应动作。
另一方面,如果指点器输入目的模块707判断该指点器输入是手写输入,则在步骤807将该指点器输入中继到手写输入识别模块705进行识别。指点器输入目的模块707还在步骤809将手写输入传给再现模块709。于是,步骤811中,再现模块709显示与手写输入对应的写对象。当手写输入识别模块705开始识别手写输入时,回调模块713对文本输入面板模块711报告识别处理的每次启动。而文本输入面板模块711显示一指示符,向用户证实识别处理已开始。该指示符可为例如滚动栏指示符或旋转对象,可通过再现模块709或另一显示处理加以显示。
回调模块719对文本输入面板模块711送回有关分层墨迹控制模块703的状态是有效还是无效的报告。此信息有助于使输入面板模块评定分层墨迹控制模块703启动的时刻与其实际工作的时刻之间的延时。如果文本输入面板保持激发透明用户接口205的独立用户接口,可在该接口显示这种反馈的结果。例如,如果文本输入面板保持能用按钮激发透明用户接口205的独立用户接口,则在分层墨迹控制模块703激活时,可高亮显示该按钮。
当手写输入识别模块705完成手写输入识别时,在步骤813将识别的文本提供给文本输入面板模块711。而该模块711在步骤815又将识别的手写输入供给下层应用。于是下层应用可在其下层用户接口中显示识别的文本。此外,步骤817中,分层墨迹控制模块703还指示再现模块709删除与所识别手写输入对应的手写对象。根据本发明的一些实施例,回调模块713还通知文本输入面板模块711已完成识别处理。于是,该模块711显示证实完成识别处理的状态指示符。该指示符可由再现模块709或另一显示处理进行显示。
现回到再现模块709,该模块709在显示区201上实现约400个小叠层窗的阵列。这种窗相当于一种分层窗,能在例如微软WindowsXP操作系统中用Win32 API建立。如本领域一般技术人员所公知。这种类型的分层窗是透明,但可含图形对象,并且还使下层用户203可得到更新和观看。具体而言,分层窗的外观与下层用户接口203混合,使用户能在两者中清楚观看图形对象。由于分层窗透明(即不含边界、工具栏或菜单栏),该窗起下层用户接口203的透明覆盖的作用。
本领域一般技术人员会理解,这种分层窗不能部分更新,必须代之以整体更新。因此,即使让一个分层窗包含显示区201适度部分,也需要大量处理资源。由于分层窗外形与下层用户接口203混合,每次更新下层用户接口203或分层窗需要大量处理时间。因此,再现模块709利用数百个小叠层窗的阵列。这便于减少任一分层窗更新所需的处理时间。此外,可隐去不含图形对象的分层窗(即不含边际线209、引导线211或手写对象的透明用户接口205部分),直到笔输入API 715检测出与该窗对应的指点器输入才显示。
文件输入面板711的目的是提供多用户接口,用于给计算机递送数据。例如,除作为分层墨迹控制模块703的基础外,该模块711还可作为提供上述常规专用手写输入用户接口的其他模块的基础。该模块711又可作为实现语音识别处理和软键盘处理的模块的基础。因此,该模块711接收手写输入识别模块705识别的文本,将其中继到下层应用,而且也可接收来自其他处理的要传给下层应用的附加识别文本。当然,本领域的一般技术人员会理解,其他软件应用也可作为分层墨迹控制模块703和再现模块709的基础,以提供本发明的透明用户接口205。
结语尽管用所附权利要求规定本发明,这些权项为示例,说明本发明可包含这里所述单元和步骤的任何组合或子组合。因此,存在许多规定本发明的替换组合,其中包含说明书(包括说明书、权项和附图)的1个或多个单元的各种组合或子组合。相关技术人员会明白,这里所述1个或多个单元或者步骤可单独或按其组合用作本发明的修改或变换或者作为本发明的一部分。这里所含本发明的书写的说明要覆盖所有这些修改和变换。例如,在各种实施例中,已示出某一数据顺序。然而,本发明包括该数据的任何重新再现。又,采用诸如规模等某些特性单位(例如字节和位)的情况下,也预期用其他单元。
权利要求
1.一种处理指点器输入的方法,其特征在于,包含提供覆盖第2图形用户接口的透明第1图形用户接口;在与透明第1图形用户接口对应的手写区接收指点器输入;在透明第1图形用户接口显示指点器输入表示的手写对象;识别来自指点器输入的文件;和将识别的文本供给软件应用。
2.如权利要求1所述的指点器输入处理方法,其特征在于,还包含将识别的文本供给作为第2图形用户接口的基础的软件应用;以及在第2图形用户接口显示识别的文本,使得可通过透明第1图形用户接口观看识别的文本。
3.如权利要求2所述的指点器输入处理方法,其特征在于,还包含在也与第2图形用户接口对应的手写区部分接收指点器输入。
4.如权利要求2所述的指点器输入处理方法,其特征在于,还包含显示由不作为第2图形用户接口的基础的第2软件应用作为基础的第3图形用户接口,和在与第3图形用户接口对应的手写区部分接收指点器输入。
5.如权利要求1所述的指点器输入处理方法,其特征在于,还包含更新第2图形用户接口,使得可通过透明第1图形用户接口观看对第2图形用户接口的更新。
6.如权利要求1所述的指点器输入处理方法,其特征在于,还包括显示规定手写区的边际。
7.如权利要求1所述的指点器输入处理方法,其特征在于,还包含在透明第1图形用户接口中显示手写引导线。
8.如权利要求7所述的指点器输入处理方法,其特征在于,还包含仅在透明第1图形用户接口的固定部位显示手写引导线。
9.如权利要求7所述的指点器输入处理方法,其特征在于,还包含在透明第1图形用户接口上不显示所接收指点器输入时,删除手写引导线。
10.如权利要求7所述的指点器输入处理方法,其特征在于,还包含通过用笔接触手写区接收指点器输入,和笔移到手写区外时删除手写引导线。
11.如权利要求7所述的指点器输入处理方法,其特征在于,还包含通过用笔接触手写区接收指点器输入,和笔超过手写区上方门限距离时删除手写引导线。
12.如权利要求7所述的指点器输入处理方法,其特征在于,还包含通过用笔接触手写区接收指点器输入;笔接触手写区中的第1位置时,在第1位置显示引导线,以及仅当抬笔离开第1位置一段门限时间,接着又接触手写区中离开第1位置一段门限距离的第2位置时,在第2位置显示引导线。
13.如权利要求12所述的指点器输入处理方法,其特征在于,所述门限时间或门限距离取决于笔从第1位置移到第2位置的移动方向。
14.如权利要求1所述的指点器输入处理方法,其特征在于,还包含通过用笔接触手写区接收指点器输入;和围绕笔与手写区的接触点,在第1透明图形用户接口显示半透明区。
15.如权利要求14所述的指点器输入处理方法,其特征在于,还包含如果在半透明区显示1个或多个手写对象,则在半透明区上显示1个或多个手写对象。
16.如权利要求1所述的指点器输入处理方法,其特征在于,还包含从表示手写对象的指点器输入识别文本时,删除显示的手写对象。
17.如权利要求1所述的指点器输入处理方法,其特征在于,还包含在与透明第1图形用户接口对应的手写区接收第2指点器输入;判断第2指点器输入是否对第2图形用户接口的输入,以及如果判定第2指点器输入是对第2图形用户接口的输入,将第2指点器输入供给第2图形用户接口,否则显示第2指点器输入表示的手写对象。
18.如权利要求17所述的指点器输入处理方法,其特征在于,还包含判断第2指点器输入是否在限于第1门限区内,在门限时间内完成,并且围绕第1门限区的第2门限区中未显示手写对象时得到接收;如果第2指点器输入限于门限区内,在门限时间内完成,并且在围绕第1门限区的第2门限区未显示手写对象时得到接收,则判定为第2指点器输入是对第2图形用户接口的输入。
19.如权利要求18所述的指点器输入处理方法,其特征在于,第2指点器输入处于也与第2图形用户接口对应的手写区内,并且所述第1门限区、第2门限区或门限时间取决于在手写区中收到第2指点器输入的位置。
20.如权利要求18所述的指点器输入处理方法,其特征在于,还包含判断至少一部分第2指点器输入是否在限于门限区内,并且保持超过门限时间;如果至少一部分第2指点器输入限于门限区内且保持超过门限时间,则判定为第2指点器输入是对第2图形用户接口的输入。
21.如权利要求20所述的指点器输入处理方法,其特征在于,第2指点器输入处在也与第2图形用户接口对应的手写区中,并且所述门限区或门限时间取决于手写区中收到第2指点器输入的位置。
22.如权利要求17所述的指点器输入处理方法,其特征在于,还包含在也与第2用户接口对应的手写区接收第2指点器输入;判断是否已将第2图形用户接口指定为排除图形用户接口,以及如果已将第2图形用户接口指定为排除图形用户接口,则判定为第2指点器输入是对第2图形用户接口的输入。
23.如权利要求17所述的指点器输入处理方法,其特征在于,还包含判断指点器输入是否符合指定经过笔势;如果指点器输入符合指定经过笔势,判断为第2指点器输入是对第2图形用户接口的输入。
24.一种接收指点器输入的方法,其特征在于,包含在从笔触点接收指点器输入的手写区上提供图形用户接口、在与笔相对于手写区的位置对应的图形用户接口的部位显示引导线、和从笔与手写区的接触点接收指点器输入。
25.如权利要求24所述的指点器输入接收方法,其特征在于,还包含仅在图形用户接口的固定部位显示手写引导线。
26.如权利要求24所述的指点器输入接收方法,其特征在于,透明第1图形用户接口上不显示所接收指点器输入时,删除手写引导线。
27.如权利要求24所述的指点器输入接收方法,其特征在于,还包含在笔移到手写区外时删除手写引导线。
28.如权利要求24所述的指点器输入接收方法,其特征在于,还包含笔超过手写区上方门限距离时删除手写引导线。
29.如权利要求24所述的指点器输入接收方法,其特征在于,还包含当用笔接触手写区中第1位置时,在第1位置显示引导线;以及仅当抬笔离开第1位置一段门限时间,接着又接触手写区中离开第1位置一段门限距离的第2位置时,在第2位置显示引导线。
30.如权利要求29所述的指点器输入接收方法,其特征在于,所述门限时间或门限距离取决于笔从第1位置移到第2位置的移动方向。
31.一种处理指点器输入的方法,其特征在于,包含在与第1用户接口对应的手写区中接收第2指点器输入;判断所述指点器输入是否对第2图形用户接口的输入,以及如果判定该第二指点器输入是对第2图形用户接口的输入,将第2指点器输入供给第2图形用户接口。
32.如权利要求31所述的指点器输入处理方法,其特征在于,还包含如果判定第2指定器输入不是对第2图形用户接口的输入,在第1图形用户接口显示第2指点器输入表示的手写对象。
33.如权利要求31所述的指点器输入处理方法,其特征在于,还包含判断第2指点器输入是否限于第1门限区内;在门限时间内完成;并且围绕第1门限区的第2门限区中未显示手写对象时得到接收;如果第2指点器输入限于门限区内,在门限时间内完成,并且在围绕第1门限区的第2门限区中无手写对象显示时得到接收,则判定为第2指点器输入是对第2图形用户接口的输入。
34.如权利要求33所述的指点器输入处理方法,其特征在于,第2指点器输入处在也与第2图形用户接口对应的手写区,并且所述第1门限区、第2门限区或门限时间取决于收到第2指点器输入的手写区中的位置。
35.如权利要求31所述的指点器输入处理方法,其特征在于,还包含判断至少一部分第2指点器输入是否限于门限区内,并且保持超过门限时间;如果至少一部分第2指点器输入限于门限区内且保持超过门限时间,则判定为第2指点器输入是对第2图形用户接口的输入。
36.如权利要求35所述的指点器输入处理方法,其特征在于,第2指点器输入处在也与第2图形用户接口对应的手写区,并且所述门限区或门限时间取决于收到第2指点器输入的手写区中的位置。
37.如权利要求31所述的指点器输入处理方法,其特征在于,还包含判断指点器输入是否符合指定经过笔势;如果指点器输入符合指定经过笔势,判断为第2指点器输入是对第2图形用户接口的输入。
38.一种处理指点器输入用的工具,其特征在于,包含显示与所接收指点器输入对应的手写对象的再现模块;分层墨迹控制模块,该模块用于判断所接收指点器输入是用于再现模块进行显示还是对外部软件应用的输入,并且如果指点器输入用于再现模块进行显示,则将指点器输入供给再现模块,如果指点器输入用于外部软件应用,则将指点器输入供给该外部应用。
39.如权利要求38所述的指点器输入处理工具,其特征在于,还包含文本输入面板模块,该模块作为再现模块和分层墨迹控制模块的基础;控制再现模块中对象的显示,并且将指点器输入从分层墨迹控制模块传送到再现模块。
40.如权利要求39所述的指点器输入处理工具,其特征在于,还包含将指点器输入从分层输入模块传送到文本输入面板模块的回调模块。
41.如权利要求40所述的指点器输入处理工具,其特征在于,所述回调模块向再现模块报告分层墨迹控制模块的操作状态。
42.如权利要求40所述的指点器输入处理工具,其特征在于,分层墨迹控制模块接收再现模块显示用的指点器输入时,回调模块向文本输入模块报告。
43.如权利要求38所述的指点器输入处理工具,其特征在于,分层墨迹控制模块从再现模块显示用的指点器输入中识别文本数据;分层墨迹控制模块从再现模块显示用的指点器输入中进行文本数据识别时,回调模块向文本输入模块报告。
全文摘要
一种覆盖其他应用的用户接口的透明图形用户接口。该透明用户接口接收手写输入,并且显示透明手写接口区域中所接收手写输入表示的手写对象。本发明的透明用户接口可扩展成包含多数计算机显示区,从而用户可在显示区的任一处书写。这还使用户可书写多行文本。此外,由于用户接口透明,用户可观看其他应用的下层图形用户接口,这些应用包括接收从写入透明用户接口的手写输入中所识别的文本。透明用户接口还让用户可与下层图形用户接口互动。
文档编号G06F3/048GK1458564SQ0311033
公开日2003年11月26日 申请日期2003年4月7日 优先权日2002年5月14日
发明者L·M·华帕雅, E·M·格德尔, D·D·卡洛夫, J·W·佩蒂洛斯, T·R·维柯 申请人:微软公司