用于能够进行基于触摸的输入的用户界面的经增强的目标选择的制作方法

文档序号:2537624阅读:74来源:国知局
用于能够进行基于触摸的输入的用户界面的经增强的目标选择的制作方法
【专利摘要】提供了下述的系统和方法:其与针对从键盘和鼠标接收的传统输入来设计的应用相结合地提供了针对基于触摸的输入而优化的图形用户界面元素。当计算机系统检测到用户将要从传统输入装置切换到触敏输入装置时,显示基于触摸的图形用户界面元素。当用户利用传统输入装置提供输入时,隐藏基于触摸的图形用户界面元素,以使得基于触摸的图形用户界面元素不扰乱应用的正常操作。显示装置包括感测能力,该感测能力使得计算机系统能够检测到物体(如用户的手指或者手写笔)靠近显示装置但是没有与显示装置接触的情况。
【专利说明】用于能够进行基于触摸的输入的用户界面的经增强的目标
选择
[0001]相关申请的交叉引用
[0002]本申请要求2011年10月14日提交的美国专利申请序列号13/274,253的权益,该申请通过引用合并入本文中。
[0003]本发明的背景
【技术领域】
[0004]本发明一般地涉及用户界面,并且更具体地涉及用于支持基于触摸的输入的用户界面的增强的目标选择。
【背景技术】
[0005]在消费类设备中,触摸屏显示器正变得越来越普遍。例如,在过去的十年中,桌面监视器(desktop monitor)和手持式装置已经并入了多点触摸面(mult1-touch surface),用户能够与这些多点触摸面交互,以向底层装置提供输入信息。多点触摸面的一个有趣的方面是控制多个自由度的能力。例如,传统的矩形操纵包括分别通过对一个或更多个接触点进行拖拽、旋转或者膨胀/收缩来在多点触摸面上进行的平移、旋转以及按比例调整操作。这样,用户可以通过轻击、拖拽、膨胀、收缩或者旋转多点触摸面上的一个或更多个接触点来经由多点触摸面与应用进行交互。在多点触摸面上进行这些操作通常比利用传统输入/输出装置进行这些操作更高效。
[0006]尽管触摸屏显示器的普及性已经提高,但是很多应用包括没有针对接收基于触摸的输入而进行优化的用户界面。例如,应用可以包括传统菜单栏和/或传统工具栏,该传统菜单栏和/或传统工具栏包括用户难以准确进行选择的小图标。与传统的鼠标输入相比,用户准确地触摸特定位置的能力降低到下述程度:在用户尝试使用触摸屏显示器与界面交互时,可能选择错误的工具。
[0007]如上所述,本领域所需的是用于无缝地调整用户界面、使得用户界面对于基于触摸的输入而言更加可访问(accessible)的系统。

【发明内容】

[0008]本发明的一个实施例阐述了用于显示一个或更多个基于触摸的图形用户界面元素的计算机实现的方法。该方法总体上包括如下步骤:执行应用,该应用使图形用户界面显示在与装置相关联的触摸屏显示器上,其中,图形用户界面被配置成与一个或更多个传统输入装置交互;以及确定用户是否意图经由触摸屏显示器向装置提供输入。步骤还包括:如果用户意图经由触摸屏显示器提供输入,则在图形用户界面的上方显示一个或更多个基于触摸的图形用户界面元素,或者如果用户意图经由一个或更多个传统输入装置中的一个传统输入装置向装置提供输入,则隐藏一个或更多个基于触摸的图形用户界面元素。每个基于触摸的图形用户界面元素对应于图形用户界面内所包括的不同的传统图形用户界面元素,并且每个传统图形用户界面元素是针对一个或更多个传统输入装置中的一个不同的传统输入装置来配置的。
[0009]另一实施例阐述了一种包含程序的计算机可读介质,该计算机可读介质包含下述程序:该程序在被处理器执行时,进行用于显示一个或更多个基于触摸的图形用户界面元素的操作。又一实施例阐述了用于显示一个或更多个基于触摸的图形用户界面元素的系统。
[0010]所公开技术的一个优点是:不需要为了能够针对遗留应用(Iegacyapplication)实现基于触摸的图形用户界面元素而对该应用进行重新设计。程序员可将附加的功能性构建到遗留应用中,或者设计独立且不同的应用扩展,该独立且不同的应用扩展与遗留应用并行执行并且提供针对基于触摸的图形用户界面的界面。所公开技术的另一个优点是:当用户意图使用基于触摸的GUI元素时显示这些GUI元素,而当用户以符合应用的图形用户界面的原始设计的方式提供输入时隐藏这些GUI元素。下面阐述的技术高效地使用户在两种不同类型的输入之间切换。对于一些操作(如选择各种选项或者滚动文档),基于触摸的输入可能更高效,而对于其他操作(如输入文本),使用传统输入装置可能更高效。系统允许对于单个应用基本上同时使用两种图形用户界面。
【专利附图】

【附图说明】
[0011]为了能够详细地理解本发明的如上所述的特征,可以参照实施例对在上文中做了简要概述的本发明做出更具体的描述,附图中示出了其中的一些实施例。然而,需要注意的是,附图仅示出了本发明的典型实施例,并且,由于本发明可以允许其他同样高效的实施例,因此附图不应被视为对本发明的范围的限制。
[0012]图1是被配置为实现本发明的一个或更多个方面的系统的框图;
[0013]图2A和图2B分别是根据本发明的一个实施例的触摸屏桌面环境的前视图和侧视图;
[0014]图3示出了根据本发明的一个实施例的、由应用生成的并且在显示装置上显示的图形用户界面;
[0015]图4示出了根据本发明的一个实施例,应用如何检测靠近显示装置的手指;
[0016]图5示出了根据本发明的一个实施例的、用于显示针对基于触摸的输入而优化了的图形用户界面元素的技术;
[0017]图6示出了根据本发明的一个实施例的、用于将传统图形用户界面元素与由应用显示的基于触摸的图形用户界面元素的集合相关联的过程;
[0018]图7A示出了根据本发明的一个实施例,应用如何基于与靠近显示装置的手指相关联的运动向量来确定目标位置;
[0019]图7B示出了根据本发明的一个实施例的、重叠在图形用户界面中的工具栏的上方的基于触摸的工具栏;
[0020]图8A和图SB示出了根据本发明的一个实施例的、用于使工具栏膨胀的方法;
[0021]图9示出了根据本发明的又一实施例的、用于估计工具栏的膨胀中心的不同的算法;
[0022]图10示出了根据本发明的另一示例实施例的、用于仅膨胀工具栏的一部分的方法;
[0023]图11是根据本发明的一个示例实施例的、用于在应用中显示基于触摸的图形用户界面元素的方法步骤的流程图;以及
[0024]图12是根据本发明的一个示例实施例的、用于估计与图形用户界面相关联的目标位置的方法步骤的流程图。
【具体实施方式】
[0025]在以下描述中,阐述了大量的具体细节以提供对本发明的更透彻的理解。然而,对于本领域普通技术人员来说将会明显的是,可以在不具有这些具体细节中的一个或更多个具体细节的情况下实施本发明。在其他实例中,为了避免使本发明不清楚,没有对公知的特征进行描述。
[0026]系统总览
[0027]图1是被配置成实现本发明的一个或更多个方面的系统100的框图。系统100可以是计算机工作站、个人计算机、视频游戏控制台或者适合于实施本发明的一个或更多个实施例的任何其他装置。
[0028]如所示出的那样,系统100包括经由总线路径进行通信的一个或更多个处理单元(如中央处理单元(CPU) 102)以及系统存储器104,其中总线路径可以包括存储器桥105。CPU102包括一个或更多个处理内核,并且,在操作中,CPU102是系统100的主处理器,从而控制并协调其他系统部件的操作。系统存储器104存储由CPU102使用的软件应用和数据。CPU102运行软件应用,并且可选地运行操作系统。可以作为例如北桥芯片的存储器桥105经由总线或者其他通信路径(例如,超传输链路)而连接到1/0(输入/输出)桥107。可以作为例如南桥芯片的I/O桥107从一个或更多个用户输入装置(如键盘108或者鼠标109)接收用户输入,并且经由存储器桥105将输入转发到CPU102。在可替选的实施例中,I/O桥107还可以连接到其他输入装置,如操纵杆、数字化板、触摸板、触摸屏、照相机或者视频摄像机、运动传感器、和/或麦克风(未示出)。
[0029]一个或更多个显示处理器(如显示处理器112)经由总线或者其他通信路径(例如,PCI Express? (串行总线? )、加速图形端口或者Hyper Transport?
(超传输? )链路)被耦接至存储器桥105 ;在一个实施例中,显示处理器112是包括至少一个图形处理单元(GPU)和图形存储器的图形子系统。图形存储器包括用于存储输出图像的每个像素的像素数据的显示存储器(例如,帧缓冲器)。图形存储器能够被集成在与GI3U相同的装置中、作为单独的装置与GPU连接和/或被实现在系统存储器104内。
[0030]显示处理器112周期性地向显示装置110传递像素。显示处理器112能够为显示装置110提供模拟或者数字信号。显示装置110可以包括触摸屏显示装置,如具有集成传感器的任何传统CRT或者LED监视器,该集成传感器用于检测触摸该监视器的显示区域的用户的存在和位置。显示装置110可以向显示处理器112或者CPU102提供手势识别输入。
[0031]系统盘114也连接到I/O桥107,并且可以配置成存储由CPU102和显示处理器112使用的内容和应用以及数据。系统盘114提供对于应用和数据的非易失性存储,并且可以包括固定的或者可移动的硬盘驱动器、闪存装置以及⑶-R0M、DVD-R0M、Blu-ray (蓝光盘)、HD-DVD或者其他磁性、光学或者固态存储装置。
[0032]开关116提供I/O桥107与其他部件(如网络适配器118以及各种内插式卡120和121)之间的连接。网络适配器118使系统100能够经由电子通信网络与其他系统进行通信,并且可以包括通过局域网和广域网(如因特网)的有线或者无线通信。
[0033]包括USB或者其他端口连接、胶片记录装置等的其他部件(未示出)也可以连接到I/O桥107。例如,音频处理器可以用于根据由CPU102、系统存储器104或者系统盘114提供的指令和/或数据来生成模拟或者数字音频输出。将图1中的各种部件进行互连的通信路径可以使用任何适合的协议(如外围部件互连(PCI)、PCI Express ( PCIe? )、AGP (加
速图形端口)、 HyperTransport?、 或者任何其他总线或者点对点通信协议)来实现,
并且不同的装置之间的连接可以使用本领域中已知的不同协议来实现。
[0034]在一个实施例中,显示处理器112并入了针对图形和视频处理而优化了的电路(该电路包括例如视频输出电路),并且构成了图形处理单元(GPU)。在另一实施例中,显示处理器112并入了针对通用目的的处理而优化了的电路。在又一实施例中,显示处理器112可以与一个或更多个其他系统元件(如存储器桥105、CPU102以及I/O桥107)集成在一起以形成片上系统(SoC)。在再一实施例中,显示处理器112被省略,并且由CPU所102执行的软件来执行显示处理器112的功能。
[0035]可以直接从CPU102向显示处理器112提供像素数据。在本发明的一些实施例中,经由网络适配器118或者系统盘114,将表示场景的指令和/或数据提供到渲染平台(render farm)或者一组服务器计算机,其中每个均与系统100类似。渲染平台使用所提供的指令和/或数据生成该场景的一个或更多个渲染图像。这些渲染图像可以以数字格式被存储在计算机可读介质上,并且可以可选地被返回到系统100以用于显示。类似地,由显示处理器112处理的渲染图像可以输出至其他系统以用于显示、存储在系统盘114中或者以数字格式存储在计算机可读介质上。
[0036]可替选地,CPU102为显示处理器112提供对期望的输出图像进行限定的数据和/或指令,其中显示处理器112根据这些数据和/或指令来生成一个或更多个输出图像的像素数据。对期望的输出图像进行限定的数据和/或指令可存储在显示处理器112内的图形存储器或者系统存储器104中。在一个实施例中,显示处理器112包括根据用于限定场景的几何形状、光影(lighting shading)、纹理、运动和/或相机参数的指令和数据来生成用于输出图像的像素数据的3D渲染能力。显示处理器112可以还包括能够执行着色器(shader)程序、色调映射程序等的一个或更多个可编程执行单元。
[0037]应用150被存储在系统存储器104中。应用150可以是被配置成在显示装置110上显示图形用户界面(⑶I)的任何应用。例如,应用150可以是通用文本编辑应用,如Microsoft? (微软?)Word。通常,包括在应用150内的GUI针对传统输入装置(如键盘108和鼠标109)进行了优化。例如,当在显示装置110上显示时,应用150的工具栏内的图标可以是5mm乘5mm的大小,这在使用基于触摸的输入的情况下是不容易选择的。很多传统GUI元素都不容易根据基于触摸的输入而被选择或者修改。
[0038]应该认识到,本文中示出的系统是说明性的,并且可以进行变化和修改。可以对连接拓扑(包括桥的数目和布置)进行如所需要地修改。例如,在一些实施例中,系统存储器104可以直接地而不是通过桥来连接到CPU102,并且其他装置可以经由存储器桥105和CPU102与系统存储器104通信。在其他可替选的拓扑中,显示处理器112可以连接到I/O桥107或者直接连接到CPU102,而不是连接到存储器桥105。在又一其他实施例中,I/O桥107和存储器桥105可以集成在单个芯片中。另外,本文中示出的具体部件是可选的。例如,可以支持任何数目的内插式卡或者外围装置。在一些实施例中,省去了开关116,并且网络适配器118和内插式卡120、121直接连接到I/O桥107。
[0039]图2A和图2B分别是根据本发明的一个实施例的触摸屏桌面环境200的前视图和侧视图。如所示出的那样,触摸屏桌面环境200包括但不限于显示装置110和键盘108。在一个实施例中,显示装置110被垂直地定位于桌面表面210上,从而面对最终用户。键盘108可以被定位于显示装置110和用户之间的桌面表面210的上方。在其他实施例中,显示装置110可以是非传统显示器,如包括接近传感器的聚焦在墙上的投影仪、iPad?或其他平板计算机、或者移动装置(如具有触敏屏幕的手机)。
[0040]在一个实施例中,显示装置110的前表面实现了包括多点触摸手势识别能力的触敏区域。最终用户可以使用一个或更多个手指来进行用于启动各操作(如旋转、按比例调整、缩放)的各种手势。显示装置110包括在多点触摸面上显示图形和视频的能力。另外,显示装置110可以集成传感器225,该传感器225使显示装置110能够检测屏幕的表面上方的物体的存在。例如,一些制造商生广了电各式屏.,该电各式屏.集成了能够检测多点触摸面的表面上方大约20mm的手指的位置的光学传感器的阵列。在其他实施例中,显示装置110可以集成用于检测触敏表面附近的手指的位置的任何其他技术上可行的技术。例如,可以沿着显示装置110的周界放置两个或更多个摄像装置,并且可以用图像识别软件来估计多点触摸面附近的物体的坐标。在另一示例中,对深度敏感的摄像装置(如与红外激光投影仪集成的CMOS传感器)可以用于判断距触敏表面的距离。
[0041]如图2B所示,当用户在传感器225的范围内移动其手指250时,传感器225可以检测手指250相对于多点触摸面的大概位置。在一个实施例中,传感器225确定与用户的手指250相关联的相对于显示装置110的X坐标、y坐标和z坐标。另外,由于传感器225追踪用户的手指250的位置,因此可以计算出运动向量260,运动向量260指示朝多点触摸面上的点的运动的方向。在一个实施例中,传感器225被配置成以诸如IOOHz的低速率(即,传感器225 —秒计算手指的x、y和z坐标100次)追踪用户的手指250的位置。CPU102可以被配置成基于传感器225的最后两个米样坐标来生成运动向量260。在可替选的实施例中,可以基于传感器225的多于两个样本来生成运动向量260。例如,CPU102可以基于传感器225的三个或更多个样本来生成运动向量260,从而选择针对采样的位置坐标产生了最小均方误差的运动向量260。可以将运动向量260按比例调整,以使运动向量260与和显示装置110的表面相关联的平面相交。应当认识到,传感器225可以被配置成追踪靠近显示装置110的表面的任何物体。例如,用户可以使用手写笔(stylus)而不是手指来提供基于输入的触摸。
[0042]在一个实施例中,使显示装置110能够检测多点触摸输入。例如,用户可以触摸显示装置110的表面上的两个或更多个点以提供多点触摸输入。各种多点触摸手势是本领域公知的。在这种实施例中,传感器225可以被配置成追踪多个物体,如多个手指。可以基于最靠近显示装置110的物体来确定运动向量260。在可替选的实施例中,运动向量260可以基于针对多个物体而计算的两个或更多个运动向量的一些组合。例如,可以基于两个或更多个运动向量的平均来计算运动向量260。
[0043]图3示出了根据本发明的一个实施例的由应用(Application) 150生成的并且在显示装置Iio上显示的图形用户界面300。如所示出的那样,应用150是文本编辑应用,该文本编辑应用实现了 GUI300,并包括菜单栏310和工具栏320。在可替选的实施例中,应用150可以是某种其他类型的应用,如计算机辅助设计(CAD)应用、电子制表应用或者电子邮件应用。
[0044]菜单栏310包括如文件(File)菜单、编辑(Edit)菜单以及帮助(Help)菜单的菜单项。当用户使用鼠标109或者键盘108的热键组合来选择菜单项中的一个菜单项时,可以出现下拉菜单,其提供与应用150的各种功能相关联的附加的GUI元素。例如,当用户选择文件菜单时,可以出现包括如打开、保存以及另存的GUI元素的下拉列表,其中,这些GUI元素在由用户选择时被配置成使得显示对话框以用于进行各种文件系统操作。工具栏320也包括多个⑶I元素。如图3所示,工具栏320包括一个或更多个工具栏图标322以及一个或更多个组合框324(即,单行文本框与下拉列表框的组合)。这种工具栏图标322可以包括保存图标、打印图标、以及与文本字体相关的各种类型图标,如粗体图标、斜体图标、和下划线图标。组合框324可以包括用于选择特定的字体或者字体大小的⑶I元素。应该认识到,在菜单栏310或者工具栏320中可以包括其他类型的⑶I元素。而且,提供了图3中示出的GUI300的具体设计以说明本发明的各种技术,并且不应当将该具体设计解释成将本发明限于该具体GUI。本公开内容的范围构思了其他GUI设计以及本领域已知的其他类型的⑶I元素。例如,其他类型的⑶I元素包括单选按钮和下拉列表。
[0045]如图3所示,⑶1300是为从传统输入装置(如键盘108和鼠标109)接收输入而设计的。可以为了易于与基于触摸的输入一起使用而设计GUI元素,例如通过设计具有对应于由基于触摸的感测技术提供的准确度的最小尺寸的工具栏图标322来进行上述设计。例如,通过研究基于用户的特性并且将特性与电容式触摸屏传感器的灵敏度相比较,Gn设计者可以确定用户能以IOmm的准确度来选择屏幕上的点。因此,为基于触摸的输入而设计的任何⑶I元素应该被设计成具有10_的准确度期望值。这种⑶I元素可能太大而不能在一个屏幕上为用户有效地提供所有常用的功能。理想地,应用150可以被配置成:当用户提供基于触摸的输入时显示针对基于触摸的输入而优化了的GUI元素,并且反之当用户使用键盘和鼠标提供传统输入时显示传统GUI元素。下面对用于向用户显示基于触摸的GUI元素的两种这样的技术进行讨论。
[0046]触摸剪切(TouchCuts)
[0047]图4示出了根据本发明的一个实施例,应用150如何检测靠近显示装置110的手指250。用户可以启动计算机系统100上的应用150。应用150使⑶1300在显示装置110上显示。虽然应用150被配置成经由键盘108和鼠标109接收输入,但是应用150还可以被配置成从显示装置110接收基于触摸的输入。
[0048]如图4所示,用户可以通过用用户的手指250触摸显示装置110的触敏区域来提供基于触摸的输入。在一个实施例中,显示装置Iio包括传感器225,当用户的手指250靠近显示装置110的触敏区域时,传感器225可以感应到。例如,在一个实施例中,显示装置110可以包括当手指250在显示装置110的表面20mm之内时检测到该手指的能力。当传感器225检测到手指250的存在时,传感器225向应用150发送手指250的位置。传感器225可以被配置成以规律的间隔向应用150发送新的位置直到传感器225不再能够检测到手指250为止,这指示手指250不再靠近显示装置110的触敏区域。
[0049]应用150可以被配置成基于从传感器225接收的坐标来生成运动向量260。例如,运动向量260可以是由从传感器225接收的第一组坐标指向从传感器225接收的第二组坐标的向量。因此,运动向量260表示当用户向触摸显示装置110移动时手指250的方向。基于运动向量260,应用150可以计算与⑶1300相关联的目标位置450,目标位置450表示用户正尝试触摸的显示装置110上的预测点。例如,应用150可以被配置成确定运动向量260与显示装置110的表面(B卩,由z坐标是O的所有的点形成的平面)的交叉点。因此,目标位置450表示对用户正在以⑶1300的哪个元素为目标的估计。
[0050]应该认识到,用户的手指250越靠近显示装置110的表面,目标位置450可以越准确。另外,估计算法的准确度受到位置信息的采样频率、影响计算的样本的数目以及手指距显示装置110的表面的相对距离所影响。
[0051]图5示出了根据本发明的一个实施例的用于显示针对基于触摸的输入而优化了的Gn元素的技术。在一个实施例中,当应用150检测到手指250靠近显示装置110时,应用150使一个或更多个基于触摸的⑶I元素显示在⑶1300之上。例如,应用150使基于触摸的图标512和514重叠在⑶1300的上方。基于触摸的图标512对应于⑶1300中的粗体图标,并且基于触摸的图标514对应于GUI300中的下划线图标。
[0052]在另一实施例中,触发事件使应用150显示基于触摸的⑶I元素。在一个实施例中,在不需要深度感测的情况下,只要用户第一次触摸显示装置110的表面时就可以检测到触发事件。如果目标位置450的坐标靠近与各基于触摸的GUI元素中的一个相关联的⑶1300的元素,则可以显示基于触摸的⑶I元素。在另一实施例中,只要传感器225检测到靠近显示装置110的手指250时,就可以检测到触发事件。在又一实施例中,触发事件可以将手指250的位置的z坐标与阈值进行比较。例如,只要手指250来到显示装置110的IOmm距离内时就可以发生触发事件。尽管传感器225可以能够检测到比阈值远得多的手指250,但是使触发事件基于阈值反映了用户正意图触摸显示装置110的更高可能性。在另一实施例中,仅当以距显示装置110的阈值将手指250定位在屏幕的特定区域内时,才可以发生触发事件。例如,当手指250在显示装置110的IOmm之内并且位置的y坐标也在第二阈值之上(例如,手指正靠近屏幕的上半部分)时,发生触发事件。
[0053]在又一实施例中,可以基于两个或更多个阈值来限定多个触发事件。每个触发事件可以使得以不同的比例因子来显示基于触摸的GUI元素。例如,当手指250距显示装置110的表面小于第一阈值距离时,第一触发事件使得以50%的比例来显示基于触摸的⑶I元素,这仍然可以比⑶1300的传统⑶I元素大。当手指250接着距显示装置110的表面小于比第一阈值小的第二阈值距离时,第二触发事件使得以100%的比例来显示基于触摸的⑶I元素。
[0054]应该认识到,触发事件不要求目标预测(即,确定手指250的运动向量260与显示装置Iio之间的估计交叉点)。基于触摸的⑶I元素的集合被显示在重叠在⑶1300上的位置,该位置独立于任何类型的目标位置450。
[0055]在一个实施例中,基于触摸的图标(例如,512和514)被显示在⑶1300中相关联的Gn元素的上方。基于触摸的图标可以是不透明的或者部分透明的。在可替选的实施例中,基于触摸的GUI元素可以被显示在显示装置110上的不同的位置。例如,所有的基于触摸的图标可以被对准到GUI300的左上。可替选地,用户可以使用来自鼠标109的输入或者基于触摸的输入来确定基于触摸的⑶I兀素被定位于显不装置110上的何处。在又一其他实施例中,如果在触发事件之后用户将其手指250悬停在显示装置的表面上方,则可以显示与基于触摸的CTI元素相关联的提示信息(tooltip)。例如,包括文本“粗体”的提示信息可以出现在基于触摸的图标512旁边。
[0056]当检测到触发事件时,基于触摸的图标512和514被包括在由应用150显示的基于触摸的GUI元素的集合中。基于触摸的GUI元素的集合可以由应用150自动地配置,或者可以由应用150的用户手动地配置。例如,基于触摸的⑶I元素的集合可以对应于⑶1300的最常用的GUI元素。可替选地,当应用150被第一次启动时,基于触摸的GUI元素的集合可以为空,并且用户手动地选择将哪个基于触摸的GUI元素添加到集合,其中每个基于触摸的⑶I元素对应于⑶1300中的一个⑶I元素。
[0057]图6示出了根据本发明的一个实施例的用于将传统GUI元素与由应用150显示的基于触摸的GUI元素的集合相关联的过程。现在,基于触摸的组合框612被包括在由应用150显示的基于触摸的⑶I元素的集合中。在一个实施例中,用户在靠近⑶1300的组合框324(即,字体大小组合框)的位置触摸显示装置110。用户通过经由键盘108的某种键击组合或者经由鼠标109的鼠标输入来指示应该将与组合框324对应的基于触摸的GUI元素添加到基于触摸的GUI元素的集合。例如,用户可以敲击如“F8”的热键来指示基于触摸的GUI元素应该被添加到基于触摸的GUI元素的集合。当用户已经将基于触摸的GUI元素612添加到了基于触摸的GUI元素的集合时,只要应用150检测到触发事件时,就在GUI300之上显示基于触摸的GUI元素的集合中的每个基于触摸的GUI元素。
[0058]用户可以指定将⑶1300的哪些传统⑶I元素包括在由应用150显示的基于触摸的⑶I元素的集合中。在一个实施例中,为了将⑶1300中的⑶I元素与由应用150显示的基于触摸的GUI元素相关联,用户可以轻击靠近用户希望包括到基于触摸的GUI元素的集合中的那个期望GUI元素的显示装置110。接着,用户可以经由鼠标109来点击并且拖拽光标,以限定基于触摸的GUI元素的期望大小。类似地,为了从由应用150显示的基于触摸的GUI元素的集合中移除基于触摸的GUI元素,用户可以轻击基于触摸的GUI元素,随后用鼠标109选择基于触摸的GUI元素。
[0059]如上所述,响应于检测到触发事件来显示基于触摸的GUI元素的技术使得能够对于遗留应用来高效地使用基于触摸的输入。重要的是,基于触摸的GUI元素仅需要当系统检测到用户正意图使用基于触摸的输入时进行显示。然而,因为可用的屏幕空间有限,因此基于触摸的GUI元素的增加的尺寸可能会使优化所有可用的GUI元素是不切实际的。下面对用于显示基于触摸的GUI的另一技术进行描述。
[0060]触摸变焦(TouchZoom)
[0061]图7A示出了根据本发明的一个实施例,应用150如何基于与靠近显示装置110的手指250相关联的运动向量260来确定目标位置450。如图7A所示,应用150基于运动向量260与显示装置110的触敏表面的交叉点来确定目标位置450。例如,应用150确定手指250的两个连续位置(即,每个位置包括手指250的X坐标、y坐标和z坐标),并且基于两个位置之间的差异来计算运动向量260。接着,运动向量260被按比例调整,以使运动向量与显示装置110的触敏表面(即,对应于z坐标等于O处的平面)相交。运动向量260与显示装置110的多点触摸表面之间相交的点被确定为目标位置450。
[0062]在一个实施例中,应用150确定工具栏中要膨胀成基于触摸的工具栏的那个部分。例如,如图7A所示,应用150选择工具栏320中与基于目标位置450的膨胀中心715相对应的部分710。膨胀中心是对应于目标位置450的X坐标处的工具栏320的上方。因此,当显示基于触摸的工具栏时,基于触摸的工具栏呈现为从工具栏320的上方向下膨胀。
[0063]图7B示出了根据本发明的一个实施例的重叠在⑶1300中的工具栏320的上方的基于触摸的工具栏750。如图7B所示,工具栏750是工具栏320的两倍大。工具栏750的大小被定为适合于基于触摸的输入。应该认识到,工具栏750仅包括下述的基于触摸的⑶I元素:这些基于触摸的⑶I元素对应于在工具栏320中的与图7A中的膨胀中心715相对应的部分710内的那些GUI元素。与如上所述的触摸剪切不同,触摸变焦使得能够访问⑶1300中的靠近估计的目标位置450的每个⑶I元素。该操作甚至在对目标位置450的估计具有轻微误差的情况下也能确保膨胀所期望的基于触摸的GUI元素。
[0064]在一个实施例中,工具栏320可以相对于显示装置110上的目标位置450的位置而膨胀。图8A和图SB示出了根据本发明的一个实施例的使工具栏320膨胀的方法。如图8A所示,目标位置450被定位于显示装置110的最左侧边缘。在此情况中,工具栏320的部分810完全位于膨胀中心815的右侧。如图8B所示,工具栏850的左边缘对应于工具栏320的部分810的左边缘。换言之,工具栏320向下并且向右膨胀,以显示与工具栏320中的各种GUI元素对应的基于触摸的GUI元素。
[0065]在另一实施例中,基于目标位置450的相对于显示装置110的不同区的位置而使用不同的技术来使工具栏320膨胀。如果目标位置450位于被限定为靠近显示装置110的左边缘的区域的边缘区内,则工具栏320的膨胀中心815位于显示装置110的左边缘上,并且工具栏850向下且向右膨胀。类似地,如果目标位置450位于被限定为靠近显示装置110的右边缘的区域的另一边缘区内,则工具栏320的膨胀中心815位于显示装置110的右边缘上,并且工具栏850向下且向左膨胀。例如,边缘区可以被限定成显示装置110的边缘的50mm内的任意处。如果目标位置450位于显示装置110的边缘的50mm内,贝U无论目标位置450实际上位于边缘区内的何处,工具栏320的膨胀中心815都位于显示装置110的边缘处。
[0066]另外,如果目标位置450位于显示装置110的中心区内,则膨胀中心对应于目标位置450,并且工具栏320从膨胀中心815在两个方向上均匀地膨胀。在边缘区和中心区之间可以限定缓冲区,其中,与中心区类似,膨胀中心815对应于目标位置450,但是与在中心区中不同的是,工具栏320围绕膨胀中心815非均匀地膨胀。例如,如果边缘区被限定为距显示装置110的左边缘为从Omm至30mm、缓冲区被限定为距显示装置110的左边缘为从30mm至50mm、并且应用150将目标位置450估计为距显示装置110的左边缘40臟,则将会选择部分810,以使得部分810的25%位于膨胀中心815的左侧并且部分810的75%位于膨胀中心815的右侧。在膨胀中心815 —侧的部分810的百分比与在膨胀中心另一侧的部分810的百分比相比在缓冲区上从0% (在目标位置450在边缘区之内的情况下)线性地变化到50% (在目标位置450在中心区之内的情况下)。[0067]图9示出了根据本发明的又一实施例的用于估计工具栏320的膨胀中心的不同的算法。工具栏320被分割成多个⑶I元素组。如图9所示,工具栏320包括四个不同的⑶I元素组,即组910、组920、组930以及组940。在该方法中,应用150可以基于目标位置450最靠近哪个组来确定膨胀中心815。在一个实施例中,应用150确定目标位置450是否与⑶I元素组(910、920等)中的一个⑶I元素组相交。如果目标位置450位于显示装置110中的工具栏320的⑶I元素组内的像素位置处,则目标位置450与一个⑶I元素组相交。在另一实施例中,应用150确定目标位置450与各个⑶I元素组(即,工具栏320的GUI元素组内的任何像素)之间的最近距离。GUI元素组内的像素集合包括被包括在该组内的GUI元素中的那些像素以及被包括在该组内的GUI元素之间的工具栏320的背景中的那些像素。
[0068]一旦应用150确定工具栏320中的哪个⑶I元素组(910、920等)最靠近目标位置450,那么工具栏320就基于与该⑶I元素组相关联的膨胀中心而膨胀。例如,针对组910的膨胀中心可以位于组910的左边缘的上方。针对组920和930的膨胀中心可以位于这些⑶I元素组的中央的上方。针对组940的膨胀中心可以位于组940的右边缘的上方。在一个实施例中,类似于工具栏750或者工具栏850那样,整个工具栏320膨胀。
[0069]在可替选的实施例中,仅工具栏320的一部分膨胀。图10示出了根据本发明的另一示例实施例的用于仅使工具栏320的一部分膨胀的方法。如图10所示,仅工具栏320的一部分膨胀成基于触摸的工具栏1050。尽管没有明确地示出,但是基于触摸的工具栏1050对应于目标位置450,该目标位置450与工具栏320中的GUI元素组920相交或者最靠近该⑶I元素组920 (如图9所示)。⑶I元素组920的膨胀中心是⑶I元素组920的中心像素的上方。这样,基于触摸的工具栏1050位于大约以组920的膨胀中心为中心的位置处。
[0070]在一个实施例中,工具栏320可以包括被配置成功能性降低控件(functionalityreduction controls)的⑶I元素。功能性降低控件可以被配置成当用户使用传统输入装置来提供输入时具有某些功能。然而,如果工具栏320基于对靠近显示装置110的物体的检测而膨胀,则⑶I元素可以转变成与工具栏320的原始⑶I元素的印迹(footprint)相同但是功能性降低的基于触摸的GUI元素。例如,如果工具栏包括被配置成功能性降低控件的调色板,则该调色板可以用多个颜色选择图标来代替,这些颜色选择图标使用户仅能够从调色板挑选预配置颜色的子集。用户能够使用基于触摸的输入来快速选择预配置颜色(如8个主要颜色)中的一个,或者使用传统鼠标输入从调色板选择可用的颜色(如256个可用的颜色)中的一个。
[0071]应该认识到,可以通过对针对完全传统的GUI元素设计的遗留应用程序进行修改来实现以上与触摸剪切和触摸变焦相结合地描述的技术。可替选地,可以设计下述应用扩展:该应用扩展与应用150交互,从而在效果上在由应用150显示的⑶I的上方显示独立的⑶I。独立的⑶I捕获从显示装置110接收的基于触摸的输入,处理该基于触摸的输入以确定与该基于触摸的输入相关联的应用150中的特定GUI元素,并且向应用150发送与该特定的GUI元素相关联的对应传统输入。在效果上,应用扩展拦截基于触摸的命令,并且将基于触摸的命令转换成适合于应用150的传统命令。
[0072]图11是根据本发明的一个示例实施例的用于在应用150中显示基于触摸的图形用户界面元素的方法步骤1100的流程图。虽然结合图1至图10中的系统对方法步骤进行了描述,但是本领域普通技术人员将理解,配置成以任何顺序来进行方法步骤的任何系统都在本发明的范围内。
[0073]方法1100开始于步骤1110,在步骤1110,用户启动应用150,该应用150包括用于显示为传统输入装置(如键盘108或者鼠标109)而设计的⑶1300的指令。应用150由CPU102执行,CPU102被耦接至包括触摸屏能力的显示装置110。在步骤1112,CPU102确定用户是否意图经由显示装置110提供输入。在一个实施例中,传感器225检测到用户的手指250靠近被配置成接收基于触摸的输入的显示装置110的表面。传感器225感测手指250距表面的距离。如果手指250在阈值距离之内,则CPU102确定用户意图提供基于触摸的输入。在另一实施例中,传感器225追踪手指250的位置,并且确定与⑶1300相关联的目标位置450。如果目标位置450对应于⑶1300的特定位置,则CPU102确定用户意图提供基于触摸的输入。下面结合图12对用于确定目标位置的技术进行描述。如果CPU102确定用户没有意图提供基于触摸的输入,则该方法在步骤1112处等待。然而,如果CPU102确定用户意图提供基于触摸的输入,则方法1100进行至步骤1114。
[0074]在步骤1114,CPU102在显示装置110上的⑶1300的上方显示一个或更多个基于触摸的GUI元素。在一个实施例中,预定义了基于触摸的GUI元素的集合,每个基于触摸的⑶I元素对应于⑶1300的各传统⑶I元素中的一个。当CPU102确定用户意图提供基于触摸的输入时,CPU102使得基于触摸的兀素的集合被显不。在一些实施例中,用户可以手动地配置哪个传统GUI元素应该与所显示的基于触摸的GUI元素的集合中的基于触摸的GUI元素相关联。在可替选的实施例中,CPU102使得基于触摸的工具栏750显示在⑶1300之上。基于触摸的工具栏750对应于GUI300的工具栏320的膨胀版本。基于触摸的工具栏750基于根据由CPU102计算的目标位置450来确定的膨胀中心715而膨胀。
[0075]在步骤1116,CPU102确定用户是否意图经由传统输入装置(如键盘108和鼠标109)提供输入。在一个实施例中,当传感器225不再感测到用户的手指250靠近显示装置110时,CPU102确定用户意图经由传统输入装置提供输入。在另一实施例中,CPU102可以一直等待,直到从传感器225最后感测到用户的手指250起经过了阈值时间为止。在又一实施例中,当用户开始通过以键盘108打字或者通过移动鼠标109而提供输入时,CPU102确定用户意图经由传统输入装置提供输入。如果CPU102确定用户意图经由传统输入装置提供输入,则方法1100进行至步骤1118,在步骤1118,CPU102隐藏一个或更多个基于触摸的⑶I元素,以使传统⑶1300被显示在显示装置110上。
[0076]图12是根据本发明的一个示例实施例的用于估计与图形用户界面300相关联的目标位置450的方法步骤1200的流程图。虽然结合图1至图10的系统对方法步骤进行了描述,但是本领域普通技术人员将理解,被配置成以任何顺序来进行方法步骤的任何系统都在本发明的范围内。
[0077]方法1200开始于步骤1210,在步骤1210,CPU102检测到物体位于显示装置110附近。在一个实施例中,传感器225被配置成每当物体(如手指250)位于显示装置110的表面附近时进行感测。显示装置110被配置成向CPU102发送信号,该信号包括关于靠近显示装置110的任何物体的位置的信息。在步骤1212,CPU102计算与物体相关联的运动向量260。在一个实施例中,CPU102经由从显示装置110(即,显示装置110的传感器225)接收的信息对物体的位置随着时间进行采样。运动向量260可以是物体在不同时间点的两个或更多个位置之间的向量。
[0078]在步骤1214,CPU102确定目标位置450,该目标位置450指示用户意图触摸的⑶1300中的估计位置。在一个实施例中,目标位置450基于运动向量260与显示装置110的表面的交叉点。在步骤1216,CPU102基于目标位置450来确定膨胀中心(715、815)。在一个实施例中,膨胀中心是对应于目标位置450的X坐标的工具栏320上方的点。在另一实施例中,膨胀中心是基于目标位置450在⑶1300内的位置而限定的点。例如,如果目标位置450在边缘区之内,则膨胀中心在⑶1300的左边缘或者右边缘处位于工具栏320的上方。
[0079]总之,以上公开的技术提供了一种高效的技术,该高效的技术用于与针对从键盘和鼠标接收的传统输入而设计的应用相结合地提供针对基于触摸的输入而优化了的GUI元素。当计算机系统检测到用户将要从传统输入装置切换到触敏输入装置时,显示基于触摸的GUI元素。当用户利用传统输入装置提供输入时,隐藏基于触摸的GUI元素,以使得基于触摸的GUI元素不扰乱该应用的正常操作。
[0080]所公开技术的一个优点是:不需要为了能够针对遗留应用实现基于触摸的GUI元素而对该应用进行重新设计。程序员可将附加的功能性构建到遗留应用中,或者设计独立且不同的应用扩展,该独立且不同的应用扩展与遗留应用并行执行并且提供针对基于触摸的GUI的界面。所公开技术的另一个优点是:当用户意图使用基于触摸的GUI元素时显示这些GUI元素,而当用户以符合应用的GUI的原始设计的方式提供输入时隐藏这些GUI元素。这提供了一种透明的系统,其高效地使用户在两种不同类型的输入之间切换。对于一些操作(如选择选项或者滚动文档),基于触摸的输入可能更高效,而对于其他操作(如输入文本),使用传统输入装置可能更高效。系统允许基本上同时使用两种GUI。
[0081]虽然前面已经关于本发明的实施例进行了说明,但是在不背离本发明的基本范围的情况下,可以设计本发明的其他和进一步的实施例。例如,可以以硬件或者软件或者以硬件和软件的组合来实现本发明的各方面。本发明的一个实施例可以实现为与计算机系统一起使用的程序产品。程序产品的程序定义实施例的功能(包括本文中描述的方法),并且该程序产品能够被包含在各种计算机可读存储介质上。示例性的计算机可读存储介质包括但不限于:(i)在其上永久地存储信息的不可写的存储介质(例如,计算机内的只读存储器装置,如可由CD-ROM驱动器读取的CD-ROM盘、闪存、ROM芯片或者任何类型的固态非易失性半导体存储器);以及(ii)在其上存储可改变的信息的可写的存储介质(例如,软盘机内的软盘或硬盘驱动器或者任何类型的固态随机存取半导体存储器)。这种计算机可读存储介质在携带指导本发明的功能的计算机可读指令时就是本发明的实施例。
[0082]有鉴于上述内容,本发明的范围由如下权利要求来确定。
【权利要求】
1.一种用于显示一个或更多个基于触摸的图形用户界面(Gn)元素的计算机实现的方法,所述方法包括: 执行应用,所述应用使得在与装置相关联的触摸屏显示器上显示GUI,其中所述GUI被配置成与一个或更多个传统输入装置交互; 确定用户是否意图经由所述触摸屏显示器向所述装置提供输入;以及如果所述用户意图经由所述触摸屏显示器提供输入,则在所述GUI的上方显示所述一个或更多个基于触摸的GUI元素,或者 如果所述用户意图经由所述一个或更多个传统输入装置中的一个传统输入装置向所述装置提供输入,则隐藏所述一个或更多个基于触摸的GUI元素, 其中,每个基于触摸的GUI元素对应于所述GUI内所包括的不同的传统GUI元素,其中,每个传统GUI元素是针对所述一个或更多个传统输入装置中的一个不同的传统输入装置来配置的。
2.根据权利要求1所述的方法,其中,确定所述用户是否意图经由所述触摸屏显示器提供输入包括:检测物体位于所述触摸屏显示器的表面附近、但是还没有与所述表面接触。
3.根据权利要求2所述的方法,其中,响应于检测到所述物体在距所述表面的阈值距离之内,将所述一个或更多个基于触摸的GUI元素显示在所述GUI的上方。
4.根据权利要求3所述的方法,其中,基于下述来显示每个基于触摸的GUI元素: 所述用户在与特定的传统GUI元素相关联的位置处触摸所述触摸屏显示器;以及 所述用户经由鼠标装置指定该基于触摸的GUI元素的大小, 其中,该基于触摸的GUI元素对应于该特定的传统GUI元素。
5.根据权利要求2所述的方法,其中,确定所述用户是否意图经由所述触摸屏显示器提供输入还包括: 计算与所述物体相关联的运动向量,所述运动向量指示所述物体相对于所述触摸屏显示器的所述表面的轨迹; 计算所述运动向量与所述表面的交叉点的目标位置;以及 基于所述目标位置来确定基于触摸的工具栏的膨胀中心,其中,所述膨胀中心限定所述基于触摸的工具栏的相对于显示在所述GUI内的传统工具栏的锚定位置。
6.根据权利要求5所述的方法,其中,所述膨胀中心与针对所述传统工具栏内的GUI元素组的预定义点相关联。
7.根据权利要求1所述的方法,其中,所述传统输入装置包括键盘或鼠标中的至少之一。
8.一种包含程序的计算机可读存储介质,所述程序在被处理器执行时,进行用于显示一个或更多个基于触摸的图形用户界面(GUI)元素的操作,所述操作包括: 执行应用,所述应用使得在与装置相关联的触摸屏显示器上显示GUI,其中所述GUI被配置成与一个或更多个传统输入装置交互; 确定用户是否意图经由所述触摸屏显示器向所述装置提供输入;以及如果所述用户意图经由所述触摸屏显示器提供输入,则在所述GUI的上方显示所述一个或更多个基于触摸的GUI元素,或者 如果所述用户意图经由所述一个或更多个传统输入装置中的一个传统输入装置向所述装置提供输入,则隐藏所述一个或更多个基于触摸的GUI元素, 其中,每个基于触摸的GUI元素对应于所述GUI内所包括的不同的传统GUI元素,其中,每个传统GUI元素是针对所述一个或更多个传统输入装置中的一个不同的传统输入装置来配置的。
9.根据权利要求8所述的计算机可读存储介质,其中,确定所述用户是否意图经由所述触摸屏显示器提供输入包括:检测物体位于所述触摸屏显示器的表面附近、但是还没有与所述表面接触。
10.根据权利要求9所述的计算机可读存储介质,其中,响应于检测到所述物体在距所述表面的阈值距离之内,将所述一个或更多个基于触摸的Gn元素显示在所述CTI的上方。
11.根据权利要求10所述的计算机可读存储介质,其中,基于下述来显示每个基于触摸的⑶I元素: 所述用户在与特定的传统GUI元素相关联的位置处触摸所述触摸屏显示器;以及 所述用户经由鼠标装置指定该基 于触摸的GUI元素的大小, 其中,该基于触摸的GUI元素对应于该特定的传统GUI元素。
12.根据权利要求9所述的计算机可读存储介质,其中,确定所述用户是否意图经由所述触摸屏显示器提供输入还包括: 计算与所述物体相关联的运动向量,所述运动向量指示所述物体相对于所述触摸屏显示器的所述表面的轨迹; 计算所述运动向量与所述表面的交叉点的目标位置;以及 基于所述目标位置来确定基于触摸的工具栏的膨胀中心,其中,所述膨胀中心限定所述基于触摸的工具栏的相对于显示在所述GUI内的传统工具栏的锚定位置。
13.根据权利要求12所述的计算机可读存储介质,其中,所述膨胀中心与针对所述传统工具栏内的GUI元素组的预定义点相关联。
14.根据权利要求8所述的计算机可读存储介质,其中,所述传统输入装置包括键盘或鼠标中的至少之一。
15.一种用于显示一个或更多个基于触摸的图形用户界面(GUI)元素的系统,所述系统包括: 触摸屏显示器; 存储器,所述存储器包括使得在所述触摸屏显示器上显示⑶I的应用,其中所述⑶I被配置成与一个或更多个传统输入装置交互;以及处理器,所述处理器被配置成: 确定用户是否意图经由所述触摸屏显示器向所述装置提供输入,以及如果所述用户意图经由所述触摸屏显示器提供输入,则在所述⑶I的上方显示所述一个或更多个基于触摸的GUI元素,或者 如果所述用户意图经由所述一个或更多个传统输入装置中的一个传统输入装置向所述装置提供输入,则隐藏所述一个或更多个基于触摸的Gn元素, 其中,每个基于触摸的GUI元素对应于所述GUI内所包括的不同的传统GUI元素,其中,每个传统GUI元素是针对所述一个或更多个传统输入装置中的一个不同的传统输入装置来配置的。
16.根据权利要求15所述的系统,其中,确定所述用户是否意图经由所述触摸屏显示器提供输入包括:检测物体位于所述触摸屏显示器的表面附近、但是还没有与所述表面接触。
17.根据权利要求16所述的系统,其中,响应于检测到所述物体在距所述表面的阈值距离之内,将所述一个或更多个基于触摸的GUI元素显示在所述GUI的上方。
18.根据权利要求16所述的系统,其中,确定所述用户是否意图经由所述触摸屏显示器提供输入还包括: 计算与所述物体相关联的运动向量,所述运动向量指示所述物体相对于所述触摸屏显示器的所述表面的轨迹; 计算所述运动向量与所述表面的交叉点的目标位置;以及 基于所述目标位置来确定基于触摸的工具栏的膨胀中心,其中,所述膨胀中心限定所述基于触摸的工具栏的相对于显示在所述GUI内的传统工具栏的锚定位置。
19.根据权利要求18所述的系统,其中,所述膨胀中心与针对所述传统工具栏内的GUI元素组的预定义点相关 联。
20.根据权利要求15所述的系统,其中,所述传统输入装置包括键盘或鼠标中的至少之一。
【文档编号】G09G5/00GK104011629SQ201280061711
【公开日】2014年8月27日 申请日期:2012年10月12日 优先权日:2011年10月14日
【发明者】托维·格罗斯曼, 乔治·菲茨莫里斯, 杨兴东, 普朗·波拉德·伊拉尼 申请人:欧特克公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1