触摸事件模型编程接口的制作方法

文档序号:6536454阅读:175来源:国知局
触摸事件模型编程接口的制作方法
【专利摘要】本发明涉及触摸事件模型编程接口。可以从触摸敏感设备中获取一个或多个触摸输入信号。根据这些触摸输入信号,可以使用触摸事件模型来确定触摸和/或手势事件。这些触摸和手势事件可以与那些从触摸敏感设备上显示的web页面的不同区域产生的触摸输入信号相关联。通过编程接口,可以提供对至少一个触摸或手势事件的访问。
【专利说明】触摸事件模型编程接口
[0001]相关申请
[0002]本申请是国际申请日为2009年03月03日、国际申请号为PCT / US2009 /035874、进入中国国家阶段日期为2009年04月02日、国家申请号为200980000013.6的发明专利申请的分案申请。
【技术领域】
[0003]本主题主要涉及web浏览(web browsing,网页浏览)服务。
【背景技术】
[0004]Web页面(web page,网页)是用标记语言创建的,该标记语言提供了这样一种手段,即用于描述文档中基于文本的信息的结构并为该文本增补交互表单、嵌入图像及其他对象。一种流行的标记语言是超文本标记语言(HTML),该语言是用被尖括号(anglebracket)包围的标记的形式编写的。HTML可以描述web页面的外观和语义,并且可以包括嵌入式脚本语言代码(例如JavaScript? ),该代码可以影响web浏览器及其他html处理
器的行为。JavaScript?.为开发人员提供了在web页面中添加鼠标事件处理机(handler)
或事件监听器(listener)的能力。这些鼠标事件处理机可以被指定到web页面中的特定区域,并且可以被配置成接收这些区域中的鼠标事件,例如鼠标释放(mouse up)事件或鼠标按下(mouse down)事件。
[0005]相比之下,对使用触摸敏感设备导航的web页面来说,这些web页面通常需要对由用户使用一个或多个手指触摸web页面以及做出手势所产生的触摸事件做出响应。常规的鼠标事件处理机不能正确解释这些触摸事件。由此,这些触摸事件需要一种不同的触摸事件模型来正确解释触摸事件并且允许开发人员充分利用触摸敏感显示器或设备的能力。

【发明内容】

[0006]可以从触摸敏感设备中获取一个或多个触摸输入信号。根据这些触摸输入信号,可以使用触摸事件模型来确定触摸和/或手势事件。这些触摸和手势事件可以与那些从触摸敏感设备上显示的web页面的不同区域产生的触摸输入信号相关联。通过编程接口,可以提供对至少一个触摸或手势事件的访问。
[0007]在某些实施方式中,一种在web浏览器中的方法,包括:接收与手势事件相关联的旋转值;以及根据该旋转值而在web浏览器中动态旋转与该手势事件相关联的web页面单元,其中该旋转值是一个以度数为单位的相对增量。该手势事件可以包括两个或多个触摸事件。
[0008]在某些实施方式中,一种在web浏览器中的方法,包括:接收与手势事件相关联的缩放值;基于该缩放值而在web浏览器中动态调整与手势事件相关联的web页面单元的大小,其中该缩放值是以文档像素为单位的相对增量。该手势事件可以与两个或多个触摸事件相关联。
[0009]在某些实施方式中,一种在web浏览器中的方法,包括:接收触摸列表,该触摸列表包括用于标识web页面上的一个或多个触摸的触摸数据,其中该触摸数据包括触摸标识符以及至少一组触摸位置坐标,其中该触摸列表还包括用于涉及与每个触摸相关联的触摸事件目标的数据,其中所述至少一组触摸位置坐标包括一组客户机坐标,一组页面坐标和一组屏幕坐标。该触摸数据可以标识一个或多个有改变的触摸。
[0010]在这里还公开了涉及系统、方法和计算机可读介质的其他实施方式。
【专利附图】

【附图说明】
[0011]图1示出的是例示web页面文档。
[0012]图2示出的是例示的具有多点触摸能力的设备的处理堆栈。
[0013]图3是用于处理触摸事件的例示处理的流程图。
[0014]图4示出的是例示的具有多点触摸能力的设备。
[0015]图5是用于图4中具有多点触摸能力的设备的例示网络操作环境的框图。
[0016]图6是图4中具有多点触摸能力的设备的例示实施方式的框图。
【具体实施方式】
[0017]例示的web页面结构和DOM
[0018]图1A显示的是可以在浏览器上显示的例示web页面100。该浏览器可以主存在便携式设备上,诸如图4中具有多点触摸能力的设备400上。在web页面100上可以显示一个或多个单元,即单元102( “单元I”)、单元104( “单元2”)以及单元106( “单元3”)。这些单元102、104、106可以与用户可选的web页面100中的各区域相对应,并且在这里还可以提供附加功能作为选择结果。举例来说,这些单元可以对应于web页面100上的按钮。此外,这些单元还可以嵌套,以使一个单元包含另一个单元。例如,单元104包含了单元108。在所显示的示例中,举例来说,单元108是一个嵌套在单元104内部的擦除器控制(scrubber control),而单元104则例如可以是媒体播放器的用户界面。
[0019]在某些实施方式中,用户可以使用手指而不是鼠标以结合web页面100上的单元执行各种功能。例如,用户可以使用图4所示的触摸敏感显示器402来触摸web页面100的单元。在一个示例中,用户可以通过用一个或多个手指触摸该单元和/或通过做出像轻扫(swipe)、合拢(pinch)或旋转(rotate)运动之类的手势来选择某个单元。为了识别触摸输入信号,web页面100的某些区域可以与触摸事件处理机相关联。如将要参考图1B所描述的那样,这种处理可以用DOM以及嵌入式脚本语言来实现。
[0020]图1B是与web页面100相关联的例示性D0M150。DOMl50提供了 web页面100的结构表示,并且将web页面内容描述成是一组可以被脚本语言(例如JavaScript?)解释的对象。在某些实施方式中,D0M150通过将web页面100中的单元102、104、106、108映射到树的各独立节点来提供对web页面结构的访问。例如,单元102对应于节点154。单元104对应于节点156。单元106对应于节点158。单元108对应于节点160。根节点152对应于整个web页面100。
[0021]在某些实施方式中,通过将D0M150中的相应节点与触摸事件处理机相关联,可以将web页面100中的一个或多个单元102、104、106、108与一个或多个相应的触摸事件处理机相关联。触摸事件处理机可以被插入到web页面100的HTML标签中,并且该触摸事件处理机可以在例如用户在web页面100上的某个单元内部进行触摸或做出手势时运行脚本语言来执行动作。举例来说,JavaScript?可以与D0M150 —起工作,以便将动作附着于不同的触摸事件。
[0022]在某些实施方式中,一个或多个单元102、104、106、108可以接收由事件处理机或监听器检测到的触摸输入。如参考图2所描述的那样,该触摸输入可以由触摸事件模型检测并处理成触摸事件,其中该触摸事件模型可以在软件堆栈的一个或多个层中实施。触摸事件可以由web页面100进一步处理。触摸事件可以采用与触摸敏感设备产生的原始触摸输入信号相比更易于在应用中使用的格式(例如属性)。举例来说,每一个触摸事件都可以包括一组当前正在发生的触摸所在的坐标。
[0023]Web页面100中的每一个单元及其关联事件处理机都可以接收、处理和操作触摸事件。举个例子,如果驱动器202 (图2)感测到与单元102相关联的触摸点110或是与单元104相关联的触摸点112,那么与单元102或104相关联的事件处理机就可以接收指示该单元已被触摸的独立的触摸事件,并且可以可选地将触摸事件发送到web页面100以供进一步处理。在某些实施方式中,如果被触摸的web页面100的区域不与事件处理机相对应,那么所述输入可由应用层214中的浏览器处理,而非web页面100来处理。
[0024]在某些实施方式中,在D0M150中可以逐手指逐节点地检测触摸事件。例如,用户可在基本上相同的时间在触摸点110和触摸点112处触摸该触摸敏感显示器402,并且触摸事件模型可以检测到两个独立的触摸事件。由于D0M150中的每一个节点102和104都与独立的触摸事件处理机相关联,因此,可以为触摸点110和触摸点112检测到独立触摸事件。
[0025]在某些实施方式中,触摸事件可以作为EventTarget (事件目标)而被递送到web页面100。触摸事件的某些示例可以包括触摸开始(touchstart),触摸移动(touchmove),触摸结束(touchend)以及触摸取消(touchcancel)。此外,其他触摸事件也是可能的。触摸开始是当用户首次将手指放在触摸敏感显示器402上且位于web页面100中与事件处理机相关联的一区域内时检测到的触摸事件。当用户在web页面100上四处移动其手指时,则可以检测到一个或多个触摸移动事件。当用户将其手指抬离web页面100时,则会检测到触摸结束事件。当系统中断常规事件处理时,则可检测到触摸取消。例如,触摸取消事件可以在为防止无意触摸而锁定触摸敏感显示器402时发生。
[0026]在某些实施方式中,手势事件还可以通过组合两个或多个触摸事件而被检测。与触摸事件相似,手势事件(GestureEvent)同样可以作为事件目标(EventTarget)而被递送到web页面100。手势事件的某些示例可以是手势开始(gesturestart),手势改变(gesturechange)和手势结束(gestureend)。手势事件可以包括缩放和/或旋转信息。旋转信息可以包括旋转值,该旋转值是一个以度数为单位的相对增量。web页面100上的单元可以根据该旋转值而被动态旋转。缩放信息可以包括一个缩放值,该缩放值是以文档像素为单位的相对增量。对与手势事件相关联的web页面100上的单元来说,其大小可以根据该缩放值而被动态调整。此外,其他手势事件也是可能的。
[0027]在某些实施方式中,可以接收一个包含了用于标识web页面100上的一个或多个触摸的触摸事件数据的触摸列表。触摸事件数据可以包括触摸标识符以及至少一组触摸位置坐标。此外,该触摸列表还可以包括涉及与每一个触摸相关联的触摸事件目标的触摸事件数据。在某些实施方式中,这样一个触摸位置坐标组可以包括客户机坐标、页面坐标和屏幕坐标。在某些实施方式中,触摸事件数据可以标识一个或多个有改变的触摸。
[0028]在某些实施方式中,GestureEvent可以在TouchEvent之前被发送到web页面100。举个例子,如果用户将手指放在触摸点110和触摸点112上,然后使用这些手指在触摸敏感显示器上做出顺时针或逆时针旋转手势,那么触摸事件模型将会检测到这些多个触摸事件,并且会将这些触摸事件组合成一个手势事件。然后,该手势事件可以被发送到web页面100,其后跟随的是经组合形成该手势事件的各触摸事件。这样一来,开发人员可以访问手势事件以及该手势事件中的各个单独的触摸事件,由此就能在开发web应用时,为开发人员提供更大的灵活性。
[0029]在某些实施方式中,触摸事件是依照如下顺序接收的:触摸开始事件、一个或多个触摸移动事件、以及触摸结束或触摸取消事件。通过使用图1A的示例,当用户接触触摸点110时,与单元102相关联的第一触摸事件处理机将会检测到第一触摸开始事件。当用户接触触摸点112时,与单元104相关联的第二触摸事件处理机将会检测到第二触摸开始事件。当用户旋转其手指而没有抬起其手指时,第一和第二触摸事件处理机将会检测到触摸移动事件,并且该触摸移动事件可以被触摸事件模型解释成是旋转手势事件。当用户结束旋转并且将其手指抬离web页面100时,第一和第二触摸事件处理机将会检测到触摸结束事件。所有或某些触摸事件可以通过触摸事件应用编程接口(API)而对开发人员可用。触摸API可以作为软件开发工具包(SDK)或是作为应用的一部分(例如作为浏览器工具包的一部分)而对开发人员可用。该触摸事件API可以依靠其他服务、框架和操作系统来执行其各种功能。如参考图2所述,在触摸事件与那些可以插入文档用以在应用中定义事件动作的属性相关联的情况下,这些服务、框架和操作系统可以是软件或处理堆栈的一部分。
[0030]例示的IDL
[0031]现在将用接口描述语言(IDL)描述例示的触摸事件模型。IDL的功能和数据结构可以由web设计人员或应用开发人员通过API来访问。对触摸事件和/或手势事件的访问可以与那些可插入标记语言文档(例如HTML,XML)用以在应用中定义事件动作的属性相关联。例如,这些属性可以插入到HTML文档的一个或多个HTML标签中,用以产生在触摸敏感显示器402上显示的web页面。该事件动作可以包括运行一个嵌入式脚本(例如JavaScript?)。
[0032]
【权利要求】
1.一种用于在触摸敏感设备上进行web浏览的方法,所述方法包括: 接收触摸事件,所述触摸事件包括多个触摸列表,所述多个触摸列表包括: 第一触摸列表,用于与所述触摸事件的目标相关联的所有触摸, 第二触摸列表,用于所有改变的触摸,以及 第三触摸列表,用于在所述触摸敏感设备上检测到的所有触摸;以及 处理所述触摸事件。
2.根据权利要求1所述的方法,包括:根据所述第一触摸列表中的一个或多个触摸处理所述触摸事件。
3.根据权利要求1-2任一项所述的方法,其中相应的触摸列表包括用以标识web页面上的一个或多个触摸的触摸事件数据,所述触摸事件数据包括触摸标识符和至少一组触摸位置坐标,所述相应的触摸列表还包括与每个触摸相关联的触摸事件目标,并且所述至少一组触摸位置坐标包括客户机坐标、页面坐标和屏幕坐标中的至少一种。
4.根据权利要求3所述的方法,还包括:通过组合两个或更多触摸事件来生成手势事件。
5.根据权利要求4所述的方法,其中所述手势事件包括以下之一:缩放信息和旋转信息,所述缩放信息包括缩放值,并且所述旋转信息包括旋转值。
6.一种用于在触摸敏感设备上进行web浏览的设备,所述设备包括: 用于接收触摸事件的装置,所述触摸事件包括多个触摸列表,所述多个触摸列表包括: 第一触摸列表,用于与所述触摸事件的目标相关联的所有触摸, 第二触摸列表,用于所有改变的触摸,以及 第三触摸列表,用于在所述触摸敏感设备上检测到的所有触摸;以及 用于处理所述触摸事件的装置。
7.根据权利要求6所述的设备,包括:用于根据所述第一触摸列表中的一个或多个触摸处理所述触摸事件的装置。
8.根据权利要求6-7任一项所述的设备,其中相应的触摸列表包括用以标识web页面上的一个或多个触摸的触摸事件数据,所述触摸事件数据包括触摸标识符和至少一组触摸位置坐标,所述相应的触摸列表还包括与每个触摸相关联的触摸事件目标,并且所述至少一组触摸位置坐标包括客户机坐标、页面坐标和屏幕坐标中的至少一种。
9.根据权利要求8所述的设备,包括:用于通过组合两个或更多触摸事件来生成手势事件的装置。
10.根据权利要求9所述的设备,其中所述手势事件包括以下之一:缩放信息和旋转信息,所述缩放信息包括缩放值,并且所述旋转信息包括旋转值。
11.一种用于在触摸敏感设备上进行web浏览的方法,所述方法包括: 提供触摸事件,所述触摸事件包括多个触摸列表,所述多个触摸列表包括: 第一触摸列表,用于与所述触摸事件的目标相关联的所有触摸, 第二触摸列表,用于所有改变的触摸,以及 第三触摸列表,用于在 所述触摸敏感设备上检测到的所有触摸;以及 利用包括超文本标记语言HTML文档的web页面中的代码来处理所述触摸事件;以及生成所述web页面的显示。
12.根据权利要求11所述的方法,其中所述一个或多个值对应于所述第一触摸列表中的一个或多个触摸。
13.根据权利要求11-12任一项所述的方法,其中相应的触摸列表包括用以标识web页面上的一个或多个触摸的触摸事件数据,所述触摸事件数据包括触摸标识符和至少一组触摸位置坐标,所述相应的触摸列表还包括与每个触摸相关联的触摸事件目标,并且所述至少一组触摸位置坐标包括客户机坐标、页面坐标和屏幕坐标中的至少一种。
14.根据权利要求13所述的方法,还包括:通过组合两个或更多触摸事件来生成手势事件。
15.根据权利要求14所述的方法,其中所述手势事件包括以下之一:缩放信息和旋转信息,所述缩放信息包括缩放值,并且所述旋转信息包括旋转值。
16.一种用于在触摸敏感设备上进行web浏览的设备,所述设备包括: 用于提供触摸事件的装置,所述触摸事件包括多个触摸列表,所述多个触摸列表包括: 第一触摸列表,用于与所述触摸事件的目标相关联的所有触摸, 第二触摸列表,用于所有改变的触摸,以及 第三触摸列表,用于在所述触摸敏感设备上检测到的所有触摸;以及 用于利用包括超文本标记语言HTML文档的web页面中的代码来处理所述触摸事件的装置;以及 用于生成所述web页面的显示的装置。
17.根据权利要求16所述的设备,其中所述一个或多个值对应于所述第一触摸列表中的一个或多个触摸。
18.根据权利要求16-17任一项所述的设备,其中相应的触摸列表包括用以标识web页面上的一个或多个触摸的触摸事件数据,所述触摸事件数据包括触摸标识符和至少一组触摸位置坐标,所述相应的触摸列表还包括与每个触摸相关联的触摸事件目标,并且所述至少一组触摸位置坐标包括客户机坐标、页面坐标和屏幕坐标中的至少一种。
19.根据权利要求18所述的设备,包括:用于通过组合两个或更多触摸事件来生成手势事件的装置。
20.根据权利要求14所述的设备,其中所述手势事件包括以下之一:缩放信息和旋转信息,所述缩放信息包括缩放值,并且所述旋转信息包括旋转值。
21.一种用于在触摸敏感设备上进行web浏览的方法,所述方法包括: 提供用于一个或多个触摸事件的接口,所述接口被配置为传递多个触摸列表,所述多个触摸列表包括: 第一触摸列表,用于与所述触摸事件的目标相关联的所有触摸, 第二触摸列表,用于所有改变的触摸,以及 第三触摸列表,用于在所述触摸敏感设备上检测到的所有触摸;以及 将所述多个触摸列表传递给web页面以便处理。
22.根据权利要求21所述的方法,其中所述web页面包括用于处理所述一个或多个触摸事件的一个或多个指令。
23.根据权利要求21-22任一项所述的方法,其中所述web页面包括用于根据所述第一触摸列表中的一个或多个触摸来处理所述一个或多个触摸事件的一个或多个指令。
24.根据权利要求21-22任一项所述的方法,其中相应的触摸列表包括用以标识web页面上的一个或多个触摸的触摸事件数据,所述触摸事件数据包括触摸标识符和至少一组触摸位置坐标,所述相应的触摸列表还包括与每个触摸相关联的触摸事件目标,并且所述至少一组触摸位置坐标包括客户机坐标、页面坐标和屏幕坐标中的至少一种。
25.根据权利要求24所述的方法,还包括:通过组合两个或更多触摸事件来生成手势事件。
26.一种用于在触摸敏感设备上进行web浏览的设备,所述设备包括: 用于提供用于一个或多个触摸事件的接口的装置,所述接口被配置为传递多个触摸列表,所述多个触摸列表包括: 第一触摸列表,用于与所述触摸事件的目标相关联的所有触摸, 第二触摸列表,用于所有改变的触摸,以及 第三触摸列表,用于在所述触摸敏感设备上检测到的所有触摸;以及 用于将所述多个触摸列表传递给web页面以便处理的装置。
27.根据权利要求2 6所述的设备,其中所述web页面包括用于处理所述一个或多个触摸事件的一个或多个指令。
28.根据权利要求26-27任一项所述的设备,其中所述web页面包括用于根据所述第一触摸列表中的一个或多个触摸来处理所述一个或多个触摸事件的一个或多个指令。
29.根据权利要求26-27任一项所述的设备,其中相应的触摸列表包括用以标识web页面上的一个或多个触摸的触摸事件数据,所述触摸事件数据包括触摸标识符和至少一组触摸位置坐标,所述相应的触摸列表还包括与每个触摸相关联的触摸事件目标,并且所述至少一组触摸位置坐标包括客户机坐标、页面坐标和屏幕坐标中的至少一种。
30.根据权利要求29所述的设备,包括:用于通过组合两个或更多触摸事件来生成手势事件的装置。
【文档编号】G06F17/30GK103761044SQ201410028534
【公开日】2014年4月30日 申请日期:2009年3月3日 优先权日:2008年3月4日
【发明者】R·威廉姆森, G·D·博尔辛加, T·奥默尼克 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1