CN103809908A - 触摸事件模型编程接口 - Google Patents
触摸事件模型编程接口 Download PDFInfo
- Publication number
- CN103809908A CN103809908A CN201410028562.7A CN201410028562A CN103809908A CN 103809908 A CN103809908 A CN 103809908A CN 201410028562 A CN201410028562 A CN 201410028562A CN 103809908 A CN103809908 A CN 103809908A
- Authority
- CN
- China
- Prior art keywords
- touch
- list
- event
- touches
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04808—Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
本发明涉及触摸事件模型编程接口。可以从触摸敏感设备中获取一个或多个触摸输入信号。根据这些触摸输入信号,可以使用触摸事件模型来确定触摸和/或手势事件。这些触摸和手势事件可以与那些从触摸敏感设备上显示的web页面的不同区域产生的触摸输入信号相关联。通过编程接口,可以提供对至少一个触摸或手势事件的访问。
Description
相关申请
本申请是国际申请日为2009年03月03日、国际申请号为PCT/US2009/035874、进入中国国家阶段日期为2009年04月02日、国家申请号为200980000013.6的发明专利申请的分案申请。
技术领域
本主题主要涉及web浏览(web browsing,网页浏览)服务。
背景技术
Web页面(web page,网页)是用标记语言创建的,该标记语言提供了这样一种手段,即用于描述文档中基于文本的信息的结构并为该文本增补交互表单、嵌入图像及其他对象。一种流行的标记语言是超文本标记语言(HTML),该语言是用被尖括号(angle bracket)包围的标记的形式编写的。HTML可以描述web页面的外观和语义,并且可以包括嵌入式脚本语言代码(例如),该代码可以影响web浏览器及其他HTML处理器的行为。为开发人员提供了在web页面中添加鼠标事件处理机(handler)或事件监听器(listener)的能力。这些鼠标事件处理机可以被指定到web页面中的特定区域,并且可以被配置成接收这些区域中的鼠标事件,例如鼠标释放(mouse up)事件或鼠标按下(mouse down)事件。
相比之下,对使用触摸敏感设备导航的web页面来说,这些web页面通常需要对由用户使用一个或多个手指触摸web页面以及做出手势所产生的触摸事件做出响应。常规的鼠标事件处理机不能正确解释这些触摸事件。由此,这些触摸事件需要一种不同的触摸事件模型来正确解释触摸事件并且允许开发人员充分利用触摸敏感显示 器或设备的能力。
发明内容
可以从触摸敏感设备中获取一个或多个触摸输入信号。根据这些触摸输入信号,可以使用触摸事件模型来确定触摸和/或手势事件。这些触摸和手势事件可以与那些从触摸敏感设备上显示的web页面的不同区域产生的触摸输入信号相关联。通过编程接口,可以提供对至少一个触摸或手势事件的访问。
在某些实施方式中,一种在web浏览器中的方法,包括:接收与手势事件相关联的旋转值;以及根据该旋转值而在web浏览器中动态旋转与该手势事件相关联的web页面单元,其中该旋转值是一个以度数为单位的相对增量。该手势事件可以包括两个或多个触摸事件。
在某些实施方式中,一种在web浏览器中的方法,包括:接收与手势事件相关联的缩放值;基于该缩放值而在web浏览器中动态调整与手势事件相关联的web页面单元的大小,其中该缩放值是以文档像素为单位的相对增量。该手势事件可以与两个或多个触摸事件相关联。
在某些实施方式中,一种在web浏览器中的方法,包括:接收触摸列表,该触摸列表包括用于标识web页面上的一个或多个触摸的触摸数据,其中该触摸数据包括触摸标识符以及至少一组触摸位置坐标,其中该触摸列表还包括用于涉及与每个触摸相关联的触摸事件目标的数据,其中所述至少一组触摸位置坐标包括一组客户机坐标,一组页面坐标和一组屏幕坐标。该触摸数据可以标识一个或多个有改变的触摸。
在这里还公开了涉及系统、方法和计算机可读介质的其他实施方式。
附图说明
图1A和图1B示出的是例示web页面文档。
图2示出的是例示的具有多点触摸能力的设备的处理堆栈。
图3是用于处理触摸事件的例示处理的流程图。
图4示出的是例示的具有多点触摸能力的设备。
图5是用于图4中具有多点触摸能力的设备的例示网络操作环境的框图。
图6是图4中具有多点触摸能力的设备的例示实施方式的框图。
具体实施方式
例示的web页面结构和DOM
图1A显示的是可以在浏览器上显示的例示web页面100。该浏览器可以主存在便携式设备上,诸如图4中具有多点触摸能力的设备400上。在web页面100上可以显示一个或多个单元,即单元102(“单元1”)、单元104(“单元2”)以及单元106(“单元3”)。这些单元102、104、106可以与用户可选的web页面100中的各区域相对应,并且在这里还可以提供附加功能作为选择结果。举例来说,这些单元可以对应于web页面100上的按钮。此外,这些单元还可以嵌套,以使一个单元包含另一个单元。例如,单元104包含了单元108。在所显示的示例中,举例来说,单元108是一个嵌套在单元104内部的擦除器控制(scrubber control),而单元104则例如可以是媒体播放器的用户界面。
在某些实施方式中,用户可以使用手指而不是鼠标以结合web页面100上的单元执行各种功能。例如,用户可以使用图4所示的触摸敏感显示器402来触摸web页面100的单元。在一个示例中,用户可以通过用一个或多个手指触摸该单元和/或通过做出像轻扫(swipe)、合拢(pinch)或旋转(rotate)运动之类的手势来选择某个单元。为了识别触摸输入信号,web页面100的某些区域可以与触摸事件处理机相关联。如将要参考图1B所描述的那样,这种处理 可以用DOM以及嵌入式脚本语言来实现。
图1B是与web页面100相关联的例示性DOM150。DOM150提供了web页面1O0的结构表示,并且将web页面内容描述成是一组可以被脚本语言(例如)解释的对象。在某些实施方式中,DOM150通过将web页面100中的单元102、104、106、108映射到树的各独立节点来提供对web页面结构的访问。例如,单元102对应于节点154。单元104对应于节点156。单元106对应于节点158。单元108对应于节点160。根节点152对应于整个web页面100。
在某些实施方式中,通过将DOM150中的相应节点与触摸事件处理机相关联,可以将web页面100中的一个或多个单元102、104、106、108与一个或多个相应的触摸事件处理机相关联。触摸事件处理机可以被插入到web页面100的HTML标签中,并且该触摸事件处理机可以在例如用户在web页面100上的某个单元内部进行触摸或做出手势时运行脚本语言来执行动作。举例来说,可以与DOM150一起工作,以便将动作附着于不同的触摸事件。
在某些实施方式中,一个或多个单元102、104、106、108可以接收由事件处理机或监听器检测到的触摸输入。如参考图2所描述的那样,该触摸输入可以由触摸事件模型检测并处理成触摸事件,其中该触摸事件模型可以在软件堆栈的一个或多个层中实施。触摸事件可以由web页面100进一步处理。触摸事件可以采用与触摸敏感设备产生的原始触摸输入信号相比更易于在应用中使用的格式(例如属性)。举例来说,每一个触摸事件都可以包括一组当前正在发生的触摸所在的坐标。
Web页面100中的每一个单元及其关联事件处理机都可以接收、处理和操作触摸事件。举个例子,如果驱动器202(图2)感测到与单元102相关联的触摸点110或是与单元104相关联的触摸点112,那么与单元102或104相关联的事件处理机就可以接收指示该单元已被触摸的独立的触摸事件,并且可以可选地将触摸事件发送到web 页面100以供进一步处理。在某些实施方式中,如果被触摸的web页面100的区域不与事件处理机相对应,那么所述输入可由应用层214中的浏览器处理,而非web页面100来处理。
在某些实施方式中,在DOM150中可以逐手指逐节点地检测触摸事件。例如,用户可在基本上相同的时间在触摸点110和触摸点112处触摸该触摸敏感显示器402,并且触摸事件模型可以检测到两个独立的触摸事件。由于DOM150中的每一个节点102和104都与独立的触摸事件处理机相关联,因此,可以为触摸点110和触摸点112检测到独立触摸事件。
在某些实施方式中,触摸事件可以作为EventTarget(事件目标)而被递送到web页面100。触摸事件的某些示例可以包括触摸开始(touchstart),触摸移动(touchmove),触摸结束(touchend)以及触摸取消(touchcancel)。此外,其他触摸事件也是可能的。触摸开始是当用户首次将手指放在触摸敏感显示器402上且位于web页面100中与事件处理机相关联的一区域内时检测到的触摸事件。当用户在web页面100上四处移动其手指时,则可以检测到一个或多个触摸移动事件。当用户将其手指抬离web页面100时,则会检测到触摸结束事件。当系统中断常规事件处理时,则可检测到触摸取消。例如,触摸取消事件可以在为防止无意触摸而锁定触摸敏感显示器402时发生。
在某些实施方式中,手势事件还可以通过组合两个或多个触摸事件而被检测。与触摸事件相似,手势事件(GestureEvent)同样可以作为事件目标(EventTarget)而被递送到web页面100。手势事件的某些示例可以是手势开始(gesturestart),手势改变(gesturechange)和手势结束(gestureend)。手势事件可以包括缩放和/或旋转信息。旋转信息可以包括旋转值,该旋转值是一个以度数为单位的相对增量。web页面100上的单元可以根据该旋转值而被动态旋转。缩放信息可以包括一个缩放值,该缩放值是以文档像素为单位的相对增量。对与手势事件相关联的web页面100上的单元来说,其大小可 以根据该缩放值而被动态调整。此外,其他手势事件也是可能的。
在某些实施方式中,可以接收一个包含了用于标识web页面100上的一个或多个触摸的触摸事件数据的触摸列表。触摸事件数据可以包括触摸标识符以及至少一组触摸位置坐标。此外,该触摸列表还可以包括涉及与每一个触摸相关联的触摸事件目标的触摸事件数据。在某些实施方式中,这样一个触摸位置坐标组可以包括客户机坐标、页面坐标和屏幕坐标。在某些实施方式中,触摸事件数据可以标识一个或多个有改变的触摸。
在某些实施方式中,GestureEvent可以在TouchEvent之前被发送到web页面100。举个例子,如果用户将手指放在触摸点110和触摸点112上,然后使用这些手指在触摸敏感显示器上做出顺时针或逆时针旋转手势,那么触摸事件模型将会检测到这些多个触摸事件,并且会将这些触摸事件组合成一个手势事件。然后,该手势事件可以被发送到web页面100,其后跟随的是经组合形成该手势事件的各触摸事件。这样一来,开发人员可以访问手势事件以及该手势事件中的各个单独的触摸事件,由此就能在开发web应用时,为开发人员提供更大的灵活性。
在某些实施方式中,触摸事件是依照如下顺序接收的:触摸开始事件、一个或多个触摸移动事件、以及触摸结束或触摸取消事件。通过使用图1A的示例,当用户接触触摸点110时,与单元102相关联的第一触摸事件处理机将会检测到第一触摸开始事件。当用户接触触摸点112时,与单元104相关联的第二触摸事件处理机将会检测到第二触摸开始事件。当用户旋转其手指而没有抬起其手指时,第一和第二触摸事件处理机将会检测到触摸移动事件,并且该触摸移动事件可以被触摸事件模型解释成是旋转手势事件。当用户结束旋转并且将其手指抬离web页面100时,第一和第二触摸事件处理机将会检测到触摸结束事件。所有或某些触摸事件可以通过触摸事件应用编程接口(API)而对开发人员可用。触摸API可以作为软件开发工具包(SDK)或是作为应用的一部分(例如作为浏览器工具 包的一部分)而对开发人员可用。该触摸事件API可以依靠其他服务、框架和操作系统来执行其各种功能。如参考图2所述,在触摸事件与那些可以插入文档用以在应用中定义事件动作的属性相关联的情况下,这些服务、框架和操作系统可以是软件或处理堆栈的一部分。
例示的IDL
现在将用接口描述语言(IDL)描述例示的触摸事件模型。IDL的功能和数据结构可以由web设计人员或应用开发人员通过API来访问。对触摸事件和/或手势事件的访问可以与那些可插入标记语言文档(例如HTML,XML)用以在应用中定义事件动作的属性相关联。例如,这些属性可以插入到HTML文档的一个或多个HTML标签中,用以产生在触摸敏感显示器402上显示的web页面。该事件动作可以包括运行一个嵌入式脚本(例如)。
以下是通过使用如上的例示IDL来处理触摸事件的HTML代码片段的示例。举例来说,以下HTML显示的是用HTML代码添加到单元中的触摸事件监听器TouchStart和GestureStart:
this.element.addEventListener(′touchstart′,function(e){return self.onTouchStart(e)},false);
this.element.addEventListener(′gesturestart′,function(e){return self.onGestureStart(e)},false);
与以上IDL相对应的HTML代码可以如下:
用于多点触摸设备的例示处理堆栈
图2是例示的具有多点触摸能力的设备的处理堆栈的图示。如上所述的触摸事件模型可以在处理堆栈及堆栈中的用户各类资源的一个或多个区域中实施。硬件200的层可以包括各种硬件接口元件,例如触摸敏感或启用的设备或是触摸敏感显示器。该触摸敏感设备可以包括显示器以及用于同时感测多个触摸的面板。该硬件层200 还可以包括用于检测触摸敏感显示器或设备的定向(例如纵向,横向)的加速度计。由此,用于指示定向的信号可由触摸事件模型用来缩放web页面以进行最优显示。
驱动器层202中的一个或多个驱动器可以与硬件200进行通信。例如,这些驱动器可以接收和处理由硬件层200中的触摸敏感显示器或设备产生的触摸输入信号。核心操作系统(OS)204可以与一个或多个驱动器进行通信。核心OS204可以处理从一个或多个驱动器接收的原始输入数据。在某些实施例中,这些驱动器可以被认为是核心OS204的一部分。
一组OS应用编程接口(API)206可以与核心OS204进行通信。这些API可以是一组通常与操作系统包含在一起的API(例如Linux或UNIX API)。其中一组核心基础API208可以使用OS API206,而一组基础API210则可以使用核心基础API208。
Web页面软件开发工具包(SDK)210可以包括一组被设计成供在设备上运行的应用使用的API。而触摸事件API则例如可被包含在Web页面SDK210中。Web页面SDK210的API可以利用基础API208。Web页面SDK210例如可以包括由提供的Web KIT(Web工具包)。Web页面SDK210可以作为API提供,或者也可以通过应用,例如,通过诸如由提供的 之类的浏览器来访问。
在设备上运行的应用214可以利用Web页面SDK210的API来创建web页面。web页面SDK210的API则又可以与各下层单元进行通信,由此最终与触摸敏感显示器或设备以及各种其他用户接口硬件进行通信。虽然每一层都可以利用其下方的层,但这并不总是需要的。例如在某些实施例中,应用214可以不定期地与OS API206通信。
例示的触摸事件处理
图3是通过API来提供对触摸和/或手势事件的访问的处理300的流程图。处理300可以通过获取一个或多个触摸输入信号而开始 (302)。这些触摸输入信号可以从触摸敏感显示器或设备获取。通过使用触摸事件模型,可以根据触摸输入信号来确定触摸事件和/或手势(304)。这些触摸事件可以与显示在触摸敏感显示器或设备上的web页面的各区域相关联。例如,触摸敏感显示器可以是移动电话上的显示器,并且触摸敏感设备可以是笔记本计算机上的触摸敏感板。对触摸事件和/或手势事件的访问可以通过编程接口来提供(306)。例如,对在上文中参考图2描述的HTML片段来说,该片段可以由web开发人员插入HTML文档,以便为开发人员提供对触摸和/或手势事件的访问。触摸事件和/或手势事件还可以由HTML文档中的代码进一步处理,以便启动事件动作(306)。
移动设备综述
图4是例示的具有多点触摸能力的设备400的框图。在某些实施方式中,具有多点触摸能力的设备400包括触摸敏感显示器402。触摸敏感显示器402可以实施液晶显示器(LCD)技术,发光聚合物显示器(LPD)技术或是某些其他显示器技术。触摸敏感显示器402可以对触觉(haptic)和/或与用户的触知(tactile)接触敏感。
在某些实施方式中,触摸敏感显示器402可以包括多点触摸敏感显示器402。举例来说,触摸敏感显示器402可以处理多个同时的触摸点,这其中包括处理与每一个触摸点的压力、角度和/或位置相关的数据。此类处理使用多个手指、和弦(chording)及其他交互来方便手势和交互。此外,也可以使用其他触摸敏感显示器技术,例如使用指示笔或其他指示设备来进行接触的显示器。关于多点触摸敏感显示器技术的某些示例在美国专利No.6,323,846、No.6,570,557、No.6,677,932以及美国专利公开2002/0015024A1中有所描述,这其中的每一份文献全都在这里全部引入作为参考。在某些实施方式中,具有多点触摸能力的设备400可以在触摸敏感显示器402上显示一个或多个图形用户界面,以便为用户提供对各种系统对象的访问以及向用户传达信息。
例示的具有多点触摸能力的设备的功能
在某些实施方式中,具有多点触摸能力的设备400可以实施多种设备的功能,例如电话设备、电子邮件设备、网络数据通信设备、wi-Fi基站设备以及媒体处理设备。在某些实施方式中,具有多点触摸能力的设备400可以包括用于显示web页面(例如web页面100)的web浏览器404。触摸敏感显示器402可以接收在web页面100上产生的触摸输入信号,并且如上所述的触摸模型可以用于根据触摸输入信号来确定触摸和/或手势事件。在某些实施方式中,具有多点触摸能力的设备400可以实施网络分布功能。在某些实施方式中,在具有多点触摸能力的设备400接近用户耳朵时,可以锁操作(1ockdown)触摸敏感显示器402。这种锁操作将会导致产生如参考图1B所描述的触摸取消事件。
在某些实施方式中,如指向箭头474所示,加速度计472可以用于检测具有多点触摸能力的设备400的移动。相应地,显示对象和/或媒体可以根据检测到的定向,例如,纵向或横向来呈现。在某些实施方式中,具有多点触摸能力的设备400可以包括用于支持位置确定能力的电路和传感器,其中举例来说,该能力可以是由全球定位系统(GPS)或其他定位系统(例如使用Wi-Fi接入点的系统、电视信号、蜂窝网格、统一资源定位符(URL))提供的。在某些实施方式中,定位系统(例如GPS接收机)既可以集成到具有多点触摸能力的设备400中,也可以作为能通过接口来与具有多点触摸能力的设备400耦合的独立设备来提供,以便提供对基于位置的服务的访问。这种具有多点触摸能力的设备400还可以包括一个或多个无线通信子系统。
在某些实施方式中,可以包括诸如通用串行总线(USB)端口或对接端口(docking port)之类的端口设备,或是某些其他有线端口连接。端口设备,例如可用于与其他计算设备建立有线连接,所述其他计算设备例如可以是其他具有多点触摸能力的设备400、网络接入设备、个人计算机、打印机或是能够接收和/或发射数据的其他处 理设备。在某些实施方式中,端口设备允许具有多点触摸能力的设备400使用一种或多种协议来与主机设备同步,诸如可以使用TCP/IP、HTTP、UDP以及其他任何已知协议。
网络操作环境
图5是用于图4中具有多点触摸能力的设备400的例示网络操作环境600的框图。举例来说,图4中具有多点触摸能力的设备400可以在数据通信中经一个或多个有线和/或无线网络510进行通信。例如,无线网络512可以是例如蜂窝网络,它可以通过使用网关516来与诸如因特网之类的广域网(WAN)514进行通信。同样,接入点518可以是诸如802.11g无线接入点,它可以提供对广域网514的通信访问。在某些实施方式中,语音和数据通信可以经由无线网络512和接入点518来建立。例如,具有多点触摸能力的设备400a可以经由无线网络512、网关516以及广域网514(例如使用TCP/IP或UDP协议)来发出和接收电话呼叫(例如使用VoIP协议),发送和接收电子邮件消息(例如使用POP3协议),以及检索电子文档和/或流,例如web页面、照片和视频。同样,具有多点触摸能力的设备400b可以经由接入点518和广域网514来发出和接收电话呼叫,发送和接收电子邮件消息,以及检索电子文档。在某些实施方式中,具有多点触摸能力的设备400可以使用一条或多条电缆与接入点518物理连接,并且接入点518可以是个人计算机。在这种配置中,具有多点触摸能力的设备400可以被称为“带缆(tethered)”设备。
具有多点触摸能力的设备400a和400b还可以借助其他手段来建立通信。例如,具有多点触摸能力的设备400a可以经由无线网络512而与其他无线设备,例如与其他具有多点触摸能力的设备400、蜂窝电话等等进行通信。同样,具有多点触摸能力的设备400a和400b可以通过使用一个或多个通信子系统来建立诸如个人局域网之类的点对点通信520,其中所述通信子系统可以是图4所示的Bluetooth TM通信设备488。此外,也可以实施其他的通信协议和拓扑结构。
举例来说,具有多点触摸能力的设备400可以经由一个或多个有 线和/或无线网络510而与网络资源530进行通信。例如,该网络资源可以如参考图1~2所述,是用于递送那些能够经由触摸模型而被触摸的web页面的web服务器。
还可以提供包括软件更新服务的其他服务,其中所述软件更新服务自动确定是否存在用于具有多点触摸能力的设备400上的软件的软件更新,随后则将该软件更新下载到具有多点触摸能力的设备400,在设备400上软件可以被手动或自动解包和/或安装。
例示的移动设备架构
图6是图4中具有多点触摸能力的设备400的例示实施方式的框图600。具有多点触摸能力的设备400可以包括存储器接口602、一个或多个数据处理器、图像处理器和/或中央处理单元604,以及外围接口606。存储器接口602、一个或多个处理器604和/或外围接口606既可以是分立元件,也可以集成在一个或多个集成电路中。在具有多点触摸能力的设备400中,各种元件可以通过一条或多条通信总线或信号线来耦合。
传感器、设备和子系统可以耦合到外围接口606,以便帮助实现多种功能。例如,运动传感器610、光传感器612和接近度传感器614可以耦合到外围接口606,以方便有关图4所述的定向、照明和接近度功能。其他传感器616同样可以与外围接口606相连,例如定位系统(例如GPS接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
相机子系统620和光学传感器622可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。
可以通过一个或多个无线通信子系统624来帮助实现通信功能,其中所述无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。通信子系统624的特定设计和实施方式可以取决于具有多点触摸能力的设备400打算在经其工作的一个或 多个通信网络。例如,具有多点触摸能力的设备400可以包括被设计成经GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BlueboothTM网络上工作的通信子系统624。特别地,无线通信子系统624可以包括主机协议,以使设备500可被配置成用于其他无线设备的基站。
音频子系统626可以与扬声器628以及麦克风630相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。
I/O子系统640可以包括触摸屏控制器642和/或一个或多个其他输入控制器644。触摸屏控制器642可以耦合到触摸屏646。举例来说,该触摸屏646和触摸屏控制器642可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术,以及其他的接近度传感器阵列或其他用于确定与触摸屏646的一个或多个接触点的部件。
一个或多个其他输入控制器644可以耦合到其他输入/控制设备648,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指针设备。所述一个或多个按钮(未显示)可以包括用于控制扬声器628和/或麦克风630音量的向上/向下按钮。
在一个实施方式中,可以通过按住按钮持续第一持续时间来解除触摸屏646的锁定;并且如果按住按钮持续第二持续时间,其中第二持续时间长于第一持续时间,那么可以接通或切断具有多点触摸能力的设备400的电源。用户能够定制一个或多个按钮的功能。此外,举例来说,触摸屏646也可以用于实施虚拟或软按钮和/或数字键盘或键盘。
在某些实施方式中,具有多点触摸能力的设备400可以呈现已记录的音频和/或视频文件,例如MP3、AAC和MPEG文件。在某些实施方式中,具有多点触摸能力的设备400可以包括MP3播放器的 功能,例如iPodTM。由此,具有多点触摸能力的设备400可以包括一个与iPod兼容的32引脚连接器。此外还可以使用其他的输入/输出和控制设备。
存储器接口602可以与存储器650相耦合。该存储器650可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如NAND,NOR)。存储器650可以存储操作系统652,例如Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS,或是VxWorks之类的嵌入式操作系统。该操作系统652可以包括用于处理基本系统服务以及执行依赖于硬件的任务的指令。
存储器650还可以存储通信指令654,以便帮助实施与一个或多个附加设备、一个或多个计算机和/或一个或多个服务器的通信。该存储器650可以包括用于帮助实施图形用户界面处理的图形用户界面指令656;用于帮助实施与传感器相关的处理和功能的传感器处理指令658;用于帮助实施与电话相关的处理和功能的电话指令660;用于帮助实施与电子消息收发相关的处理和功能的电子消息收发指令662;用于帮助实施与web浏览相关的处理和功能的web浏览指令664;用于帮助实施与媒体处理相关的处理和功能的媒体处理指令666;用于帮助实施与GPS和导航相关的处理和功能的GPS/导航指令668;用于帮助实施与相机相关的处理和功能的相机指令670;和/或其他那些用于帮助实施如参考图1~5描述的处理和功能的其他消息收发指令672。
以上标识的每个指令和应用都可以与用于执行上述一个或多个功能的一组指令相对应。这些指令没有必要实现为独立的软件程序、过程或模块。存储器650可以包括附加的指令或更少的指令。此外,具有多点触摸能力的设备400的各种功能可以在硬件和/或软件中实施,包括在一个或多个信号处理和/或专用集成电路中实施。
所描述的特征既可以在数字电子电路中实施,也可以在计算机硬件、固件、软件或其组合中实施。这些特征可以在计算机程序产品 中实施,其中该产品有形包含在机器可读存储设备或传播信号之类的信息载体中,以便由可编程处理器加以执行;此外,方法步骤可以由可编程处理器来执行,其中该处理器将会执行指令程序,以便通过对输入数据执行操作并产生输出来执行所描述的实施方式的功能。
有利的是,所描述的特征可以在一个或多个计算机程序中实施,其中所述计算机程序可以在可编程系统上运行,该可编程系统包括至少一个可编程处理器,所述至少一个可编程处理器被耦合以从数据存储系统、至少一个输入设备以及至少一个输出设备中接收数据和指令并向其传送数据和指令。计算机程序是一组可以直接或间接在计算机中使用,以便执行某些活动或是带来某种结果的指令。计算机程序可以用包括编译或解释性语言在内任何形式的编程语言来编写(例如Objective-C、Java),此外,它也可以采用任何形式来部署,包括独立程序或是模块、元件、子例程,或是适合在计算环境中使用的其他单元。
作为例示,适于执行指令程序的处理器包括任何类型的计算机中的通用和专用微处理器,以及唯一处理器或是多处理器或核之一。通常,处理器会接收来自只读存储器、随机存取存储器或是这二者的指令和数据。计算机的基本部件是用于执行指令的处理器以及一个或多个用于存储指令和数据的存储器。通常,计算机还包括一个或多个用于存储数据文件的大容量存储设备或者以可操作的方式耦合成与至所述一个或多个用于存储数据文件的大容量存储设备进行通信;此类设备包括磁盘,例如内部硬盘和可移除盘;磁光盘;以及光盘。适合有形包含计算机程序指令和数据的存储设备包括任何形式的非易失性存储器,其示例包括:半导体存储器设备,如EPROM、EEPROM以及闪存设备;磁盘,例如内部硬盘和可移除盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由ASIC(专用集成电路)补充或可被引入其内。
为了提供与用户的交互,这些特征可以在计算机上实施,其中该 计算机具有CRT(阴极射线管)或LCD(液晶显示器)监视器之类的显示设备用于向用户显示信息,并且还具有键盘以及鼠标或轨迹球之类的指示设备以供用户向计算机提供输入。
这些特征可以在计算机系统中实施,其中该计算机系统包括诸如数据服务器之类的后端元件,或者包括诸如应用服务器或因特网服务器之类的中间件元件,或者可以包括诸如具有图形用户界面或因特网浏览器的客户计算机之类的前端元件或其任意组合。系统元件可以借助诸如通信网络之类的任何形式的数字数据通信介质来连接。通信网络的示例包括LAN、wAN以及构成因特网的计算机和网络。
计算机系统可以包括客户机和服务器。客户机和服务器通常彼此远离,并且通常是通过网络来交互的。客户机与服务器的关系是借助运行在相应计算机上并且彼此具有客户机-服务器关系的计算机程序来产生的。
在这里已经描述了多种实施方式。但是应该理解,各种修改都是可行的。例如,通过组合、删除、修改或补充一个或多个实施方式的要素,就可以构成更多的实施方式。另举一例,图中描述的逻辑流程无需按照显示的特定次序或顺序来实现预期结果。此外,可以提供其他步骤,也可以从所描述的流程中删除步骤,并且可以向所描述的系统添加或从中移除其他元件。因此,其他实施方式处于所附权利要求的范围内。
Claims (14)
1.一种用于在具有触摸敏感显示器的电子设备处使用的方法,所述方法包括:
接收超文本标记语言HTML文档,所述HTML文档包括嵌入脚本;以及
在所述电子设备处呈现和显示所述HTML文档并且执行所述嵌入脚本,包括:
访问触摸事件,所述触摸事件包括多个触摸列表;以及
在检测到所述触摸敏感显示器上的一个或多个触摸之后:
利用所述多个触摸列表中的触摸列表中所包括的触摸数据来标识一个或多个改变的触摸;以及
根据所述触摸列表中的所述触摸数据进一步执行所述嵌入脚本。
2.根据权利要求1所述的方法,其中所述触摸事件是针对所述HTML文档的第一相应显示区域,所述多个触摸列表包括第一触摸列表和目标触摸列表,所述第一触摸列表列出所述触摸敏感显示器上的所有触摸,并且所述目标触摸列表仅列出所述HTML文档的所述第一相应显示区域中的触摸。
3.根据权利要求1所述的方法,其中所述处触摸事件包括针对所述HTML文档的第一相应显示区域的第一触摸事件,以及
所述方法还包括:
访问针对所述HTML文档的第二相应显示区域的第二触摸事件,所述第二触摸事件包括第二多个触摸列表;以及
在检测到所述一个或多个触摸之后:
利用所述第二多个触摸列表中的两个或更多触摸列表中的触摸数据来更新所述第二触摸事件;以及
根据所述第二多个触摸列表中的至少一个触摸列表中的所述触摸数据来进一步执行所述嵌入脚本,
其中所述第二多个触摸列表包括第二触摸列表和第二目标触摸列表,所述第二触摸列表列出所述触摸敏感显示器上的所有触摸,并且所述第二目标触摸列表仅列出所述HTML文档的所述第二相应显示区域中的触摸。
4.根据权利要求1-3任一项所述的方法,包括:
根据与所述HTML文档的相应元素对应的所述嵌入脚本中的指令,访问所述触摸事件以作为与所述相应文档元素对应的触摸事件,所述触摸事件包括所述多个触摸列表;以及
在检测到一个或多个触摸之后,利用所述触摸列表中的两个或更多触摸列表中的触摸数据来更新所述触摸事件。
5.根据权利要求1-3任一项所述的方法,其中所述触摸事件中的所述多个触摸列表包括改变触摸触摸列表以用于标识一个或多个改变的触摸,所述方法还包括:
在检测到所述一个或多个触摸中的至少一个触摸的改变之后:
利用标识至少一个改变的触摸的触摸数据,来更新所述触摸事件中的所述改变触摸触摸列表;以及
根据所述更新后的改变触摸触摸列表,进一步执行所述嵌入脚本。
6.根据权利要求1-3任一项所述的方法,其中所述触摸事件中的所述多个触摸列表包括目标触摸触摸列表以用于标识对目标的一个或多个触摸,所述方法还包括:
在检测到对所述目标的所述一个或多个触摸中的至少一个触摸的改变之后:
利用标识对所述目标的至少一个触摸的触摸数据,更新所述触摸事件中的所述目标触摸触摸列表;以及
根据更新后的所述目标触摸触摸列表,进一步执行所述嵌入脚本。
7.根据权利要求1-3任一项所述的方法,还包括:在检测到所述一个或多个触摸中的至少一个触摸的改变之后,更新所述多个触摸列表中的两个或更多触摸列表。
8.一种用于在具有触摸敏感显示器的电子设备处使用的设备,所述设备包括:
用于接收超文本标记语言HTML文档的装置,所述HTML文档包括嵌入脚本;以及
用于在所述电子设备处呈现和显示所述HTML文档并且执行所述嵌入脚本的装置,包括:
用于访问触摸事件的装置,所述触摸事件包括多个触摸列表;以及
在检测到所述触摸敏感显示器上的一个或多个触摸之后启用的装置,包括:
用于利用所述多个触摸列表中的触摸列表中所包括的触摸数据来标识一个或多个改变的触摸的装置;以及
用于根据所述触摸列表中的所述触摸数据进一步执行所述嵌入脚本的装置。
9.根据权利要求8所述的设备,其中所述触摸事件是针对所述HTML文档的第一相应显示区域,所述多个触摸列表包括第一触摸列表和目标触摸列表,所述第一触摸列表列出所述触摸敏感显示器上的所有触摸,并且所述目标触摸列表仅列出所述HTML文档的所述第一相应显示区域中的触摸。
10.根据权利要求8所述的设备,其中所述处触摸事件包括针对所述HTML文档的第一相应显示区域的第一触摸事件,以及
所述设备还包括:
用于访问针对所述HTML文档的第二相应显示区域的第二触摸事件的装置,所述第二触摸事件包括第二多个触摸列表;以及
在检测到所述一个或多个触摸之后启用的装置,包括:
用于利用所述第二多个触摸列表中的两个或更多触摸列表中的触摸数据来更新所述第二触摸事件的装置;以及
用于根据所述第二多个触摸列表中的至少一个触摸列表中的所述触摸数据来进一步执行所述嵌入脚本的装置,
其中所述第二多个触摸列表包括第二触摸列表和第二目标触摸列表,所述第二触摸列表列出所述触摸敏感显示器上的所有触摸,并且所述第二目标触摸列表仅列出所述HTML文档的所述第二相应显示区域中的触摸。
11.根据权利要求8-10任一项所述的设备,包括:
根据与所述HTML文档的相应元素对应的所述嵌入脚本中的指令而启用以用于访问所述触摸事件以作为与所述相应文档元素对应的触摸事件的装置,所述触摸事件包括所述多个触摸列表;以及
在检测到一个或多个触摸之后启用以用于利用所述触摸列表中的两个或更多触摸列表中的触摸数据来更新所述触摸事件的装置。
12.根据权利要求8-10任一项所述的设备,其中所述触摸事件中的所述多个触摸列表包括改变触摸触摸列表以用于标识一个或多个改变的触摸,并且所述设备包括:
在检测到所述一个或多个触摸中的至少一个触摸的改变之后启用的装置,包括:
用于利用标识至少一个改变的触摸的触摸数据,来更新所述触摸事件中的所述改变触摸触摸列表的装置;以及
用于根据所述更新后的改变触摸触摸列表,进一步执行所述嵌入脚本的装置。
13.根据权利要求8-10任一项所述的设备,其中所述触摸事件中的所述多个触摸列表包括目标触摸触摸列表以用于标识对目标的一个或多个触摸,并且所述设备包括:
在检测到对所述目标的所述一个或多个触摸中的至少一个触摸的改变之后启用的装置:
用于利用标识对所述目标的至少一个触摸的触摸数据,更新所述触摸事件中的所述目标触摸触摸列表的装置;以及
用于根据更新后的所述目标触摸触摸列表,进一步执行所述嵌入脚本的装置。
14.根据权利要求8-10任一项所述的设备,包括:
在检测到所述一个或多个触摸中的至少一个触摸的改变之后启用以用于更新所述多个触摸列表中的两个或更多触摸列表的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/042,299 US8416196B2 (en) | 2008-03-04 | 2008-03-04 | Touch event model programming interface |
US12/042,299 | 2008-03-04 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980000013.6A Division CN101790715B (zh) | 2008-03-04 | 2009-03-03 | 触摸事件模型编程接口 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103809908A true CN103809908A (zh) | 2014-05-21 |
CN103809908B CN103809908B (zh) | 2018-02-09 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230910A (zh) * | 2019-07-15 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 嵌入型程序的页面生成方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002008881A2 (en) * | 2000-07-21 | 2002-01-31 | Qinetiq Limited | Human-computer interface |
WO2006124248A2 (en) * | 2005-05-16 | 2006-11-23 | General Motors Global Technology Operations, Inc. | Catalyst for fuel cell electrode |
US20080028327A1 (en) * | 2006-07-27 | 2008-01-31 | Canon Kabushiki Kaisha | Information processing apparatus and user interface control method |
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002008881A2 (en) * | 2000-07-21 | 2002-01-31 | Qinetiq Limited | Human-computer interface |
WO2006124248A2 (en) * | 2005-05-16 | 2006-11-23 | General Motors Global Technology Operations, Inc. | Catalyst for fuel cell electrode |
US20080028327A1 (en) * | 2006-07-27 | 2008-01-31 | Canon Kabushiki Kaisha | Information processing apparatus and user interface control method |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112230910A (zh) * | 2019-07-15 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 嵌入型程序的页面生成方法、装置、设备及存储介质 |
CN112230910B (zh) * | 2019-07-15 | 2023-09-15 | 腾讯科技(深圳)有限公司 | 嵌入型程序的页面生成方法、装置、设备及存储介质 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101730878B (zh) | 用于web页面的触摸事件模型 | |
CN101790715B (zh) | 触摸事件模型编程接口 | |
CN104794105B (zh) | 一种用于处理触摸事件的方法、系统、触摸敏感设备 | |
CN103186317A (zh) | 用于基于装置定向来操纵三维地图视图的装置、方法和图形用户接口 | |
WO2017193496A1 (zh) | 应用数据的处理方法、装置和终端设备 | |
CN103809908B (zh) | 触摸事件模型编程接口 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1197943 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: GR Ref document number: 1197943 Country of ref document: HK |