图形用户界面导航方法和设备 本发明涉及用于计算机等设备的图形用户界面,特别涉及一种供指向装置或者类似装置使用的改进的方法和设备。
所述图形用户界面(GUI)技术已经变得非常流行,其主要作为与用户交互以及控制在所有各种计算机系统和基于软件的设备上运行的软件应用的手段。对于许多GUI常见的操作涉及指示和后续选择和/或移动在GUI显示上再现的对象。用于实现这一点的用户输入装置包括鼠标、轨迹球、触摸板等等。已知的问题在于:用户和操作者可能会遭受与经常性和重复操作这种输入装置相关联的手部和手腕不舒服的困扰;在一些情况下,用户被诊断为患有一个或多个辨认机能失调的疾病,这种疾病属于通称为反复性过劳损伤(Repetitive StrainInjury,以下简称为RSI)一类的病情。
已经设计出了各种技术来帮助减少GUI输入装置的用户发生RSI的可能性,特别是针对台式鼠标地使用。于2001年3月8日公开的国际申请WO01/16688 A1公开了一种软件产品,所述软件产品用于增强或者扩充操作系统和/或软件应用以便识别传统对象并且转换它们。通过点击指向装置激活的传统对象可以被转换为响应具体的动态光标交互、诸如光标移动图案的对象。这种方法的缺点在于:用户必须得知与对象相关联的一个或多个具体的动态光标交互。进一步的缺点在于:在提供点击指向装置的替代方式时,仍要求用户在GUI显示中确切地将光标放置对象上方的位置,并且还要执行附加的具体动态光标交互。被转让给本申请申请人的国际申请WO98/44406公开了一种用于计算机系统的GUI的复合光标装置。所述复合光标包括依照常规方式动作的有源光标,以及在显示界面周围跟随有源光标的无源光标。无源光标的功能在于拖动由有源光标选择的图标。这种方法的缺点在于:所述有源光标仍需要定位,并且仍需要与常规的光标操作相关联的其他操纵,诸如可以由用户使用鼠标执行的操纵。
每类用户都能够操作产品是许多州的法定要求或者至少是公共政策。在追求于显示界面上增加内容量的过程中,目前的GUI设计可以使那些用户很少能够准确地控制指向装置—诸如鼠标不方便;特别是那些具有胳膊/手部运动损伤以及手-眼协调问题的用户,可以看出其难以相对于GUI显示上的对象来足够确切地定位或者操纵光标。人们对一些指向装置的设想是:用户足够灵巧地操纵所述指向装置在GUI显示区域内以足够的准确性来将光标移动并且定位到任何地方。
本发明的目的在于:通过提供这样一种改进了的方法来解决这些以及其他问题,所述方法通过平移过程来移动GUI对象,以便允许与用户交互并且结合指向装置和GUI显示来控制软件应用。
依照本发明,提供了一种在GUI显示中平移对象的方法,所述显示包括第一对象和第二对象,所述方法包括以下步骤:
a)相对于第二对象定位第一对象,以致使得与第一对象相关联的第一预定义坐标位置基本上和与第二对象相关联的第二预定义坐标位置共处一地;
b)确定用于平移的路径;
c)依照确定的路径平移第一对象和第二对象,以致使得在平移期间第一对象与第二对象基本上保持共处一地;
d)相对于第二对象重新定位第一对象;并且
e)停止所述平移。
许多基于GUI的计算机应用都要求在GUI显示内移动和/或定位对象,包括但是不局限于:拖放、画线和形状等等。本发明允许借助于平移将对象在GUI显示四处移动,也就是沿GUI显示中的线性路径移动。依照现有技术的方法,要求用户使用指向装置跟踪平移路径。在本发明的方法中,将第一对象放置在基本上与第二对象共处一地的位置。然后,获得与平移相关的信息并且用于确定沿其平移所述对象的路径。然后,发生平移,其中将第一和第二对象沿所确定的路径一起平移,由此基本上保持共处一地。随后,当所述系统检测第一对象相对于第二对象的重新定位时,可以停止平移(至少沿当前路径)。所述方法适合用于任何类型的可移动对象。所述方法的一个优点在于:当平移(移动)对象时,由于不要求用户手动跟踪平移路径,从而减少了RSI的风险;所述方法在平移对象期间不要求用户操纵例如指向装置。进一步的优点在于。沿准确的线性路径或者轨迹执行平移。这在要求准确的或者稳定的手动操作的应用中十分有益,所述手动操作包括但不限于画草图和计算机辅助设计(CAD)。相关的益处在于:这种应用可以让手部不稳定的或类似运动技能损失的用户来访问。
第二对象(要平移的对象)可以已与一个或多个预定义的坐标位置相关联。优选的是,这些预定义的坐标位置,包括与所述对象相关联的边界。所述边界可以包含对象的上下文敏感区域,包括但不限于驻留在计算机应用中的对象。第一对象还可以与一个或多个预定义的坐标位置相关联。优选的是,所述第一对象具有一个预定义的坐标位置。当相对于第二对象定位第一对象时,使第一和第二对象共处一地可以通过第一对象预定义坐标位置与第二对象预定义坐标位置之一基本上共处一地来加以确定。所述第二对象可以是多个对象之一,其中所述对象被关联,以致使得可以将它们作为单个对象来平移。
所述第一对象可以包括至少部分地被用于确定平移路径的数据。一个例子可以是表明方位的数据。所述第二对象可以沿这样的路径进行平移,所述路径包括第二对象的参考坐标,并且所述第二对象可以沿依照所指示的方位的方向平移。第二对象合适的参考坐标可以是其相对于GUI显示的原点坐标;第二对象的优选参考坐标是它的依照WindowsGUI所定义的原点。所述第一对象可以把方位表示为数值;作为选择,所述第一对象还可以包括可定向的图形符号,所述图形符号的取向可用于确定平移路径。例子可以是:所述第一对象包括诸如箭头的光标符号;平移路径可以由符号相对于GUI显示轴的取向来确定,所述平移方向是依照箭头的方向。
当第一和第二对象是共处一地时,平移路径可以使用如上所述的方位方法来确定。作为选择,当共处一地时,可以使用所述第一对象相对于第二对象的位置来确定平移路径。一个例子是:沿这样的路线来确定路径,所述路线包括第二对象合适的参考坐标以及在该共处一地位置处与第二对象相关联的预定义坐标位置。第二对象合适的参考坐标可以是依照WindowsGUI所定义的原点。所述路径可以通过预定义规则来部分地确定;例如,将路径确定为依照从第二预定义坐标位置到参考坐标的方向行进(以致可以将所述第一对象视为沿平移路径‘推入’第二对象)。
一旦已经确定了平移路径,第一和第二对象这二者的平移就可以发生,以致使得两个对象在平移期间基本上保持共处一地。当所述第一对象的位置相对于第二对象改变时,至少可以停止沿当前路径的平移。当所述对象仍然共处一地时,可以沿新的路径继续平移,其中所述新路径是通过早先描述的方法确定的;否则,在所述对象不再共处一地的情况下可以停止平移。
本发明的方法可以结合现有计算机程序应用和/或用户操作装置来使用。可以例如借助于、但不局限于插件或者合适的设备驱动程序来实现。实现方式的一个例子是使用常规的鼠标进行拖放操作的替代方法。用户可以定位要与对象共处一地的屏上光标。然后,将所述对象沿路径(至少部分地根据所述光标本身和/或其相对于对象的位置获得的)平移,而不需要用户移动鼠标本身。一旦通过已将所述光标远离对象(通过移动鼠标)进行再定位来将所述对象平移到GUI显示中的希望位置,就可以终止平移(拖动)。作为进一步的选择,平移路径可以在相对于所述对象再定位光标(同时保持它们的共处一地)的拖动操作期间,而通过移动鼠标来加以改变。此例子表明了本发明的方法如何可以实现更符合人机工程学的鼠标操作,以便帮助减少RSI的风险——在该情况下,拖放操作包括用户在对象定位光标,然后,将所述对象自动平移(拖动)至希望位置,然后由用户放下,以便把光标定位在远离所述对象的位置。本领域技术人员很容易发现其他的例子。
依照本发明的又一方面,提供了一种设备,被设置为生成GUI显示并且支持在用户指引下移动GUI显示中的对象,所述设备包括:
a)用户操作的指向装置,可用于输出位置数据;
b)输入端口,可用于接收来自于用户操作的指向装置的位置数据;
c)显示器;以及
d)数据处理单元,包括:用于程序和数据的CPU以及存储器;所述输入端口、显示器以及数据处理单元通过数据总线相互连接;所述数据处理单元可用于;
I.在所述显示器上再现GUI;
II.在所述GUI显示内再现光标图标;所述光标图标包括导航对象和指向对象;
III.读取并且解码所述位置数据;
IV.根据所述位置数据定位光标图标的指向对象;并且
V.根据指向对象相对于导航对象的定位,在所述GUI显示内沿着路径平移所述光标图标。
本发明的方法还可以应用于GUI显示中的复合对象,所述复合对象包括上述讨论到的所述第一对象和第二对象这二者。复合对象的例子是光标图标。此对象意在模拟通常由用户输入装置的启动器调用的各种功能。
举例来说,现在将论述为模拟鼠标功能而设计的光标图标。所述图标可以代替标准的鼠标光标持久地显示在GUI显示上,或者当所述鼠标光标位于上下文敏感区域之上显示在GUI显示上,或者在其他任何合适的环境下显示。所述图标可以包括两种类型的活动区(对象),对应于起基本指向装置作用的鼠标的中性区,以及一个或多个选择区域(对象),每个区域可以模拟对应于启动器的激活(例如压下鼠标按纽、转动滚轮等等)的预定义功能;这种功能可以通过GUI应用的上下文敏感区域来识别。所述中性区可以包含导航对象和位置对象,其中位置对象表示所述图标相对于GUI显示的当前位置。选择区域还可以包含导航对象,例如选择区域‘左键向下’可以包括导航对象以便允许拖动。另外,可以将指向对象包括在光标图标内。使用鼠标,用户就能在图标的任意区域上方定位指向对象,并且还将指向对象与导航对象(其对于2D GUI显示可能适当地是环形的)共处一地。
为了在所述GUI显示区域四处通用地导航所述光标图标,用户可以使用早先描述的本发明的方法使所述指向对象与定位在中性区内的导航对象共处一地。为了拖动应用对象(即,不包括在光标图标内的对象),用户可以导航所述光标图标以便使其处于对象(由所述位置对象表示)的上方;然后所述用户可以将指向对象定位在所述图标的选择区域‘左键向下’的上方,由此选择所述应用对象;然后,所述用户可以使用定位在区域‘左键向下’内的导航对象来导航所述图标;一旦将所述图标定位在对象‘放下’位置上方,所述用户于是就可以在图标中性区上方反向定位指向对象,由此‘释放’左键并且放下所述对象。应当注意,优选的是,所述指向对象的定位被约束在所述光标图标的范围之内。
诸如光标图标的复合对象的优势在于:对象之间的交互(例如共处一地)可以被限制在所述复合对象的范围内。这样具有以下益处:由于为复合对象定义这些并且将这些限制在复合对象的范围内,故而可以确保各种交互的可预测性;交互结果根据需要可以被传送到所述复合对象以外的应用或者操作系统,例如使用但不局限于适合于应用或者操作系统的应用编程接口(API)来实现上述传送。光标图标的优点在于:它允许用户通过导航光标图标的较小区域来导航整体GUI显示区域。除早先描述的平移的益处以外,为了导航整体GUI显示,与采用常规方式使用鼠标时所要求的手动行进相比,通过受更多限制且操纵光标图标中的指向对象所需要的手动操作,可以进一步减少RSI的风险。
现在将只通过举例参照附图来描述进一步的特征和优点,其中:
图1是具体实现本发明一个方面的方法的流程图;
图2是示出了在GUI显示内对象的共处一地的第一例子的示意表示;
图3是示出了在GUI显示内对象的共处一地的第二例子的示意表示;
图4是示出了包括应用于对象平移的路径数据对象的例子的示意表示;
图5是示出了从对象的共处一地导出的平移路径的例子的示意表示;
图6是示出了具体实现本发明的光标图标的例子的示意表示。
在随后的描述中,术语‘GUI’指的是用于计算机以及其他软件驱动设备的图形用户界面,所述设备包括但不限于:TV、机顶盒、电话、PDA等等。术语‘GUI显示’被作为描述对象显示的通用术语来使用,其中用户可以与所述对象交互,以便控制软件应用的功能。
图1是具体实现本发明一个方面的方法的流程图。100概括性地示出的方法例如可以接合GUI显示使用,所述GUI显示包括至少两个对象。所述方法在102开始。在所述GUI显示内,相对于第二对象定位第一对象104,直到在106检测到所述第一对象与第二对象共处一地。可以通过比较与所述第一对象相关联的预定义坐标位置和与第二对象相关联的预定义坐标位置的相对位置来检测共处一地,正如以下相对于图2和3进一步论述的那样。一旦已经检测到共处一地,那么确定平移路径108,并且依照所确定的路径平移第一和第二对象110。平移路径的确定可以依照如下相对于图4和5所述的技术。继续对象平移,直到相对于第二对象重新定位所述第一对象112,在该点,平移停止114。然后,所述方法循环返回至检测这些对象是否仍共处一地106,在该情况下,对象的平移可以再一次发生,但是,是沿不同的确定路径进行。
图2是示出了在GUI显示内对象的共处一地的第一例子的示意表示。该图包括两部分,其中图2a示出了不与第二对象204共处一地的第一对象202,而图2b示出了这两个共处一地的对象。所述第一对象202具有关联的预定义坐标位置206,而第二对象204具有关联的预定义坐标位置208。应当注意,关联的预定义坐标位置是相对于对象的参考坐标位置(例如原点)的位置(不同于相对于GUI显示的坐标方案);关联的预定义坐标位置可以在其所涉及的对象内、在对象上或者在对象最外边界外部,例如,示出了关联的预定义坐标位置206位于第一对象202的最外边界210的外部。为了使所述对象共处一地,相对于第二对象定位所述第一对象,以致使得它们各个相关联的预定义坐标位置206,208相对于GUI显示基本上位于同一坐标位置。在定位对象以便实现共处一地的过程中的精确度可以被定义成适合用户的偏好或者能力。例如,对象的相关联的预定义坐标位置可以使可定义区域(图2中未示出)与坐标位置结合在一起,其中所述区域包括多个坐标位置,可以有效扩大原始关联的预定义坐标位置的大小(区域),由此减少当使对象共处一地时所要求的定位准确度。优选的是,这种区域往往从相关坐标位置(例如2D GUI显示中是圆形的)沿半径发散。
图3是示出了在GUI显示内对象的共处一地的第二例子的示意表示。该图包括两部分,其中图3a示出了不与第二对象304共处一地的第一对象302,而图3b示出了共处一地的两个对象。所述第一对象具有预定义坐标位置306,该位置对应于所述对象的边界;同样,第二对象具有预定义坐标位置308,该位置对应于所述对象边界。应当注意,对象的边界可以是与对象相关的任意边界;也就是说,不仅是对应于对象的可视最外边界的边界。为了使所述对象共处一地,相对于第二对象304定位所述第一对象302,以致使得一个或多个预定义坐标位置306基本上处于与一个或多个预定义坐标位置308相同的坐标位置或者多个位置310,由此确立对象的共处一地。正如与图2相关的论述中所表明的那样,可以定义实现共处一地的对象的定位准确度;在如图所示的例子中,所要求的定位准确度往往是高的,原因在于对象边界邻接。实际上,通过邻接对象而实现共处一地是经常优选的使用方式,这是由于这样可以易于在软件检测到;此外,当所述对象首次邻接时,可以将软件设置为停止进一步朝向第二对象定位所述第一对象,以便防止所述对象重叠,不过用户未必能够执行这种定位准确度。这种特征提供了附加装置以便减少用户在对象定位准确度上的负担。在对象之一是光标的情况下,通过邻接对象共处一地是特别合适的,这是因为这样可以易于根据对象的相对定位来确定平移路径,正如下文就图5所进一步论述的那样。
图4是示出了包括应用于对象平移的路径数据的对象的例子的示意表示。在400概括性地示出的两个对象402、406,包括路径数据。一个对象402包括表示方位信息的数据,例如在2D GUI显示情况下,所述方位信息可以包括相对于GUI显示纵轴的角度值;方位信息还包括沿所述路径进行平移的方向指示。同样,可以为3D GUI显示提供合适对应于正交平面的两个角度值。还描述了可替换对象406,其中对象的取向或者其可视部分被用于推导进行平移的路径数据。在一般情况下,所述对象或者可视部分可以是任意符号,所述符号包括细长形元素,可以将其相对于GUI显示的轴成一定角度地来取向,其中所述角度可以用来确定平移路径。在所描述的例子中,将对象406作为2D显示的箭头符号并以角度408来示出,所述角度408示出了所述对象相对于GUI显示的水平轴的取向。作为选择,对于3D显示界面来说,角度408往往示出所述对象相对于GUI显示的水平方向平面的取向。使用中,用户可以在将对象406与待平移对象共处一地之前、首先确定对象406的方位。使用诸如箭头之类的极性化细长形符号的其他好处在于:符号还透露平移的方向指示,这与上述的方位确定方法相似。在使用非极性化的细长形符号的地方,用于平移的方向指示可以通过其他适当的手段来推导,诸如通过预定义的规则。例如,当使一个对象与另一个对象共处一地时,使用的‘渐近角’就可以使用来推断方向。任一的对象(402或者406)都可以被定位为与另一对象410共处一地,以便平移该对象410。例如,响应与对象410共处一地的对象406,示出了用于平移对象410的路径412。对象410的平移路径的角度416(相对于GUI显示的水平轴)对应于对象406的角度408。用于平移的方向是根据对象406的箭头符号的方向来推断的。为了最后确定平移路径,使用了对象410的参考坐标414(该参考坐标是相对于所述GUI显示的),以致使得所述参考坐标落在平移路径上。对象的合适参考坐标的例子包括但是不局限于:预定义的原点或者WindowsGUI原点。
图5是示出了从对象的共处一地导出的平移路径的例子的示意表示。在500概括性地示出的安排包括第一对象,所述第一对象是‘十字丝’光标504,其具有一个关联的预定义坐标位置508。所述光标位于这样的位置上,以致使得该光标通过坐标位置508和位于第二对象502边界的第二对象的关联预定义坐标位置(图5中未示出)的邻接而与第二对象502共处一地。不同于图4中给出的例子,光标504自身不包括可用于确定平移路径的数据。然而,作为选择,平移的路径可以根据共处一地的对象的相对位置来推导。在所描述的例子中,平移路径可以根据共处一地的对象(504,502)的相对位置来确定,所述路径是第二对象的参考坐标506和坐标位置508位于其上的线。沿所述路径的平移方向可以使用预先确定的规则来确定。在所示出的例子中,所述方向是通过应用这样一种规则来确定的,所述规则是平移方向(由512表示)对应于看来像是‘推入’对象502的光标504。
图6是示出了具体实现本发明的光标图标的例子的示意表示。在600概括性地示出了光标图标,并且该光标图标是具有滚轮的双按钮鼠标的图标的例子。使用中,意图以所述光标图标代替(至少对于一些操作来说)常规的鼠标功能,以便在所述GUI显示四处通用地导航光标或者拖放对象。优选的是,所述光标图标充当对在计算机或者类似设备上运行的操作系统和/或软件应用的增强作用,其中所述计算机或类似设备应用了GUI显示;与光标图标相关联的软件使用插件、应用程序接口(API)或者类似手段加以实现。
在图6的例子中,所述光标图标包括十字丝型光标606,其可以通过用户操作合适的指向装置来定位,所述指向装置包括但不限于鼠标、游戏杆、小键盘、平板电脑或者触摸屏。所述光标可以由用户导航至光标图标的任意区域;示出了两种类型的区域:中性区602和多个选择区域(608、610、612、614、616、618)。所述中性区602用于通常在GUI显示上到处导航所述光标图标;所述中性区包括位置对象604和导航对象622,所述位置对象604表明所述光标图标在GUI显示内的当前坐标位置。所述导航对象优选的是圆形的,并且包括多个关联的预定义坐标位置(为了清楚,在图6未示出),这些位置被分布在该导航对象可视最外面的边界上。所述光标606还包括关联的预定义坐标位置,该位置位于十字丝的交叉点(为了清楚,在图6中未示出)。所述用户可以试图将光标定位在导航对象622的边界处或者边界上方,以便使所述光标与导航对象共处一地;优选的是,与所述光标图标相关联的软件可以安排这些对象的关联预定义坐标位置以便邻接(正如早先论述的图5的例子那样)。当所述光标和导航对象被共处一地时,与所述光标图标相关联的软件确定平移导航对象622的路径,例如相对于图5的例子所描述的那样。然后,执行平移;为了平移,将整个光标图标及其所包含的所有对象与所述导航对象相关联,以致使得将光标图标作为整体来平移;在平移期间,光标606和导航对象622的相对位置保持相同。应当注意,在光标图标的平移期间不要求任何动作(也就是说,指向装置的用户操作)。通过用户操作指向装置来终止平移从而改变光标606和导航对象622的相对定位;然而,如果所述对象仍是共处一地的,那么,平移的新路径将被确定并且启动沿新路径平移光标图标。
所述的示例性光标图标的选择区域代表基于双按钮滚轮鼠标的各种启动器;即:‘左键向下’608、‘左键双击’610、‘右键向下612’、‘右键双击’614、‘上滚’616和‘下滚’618。通过将光标606适当地从中性区602移动到选择区域,用户就可以调用对应于相应区域的鼠标动作。例如,把光标606从中性区602移动到选择区域616将调用‘上滚’动作。与所述光标图标相关联的软件可以设置为通过生成适当的数据来模拟‘上滚’动作序列,就好像这些动作实际上是通过用户操作鼠标滚轮生成的似的;然后,所述软件会将此数据发送到相关软件应用或者发送到在主机系统上运行的操作系统。作为一个例子,使用如早先所述的光标606和导航对象622,用户导航(借助于一个或多个平移)所述光标图标,使其位于GUI显示上对象的上方(由位置对象604指示)。然后,所述用户将光标606从中性区602移动到选择区域608以便调用‘左键向下’动作。这一操作选择GUI显示上的对象。然后,通过定位光标606以便使其与导航对象620共处一地(使处于‘左键向下’选择区域608内),用户就可以导航所述光标图标以便在GUI显示的四处‘放下’所选对象。一旦已经到达GUI显示中的预定位置(由位置对象604表示,遵循一个或多个连续的平移),那么用户可以通过将光标606从选择区域608反向定位到光标图标的中性区602中,以便‘放下’所选对象,由此有效地调用动作‘左键向上’。在此例子中,使用本发明的方法,用户可以使用指向装置在GUI显示内‘拖放’对象,所述拖动过程本身不要求指向装置的任何用户操作。应当注意,优选的是,光标606的定位只限于光标图标的区域;以这种方式,可以减少用户的手部行进,同时仍使用户能够充分地导航整个GUI显示。
上述方法和实现方式只是为了举例说明而提供,代表对易于由本领域技术人员想出用于利用本发明优点的方法和实现方式范围的选择。
在上面的描述中并且参照图1,公开了一种用于在GUI显示内平移对象的方法。诸如光标之类的另一对象被定位104以便使其与所述对象共处一地106;然后,将所述对象以及光标沿路径平移110,其中所述路径至少部分通过与所述光标相关联的数据来确定108。当光标和对象的相对位置改变时112,停止沿所述路径平移114;如果所述光标和对象保持共处一地,那么可以继续沿不同路径进行平移。示例性的实施例是光标图标,其允许用户操纵指向装置来通过导航光标图标的较小区域从而导航整个GUI显示区域。