多用户/多定位设备图形用户接口系统的制作方法

文档序号:6411141阅读:113来源:国知局
专利名称:多用户/多定位设备图形用户接口系统的制作方法
技术领域
本发明领域本发明涉及事件驱动图形用户接口系统,更具体地说涉及到用于根据产生的用户事件改变图形用户接口以便允许多个用户输入设备同时工作的系统。
本发明背景目前已有许多图形用户接口系统(GUI)。它们包括微软公司的Windows、IBM公司的OS/2、太阳微系统公司的Solaris和苹果计算机公司的Macintosh操作系统。这些系统具有与带有定义一个工作位置的屏幕光标的显示器有关的定向设备输入。光标通常是用于定义工作象素、工作区域或工作位置的图形目标,它在屏幕上的位置可以通过操纵定向设备来改变。屏幕图像可以包括许多显示目标,包括下拉式菜单条、对话框、窗口和图标。将光标放到定义的屏幕目标上就可以选择该目标从而激活一项功能。
在这些GUI系统上可以运行许多程序,虽然不能使所有程序真的同时交互工作。
这些接口可以基于被定义事件如用户输入、定时器输出、或者中断来被事件驱动或改变状态,或者可以连续对输入进行监视以确定它们的状态。
已知的用户定位输入设备包括鼠标、跟踪球、操纵杆、光笔、触板、图形输入板和触摸屏。触摸屏、触板、光笔和图形输入板是绝对位置坐标输入设备,而鼠标、跟踪球和操纵杆则是相对移动输入设备。现有许多不同类型的触摸屏,包括表面声波型、电阻型、电容型、红外型和压敏型。
在已知的声波触摸屏位置传感器中,超声波振子发射声脉冲,该声脉冲以波的形式被扩散经过触摸屏、然后被同一个超声波振子或其它不同的超声波振子接收。该声波对公共通道上一定的距离增量具有特定的时间延迟,因此通过分析被接收脉冲的时间可以确定坐标轴上的位置。用于至少两个正交座标的系统被提供。可参阅美国专利Nos.4642423、4644100、4645870、4700176、4746914和4791416。Re.33151、U.S.5260521、U.S.5234148、U.S.5329070、U.S.5177327、U.S.5162618和U.S.5072427在此作为参考。还可以参阅美国专利NO.3673327;Knowles,T.J.,“46.6压力响应触摸输入设备”、SID 92 Digest,(1992)pp.920-923;christensen,R.和Masters,T.,“导向声波触摸技术中最新波”,ECN(January1995),pp.13 et seq.
还有计算机鼠标。在公知的设备中,有一种具有计算机连接电缆的手持式设备。这种设置与电缆的结构有些象老鼠,因此被称为鼠标。在机械式鼠标中有一个圆球,它紧贴着参照面作相对转动。在鼠标内部,圆球沿着两个正交座标轴方向上的转动用两个沿旋转轴相互垂直地紧压在圆球上的轮子来测量。这样,每个轮子鉴别一个正交转动分量。机械或光传感器用于测定每个轮子的转动量,该转动量通过电缆传送到计算机中作为沿每个座标轴的相对移动量。还有无绳式装置和无移动部件的装置。跟踪球采用相反的结构以用户的手或手指作为参考面。
还有多屏显示驱动系统。这些系统允许在一个GUI操作系统工作空间上存在多个观察“口”,如同在过程控制或多媒体应用中采用的那样,这时显示屏可以用于显示个别信息和工作。虚拟图象或“桌面”被放大到横穿多个显示器,就象一个视壁。不过,这些系统没有考虑控制GUI的许多用户输入设备同时输入的情况。
已知的多显示器系统是由STB系统公司制作的,Richardson,TX,包括MVP-4X适配器。彩色图像通信(Atlanta,GA)公司生产了许多多路VGA适配器,包括PCMCIA旅行者VGA、双涡轮加速器、SuperWarp、Warp4和POS视频适配器、双VGA Flap Panel、Pro Lightening Series,它们使装有Microsoft Windows、Windows NT或OS/2操作系统的计算机具有一个以上的有效显示器。还有Easy Systems(比利时)和Micro Deutschland(德国)生产的多路显示适配卡。
美国专利NO.5437014(Busboom等人)在此作为参考,它涉及到一个具有多个独立于主处理器的终端设备、支持鼠标事件和执行多个应用程序的系统。主处理器将各独立工作站的工作分开因而具有多个工作空间。因此每个鼠标事件与一个工作站的任务相关联。
美国专利NO.5442376(Tannenbaum等人)在此作为参考,它涉及到一个支持多个输入设备的多任务图形环境。虽然具有一个接口,但这些输入设备是不对称的。因此在处理过程中可以明显区分各输入源。
美国专利NO.5442788(Bier)在此作为参考,它涉及到一个多用户多设备系统,在该系统中多个用户可以控制同一个显示屏。给每个用户提供了一个或多个输入设备,它们可以用来控制一个或多个应用程序。任何时候,该系统都会在一个显示屏上产生所有应用程序的相容视图。每个用户的输入对该用户的选择会产生一个固定的响应,由这些输入引起的事件被输入源识别。输入到系统的输入启动形成事物的记录,即被排队然后被传到特定的应用程序中。同时软件对来自多个设备的输入流进行管理,对哪个输入来自哪个用户始终进行监视。除非用户操作出现竞争,该系统允许同时进行所有用户操作;当出现竞争时,暂停校正等待。
本发明概述和目的本发明用具有相应多个用户输入的多屏幕显示驱动系统来提供大虚拟图象空间移动部分上的多用户环境。这样,具有事件驱动GUI操作系统的计算机就可以接收来自多个输入设备的输入和控制一个或多个显示,向每个用户提供明显不相容了及不中断的对专门区域的控制或对共有的区域或目标的交互式控制。
由于与本发明一起使用的GUI操作系统通常由事件驱动,具有单个事件队列和单个虚拟工作空间,因此在事件处理期间,与一个用户输入有关的事件仅仅占用处理器中。这样,事件进行排队,服务子程序一般按事件发生的顺序或按事件的优先级来处理每个事件。本发明通过包含识别指定设备事件(以后称为鼠标事件)的输入设备识别器,它不会改变队列中的事件操作顺序,因此本发明不要求对现有的操作系统或应用程序作具体修改。因此,输入设备驱动器系统必须按照鼠标事件的前后关系处理它们以正确传送它们到操作系统和应用程序中。这个前后关系比如可以是同时发生的定位设备激励事件(以后称为鼠标按钮按下事件)的数目,这些事件当然是由许多各种各样的输入设备以不同的方式产生的。
由于这些操作系统是为单个用户设计的,它们不能区分多个定位设备输入,只能检测一个鼠标按钮事件的发生。因此,已有技术系统在同时存在多个有效用户输入设备的情况下不能分辨由作用在同一个虚拟显示空间上的不同的用户输入所产生的事件,因而造成混乱和干扰。因此本发明提供一种输入设备接口系统,它用于确定由被处理的用户输入事件所引起的系统状态的改变,从而允许按顺序对那个事件进行处理并且不妨碍处理其它非相关事件,因此事件处理可以在无明显干扰的状况下进行。
本发明最好不将虚拟显示空间分割成独立的用户区域,也不特别区分不同输入源的定位输入。因此,不同输入源的定位输入是对称的。还有,当需要指明拖动操作的源和目标时,两个不同用户输入设备可以进行交互。本发明包括“鼠标按钮按下”计数器,它用于在处理事件之前对系统状态进行定义和用于确定由处理事件所引起的系统状态的改变。由于用户定位设备输入事件具有被“按钮按下”状态和“按钮弹起”状态触发的有效功能,因此这种操作特性是很重要的。
因此,本系统可以在不改变操作系统结构的情况下对有关多个用户输入的状态变化进行区分。由于这种功能可以被分割成对新用户输入进行处理的中断服务子程序,因此优选的工具是对中断服务调用起响应的计算机系统的基于软件的设备驱动器。
当接收到新的输入事件时,就定义一个事件并将被定义的事件放到队列中等候处理。这个事件定义了设备的类型(例如定位设备)、位置(例如X、Y座标)和状态(例如按钮按下、按钮弹起)。假定在事件队列中所有相关用户输入设备都是同样类型的设备,即在分析过程中不考虑键盘输入事件。如果发生新的按钮按下事件或按钮弹起事件,那么计数器分别增值或减值。否则,计数器保持不变。
定义了两种操作模式。第一种模式是多个用户互不干扰地独立操作。第二种模式是一个或多个用户输入设备同时操作。
在第一种模式中,如果发生了一次新的触摸,即如果触摸计数器已经增值,那么就产生一个按钮点击序列,例如,光标移动、然后“按钮按下”、然后“按钮弹起”。这个序列对事件流进行过滤,使得只产生关于新的触摸的一个新的“按钮按下”事件。如果没有检测到新的触摸,系统就不对事件作任何响应并继续处理事件队列。这种模式不支持拖动和双击操作。对于每个新的触摸,光标位置都是由有关定位设备来控制。因此,象触摸屏之类的绝对位置定位设备使光标移动到每次触摸的位置上。
在第二种模式中,关键问题是触摸计数器是否被减到零,因为这可以识别一次触摸何时从这样一种情况,即已经从众多次触摸中释放出一次触摸并且仍存在至少一次触摸的这样一种情况中释放出来。通常,通过光标位置上两个用户输入“递交”但又不产生一般会使处理序列终止的“按钮弹起”事件使得两个输入设备相互配合工作。这样,如果有多个被登记过的触摸,系统就会不断地对事件队列进行处理,在最后一个触摸被释放之前,系统不会把触摸释放当作“按钮弹起”事件处理。这样就允许两个或多个用户输入一起争夺系统,没有一个输入能真正获得全部控制权直到最后一个输入或唯一的输入。这样,可以用第一用户输入来选择虚拟显示空间上的一个目标,然后可以将该目标递交给第二虚拟显示空间上的第二用户输入,由第二用户输入来完成操作。当触摸计数器的值减到零时,最终会产生“按钮弹起”事件。如果触摸计数器没有减到零,那么用户输入被当作“拖动”事件处理,即使又增加了一次新的触摸或消除了一次已有的触摸也是如此。第二模式支持拖动和双击操作。
在第一模式中,系统软件被设计成可以对各个用户事件的各个指令序列进行中断并可以对重要的单独事件进行缓冲。这样,每个用户似乎具有对系统的控制权,因为对功能强大的计算机系统来说,中断是瞬时的和透明的。
在第一模式中为了避免用户之间的干扰,最好给各个用户提供对特定应用程序的访问权而限制对整个操作系统的访问权。这可以通过给每个用户提供不包括系统级功能在内的GUI显示空间和限制其脱离显示空间范围的能力来实现。
当采用诸如触摸屏、光笔、压敏屏之类的绝对位置定位设备时,每个这样的定位设备的设备驱动器为操作系统提供了定位座标。因此,定位输入是单值的。用这些类型的定位设备,由于触摸位置可以识别光标位置,因此不需要给用户提供可视光标。在这种情况下,用户看不到系统光标位置的迅速移动,因此不必要涉及这方面的内容。
就其它诸如触板、鼠标和跟踪球之类的定位设备来说最好给用户提供一个可视光标作为光标位置的反馈。在这种情况下,由于每个定位设备事件产生一个用于刷新光标位置的中断,因此可视光标会在各个定位设备位置之间闪烁,引起由各种定位设备的哪一个对光标进行控制的仲裁问题。因此,在这种情况下最好撤消系统光标的显示,代之以捕捉各个定位输入设备的定位位置和在屏幕上显示与各个定位设备的位置有关的图像目标。因此,在虚拟显示空间上将会出现多个用户光标,每个定位输入对应一个用户光标,而操作系统仍然只识别一个光标位置。对定位设备输入的捕捉以及虚拟显示空间中的图象目标在合适的真实显示位置上的显示属于普通技术范围内的内容。
就使用诸如鼠标和跟踪球之类的相对位置定位输入设备来说,最好还有进一步的增强。这些设备通常会产生光标相对位置移动数据。如果用特定定位设备的过去移动历史来定义光标的起始位置的话,这些数据是合适的。然而,当一些定位设备独立改变光标的位置时,起始位置也许不合适。因此,提供了一个将相对位置定位设备输出转换成绝对坐标系统的驱动器,它适合于与该驱动器一起使用的实际显示设备和虚拟显示空间。这个功能可以方便地与上述图形用户光标产生系统结合起来,它将定义虚拟显示空间范围内的绝对用户光标位置。这样,驱动器系统就基于特定定位设备的过去运动历史定义座标信息,而不是发送对光标位置的相对移动进行定义的信息。这样就允许使用各种定位设备。
注意,输入设备驱动器不会改变操作系统的操作,操作系统基本上仍是只有一个系统光标位置的单用户型操作系统。根据本发明,按照定位位置对称地对用户输入进行处理而不分输入源。本发明使这样单用户多任务操作系统表现为多用户操作系统。
一些显示驱动器设备支持硬件光标显示,因此可以用于显示与操作系统关系不密切的用户光标。否则,光标位置显示和座标转换起设备驱动器和应用程序的作用。
根据本发明,符合某些规则的一般单用户接口系统是通过下列手段被做成多用户接口的配备多个输入设备、一个具有一些包括实际显示端口的显示窗口的虚拟显示屏。其中每个显示窗口与所述虚拟显示屏中的一个区域相关联,输入设备上与所述虚拟显示屏的一个区域相关的输入与相关显示窗相关联,从而向那个窗口传送控制信号。
因此本发明的目的是提供一个多显示器GUI系统,它包括含有微处理器、显示器输出接口和用户输入接口的计算机系统;多个显示器,每个显示器中出现一个图形图象以及对所述显示器输出接口起响应;多个用户输入设备,每个用户输入设备与一个所述显示器相关联并产生一个输入到所述用户输入接口的输入信号。执行事件驱动控制程序的所述计算机系统包括具有统一虚拟显示空间的GUI,每个所述输入设备产生事件;所述GUI系统用于同时从所述多个用户输入设备上接收用户输入,在所述多个显示器上显示与所述用户输入有关的信息。所述多个显示器的每一个中出现的所述图形图象至少是所述统一虚拟显示空间的一部分,其中至少有两个所述多个用户输入设备可以同时输入GUI命令,每个用户输入接口几乎能实时响应用户输入设备并且每个用户输入设备能明显连续控制所述有关显示器上的所述图形图象。
这种显示图象还可以通过利用视频分割器同时出现在多个显示设备上,这就允许同一个图象呈现在多个显示设备上供一个或多个用户使用。
根据本发明的一个实施例提供了多个叠在显示监视器上的多个透明的触摸屏,每个触摸屏允许一个用户触摸从而产生绝对位置事件,允许通过在屏幕上触摸或拖动来产生事件。各个显示监视器可以显示相同的或不同的图像。
事件驱动控制程序最好是从Windows、Windows for Workgroups、Windows NT、Windows 95、OS/2和Macintosh操作系统中挑选出的GUI系统。显示器最好是彩色光栅阴极射线管(CRT)显示器,但还可以是液晶显示器、场致发光显示器、电子荧光显示器、光发射二极管显示器、冷式阴极显示器或其它显示器。
用户输入设备最好包括叠在所述有关显示器上的透明触摸屏,触摸屏可以是表面声波型、电阻型、电容型、红外型、压敏型或其它已知类型的触摸屏。当然,也可以采用其它类型的定位设备。
系统最好包括至少两个显示设备和两个用户输入设备。显示驱动器可以是集成多路显示适配器或视频分割器,而输入接口可以是多输入设备、菊花链式输入设备或单独设备。
根据本发明的另一个方面提供了多显示器GUI系统,其中所述事件驱动控制程序包括一个具有统一虚拟显示空间的GUI,该程序在所述统一虚拟显示空间中产生多个显示窗口,在任何时刻所述显示窗口中只有一个与被处理的事件相关,输入到所述输入设备中的一个设备上的输入产生一个与所述相关显示设备的所述统一虚拟显示空间的所述部分中的窗口有关的事件,然后该事件被进行处理。
此系统可以用比较标准的硬件和操作系统来实现,如用执行80×86指令集的处理器中的一种处理器来实现。当然,也可以用诸如PowerPC、MIPS、SPARC、Alpha或其它CISC或RISC微处理器之类的结构。也可以用集成在一块板或几块板上的多个VGA、超级VGA或Windows加速的显示驱动系统。可以用视频分割器将一个图象呈现在多个显示器上。
为了充分理解本发明,应当参考以下如附图举例说明的本发明优选实施例的详细说明。
附图简要说明将通过附图对本发明优选实施例加以说明。其中

图1是运行多窗口应用程序的单用户系统的示意图;图2是用一个视频分割器运行多窗口应用程序、在多个显示器上显示同一个图像的单用户系统的示意图;图3是在一个虚拟桌面上运行多窗口应用程序的带有多个视频显示适配器和多个显示器的系统的示意图;图4是在一个虚拟桌面上运行拼贴在多个显示适配器上的多窗口应用程序的系统的示意图;图5是本发明第一操作模式的流程图;图6是本发明第二操作模式的流程图;图7是组合本发明第一和第二模式的流程图;图8示出了分布在如图4所示的4个监视器上的在一个虚拟桌面上显示的4个可视用户光标和一个不可视系统光标;和图9示出了用于处理相对位置定位设备输入的流程图。
优选实施例的详细说明现在参考附图对本发明的优选实施例加以说明。本发明各个附图中的相同部件用相同的参考数字表示。
提供了一个系统,该系统具有典型的Windows、Windows for Workgroups、Windows95或OS/2结构,如具有一个80486 D×2-66或Pentium66处理器、一个16兆字节存储器和一个500到1080兆字节硬驱。根据本发明,通过一个STB MVP-4X显示适配器和多个RS232口,用Windows、WindowsNT、OS/2或Macintosh的Elo“监视器鼠标”软件驱动器将多个具有Eol触摸屏(Elo Touchsystems Inc.OakRidge,TN)的SVGA触摸屏连接起来。这些驱动器允许从触摸屏输入典型的Windows用户输入,如单击、双击、移动窗口、改变窗口尺寸、滚屏和下拉式菜单选择。这种系统同样还允许用触摸屏输入与DOS进行对话。
正如在已有技术中所知道的那样,在图1所示的系统上运行多个应用程序,每一应用程序在监视器上占据一个窗口。这个系统运行Windows forWorkgroups操作系统和MS-DOS6.22。系统中装有一片Intel 80486D×2/66处理器1,处理器1具有标准外周配置,包括一个鼠标2和一个键盘3。该系统还提供具有Elo触摸屏5的SVGA监视器4。在使用触摸屏5期间,鼠标2被无效。监视器4上显示了两个窗口应用程序6、7。
图2示出了大致按照图1得到的系统,它具有视频分割器9,它在带触摸屏5、5’的临视器4,4’上显示应用程序6、7。这个与本发明相对应的系统允许同时使用两个监视器上的触摸屏。
图3示出了按图1的系统,具有多个输出SGVA显示驱动器14、15,STB型MVP-2X驱动SVGA监视器4、12,监视器4、12分别具有触摸屏5、13。为应用程序提供了一个虚拟显示空间,它可包括各种监视器4、12。于是,应用程序A的部分10、10’可在监视器4、12上显示,同样地,应用程序B的部分11、11’可在监视器12、4上显示,触摸屏5、13可同时使用。
图4示出了大致按照图1得到的系统,它具有一个多路输出SVGA显示驱动器24、25、26、27,STB型MVP-4X驱动SVGA监视器16、18、20、22,每个监视器分别带触摸屏17、19、21、23。为应用程序提供了一个虚拟显示空间。如图4所示,各个监视器上的应用窗口A1、A2、A3、B被放到最大,它向访问那个窗口的用户提供专门的访问权。应用程序A1、A2、A3是同一种应用程序的多个相同的拷贝或各个阶段,而应用程序B则是不同的应用程序。这些应用程序被拼贴在虚拟桌面上以便在各个显示器上以最大窗口呈现出来。可以同时使用触摸屏16、18、20、22,各用户之间不会出现干扰。
用虚拟显示空间上的独立窗口执行多个相同拷贝或销售点程序的各个阶段或不同的程序。每一个窗口呈现在一个独立的监视器上。因此各个监视器上的触摸屏覆盖了一个独立窗口。对覆盖在窗口上的触摸屏表面触摸一次就触发操作系统中的一个事件使得该窗口成为“活动窗口”,成为观察的焦点或切换上下文。各个POS应用程序可以有子窗口、对话框或其它类似的窗口;不过以任何输入指令序列可以被中断的这样一种方法来提供每一个屏幕目标,即,打开的对话框不锁定中断以免切换上下文。
由于这些GUI操作系统基本上是为单用户在任何时候使用而设计的,所以通用编程设计模式仅仅是为一个主程序提供的,即为Windows中的程序管理器、为Macintosh中的查找程序等提供的。因此,为了避免破坏所有用户的系统活动,这种高级功能最好被隐含起来或不允许任何正常用户或异常用户输入访问。另外,尽管GUI通常可以作为主要输入与系统相交互,但经常还可以从键盘访问系统功能。因此,在优选实施例中,通常用户不能使用键盘。或者,键盘输入被屏蔽掉了以免无意识地破坏其它用户和与相应的定位设备输入有关的输入数据。
从系统的角度来说,拖动操作通常是不可中断的,但情况不一定如此,例如用事件驱动器结构时,不需要连续输入“键按下”事件就可以确定“释放”事件。
因此,本发明的基本方面是在统一的事件驱动环境下提供一个具有足够的频带宽度的事件服务器从而以准实时方式处理来自多个输入设备的事件流,一般按照事件发生的顺序对来自不同输入源的事件流进行处理。注意,该系统不一定是实时处理器,不一定严格按照事件发生的时间顺序来处理不同输入源的事件。同一输入源的事件尽管可以批处理但应当按顺序处理。当一系列事件与一个命令输入相对应时,对事件进行批处理或许比较有效。注意,光标移动事件应当尽可能按实时处理,通过将其它类型的命令置放到队列中,能够不按顺序执行这些命令。因此,至少可以按两种步骤对事件处理,即确定事件类型和执行步骤。
这样,当使用触摸屏时,触摸或松开某个区域会产生一个含有触摸或松开的时间(或顺序)以及触摸或松开的位置的事件。如果在不受窗口控制的屏幕区域内触摸,所产生的事件就由监控程序来处理,结果可能会产生看不见的效果。另一方面,如果在受打开的窗口控制的屏幕区域内触摸或松开,所产生的事件就由该窗口的控制程序来处理。如果在覆盖在非活动窗口上的区域内触摸或松开,那么在一定的环境中监控程序可以截获该事件从而使那个窗口成为活动窗口,但不作进一步处理。通常这是一种符合下列设想的“安全”性能当窗口之间的转换控制不属于正常操作方式时应当加一个延时以免无意中执行控制非活动窗口的程序。根据本发明,在大多数情况下这种安全性能被省略或被作了修改,以便触摸或松开仅导致控制程序和该程序或窗口的命令发生变化。这样,活动窗口和非活动窗口似乎同样响应触摸输入事件。这样,由于活动窗口和非活动窗口似乎同样操作,因此进一步要讨论的问题将集中在非活动窗口上,活动窗口需要更少的步骤。在已有系统中,活动窗口与非活动窗口之间的转换是可见的,然而,根据本发明,在资源共享的情况下(实际上也是如此),最好使用户都能够对系统进行连续控制。
在多用户接口系统中,为了让用户立即从触摸事件中接收反馈并防止其它用户输入事件的散布,在鼠标移动、按下、弹起事件被排入中断服务程序中之前对其它用户中断进行屏蔽。尽管这使得系统对用户输入的起始响应有些延迟(用户察觉不到),但它能提供对一个输入过程的连续响应。
在单用户系统中,可以用这样的方法在显示单元之间拖动窗口;用一只手触摸窗口,同时用另一只手触摸不同显示单元上的目标位置,接着将触摸第一显示单元的手抬起,由此窗口将移动到第二显示单元上的目标位置上。当拖动事件被起动以后,随着一系列被用来移动目标的座标,第一触摸事件被检测。只要触摸不被打断,窗口将保持拖动的状态。由其它同时发生的事件所引起的中断被放到排列序列中。各个显示器上的触摸屏或输入设备具有相同的中断率时更是这样。系统硬件具有足够的频带宽度以至于每个输入设备具有不固定的光标移动以及看起来好象能完全控制整个系统。这样,与标准类型的系统相比,即使一个输入设备引起一连串的事件(比如通过连续触摸或连续按鼠标按钮引起一连串的事件)时,输入事件被连续接收和处理。这样,随着目标迅速地来回移动到由各个交替中断所规定的位置上,多个输入设备似乎可以互不干扰地同时拖动同一个屏目标。
作为让标准系统监控程序控制多个窗口(它可能是同一应用程序的多个阶段)之间的转换的替代方案,可以提供一种占据了整个虚拟屏区域的专门应用程序,这样所有输入都通过该专门的应用程序进行处理。该专门的应用程序可以有子窗口,可以任意选择使它们与系统标准程序目标一致或为全部通用。因此,就多屏应用程序来说,不需要对操作系统或监控程序级的事件处理作任何修改。
本发明方法在图5、6和7所示的流程图中作了说明。图5表示第一多用户定位操作模式,而图6则表示第二单用户拖动操作模式。图7表示选择地具有第一定位操作模式和第二拖动操作模式的系统。
每个触摸屏输入产生一个被中断服务程序101捕获的中断。触摸数据包括座标(x、y)和触摸信息102。然后检查触摸数据看看触摸状态是否已改变103,例如是否有新的触摸或松开。如果触摸状态有变化103,并出现触摸104,那么计数器就增值105。如果触摸状态有变化103,但没有出现触摸104,那么计数器就减值106。
在图7中,提供了两种操作模式,它们可分别执行107。在定位模式中,关键是要判定在初始处理步骤中计数器是否被增值,即,新的计数值是否大于初始计数值108。如果新值大,那么就将一系列事件信息(移动、按钮弹起和按键按下)排队109并刷新过去的触摸计数值110。然后中止中断服务程111。在这种模式中,各个输入是独立的,相互间设有干扰,因为只有新触摸事件才产生消息。
在拖动模式中,关键是要判定变换到112或从113传来的触摸计数值是否为零。如果触摸计数值是1并且以前的触摸计数值是0,那么就将移动和按钮按下消息排队115。否则的话就产生一个具有按钮按下消息的移动(拖动)114。如果触摸计数值现在等于零,那么就产生一个按钮弹起消息116。刷新触摸计数器110。然后中止中断服务程序111。这样就使第一次触摸产生一个按钮按下消息,使最后一次松开产生一个按钮弹起消息。因此,在拖动模式中,各个输入是相互作用的。
图8表示在一个分布在图4所示4个监视器16、18、20、22上的虚拟桌面上的4个可视用户光标30、31、32、33和一个不可视标准系统光标34。每个可视用户光标分别与相关定位设备2、35、36、37相关。根据这个系统,对应于4个定位设备中的每一个定位设备的用户光标的位置对操作系统来说都是未知的。光标产生功能由设备驱动器或应用程序提供。设备驱动器或应用程序中含有最后用户Xn和最后用户Yn,它为每个用户光标保存绝对座标。还可以保存有关用户输入历史信息,比如,速度和手势。
当从定位设备,比如2、35、36或37上接收到相对移动信息,一般根据最后用户Xn、最后用户Yn和任意选择的其它用户输入信息用已知的方法对有关用户光标位置进行刷新。然而在以下环境中可视用户光标(如30、31、32或33)并不总是直接与相对移动相对应。用户光标移动范围被限制在有关虚拟显示窗口范围内。系统光标34可以放在虚拟桌面上的任何位置,它不一定随定位设备输入移动。系统光标34可以保持不可视或具有不同的图形特性。可以按照图5、6和7所示的方法刷新系统光标34和产生系统鼠标事件。
即使在使用相对移动型设备的情况下,也是给操作系统提供绝对定位设备位置。因此,图9所示的方法对相对移动型设备的定位设备输入进行预处理,通常绝对位置型设备不采用这种方法。有一相对移动型定位设备可以选择性保持与系统光标有关,就象在已知系统中那样,它可以对所有正常的操作系统的定位设备输入功能进行访问。
当采用相对位置定位设备(如鼠标2)时,在根据图5、6和7所示的步骤对定位事件进行处理之前,可以先进行图9所示的预处理过程。这种预处理过程执行两种功能。首先,在与定位设备的过去使用历史相关的位置上为定位输入设备产生一个用户光标。其次,将传到与定位设备输入有关的操作系统中的消息转换成绝对座标位置。
通过操作定位设备产生中断120。测定定位设备的相对移动121,将该相对移动与储存的有关特定定位设备的过去使用历史(如一组储存的座标)一起进行处理。这种储存信息还可以更复杂,例如就象已知系统那样包括用于计算冲击式光标移动的速度数据或手势。这样就计算出了用户绝对座标位置122。用户光标移动范围被限制在虚拟显示空间123以内。刷新储存的信息124。然后在与特定定位设备有关的显示设备上显示用户光标位置125。
然后准备并传送定位设备消息,即准备并传送在图5、6和7的步骤102中作为触摸数据的绝对座标X、Y,接着中止中断服务程序127。
已经展示和说明了多输入系统的新特征,它实现了所追求的所有目的和优越性。然而对那些考虑过这个公开了优选实施例的详细说明和附图的技术行家的来说,本发明内容的许多变化、改型、调整、组合、子组合和其它用法及应用将是很明显的。在本发明思想范围内的所有这些变化、改型、调整和其它用法及应用属于本发明覆盖的范围,本发明仅受以下权利要求的限制。
权利要求
1.一种具有计算机系统和执行事件驱动控制程序的图形用户接口系统,计算机系统包括处理器、显示输出接口和用户输入接口,事件驱动控制程序包括具有虚拟显示空间的图形用户接口,该图形用户接口系统包括所述用户输入接口,用于同时接收多个用户输入和向所述控制程序传送与每个所述用户输入有关的信息,每个所述用户输入与所述控制程序的事件产生有关;显示器,用于响应所述显示输出接口和显示与至少一部分所述虚拟显示空间相对应的图形图象以及在所述虚拟显示空间中的所述部分显示与所述部分所述用户输入有关的信息;所述控制程序,用于在所述第一用户输入期间对与第一用户输入有关的一系列事件进行处理,处理过程不受第二用户输入的功能干扰。
2.根据权利要求1所述的图形用户接口系统,其中所述事件驱动控制程序是一个从Windows、Windows for Workgroups、Windows NT、Windows95、OS/2和Macintosh操作系统中选出的图形用户接口系统。
3.根据权利要求1所述的图形用户接口系统,还包括多个显示器。
4.根据权利要求3所述的多显示器图形用户接口系统,其中多个显示器中的每个显示器对所述虚拟显示空间的不同部分或拷贝进行显示。
5.根据权利要求1所述的图形用户接口系统,其中所述多个用户输入中至少有一个从具有绝对位置座标的用户输入设备上接收数据。
6.根据权利要求5所述的多显示器图形用户接口系统,其中所述用户输入设备是一个叠在所述显示器上的触敏设备,以便一个指向显示位置的触摸将光标对准所述显示位置。
7.根据权利要求5所述的多显示器图形用户接口系统,其中所述用户输入设备包括一个触摸屏。
8.根据权利要求1所述的图形用户接口系统,包括至少两个显示设备和至少两个用户输入,每个显示设备显示所述虚拟显示空间的不同部分或拷贝。
9.根据权利要求1所述的图形用户接口系统,其中每个用户输入和有关显示具有相当的能力。
10.根据权利要求1所述的图形用户接口系统,其中所述虚拟显示空间包括多个目标,每个用户输入与一个所述目标有关。
11.根据权利要求10所述的图形用户接口系统,其中所述多个目标包括多个应用窗口。
12.根据权利要求10所述的多显示器图形用户接口系统,其中与应用窗口有关的应用程序对与用户输入有关的事件进行处理。
13.根据权利要求1所述的图形用户接口系统,还包括多个显示器,每个显示器显示所述虚拟显示空间的不同部分或拷贝,所述图形用户接口系统响应WIN16、WIN32或OS/2API句法。
14.根据权利要求1所述的图形用户接口系统,还包括处理器,它具有一个计数器;一个用于储存所述计数器的状态的存储器;根据任何所述输入的活动输入状态使所述计数器增值和根据任何所述输入的不活动输入状态使所述计数器减值的装置;定位模式装置,当所述计数器被增值时,它按顺序将光标移动到所述位置、产生按钮按下信息和产生按钮弹起信息;和用于对所述计数器的所述储存状态进行刷新的装置。
15.根据权利要求1所述的图形用户接口,还包括处理器,它具有一个计数器;一个用于储存所述计数器的状态的存储器;用于根据任何所述输入的活动输入状态使所述计数器增值和根据任何所述输入的不活动输入状态所述计数器减值的装置;拖动模式装置,当所述计数器的值变化到1时,它顺序将光标移动到所述位置和产生按钮按下信息,当所述计数器的值变化到零时,它产生按钮弹起信息,否则就,随按钮按下信息的移动保持拖动状态;和用于对所述计数器的储存状态进行刷新的装置。
16.根据权利要求1所述的图形用户接口,还包括一个用于将相对定位用户输入设备的输出转换成显示座标位置的系统和一个用于在所述显示器上显示与所述相对定位位置用户输入相符合的并独立于所述控制程序的用户光标的系统。
17.一个具有虚拟显示空间的事件驱动图形用户接口系统,包括一个响应多个用户输入的用户输入接口,所述用户输入与虚拟显示空间数据和输入状态有关以及与事件的产生有关;所述接口系统同时对与具有公共输入状态的第一用户输入设备有关的一时间系列事件和与具有所述公共输入状态的第二用户输入设备有关的一时间系列事件进行处理,相互间没有干扰。
18.根据权利要求17所述的事件驱动图形用户接口,还包括一个用于控制所述图形用户接口具有一个系统光标的控制程序,一个用于将相对定位位置用户输入设备的输出所产生的事件转换成显示座标位置的系统和一个用于在所述图形用户接口上显示与所述相对定位用户输入相符合的并独立于所述控制程序的用户光标的系统。
19.一个具有包含多个目标的统一虚拟显示空间的事件驱动图形用户接口系统,它包括用户输入接口,用于产生有关多个用户输入的事件;所述接口系统无相互干扰地顺序执行一系列与第一用户输入有关的事件和一系列与第二用户输入有关的事件。
20.根据权利要求19所述的事件驱动图形用户接口,其中所述接口系统具有一个系统光标,它还包括一个用于将相对定位用户输入设备的输出所产生的事件转换到显示座标位置的系统和一个用于在所述图形用户接口上显示与所述相对定位输入相符合的并独立于所述控制程序的用户光标的系统。
21.一种具有统一虚拟显示空间的用于图形用户接口系统的输入处理器,它包括输入单元,用于接收来自多个用户定位设备的输入,以定义位置和输入状态;和处理器,它具有一个计数器;一个用于储存所述计数器的状态的存储器;根据任何所述输入的活动输入状态使计数器增值和根据任何所述输入的不活动输入状态使所述计数器减值的装置;定位模式装置,当所述计数器被增值时,它顺序将光标移动到所述位置、产生按钮按下信息和产生按钮弹起信息;和用于对所述计数器的所述储存状态进行刷新的装置。
22.根据权利要求21所述的系统,其中所述处理器还包括用于在所述定位模式装置与拖动模式装置之间选择操作模式的装置,其中拖动模式装置用于当所述计数器的值变化到1时,它按顺序将光标移动到所述位置和产生按钮按下信息,当所述计数器的值变化到零时,它产生按钮弹起信息,否则就随按钮弹起信息产生的移动保持拖动状态。
23.根据权利要求21所述的系统,其中所述处理器还包括一个具有系统光标的控制程序,一个用于将所述相对位置定位设备输入转换成显示座标位置的系统和一个用于在所述统一虚拟显示空间上显示与所述相对位置定位设备输入相符合的并独立于所述系统光标的系统。
24.一种具有统一虚拟显示空间的用于图形用户接口系统的输入处理器,它包括输入装置,用于接收来自多个用户定位设备的输入,用于定义位置和输入状态;和处理器,它具有一个计数器;一个用于储存所述计数器的状态的存储器;用于根据任何所述输入的活动输入状态使计数器增值和根据任何所述输入的不活动输入状态使所述计数器减值的装置;拖动模式装置,当所述计数器的值变化到1时,它按顺序将光标移动到所述位置和产生按钮按下信息,当所述计数器的值变化到零时,它产生按钮弹起信息,否则就随按钮弹起信息产生的移动保持拖动状态;和用于对所述计数器的所述储存状态进行刷新的装置。
25.根据权利要求24所述的系统,其中所述处理器还包括用于在所述拖动模式装置和定位模式装置之间选择操作模式的装置,其中定位模式装置用于当所述计数器被增值时,它按顺序将光标移动到所述位置、产生按钮按下信息和产生按钮弹起信息。
26.根据权利要求24所述的系统,其中所述处理器还包括一个具有系统光标的控制程序,一个用于将所述相对位置定位设备输入转换成显示座标位置的系统和一个用于在所述统一虚拟显示空间上显示与所述相对位置定位设备输入相符合的并独立于所述系统光标的系统。
全文摘要
一种多显示器图形用户接口系统,它包括一个处理器(1)、显示输出接口和用户输入接口;它执行包括具有统一虚拟显示空间(5、13)的图形用户接口在内的事件驱动控制程序,每个输入设备产生事件;它用于同时从输入设备(2、3)接收用户输入信号和在所述多个显示器(4、12)上显示有关所述用户输入的信号。所述呈现在每个所述显示器(4、12)上的图形图象(10、10’)至少是所述统一虚拟显示空间(5、13)的一部分,其中至少有两个所述多个用户输入设备(2,3)可以同时用来输入图形用户接口命令,每个用户输入几乎能实时响应用户输入,每个用户输入设备(2,3)明显可以连续控制所述相关显示器上的所述图形图象。
文档编号G06F3/048GK1200189SQ96196868
公开日1998年11月25日 申请日期1996年9月20日 优先权日1995年9月21日
发明者迈克尔·R·西戈纳, 安东尼·温纳 申请人:埃罗接触系统公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1