详细说明
如上所述,本发明的各个方面涉及用于在基于笔的计算系统和接受采取电子墨水形式的和/或来自电子笔或针笔的输入的其他设备的操作中提供针笔聚焦的各种系统、方法和计算机可读介质。为协助读者,以下说明分成各个分部。这些分部包括:“术语”;“本发明的各个方面的概括说明”;“范例硬件”;“根据本发明的范例系统、方法和计算机可读介质”;以及“结论”。
术语
本说明书中使用以下术语,并且,除非另有规定或从该上下文中显而易见,这些术语具有以下所提供的含义:
“笔”——可用于将墨水输入电子文档并且/或者操作或控制电子文档的任何类型的用户输入设备。在本说明书中,可交换地使用术语“笔”和“针笔”。
“笔向下事件”——当笔接触数字转换器时被启动的事件。通常,当该笔离开该数字转换器表面时,笔向下事件将结束(在本说明书中,也被称作“笔向上事件”)。
“盘旋”——将笔定位或设置在贴近或邻近数字转换器表面,但不接触该表面。特定地点或位置处没有明确的时限或停止运动对于构成“盘旋”动作而言是必要的。例如,“盘旋”可能发生于该用户连续将该笔移向数字转换器表面并使其与数字转换器表面接触的时期期间。
“聚焦”——指定或建立用于接收输入的用户界面的一个元件、区域或部分(例如,用于接收输入的目标区域或元件)。在一些实例中,该界面的这整个可见部分或输入区域以及/或者这整个界面可能具有聚焦。
“呈现(Render)”或“被呈现(Rendered)”或“正呈现(Rendering)”——确定将如何显示(是在屏幕上、被打印,还是按某种其他的方式来输出)信息(包括文本、图形和/或电子墨水)的过程。
“计算机可读介质”意味着可以由计算机系统上的用户来存取的任何可用的介质。举例来讲(不作限制),“计算机可读介质”可以包括计算机存储介质和通信介质。“计算机存储介质”包括易失和非易失的可移动和不可移动的介质,该介质用关于信息(例如,计算机可读指令、数据结构、程序模块或其他数据)存储的任何方法或技术来加以执行。“计算机存储介质”包括(但不局限于)RAM、ROM、EEPROM、快闪存储器或其他存储技术;CD-ROM、数字通用光盘(DVD)或其他光学存储设备;盒式磁带、磁带、磁盘存储器或其他磁性存储设备;或可以被用来存储所需信息并可以由计算机来存取的其他任何介质。“通信介质”通常具体表现为在调制数据信号(例如,载波或其它传送机制中的)计算机可读指令、数据结构、程序模块或其他数据,而且它包括任何信息传递介质。术语“调制数据信号”意味着一种信号,该信号的一个或多个特征按这样一种方式来加以设置或更改,以便为该信号中的信息编码。举例来讲(不作限制),通信介质包括有线介质(例如,有线网络或直线连接)和无线介质(例如,声音、RF、红外线和其他无线介质)。以上任何内容的组合也应该被包括在“计算机可读介质”的范围以内。
本发明的各个方面的概括说明
本发明的各个方面涉及用于在基于笔的计算系统或接受作为电子墨水和/或来自笔或针笔的输入的其他设备中管理针笔聚焦的系统和方法。这类系统和方法可以包括:(a)接收输入(例如,经由与数字转换器关联的输入设备),该输入指出针笔的位置贴近数字转换器;以及(b)为与该针笔的位置相对应的第一个控制元件提供聚焦(例如,使用计算机处理器)。在本发明的至少一些例子中,当该针笔位于该数字转换器的表面附近时,但在它实际上接触该数字转换器表面之前,最初将接收指出该针笔存在的输入。在使用过程中,该针笔可以继续移向该数字转换器表面,并且,一旦它接触该表面,该数字转换器就可以在表示具有聚焦的控制元件的该数字转换器的区域中接受输入(例如,作为电子墨水或其他输入)。
本发明的额外的和/或交替的各个方面涉及用于管理针笔聚焦的系统和方法,它们包括:(a)确定第一个针笔的位置是否贴近数字转换器的表面(例如,经由与数字转换器关联的输入设备);以及(b)为与这第一个针笔的位置相对应的第一个控制元件提供聚焦(例如,使用计算机处理器),这响应于:(i)“这第一个针笔位于贴近该数字转换器”的确定,或(ii)这第一个针笔与该数字转换器的表面之间的接触。在根据本发明的这些方面中的至少一些方面的系统和方法中,如果当该针笔实际上接触可用控制元件中的该数字转换器的表面时,最初指出针笔存在,那么,可以立即在任何可用控制元件中建立针笔聚焦。
如在该技术领域中众所周知的,在不脱离本发明的前提下,可以出于任何目的(包括与建立键盘和/或鼠标聚焦关联的常规的原因和目的)来使用聚焦建立。在根据本发明的系统和方法的一些例子中,可以使用聚焦建立来准备关联的控制元件,以接收输入(例如,准备输入区域,以接收电子墨水或其他输入;检索并/或接受指出引入数据的各种特征(例如,数据类型(墨水、擦除、加亮、选择等)的数据;以及类似的动作)。作为选择,当在本发明的至少一些例子中建立针笔聚焦时,这可能会从低功率和/或待机模式中“唤醒”该系统,并启动更加活跃的处理模式。作为另一个特殊的例子,可以将针笔聚焦的建立用作对该系统的触发器,以提高随意地至少在与接收聚焦的控制元件关联的该数字转换器的区域中寻找输入数据(例如,寻找新的输入电子墨水或其他输入)的数字转换器轮询频率。当在不脱离本发明的前提下实现针笔聚焦时,可以触发任何其他合适的或需要的处理。
在根据本发明的系统和方法的至少一些例子中,如果针笔移离数字转换器而没有接触其表面,以致不再接收指出针笔接近度的输入,那么,可以从这第一个控制元件中撤回聚焦。作为另一个可选择的方案,当针笔如上所述那样移离时,至少直到建立新的聚焦位置之前,可以保持与这第一个控制元件相关的聚焦。作为又一个可选择的方案,当针笔如上所述那样移离时,可以在一段预定的时期内保持与这第一个控制元件相关的聚焦,然后,要么如果没有建立新的聚焦位置,则撤回该聚焦,要么如果和当建立新的聚焦时,可重建该聚焦。当该针笔跨越该用户界面盘旋和移动时,聚焦可能从一个控制元件变到另一个控制元件。
在不脱离本发明的前提下,可以用任何合适的方式来建立关于该数字转换器屏幕上或该用户界面中所表现的控制元件的、针笔聚焦的位置或确立。例如,通过确定直接邻近该针笔(当该针笔在附近盘旋,但不接触该数字转换器表面时)的控制元件(如果有的话)的身份,然后为那个控制元件提供聚焦,可以建立接收针笔聚焦的控制元件。如果那个控制元件自己不是针笔可聚焦的,但它被包含在是针笔可聚焦的控制元件内,那么,可以将该针笔聚焦分配给其“容器”或“父”元件之一。
在本发明的至少一些例子中,也可以用不脱离本发明的任何方式来向用户传达针笔聚焦的建立。例如,可以通过颜色变化、界面风格变化、布局变化或与接收聚焦的控制元件关联的其他可见指示,来指出聚焦。另一个例子是:可能会出现光标或指示元件,并且/或者,当出现在具有针笔聚焦的元素中,与它在该界面中的其他位置的外观比较,它的外观可能会改变。另一个例子是:音频指示器可以向用户通知针笔聚焦建立。在一些更具体的例子中,通过呈现接收聚焦的控制元件的表示的至少一个部分的放大视图,可以指出针笔聚焦的建立。扩大该控制元件的表示可能有助于提供用于记入针对具有聚焦的该控制元件的输入的放大区域(例如,用于记入电子墨水或其他输入的放大区域)。在不脱离本发明的前提下,其他指示器和/或以上指示器的组合也是可行的。如果想的话,也不需要针笔聚焦的建立的视觉指示器、音频指示器或其他指示器。
在根据本发明的系统和方法的至少一些例子中,如果需要的话,可以与鼠标聚焦和/或键盘聚焦分开和/或同时保持针笔聚焦。此外,在至少一些例子中,针笔聚焦不需要局限于单一控制元件中的聚焦和/或与单一物理针笔关联的聚焦。更明确地说,根据本发明的至少一些例子的系统和方法可以从多个针笔那里接受输入,并且可以同时独立地提供和保持关于与每个针笔的位置相对应的控制元件的单独的针笔聚焦。
本发明的额外的方面涉及包括其上存储的计算机可执行指令的计算机可读介质,这些计算机可执行指令用于执行各种方法并且/或者操作各种系统(包括如同以上所描述的系统和方法)。
范例硬件
图1展示了可以被用来执行本发明的各个方面的一种通用数字计算环境的示意图。在图1中,计算机100包括处理单元110、系统存储器120和系统总线130,系统总线130将包括系统存储器120的各种系统部件耦合到处理单元110。系统总线130可以是几种类型的总线结构(包括存储总线或存储控制器、外围总线和使用各种总线结构中的任何总线结构的局域总线)中的任何总线结构。系统存储器120可以包括只读存储器(ROM)140和随机存取存储器(RAM)150。
基本输入/输出系统160(BIOS)被存储在ROM 140中,该基本输入/输出系统包含有助于在计算机100内的各个元件之间传送信息(例如,在启动期间)的基本例行程序。计算机100也可以包括用于从硬盘(未示出)读取并对其写入的硬盘驱动器170、用于从可移动磁盘190读取或对其写入的磁盘驱动器180,以及从可移动光盘192(例如,CD ROM或其他光学介质)读取或对其写入的光盘驱动器191。硬盘驱动器170、磁盘驱动器180和光盘驱动器191分别由硬盘驱动器接口192、磁盘驱动器接口193和光盘驱动器接口194连接到系统总线130。这些驱动器及其关联的计算机可读介质为个人计算机100提供计算机可读指令、数据结构、程序模块和其他数据的非易失存储。精通该技术领域的人将会理解:也可以在该范例操作环境中使用可以存储可由计算机存取的数据的其他类型的计算机可读介质(例如,盒式磁带、快闪存储卡、数字化视频光盘、伯努里式磁带匣、随机存取存储器(RAMs)、只读存储器(ROMs)和类似的介质)。
许多程序模块可以被存储在硬盘驱动器170、磁盘190、光盘192、ROM 140或RAM 150上,包括操作系统195、一个或多个应用程序196、其他程序模块197和程序数据198。用户可以通过输入设备(例如,键盘101)和定点设备102(例如,鼠标)来将命令和信息输入计算机100。其他输入设备(未示出)可以包括话筒、操纵杆、游戏垫、圆盘式卫星电视天线、扫描仪或类似的输入设备。这些和其他的输入设备经常通过被耦合到系统总线130的串行端口接口106而被连接到处理单元110,但它们也可以由其他接口(例如,并行端口、游戏端口、或通用串行总线(USB),以及类似物)来加以连接。另外,这些设备可以经由合适的接口(未示出)而被直接耦合到系统总线130。
监视器107或其他类型的显示设备也可以经由接口(例如,视频适配器108)而被连接到系统总线130。除监视器107以外,个人计算机通常包括诸如扬声器和打印机等其他外围输出设备(未示出)。在一个例子中,提供笔数字转换器165和附随的笔或针笔166,以便用数字方式来捕捉徒手画的输入。虽然图1中示出笔数字转换器165与串行端口接口106之间的连接,但是,在实践中,可以将笔数字转换器165直接耦合到处理单元110,或者可以用任何合适的方式(例如,如该技术领域中已知的,经由并行端口或另一个接口和系统总线130)将它耦合到处理单元110。另外,虽然数字转换器165被示出离开图1中的监视器107,但是,数字转换器165的可用输入区域可以与监视器107的显示区域共同扩张。另外,数字转换器165可以被集成监视器107中,或者,它可以作为覆盖或附加于监视器107的单独设备而存在。
计算机100可以在使用与一台或多台远程计算机(例如,远程计算机109)的逻辑连接的联网环境中进行操作。远程计算机109可以是服务器、路由器、网络PC、对等设备或其他共同的网络节点,并且,它通常包括以上相对于计算机100而描述的许多或所有这些元件,尽管为简单起见,图1中只展示了记忆存储设备111。图1中所描绘的这些逻辑连接包括局域网(LAN)112和广域网(WAN)113。这类联网环境在办公室、企业范围的计算机网络、内联网和因特网中很普遍,它们既使用有线连接,又使用无线连接。
当被用于LAN联网环境中时,计算机100通过网络接口或适配器114而被连接到局域网112。当被用于WAN联网环境中时,个人计算机100通常包括调制解调器115或用于在广域网113(例如,因特网)上建立通信链路的其他装置。调制解调器115(可能在计算机100以内或以外)可以经由串行端口接口106而被连接到系统总线130。在联网环境中,相对于个人计算机100或其各个部分而描绘的程序模块可以被存储在远程记忆存储设备中。
将会理解:所示的这些网络连接是例子,可以使用用于在这些计算机之间建立通信链路的其他技术。假定各种众所周知的协议(例如,TCP/IP、以太网、FTP、HTTP、UDP和类似的协议)中的任何协议的存在,并且,可以在用户-服务器配置中操作该系统,以允许用户从基于web的服务器中检索网页。可以使用各种常规web浏览器中的任何web浏览器,来显示并处理网页上的数据。
虽然图1环境表现了示范环境,但是,将会理解:也可以使用其他计算环境。例如,本发明的一个或多个例子可以使用具有少于图1中所示的和以上所描述的所有这各个方面的环境,并且,这些方面可能会出现在掌握普通技能的人将会明白的各种组合和子组合中。
图2展示了可以根据本发明的各个方面来加以使用的基于笔的个人计算机(PC)201。图1的系统中的任何或所有这些特点、子系统和功能可以被包括在图2的计算机中。基于笔的个人计算机系统201包括大型显示表面202(例如,诸如液晶显示(LCD)屏幕的数字化平板显示),其上显示多个窗口203。通过使用针笔204,用户可以在该数字化显示区域上进行选择、加亮和书写。合适的数字化显示屏面的例子包括电磁笔数字转换器(例如,可从Mutoh公司(现在被称作“FinePoint Innovations公司”)或Wacom技术公司获得的笔数字转换器)。也可以使用其他类型的笔数字转换器(例如,光学数字转换器)。基于笔的计算系统201解释使用针笔204来作出的各种手势,以便处理数据、输入文本并执行常规的计算机应用任务(例如,创建、编辑和修改电子表格、文字处理程序和类似物)。
针笔204可能装备有按钮或其他部件,以增大其性能。在一个例子中,针笔204可以作为“铅笔”或“钢笔”来加以执行——其中,一端构成书写部分,另一端构成“擦除器”端,并且,当跨越该显示器而移动时,这指出将要被擦除的、该显示器上的电子墨水的各个部分。也可以使用其他类型的输入设备(例如,鼠标、跟踪球、键盘或类似的输入设备)。此外,可以使用用户自己的手指来选择或指出触控式显示器(touch-sensitive display)或近控式显示器(proximity-sensitive display)上的显示图像的各个部分。所以,如这里所使用的术语“用户输入设备”意在具有广泛的定义并包括关于众所周知的输入设备的许多变更。
在各种例子中,该系统提供一种墨水平台,作为应用程序可以用来捕捉、操作和存储墨水的一套COM(组件对象模型)服务。该墨水平台也可以包括标记语言,该标记语言包括如同可扩展标记语言(XML)的语言。另外,该系统可以将DCOM用作另一项实施。还可以使用另外的实施,包括来自微软公司的Win32编程模型和.Net编程模型。这些平台可以购买到,并且在该技术领域中是已知的。
除用于基于完全性能笔的计算机系统或“写字板PCs”(例如,活动便携式计算机或“板”型写字板PCs)以外,还可以结合其他类型的基于笔的计算系统和/或接受作为电子墨水的数据并且/或者接受电子笔或针笔输入的其他设备(例如,手持计算机系统或掌上计算系统;个人数字助理;袖珍式个人计算机;移动和蜂窝式电话、寻呼机和其他通信设备;手表;器具;以及包括监视器或其他显示设备的任何其他设备或系统和/或向用户呈现打印或图形信息并且/或者允许使用电子笔或针笔来进行输入的数字转换器)来使用本发明的各个方面。
现在将结合剩余的附图来描述本发明,这些附图展示了有助于解释本发明的本发明的各种例子和信息。该详细说明中所包含的这些特殊的附图和信息不应该被解释为限制本发明。
根据本发明的范例系统、方法和计算机可读介质
如上所述,本发明的各个方面一般涉及用于在基于笔的计算系统和/或接受作为输入数据的电子墨水并且/或者接受来自笔或针笔的输入数据的其他设备中管理“针笔聚焦”的系统和方法。设备“聚焦”的主要目的是:确定并且/或者建立哪个用户界面元件将接收引入的输入。图3展示了用户界面屏幕300的例子,因为它通常可能出现在图形用户界面中。在图3所展示的这个例子中,屏幕300向用户请求将要被输入各种不同的控制元件302-330的接触信息(尽管精通该技术领域的人将会认识到:在不脱离本发明的前提下,可以引入任何数据或信息)。如上所述,关于键盘输入,可以使用“TAB”键并跳格到接下来的控制元件302-330,并且/或者通过使用鼠标来点击特殊用户界面元件302-330的表示,可以将键盘聚焦设置到各种不同的控制元件302-330,和/或在各种不同的控制元件302-330之中更改键盘聚焦。作为另一项选择方案,可以由应用程序在特殊的控制元件302-330内自动设置键盘聚焦(例如,用于设置初始键盘聚焦)。
计算机鼠标也可以具有关联的“聚焦”。通常,可以在用户界面屏幕300上自由移动鼠标(例如,在不点击左、右鼠标按钮的情况下的常规鼠标移动),该鼠标的这种移动会导致与界面屏幕300内的鼠标关联的指针元件的移动(例如,箭头、光标或其他指针元件的移动)。在这类系统中,鼠标聚焦可能对应于其表示直接位于该鼠标指针元件下面或后面的用户界面元件302-330,并且,这个聚焦可能会随该鼠标指针元件跨越界面屏幕300的移动而自由改变。通过执行“命中测试”并且将该鼠标指针位置的(X,Y)坐标与跟用户界面屏幕300上的用户界面元件302-330的表示的位置相关联的坐标或其他信息进行比较,并且通过确定哪个用户界面元件表示302-330(如果有的话)在该指针元件的下面或后面,可以确定接收“鼠标聚焦”的特殊控制元件302-330。可以确定与该鼠标指针位置的(X,Y)坐标相对应的用户界面元件302-330(如果有的话),并且,可以指定那个元件302-330(如果有的话),以获得聚焦。可以使用“鼠标聚焦”的建立的任何所需的视觉指示器或其他指示器;或者,如果想的话,不需要指示器。
但是,在基于笔的计算系统和/或其他设备或系统中建立并管理“针笔聚焦”,提供来自建立和管理“鼠标聚焦”或“键盘聚焦”的一些重要的差异和挑战。针笔在一些重要的方面不同于鼠标和键盘。例如,针笔是绝对定点设备(它只可以直接指向屏幕300上的元件302-330并与它们相互作用),而鼠标是相对定点设备(通过鼠标持续的滚动,它可以滚到最初位置脱离屏幕300的区域)。鼠标的指示元件始终可以由该计算机系统来检测,并且,它始终位于用户界面屏幕300的可见边界以内(尽管出现在该屏幕上的这些实际的元件可能会随该鼠标的移动而改变)。另一方面,针笔(它本身构成指示元件)可能与用户界面屏幕表面332直接接触,或者,它可能被定位成离开用户界面屏幕表面332。此外,针笔可能位于它可以由数字转换器来检测或感知的位置,或者,它可能被定位成离开数字转换器和关于这类检测的范围之外。此外,一旦位于鼠标或键盘聚焦控制元件302-330以内,该输入(来自该键盘或另一个来源)就被固定不变地指引到那个控制元件302-330中。另一方面,来自针笔的尝试性输入(例如,采取电子墨水的形式)可以在具备针笔控制的控制元件302-330内部开始,但随后当该用户尝试写入并且/或者记入输入数据(例如,写入并且/或者记入另一个可聚焦的控制元件区或不可聚焦区)时,在控制元件302-330以外移动。此外,来自针笔的尝试性输入可能在该界面上的所有可聚焦控制元件302-330以外开始,然后,当该用户尝试写入并且/或者记入输入数据时,在可聚焦的控制元件302-330以内移动。最后,至少一些针笔没有允许关于控制元件302-330的确定设置、激活或聚焦变更的“按钮”(类似于键盘上的“TAB”键或鼠标左按钮)。但是,即使有的话,在开始在控制元件302-330中写入或输入数据之前,按压针笔上的按钮,同时接触或盘旋从所需控制元件302-330(其中将建立针笔聚焦)起的短距离(例如,1.5~2英寸),这也不会提供自然或流畅的用户体验。
根据本发明的至少一些例子,在至少一些实例中,将由操作系统和/或应用程序来执行代码,以便当针笔邻近用户界面表面322而盘旋并位于数字转换器的检测范围以内时,在用户界面300的控制元件302-330中建立针笔聚焦,该用户界面的表示直接位于针笔笔尖下面或附近。针笔可能可以由数字转换器来检测,同时,在不脱离本发明的前提下,按任何方式(包括精通该技术领域的人已知的常规方式)在其表面332附近盘旋。例如,一些针笔是“活动”的,这在本说明书中意味着:当针笔位于数字转换器表面332附近时,它们传送、反映、改变或修改可由数字转换器传送和/或检测的能量、数据或其他信息。例如,一些针笔可以包括接收由数字转换器发射的能量并且/或者改变由数字转换器传送和/或感知的磁场或电子场的电路系统或其他结构,以便由于被检测的磁场或电场中的变化,数字转换器可以感知针笔的存在。另一个例子是:一些针笔可以传送或反映数据、电场或磁场、或可以由数字转换器来检测的其他能量或信息。当针笔位于用户界面屏幕表面322附近时,在不脱离本发明的前提下,可以使用感知或检测针笔的存在的任何合适的或所需的方法。虽然针笔与数字转换器组合可以被设计成允许实质上在与数字转换器表面有关的任何合理位置来检测针笔,但是,在具有活动笔的至少一些常规的基于笔的计算系统中,当针笔离数字转换器表面大约1.5~2英寸时,并且,在一些例子中,当该针笔离该数字转换器表面近似0.5~1英寸时,针笔最初是可以检测的。
现在将结合图4来描述根据本发明的、建立和管理针笔聚焦的一个例子。在开始S400处,假设:针笔在数字转换器的检测范围以外开始,使得该系统无法检测到针笔的存在。此时,用户界面元件302-330在这个例子中将没有针笔聚焦。在S402处,该系统进行检验,以确定是否在数字转换器的表面332附近检测到针笔(或笔)。如果“否”,则该过程返回到S402,并且,该系统不久将会再次检验针笔是否在数字转换器表面332附近存在。
如果在S402处检测到针笔(在S402处回答“是”,例如,当用户在数字转换器的表面332附近移动针笔并且开始着手在其上书写时),那么,当针笔在表面332附近盘旋(或接近该表面)时,根据本发明的这个例子的这些系统和方法生成与针笔的表面332位置相对应的“空中”点(S404)。例如,该“空中”点可能对应于跟针笔笔尖贴近的数字转换器的表面332上的那个点(例如,(X,Y)坐标);在那里被检测的电场或磁场是最强、最弱或变化最大的那个点;检测到由针笔发射或从针笔那里被反射的聚焦光束的点;或类似的点。在不脱离本发明的前提下,可以使用检测和建立“空中”点的任何方式。一旦用这种方式检测到针笔,与针笔关联的各种特征和/或引入的输入数据就可以由应用程序和/或计算系统来检索并且/或者被输入应用程序和/或计算系统,例如墨水颜色、笔划宽度、笔划类型(输入墨水笔划、擦除笔划、加亮笔划、选择等)、针笔ID信息、用户ID信息和类似物。
这些“空中”点(例如,针笔的盘旋位置的(X,Y)坐标)可以由根据本发明的至少一些例子的系统和方法来加以使用,以执行“命中测试”,这可以被用来确定哪个控制元件302-330应该接收针笔聚焦。在至少一些用户界面中,可以用分层方式来安排控制元件302-330或界面300中的其他项目。图3展示了这种类型的分层布置的例子。例如,如图3所示,控制元件302-330可能属于共同的“名称”控制元件334。同样,控制元件308-318可能属于共同的“家庭地址”控制元件336,控制元件320-330可能属于共同的“办公地址”控制元件338。所有这些控制元件可能属于共同的父控制元件(例如,“输入接触信息”元件),该父控制元件本身可能属于一个或多个另外的父控制元件。相应地,如果无法为直接邻近针笔的“空中”点的元件提供针笔聚焦(例如,如果针笔位于单独的控制元件302-330之间),那么,在至少一些实例中,根据本发明的一些例子的系统和方法仍然可能能够为更大的“父”或“容器”元件(例如,如同元件334、336或338)提供针笔聚焦,该元件对应于针笔位于那里的空中点。
图5展示了具有分层控制元件的用户界面屏幕500的另一个例子。当填写测试报告或调查报告时,单独的回答502可以构成控制元件分层树形结构的单独的“叶”节点或“子”节点或控制元件,而每个问题504-510可以构成“根”节点、“容器”节点或“父”节点或具有其自己关联的叶节点或子节点的控制元件。可以为父控制元件504-510保留针笔聚焦,而不是个别地使每个子节点或叶节点502成为针笔可聚焦的。当针笔在父控制元件504-510的任何部分附近盘旋时,整个父控制元件504-510可以接收针笔聚焦,从而允许将输入数据记入那个父控制元件504-510内的单独的叶节点502中的任何叶节点。
现在参考图4中所展示的范例方法,如上所述,在S404处生成与针笔的位置相对应的空中点。在S406处,根据本发明的这个例子的系统和方法确定邻近针笔位置的特殊的位置和/或元件是否是针笔可聚焦的(如以上结合图5所述,并不是界面中的所有控制元件或区域都需要成为可独立进行针笔聚焦的,并且,与操作系统和/或应用程序关联的代码可以确定或设置特殊的控制元件或区域是否能够接收针笔聚焦)。如果与针笔的特殊位置相对应的控制元件或基础用户界面位置不是针笔可聚焦的(回答“否”),则根据本发明的这个例子的这些系统和方法接下来确定那个元件是否是该分层结构中的最后的(或最高的)元件(S408)。如果不是(回答“否”),则本发明的这个例子的这些系统和方法移到父元件(S410),并且通过返回到S406来确定那个元件是否是针笔可聚焦的。在图5中所展示的这个例子中,如果用户的笔最初在叶元件502附近盘旋,则根据本发明的这个例子的系统和方法将会在S406处确定:这个叶元件502不是针笔可聚焦的。然后,在S408处,这个例子的这些系统和方法将会确定:叶元件502被包含在父元件504内;然后,当重复S406时,将会确定:元件504是针笔可聚焦的。
如果在S408处确定考虑中的那个元件是该分层结构中的那个最后的元件和/或该分层结构中的那个唯一的元件(回答“是”),则可以执行任何必要的进一步的处理(如果有的话)(S412),并且,该程序可以返回到S402(符号点A)。在不脱离本发明的前提下,可以执行任何合适的或所需的处理。例如,可以生成错误消息或文本框,以便为用户提供合适的信息。另一种可能性是:可以为该界面的最高分层元件或为该界面的预定部分提供默认针笔聚焦。另一种可能的例子是:如果针笔下面的那个元件或其父元件(如果有的话)不是针笔可聚焦的,那么,该界面中的元件将不会接收针笔聚焦;在根据本发明的系统和方法的至少一些例子中,并且这些系统和方法可能会等待进一步的针笔移动。在不脱离本发明的前提下,可以使用用于处理这种情况的其他任何合适的方法。
如果在S406处确定考虑中的那个元件是针笔可聚焦的(要么是针笔正在其附近盘旋的原始控制元件,要么是其父元件——在S406处回答“是”),那么,根据本发明的这个例子的系统和方法将执行代码,以便为那个元件提供针笔聚焦(S414)。可以(例如,由操作系统和/或应用程序)向接收针笔聚焦的元件通知这个事实,可以采取合适的动作,并且/或者,可以执行任何所需的处理(例如,扩大控制元件尺寸、提高轮询频率和类似的处理,以下将会对此进行更加详细的描述)。作为选择,在确定是否提供这个特定元件针笔聚焦(与该界面中的某个其他的元件(例如,该层级中的另一个元件)或无元件(在一些预定的条件下)相对)之前,可以执行额外的处理。
在建立针笔聚焦之后,根据本发明的这个例子的系统和方法接下来确定该针笔是否已接触数字转换器表面(S416)。如果“是”,则该系统接受该输入(例如,作为电子墨水或其他输入)或采取其他合适的动作(S418),并且,该程序结束(S420)(随意地,该程序可能返回到S402,并等待下一个输入)。在根据本发明的系统和方法的这个例子中,一旦建立针笔聚焦,并且用户开始输入数据,或者该系统开始接收输入(例如,通过书写或采用任何其他的方式),针笔聚焦在那个笔向下事件期间就不会改变(随意地,即使在具有聚焦的控制元件以外的区域中继续数据输入(例如,电子墨水输入),也是如此)。这确保:在笔向下事件期间的所有数据输入都被发送到其中开始数据输入的控制元件(随意地,如果控制元件可以在该用户界面中移动,则控制元件可能会在那个笔向下事件期间离开笔,但一旦建立聚焦,在笔向下事件期间的引入的数据就将继续在具有聚焦的控制元件中被加以接收,即使该元件在该事件期间离开笔,也是如此)。随意地,一旦用户输入设备在笔向下事件期间在具有聚焦的控制元件以外移动,就可以终止输入数据的接收(并且,随意地,可能会失去聚焦)。为了改变本发明的一些例子中的针笔聚焦,用户必须将针笔提起离开数字转换器表面(笔向上事件)足够的距离,以便针笔无法被数字转换器检测到,并且,必须重新启动图4中的程序。作为可选择的方案,在从数字转换器表面提起笔并将笔移到与另一个控制元件相对应的该用户界面表面上的区域之后,可以自动改变针笔聚焦,即使针笔在这整个时期内始终保持可以被数字转换器检测到,也是如此。随意地,只有在预定的时延之后,并且/或者只有在针笔已从具有聚焦的前一个控制元件并/或从与具有聚焦的前一个控制元件有关联的其最后的位置移动预定的最小距离之后,针笔聚焦才会在以上所描述的各种情况中发生变化。
在本发明的至少一些例子中,如果笔最初在无法接收聚焦或输入的区域中(例如,在能够接收聚焦的各个控制元件之间的区域中)接触数字转换器,那么,即使笔在笔向下事件期间移入可聚焦的控制元件,也将不会在这个笔向下事件期间建立聚焦。作为可选择的方案,如果需要的话,在不脱离本发明的前提下,当笔在笔向下事件期间越入可聚焦控制元件时(如果有的话),可以建立聚焦。随意地,如果在以上所描述的那个情况中建立聚焦,则进入可聚焦元件的输入可以包括在笔移入可聚焦控制元件之前的笔向下事件期间生成或被输入的输入数据中的所有或至少部分输入数据。
如果在S416中,根据本发明的这个例子的系统和方法确定针笔还没有接触数字转换器屏幕,则该程序返回到S402,并确定笔是否保留在界内。如果不是(回答“否”),则针笔聚焦可能被撤回(S422),并且在短时间后重新开始尝试检测笔。如果针笔保持可检测(在S402处回答“是”),则重复该程序,直到发生笔向下事件(即,针笔接触数字转换器表面)或撤回笔为止。在针笔保持可检测(例如,在盘旋位置中)的同时,并且在针笔接触数字转换器表面之前,在不脱离本发明的前提下,当针笔从表示一个控制元件的区域移到表示另一个控制元件的区域时,针笔聚焦可能从该用户界面屏幕上的一个控制元件转移到另一个控制元件。此外,在S422处,如果需要的话,随意地,在预定时间内和/或直到建立新的针笔聚焦之前,针笔聚焦可以保留在具有聚焦的最后一个控制元件内。
以上结合图4所描述的这各种程序只是可能发生于本发明的一些例子中的合适的处理的例子。精通该技术领域的人将会认识到:可以执行其他程序,并且/或者,在不脱离本发明的前提下,可以改变结合图4所描述的这些程序。例如,所展示或描述的这些特殊步骤可以更改,它们的顺序可以更改,一些步骤可以忽略,并且/或者,在不脱离本发明的前提下,可以增加额外的步骤。
一个更特殊的例子是:在不脱离本发明的前提下,用于确定哪个控制元件表示位于笔的位置附近的方式可能会相对于以上所描述的“命中测试”程序而有变化。此外,操作系统和/或应用程序可以被设计成:在不脱离本发明的前提下,按方便或需要的任何合适的时间间隔来执行如同结合图4所展示和描述的部分或所有这些空中聚焦管理确定程序。例如,在正在发生大量背景处理的情况中,可以不太频繁地执行部分或所有这些空中聚焦管理程序(例如,命中测试),以增加用于其他处理的处理器可用性。此外,例如,如果计算机处于低功率、睡眠或电池守恒模式,则以上所描述的这些程序可能不太会频繁地发生。
在不脱离本发明的前提下,作为获得针笔聚焦的结果,可能会发生或启动任何合适的动作或处理。例如,可以提供任何视觉指示器或音频指示器,以指出何时建立针笔聚焦,例如颜色变化、用户界面风格变化、用户界面布局变化、可听的蜂鸣声或类似物。图3和图6展示了可能起因于接收针笔聚焦的控制元件的潜在处理的另一个例子。如上所述,图3展示了具有各种控制元件302-330的用户界面屏幕332。图3中的箭头350展示了一种针笔,该针笔接近界面屏幕332,但在某个位置处的屏幕332附近盘旋,以便与屏幕332关联的数字转换器检测该针笔的存在和位置。一旦建立针笔聚焦,该用户界面在本发明的这个例子中变成图6中所示的屏幕352。明确地说,在这个例子中,该针笔接近邻近控制元件312(与该界面的该“家庭地址”控制元件的“城市”控制元件有关联)的屏幕332。如图6所示,当在控制元件312中建立针笔聚焦时,扩张这个控制元件312的尺寸,并且,只要针笔聚焦保留在控制元件312以内,它就将保持这个扩张尺寸。在至少一些例子中,在扩大它的尺寸(以便为该用户提供这个小尺寸与这个扩大尺寸之间的平稳转变)之前,放大框354中的针笔位置350将在与控制元件312中的针笔位置350相同的相对位置。在基于笔的计算机系统(其中,用户意在在该控制元件中书写并输入电子墨水)(如果该控制元件小,则该用户可能会很难或不可能使用电子笔和/或电子墨水来输入该必要的数据)中,扩大具有聚焦的这些控制元件的尺寸会特别有用。在该总用户界面、屏幕尺寸和/或控制元件非常小的情况下,扩大该尺寸也会有用。
如果针笔在本发明的这个例子中在控制元件312以外移动,则这个元件312中的针笔聚焦将会失去,并且,放大框354将会消失。随意地,只有在针笔离开控制元件312或移出数字转换器检测范围以外后的预定时期截止之后,才可能会发生针笔聚焦丢失,以防止由于用户所造成的非故意的、较小的针笔移动而引起的针笔聚焦丢失。作为另一种可选择的方案,针笔聚焦可以保留在这个元件312上,直到任何其他合适的时间为止(例如,直到针笔不再被检测到贴近数字转换器为止、直到建立新的聚焦为止,以及/或者在任何其他合适的或所需的时间为止)。作为另一种可选择的方案,除这个原来居中的控制元件以外,放大框354还可以包含邻近的控制元件,使得针笔聚焦可以从原始控制元件(以上例子中的控制元件312)转移到其邻近的控制元件之一,而放大框354不会消失。在不脱离本发明的前提下,可以使用处理在原始元件以外的针笔移动的任何其他所需的方法。
在不脱离本发明的前提下,作为获得针笔聚焦的结果,也可能会发生额外的和/或其他的动作。例如,可以使用实现针笔聚焦来“准备”整个系统和/或特殊控制元件,以接收输入。作为更特殊的例子,可以使用针笔聚焦来从能源节省模式中或从“待机”模式中“唤醒”该系统。另一个例子是:该系统可以将实现针笔聚焦用作触发器,以便更加频繁地检验与用于输入的控制元件关联的区域(例如,提示数字转换器更加频繁地为引入的电子墨水或其他输入数据进行检验或“轮询”,从而尤其在与具有针笔聚焦的控制元件相对应的该界面区中随意地提高该频率)。
作为额外的例子,可以在笔向下事件之前使用针笔聚焦(例如,当笔在数字转换器表面附近盘旋时),以开始确定将要被输入具有聚焦的区域中的输入数据的各种特点或特征(例如,确定墨水颜色、墨水加亮特征、笔尖特征、是否应该用“压敏”(pressure sensitive)方式来收集墨水数据、输入数据类型(例如,墨水、擦除、加亮、选择等)等)。使用“空中”时期来检索与关于具有聚焦的区域的墨水特征有关的数据,可以允许根据本发明的至少一些例子的系统和方法在实际上发生笔向下事件时非常敏捷、迅速地开始呈现墨水,从而提供更自然的笔和上墨体验(例如,当发生笔向下事件时,将会迅速出现墨水,从而看起来好象墨水正在流出电子笔的笔尖并且流到电子文档上)。
另一个例子是:根据本发明的至少一些例子的系统和方法可以用其他方法来使用针笔聚焦的建立,以便使该系统准备好接收输入电子墨水数据。基于笔的计算系统中的输入电子墨水通常具有与其关联的大量数据(例如,与墨水位置、墨水颜色、墨水压力、被针笔相交的数字转换器点、针笔移动方向、与该墨水关联的分析数据、笔划ID信息、用户ID信息、语言数据等相关联的数据)。根据本发明的至少一些例子的系统和方法可以使用针笔聚焦来使该系统准备好接收墨水,例如,这可以通过:设置并/或分配存储器中的数据结构,来接收和存储墨水数据(例如,采用分层文档树形格式等);设置并/或分配关于墨水的镜像树和快照的存储器位置(例如,用于布局分析、分类、分析、识别等);从各种记忆位置中清除高速缓存数据;等等。在不脱离本发明的前提下,通过实现针笔聚焦或作为实现针笔聚焦的结果,可以触发或启动任何其他合适的或所需的处理或活动。
根据本发明的至少一些例子的系统和方法也不局限于提供并保持与单一针笔关联的针笔聚焦。在不脱离本发明的前提下,可以建立并保持任何数量的针笔聚焦。例如,可以相对于第一个控制元件来检测、建立和保持一个针笔聚焦,而数字转换器也可以接收指出“第二个针笔位于贴近数字转换器”的输入,并且为与第二个针笔的位置相对应的第二个控制元件提供针笔聚焦,并保持与第二个控制元件有关的聚焦。在不脱离本发明的前提下,第二个针笔也可以将数据输入与第一个控制元件(在这个例子中已具有针笔聚焦)相对应的该区域。
在根据本发明的系统和方法的一个更具体的例子中,使用空中点来确定具有针笔聚焦的控制元件。在这个例子中,只使用空中点来改变针笔聚焦,这是因为假设:一旦已开始输入墨水笔划,与那个笔划关联的所有数据(即,在那个笔向下事件期间)应该继续与那个相同的控制元件保持关联(至少直到该笔离开那个控制元件的区域为止,并且随意地直到笔向上事件发生,甚至笔离开那个控制元件的区域为止)。在这个例子中,该界面的仅仅一个控制元件将在给定时间具有针笔聚焦。如果根据本发明的这个例子的这些系统和方法能够从多个针笔那里接收输入,则只有具有针笔聚焦的控制元件内的针笔将能够记入输入墨水,但具有聚焦的控制元件内的所有针笔将能够独立地输入墨水(或其他输入数据)。所有其他的针笔(位于具有针笔聚焦的控制元件以外的针笔)将发挥如同鼠标的作用。在这个例子中,至少在所有针笔已离开控制元件的区域并且/或者在数字转换器的检测范围以外之前,具有针笔聚焦的控制元件将不会失去针笔聚焦。
作为针笔与数字转换器表面之间的接触的结果,根据本发明的至少一些例子的额外的任选特点允许针笔聚焦的建立。在一些实例中,尤其是如果计算系统处于低功率或待命模式,或者当数字转换器正在偶尔进行轮询来致力于检测针笔的存在时,针笔可能会接触数字转换器表面,在贴近数字转换器表面的位置、按盘旋方位来检测针笔之前。这也会发生于这些实例中——其中,用户迅速将笔放置在数字转换器表面,并开始记入输入。在这类情况中,根据本发明的至少一些例子的系统和方法可以为与数字转换器表面接触的针笔(因此而有的)位置处的控制元件提供针笔聚焦,并接受输入数据,而不要求轻敲来建立聚焦和第二个笔向下事件,以开始输入数据。随意地,在考虑控制元件的分层布置和如以上所描述的其他用户界面元件时,可以用任何合适的方式(例如,包括使用针笔接触的(X,Y)坐标的命中测试)来确定控制元件,以接收作为针笔接触的结果的针笔聚焦。
如果需要的话,如上所述,在不脱离本发明的前提下,可以独立于鼠标聚焦和/或键盘聚焦和/或另一个针笔聚焦并且与这些聚焦分开地保持针笔聚焦。相应地,当一位用户启动并保持针笔聚焦时,其他用户(或同一位用户)也可以使用鼠标和/或键盘和/或另一个针笔来将数据输入不同的控制元件。
此外,响应于贴近数字转换器表面的针笔的检测,不需要在每个实例中建立聚焦。如果需要的话,在不脱离本发明的前提下,至少在一些实例中,应用程序和/或操作系统可以包括代码,并且/或者,发送事件,以便拒绝聚焦并/或停止与建立聚焦关联的这些数据传输。例如,如果元件没有用于接收输入电子墨水的区域(例如,文本标签或不可改变的图元),则可能会没有理由允许那个元件接收聚焦。此外,如果元件由于某个原因已达到关于它能够接收的电子墨水的限制,则可能会拒绝那个元件上的聚焦。作为另一个例子,在用户可以或意在只写入一次的字段(例如,用户ID和/或密码字段或类似物)中,如果墨水已存在或已被输入那个字段(随意地,在某个时期截止以后),则可能不会接受聚焦。在不脱离本发明的前提下,可以在一个控制元件接一个控制元件的基础上或用任何其他的方式来应用聚焦拒绝。
最后,本发明也涉及包括其上存储的计算机可执行指令的计算机可读介质,这些计算机可执行指令用于执行各种方法,并且/或者可用于各种系统(包括以上所描述的那些系统和方法)中。该计算机可读介质可以构成被存储在以上所描述的计算机可读介质的各种特殊例子上的计算机可执行指令。
结论
在一些实例中,以上的说明书描述了与用户界面中的“控制元件”有关的针笔和鼠标相互作用以及位置。这是为通信容易、方便而采用的简要说明。实际上,“控制元件”包括存在于应用程序和/或计算机的操作系统程序中的计算机代码。相应地,精通该技术领域的人将会把该简要说明理解成描述:针笔和鼠标实际上位于贴近存在于用户界面上或作为用户界面的一部分的各种控制元件的表示。精通该技术领域的人将会进一步理解:这些相互作用可以激活、发送输入到、并且/或者利用用户界面中所表示的基础控制元件。
以上已描述了本发明的各种例子,并且,掌握普通技能的人将会理解:本发明包括其范围以内的、这些例子的所有组合和子组合。此外,精通该技术领域的人将会认识到:以上的例子只举例说明了本发明的各个方面。如所附权利要求书中所定义的,在不脱离本发明的精神和范围的前提下,可以进行各种更改和修改。