《事件识别.pdf》由会员分享,可在线阅读,更多相关《事件识别.pdf(40页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 104035718 A (43)申请公布日 2014.09.10 C N 1 0 4 0 3 5 7 1 8 A (21)申请号 201410299325.4 (22)申请日 2010.03.12 61/210,332 2009.03.16 US 12/566,660 2009.09.24 US 201080020598.0 2010.03.12 G06F 3/0488(2013.01) (71)申请人苹果公司 地址美国加利福尼亚州 (72)发明人 BA摩尔 JH沙法尔 (74)专利代理机构北京市金杜律师事务所 11256 代理人王茂华 (54) 发明名称 事件识别 。
2、(57) 摘要 公开了一种执行包括具有多个视图的视图分 层结构的软件的方法,所述方法显示视图分层结 构的一个或多个视图。所述方法执行与特定视图 关联的软件元件,其中每个特定视图包括事件识 别器。每个事件识别器具有基于子事件的事件定 义和事件处理器,所述事件处理器指定关于目标 的动作,并被配置成响应于事件识别,把动作发送 给所述目标。所述方法检测子事件的序列,把视图 分层结构的视图之一识别为选中视图,所述选中 视图确定视图分层结构中的哪些视图是主动涉及 视图。所述方法把相应子事件传递给每个主动涉 及视图的事件识别器,其中视图分层结构中的主 动涉及视图的每个事件识别器处理相应子事件, 之后处理子事。
3、件序列中的下一个子事件。 (30)优先权数据 (62)分案原申请数据 (51)Int.Cl. 权利要求书4页 说明书22页 附图13页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书4页 说明书22页 附图13页 (10)申请公布号 CN 104035718 A CN 104035718 A 1/4页 2 1.一种方法,包括: 在被配置成执行包括具有多个视图的视图分层结构的软件的电子设备处: 显示所述视图分层结构的一个或多个视图; 执行一个或多个软件元件,每个软件元件与包括一个或多个事件识别器的特定视图相 关; 检测一个或多个子事件的序列; 把所述视图分层结构的所述视图。
4、之一识别为选中视图,其中所述选中视图确定所述视 图分层结构中的哪些视图是主动涉及视图;和 把相应子事件传递给所述视图分层结构内的多个主动涉及视图的事件识别器, 其中所述视图分层结构中的所述多个主动涉及视图的每个事件识别器处理所述相应 子事件,之后处理所述子事件的序列中的下一个子事件。 2.按照权利要求1所述的方法,其中所述视图分层结构中的主动涉及视图的每个事件 识别器同时处理所述一个或多个子事件的序列。 3.按照权利要求1所述的方法,其中所述视图分层结构内的第一主动涉及视图被配置 成阻止向与所述第一主动涉及视图相关的一个或多个事件识别器传递所述相应子事件。 4.按照权利要求1所述的方法,其中所。
5、述视图分层结构内的第一主动涉及视图被配置 成阻止向与所述第一主动涉及视图相关的一个或多个事件识别器传递所述相应子事件,除 非所述第一主动涉及视图是所述选中视图。 5.按照权利要求1所述的方法,其中所述视图分层结构内的第一主动涉及视图被配置 成阻止向与所述第一主动涉及视图相关的一个或多个事件识别器和与所述第一主动涉及 视图的一个或多个先辈相关的一个或多个事件识别器传递所述相应子事件。 6.按照权利要求1所述的方法,其中,对于所述特定视图,所述一个或多个事件识别器 中的至少一个是具有姿态定义和姿态处理器的姿态识别器。 7.按照权利要求1所述的方法,其中所述电子设备还包含被配置成检测多触摸姿态的 触。
6、摸敏感表面。 8.按照权利要求1所述的方法,其中所述电子设备还包含被配置成检测多触摸姿态的 触摸屏。 9.按照权利要求1所述的方法,其中所述一个或多个子事件的序列包括原始触摸事 件。 10.按照权利要求1所述的方法,其中每个事件识别器具有一组事件识别状态,所述一 组事件识别状态至少包括事件可能状态、事件不可能状态和事件被识别状态。 11.按照权利要求10所述的方法,其中相应事件处理器被配置成如果相应事件识别器 进入所述事件可能状态则开始对应动作的准备以便传递给相应目标。 12.按照权利要求11所述的方法,其中所述相应事件处理器被配置成如果所述相应事 件识别器进入事件被识别状态则完成所述对应动作。
7、的准备以便传递给所述相应目标。 13.按照权利要求12所述的方法,其中所述事件处理器被配置成把所述对应动作传递 给所述相应目标。 14.按照权利要求1所述的方法,其中,对于所述多个主动涉及视图,所述事件识别器 并行地独立处理所述一个或多个子事件的序列。 权 利 要 求 书CN 104035718 A 2/4页 3 15.按照权利要求1所述的方法,其中所述一个或多个事件识别器中的至少一个事件 识别器适于推迟传递所述子事件的序列的一个或多个子事件,直到在所述事件被识别之后 为止。 16.按照权利要求1所述的方法,其中, 一个或多个独占事件识别器,包括所述多个主动涉及视图的所述事件识别器的子集, 所。
8、述一个或多个独占事件识别器被配置成进行独占事件识别,并且 所述方法还包括: 在所述一个或多个独占事件识别器任意之一识别事件时,阻止所述视图分层结构中的 所述多个主动涉及视图的任何其它事件识别器接收所述子事件的序列的后续子事件。 17.按照权利要求16所述的方法,其中所述一个或多个独占事件识别器包括事件例外 列表。 18.按照权利要求17所述的方法,其中所述事件例外列表包括其对应事件定义具有重 复子事件的事件。 19.按照权利要求1所述的方法,其中所述事件定义定义用户输入操作。 20.按照权利要求1所述的方法,其中所述一个或多个子事件的序列的所述相应子事 件选自包括以下项的组:按键按下、按键按下。
9、并保持、按键按下释放、按钮按下、按钮按下并 保持、按钮按下释放、操纵杆移动、鼠标移动、鼠标按钮按下、鼠标按钮释放、铁笔触摸、铁笔 移动、铁笔释放、口头指令、检测的眼睛运动、生物特征输入和检测的用户生理变化。 21.一种方法,包括: 在被配置成执行包括具有多个视图的视图分层结构的软件的电子设备处: 显示视图分层结构的一个或多个视图; 执行一个或多个软件元件,每个软件元件与特定视图关联,其中每个特定视图包括一 个或多个事件识别器; 检测一个或多个子事件的序列; 把所述视图分层结构的所述视图之一识别为选中视图,其中所述选中视图确定所述视 图分层结构中的哪些视图是主动涉及视图; 把相应子事件传递给所述。
10、视图分层结构内的多个主动涉及视图的事件识别器;和 在所述视图分层结构中的多个主动涉及视图的事件识别器处处理所述相应子事件的 同时,做出子事件识别判定。 22.按照权利要求21所述的方法,其中所述视图分层结构中的主动涉及视图的每个事 件识别器并行地处理所述一个或多个子事件的序列。 23.一种非瞬态计算机可读存储介质,所述非瞬态计算机可读存储介质保存由计算机 系统或设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括: 显示具有多个视图的视图分层结构的一个或多个视图的一个或多个应用程序,所述一 个或多个应用程序包括一个或多个软件元件,每个软件元件与包括一个或多个事件识别器 的特定视图。
11、关联;和 事件管理指令,当被所述计算机系统或设备的所述一个或多个处理器执行时,所述事 件管理指令使所述计算机系统或设备: 检测一个或多个子事件的序列; 权 利 要 求 书CN 104035718 A 3/4页 4 把所述视图分层结构的所述视图之一识别为选中视图,其中所述选中视图确定所述视 图分层结构中的哪些视图是主动涉及视图;和 把相应子事件传递给所述视图分层结构内的多个主动涉及视图的事件识别器, 其中所述视图分层结构中的所述多个主动涉及视图的每个事件识别器处理所述相应 子事件,之后处理所述子事件的序列中的下一个子事件。 24.一种装置,包括: 显示器; 一个或多个处理器;和 存储器,保存有:。
12、 显示具有多个视图的视图分层结构的一个或多个视图的一个或多个程序,所述一个或 多个程序包括一个或多个软件元件,每个软件元件与包括一个或多个事件识别器的特定视 图关联;和 事件传递程序,当被所述装置的所述一个或多个处理器执行时,所述事件传递程序使 所述装置: 检测一个或多个子事件的序列; 把所述视图分层结构的所述视图之一识别为选中视图,其中所述选中视图确定所述视 图分层结构中的哪些视图是主动涉及视图; 把相应子事件传递给在所述视图分层结构内的多个主动涉及视图的事件识别器;和 在所述视图分层结构中的所述多个主动涉及视图的事件识别器处理所述相应子事件 的同时,做出子事件识别判定。 25.按照权利要求。
13、23所述的非瞬态计算机可读存储介质,其中所述视图分层结构中的 所述多个主动涉及视图的每个事件识别器被配置成并行地处理所述一个或多个子事件的 序列。 26.按照权利要求24所述的装置,其中所述视图分层结构中的所述多个主动涉及视图 的每个事件识别器被配置成并行地处理所述一个或多个子事件的序列。 27.一种电子设备,包括: 显示器; 一个或多个处理器;和 存储器,保存由所述一个或多个处理器执行的一个或多个程序,所述一个或多个程序 包括用于如下的指令: 显示具有多个视图的视图分层结构的一个或多个视图; 执行一个或多个软件元件,每个软件元件与包括一个或多个事件识别器的特定视图关 联; 检测一个或多个子事。
14、件的序列; 把所述视图分层结构的所述视图之一识别为选中视图,其中所述选中视图确定所述视 图分层结构中的哪些视图是主动涉及视图;和 把相应子事件传递给在所述视图分层结构内的多个主动涉及视图的事件识别器, 其中所述视图分层结构中的所述多个主动涉及视图的每个事件识别器处理所述相应 子事件,之后处理所述子事件的序列中的下一个子事件。 权 利 要 求 书CN 104035718 A 4/4页 5 28.按照权利要求27所述的电子设备,其中所述视图分层结构中的所述多个主动涉及 视图的每个事件识别器被配置成同时处理所述一个或多个子事件的序列。 29.一种非瞬态计算机可读存储介质,所述非瞬态计算机可读存储介质。
15、保存由计算机 系统或设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括用于如 下的指令: 显示具有多个视图的视图分层结构的一个或多个视图; 执行一个或多个软件元件,每个软件元件与包括一个或多个事件识别器的特定视图关 联; 检测一个或多个子事件的序列; 把所述视图分层结构的所述视图之一识别为选中视图,其中所述选中视图确定所述视 图分层结构中的哪些视图是主动涉及视图;和 把相应子事件传递给在所述视图分层结构内的多个主动涉及视图的事件识别器, 其中所述视图分层结构中的所述多个主动涉及视图的每个事件识别器处理所述相应 子事件,之后处理所述子事件的序列中的下一个子事件。 30.按照权利要。
16、求29所述的非瞬态计算机可读存储介质,其中所述视图分层结构中的 所述多个主动涉及视图的每个事件识别器被配置成同时处理所述一个或多个子事件的序 列。 权 利 要 求 书CN 104035718 A 1/22页 6 事件识别 0001 分案申请说明 0002 本申请是申请日为2010年3月12日、申请号为201080020598.0、发明名称为“事 件识别”的中国发明专利申请的分案申请。 技术领域 0003 公开的实施例一般涉及用户界面处理。更具体地,公开的实施例涉及识别用户界 面事件的设备和方法。 背景技术 0004 计算设备一般包括可用于与计算设备交互的用户界面。用户界面可包括显示器和 /或用。
17、于与用户界面的各个方面交互的输入设备,诸如键盘、鼠标和触摸敏感表面。在以触 摸敏感表面作为输入设备的一些设备中,在特定的上下文中(例如,在第一应用程序的特 定模式下),第一组基于触摸的姿态(例如,下述之中的两个或两个以上:轻击,双击,水平 轻扫,垂直轻扫,捏合,张开,双指轻扫)被识别为正确的输入,而在其它上下文中(例如,在 不同的应用程序中和/或第一应用程序内的不同模式或上下文中),其它不同的多组基于 触摸的姿态被识别为正确的输入。结果,识别和响应基于触摸的姿态所需的软件和逻辑会 变得复杂,从而每次更新应用程序或者在计算设备中增加新的应用程序时,都需要修正。在 利用除基于触摸的姿态之外的输入源。
18、的用户界面中,也会出现这些和类似的问题。 0005 从而,希望的是具有识别基于触摸的姿态和事件,以及来自其它输入源的姿态和 事件的综合性架构或机制,所述综合性架构或机制能够容易地适用于计算设备上的所有应 用程序的几乎所有上下文或模式,并且当更新应用程序或者在计算设备中增加新的应用程 序时,不需要或几乎不需要任何修正。 发明内容 0006 为了解决上述缺陷,一些实施例提供一种方法,所述方法在被配置成执行包括具 有多个视图的视图分层结构的软件的电子设备处:显示视图分层结构的一个或多个视图; 执行一个或多个软件元件,每个软件元件与特定视图关联,其中每个特定视图包括一个或 多个事件识别器。每个事件识别。
19、器具有基于一个或多个子事件的事件定义,和事件处理器, 其中事件处理器指定关于目标的动作,和被配置成响应于事件识别器检测到与事件定义对 应的事件,把所述动作发送给所述目标。所述方法还检测一个或多个子事件的序列,和把视 图分层结构的视图之一识别为选中视图,其中选中视图确定视图分层结构中的哪些视图是 主动涉及视图。所述方法还把相应子事件传递给视图分层结构内的每个主动涉及视图的事 件识别器,其中视图分层结构中的主动涉及视图的每个事件识别器处理相应子事件,之后 处理子事件序列中的下一个子事件。 0007 一些实施例提供一种方法,所述方法在被配置成执行包括具有多个视图的视图分 层结构的软件的电子设备处:显。
20、示视图分层结构的一个或多个视图;执行一个或多个软件 说 明 书CN 104035718 A 2/22页 7 元件,每个软件元件与特定视图关联,其中每个特定视图包括一个或多个事件识别器。每个 事件识别器具有基于一个或多个子事件的事件定义,和事件处理器,其中事件处理器指定 关于目标的动作,和被配置成响应于事件识别器检测到对应于事件定义的事件,把所述动 作发送给目标。所述方法还检测一个或多个子事件的序列,和把视图分层结构的视图之一 识别为选中视图,其中选中视图确定视图分层结构中的哪些视图是主动涉及视图。所述方 法还把相应子事件传递给视图分层结构内的每个主动涉及视图的事件识别器,和在视图分 层结构中的。
21、主动涉及视图的事件识别器处处理相应子事件的同时,做出子事件识别判定。 0008 一些实施例提供一种计算机可读存储介质,所述计算机可读存储介质保存由计算 机系统或设备的一个或多个处理器执行的一个或多个程序,所述一个或多个程序包括显示 具有多个视图的视图分层结构的一个或多个视图的一个或多个应用程序。所述一个或多 个应用程序包括一个或多个软件元件,每个软件元件与特定视图关联,其中每个特定视图 包括一个或多个事件识别器。每个事件识别器具有基于一个或多个子事件的事件定义,和 事件处理器,其中事件处理器:指定关于目标的动作,和被配置成响应于事件识别器检测到 与事件定义对应的事件,把所述动作发送给所述目标;。
22、事件管理指令在被计算机系统或设 备的一个或多个处理器执行时,使计算机系统或设备:检测一个或多个子事件的序列;把 视图分层结构的视图之一识别为选中视图,其中选中视图确定视图分层结构中的哪些视图 是主动涉及视图;和把相应子事件传递给视图分层结构内的每个主动涉及视图的事件识别 器,其中视图分层结构中的主动涉及视图的每个事件识别器处理相应子事件,之后处理子 事件序列中的下一个子事件。 0009 一些实施例提供一种设备,所述设备包括显示器,一个或多个处理器,存储器和保 存在存储器中的一个或多个程序,所述一个或多个程序被配置成显示具有多个视图的视图 分层结构的一个或多个视图。所述一个或多个程序包括一个或多。
23、个软件元件,每个软件元 件与特定视图关联,其中每个特定视图包括一个或多个事件识别器。每个事件识别器具有 基于一个或多个子事件的事件定义,和事件处理器,其中事件处理器指定关于目标的动作, 和被配置成响应于事件识别器检测到与事件定义对应的事件,把所述动作发送给所述目 标。所述设备的程序还包括事件传递程序,当被所述设备的一个或多个处理器执行时,所述 事件传递程序使所述设备检测一个或多个子事件的序列;把视图分层结构的视图之一识别 为选中视图,其中选中视图确定视图分层结构中的哪些视图是主动涉及视图;和在视图分 层结构中的主动涉及视图的事件识别器处理相应子事件的同时,做出子事件识别判定。 0010 在一些。
24、实施例中,提供一种设备,所述设备包含一个或多个处理器,存储器,和保 存在存储器中的一个或多个程序,所述一个或多个程序被配置成管理具有多个编程层次的 编程分层结构的一个或多个编程层次的执行。所述一个或多个程序包括一个或多个软件 元件,每个软件元件与特定的编程层次关联,其中每个特定的编程层次包括一个或多个事 件识别器。事件识别器具有基于一个或多个子事件的事件定义,和事件处理器器,其中事 件处理器指定关于目标的动作,并被配置成响应于事件识别器检测到与事件定义对应的事 件,把所述动作发送给所述目标。所述设备还包括事件传递程序,在被所述设备的一个或多 个处理器执行时,所述事件传递程序使所述设备检测一个或。
25、多个子事件的序列;把编程分 层结构的编程层次之一识别为选中层次,其中选中层次确定编程分层结构中的哪些编程层 次是主动涉及编程层次;和把相应子事件传递给编程分层结构内的每个主动涉及编程层次 说 明 书CN 104035718 A 3/22页 8 的事件识别器,其中编程分层结构中的主动涉及编程层次的每个事件识别器处理相应子事 件,之后处理子事件序列中的下一个子事件。 0011 一些实施例提供一种方法,包括:在被配置成执行包括具有多个视图的视图分层 结构的软件的电子设备处:显示视图分层结构的一个或多个视图;执行一个或多个软件元 件,每个软件元件与包括一个或多个事件识别器的特定视图相关;检测一个或多个。
26、子事件 的序列;把视图分层结构的视图之一识别为选中视图,其中选中视图确定视图分层结构中 的哪些视图是主动涉及视图;和把相应子事件传递给视图分层结构内的多个主动涉及视图 的事件识别器,其中视图分层结构中的多个主动涉及视图的每个事件识别器处理相应子事 件,之后处理子事件的序列中的下一个子事件。 0012 一些实施例提供一种方法,包括:在被配置成执行包括具有多个视图的视图分层 结构的软件的电子设备处:显示视图分层结构的一个或多个视图;执行一个或多个软件元 件,每个软件元件与特定视图关联,其中每个特定视图包括一个或多个事件识别器;检测一 个或多个子事件的序列;把视图分层结构的视图之一识别为选中视图,其。
27、中选中视图确定 视图分层结构中的哪些视图是主动涉及视图;把相应子事件传递给视图分层结构内的多个 主动涉及视图的事件识别器;和在视图分层结构中的多个主动涉及视图的事件识别器处处 理相应子事件的同时,做出子事件识别判定。 0013 一些实施例提供一种非瞬态计算机可读存储介质,该非瞬态计算机可读存储介质 保存由计算机系统或设备的一个或多个处理器执行的一个或多个程序,该一个或多个程序 包括:显示具有多个视图的视图分层结构的一个或多个视图的一个或多个应用程序,该一 个或多个应用程序包括一个或多个软件元件,每个软件元件与包括一个或多个事件识别器 的特定视图关联;和事件管理指令,当被该计算机系统或设备的一个。
28、或多个处理器执行时, 该事件管理指令使该计算机系统或设备:检测一个或多个子事件的序列;把视图分层结构 的视图之一识别为选中视图,其中选中视图确定视图分层结构中的哪些视图是主动涉及视 图;和把相应子事件传递给视图分层结构内的多个主动涉及视图的事件识别器,其中视图 分层结构中的多个主动涉及视图的每个事件识别器处理相应子事件,之后处理子事件的序 列中的下一个子事件。 0014 一些实施例提供一种装置,包括:显示器;一个或多个处理器;和存储器,保存有: 显示具有多个视图的视图分层结构的一个或多个视图的一个或多个程序,该一个或多个程 序包括一个或多个软件元件,每个软件元件与包括一个或多个事件识别器的特定。
29、视图关 联;和事件传递程序,当被该装置的一个或多个处理器执行时,该事件传递程序使该装置: 检测一个或多个子事件的序列;把视图分层结构的视图之一识别为选中视图,其中选中视 图确定视图分层结构中的哪些视图是主动涉及视图;把相应子事件传递给在视图分层结构 内的多个主动涉及视图的事件识别器;和在视图分层结构中的多个主动涉及视图的事件识 别器处理相应子事件的同时,做出子事件识别判定。 0015 一些实施例提供一种电子设备,包括:显示器;一个或多个处理器;和存储器,保 存由该一个或多个处理器执行的一个或多个程序,该一个或多个程序包括用于如下的指 令:显示具有多个视图的视图分层结构的一个或多个视图;执行一个。
30、或多个软件元件,每 个软件元件与包括一个或多个事件识别器的特定视图关联;检测一个或多个子事件的序 列;把视图分层结构的视图之一识别为选中视图,其中选中视图确定视图分层结构中的哪 说 明 书CN 104035718 A 4/22页 9 些视图是主动涉及视图;和把相应子事件传递给在视图分层结构内的多个主动涉及视图 的事件识别器,其中视图分层结构中的多个主动涉及视图的每个事件识别器处理相应子事 件,之后处理子事件的序列中的下一个子事件。 0016 一些实施例提供一种非瞬态计算机可读存储介质,该非瞬态计算机可读存储介质 保存由计算机系统或设备的一个或多个处理器执行的一个或多个程序,该一个或多个程序 包。
31、括用于如下的指令:显示具有多个视图的视图分层结构的一个或多个视图;执行一个或 多个软件元件,每个软件元件与包括一个或多个事件识别器的特定视图关联;检测一个或 多个子事件的序列;把视图分层结构的视图之一识别为选中视图,其中选中视图确定视图 分层结构中的哪些视图是主动涉及视图;和把相应子事件传递给在视图分层结构内的多个 主动涉及视图的事件识别器,其中视图分层结构中的多个主动涉及视图的每个事件识别器 处理相应子事件,之后处理子事件的序列中的下一个子事件。 附图说明 0017 图1A和1B是图解说明按照一些实施例的电子设备的方框图。 0018 图2是按照一些实施例的示例性电子设备的输入/输出处理栈的示。
32、图。 0019 图3A图解说明按照一些实施例的示例性视图分层结构。 0020 图3B和3C是图解说明按照一些实施例的示例性事件识别器方法和数据结构的方 框图。 0021 图4A和4B是图解说明按照一些实施例的示例性状态机的流程图。 0022 图4C图解说明按照一些实施例的关于示例性的一组子事件的图4A和4B的示例 性状态机。 0023 图5A-5C图解说明按照一些实施例的利用示例性的事件识别器状态机的示例性 子事件序列。 0024 图6A和6B是按照一些实施例的事件识别方法流程图。 0025 附图中,相同的附图标记表示对应的部分。 具体实施方式 0026 下面详细参考实施例,附图中图解说明了实。
33、施例的例子。在下面的详细说明中,陈 述了众多的具体细节,以便透彻理解本发明。不过,对本领域的技术人员来说,显然可在没 有这些具体细节的情况下实践本发明。在其它情况下,为了避免不必要地模糊实施例的特 征,没有详细说明公知的方法、过程、组件、电路和网络。 0027 另外要明白,尽管这里可以使用术语第一、第二等来描述各个要素,不过这些要素 不应受这些术语限制。这些术语只是用于区分一个要素和另一个要素。例如,第一触点可 被称为第二触点,类似地,第二触点可被称为第一触点,而不脱离本发明的范围。第一触点 和第二触点都是触点,不过它们不是同一触点。 0028 在本发明的说明书中使用的术语只是用于说明特定的实。
34、施例,并不意图限制本发 明。在本发明的说明书和所附权利要求书中使用的单数形式意图还包括复数形式,除非上 下文明确地另有说明。另外应明白这里使用的“和/或”指的是包括关联的列举项目中的 一个或多个的任何和所有可能组合。还要明白的是当用在本说明书中时,术语“包括”和/ 说 明 书CN 104035718 A 5/22页 10 或“包含”指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但是不排除一个或 多个其它的特征、整数、步骤、操作、元件、组件和/或它们的组的存在或添加。 0029 这里使用的术语“如果”可被解释成意味着“当.时”、“一旦.”,“响应于确 定.”或者“响应于检测到.”,这。
35、取决于上下文。类似地,短语“如果确定.”或者“如 果检测到规定的条件和事件”可被解释成意味着“一旦确定.”或“响应于确定.” 或“一旦检测到规定的条件和事件”或者“响应于检测到规定的条件和事件”,这取 决于上下文。 0030 如上所述,在以触摸敏感表面作为输入设备的一些设备中,在特定的上下文中 (例如,在第一应用程序的特定模式下),第一组基于触摸的姿态(例如,下述之中的两个或 两个以上:轻击,双击,水平轻扫,垂直轻扫)被识别为正确的输入,在其它上下文中(例如, 在不同的应用程序中和/或第一应用程序内的不同模式或上下文中),其它不同的多组基 于触摸的姿态被识别为正确的输入。结果,识别和响应基于触。
36、摸的姿态所需的软件和逻辑 会变得复杂,并且每次更新应用程序或者在计算设备中添加新的应用程序时,都需要修正。 0031 在下面说明的实施例中,基于触摸的姿态是事件。一旦识别了预定事件(例如,与 应用程序的当前上下文中的正确输入对应的事件),关于该事件的信息被传递给该应用程 序。在本文的上下文中,所有基于触摸的姿态都对应于事件。此外,每个相应的事件被定义 为一系列的子事件。在具有多触摸显示设备(这里通常称为“屏幕”)或其它多触摸敏感表 面,并且接受基于多触摸的姿态的设备中,定义基于多触摸的事件的子事件包括多触摸子 事件(要求两根或两根以上的手指同时接触设备的触摸敏感表面)。例如,在具有多触摸敏 感。
37、显示器的设备中,当用户的手指首次触摸屏幕时,可开始子事件的相应多触摸序列。当一 根或多根另外的手指随后或者同时触摸屏幕时,可发生另外的子事件,另外当触摸屏幕的 所有手指在屏幕内移动时,可发生其它子事件。当从屏幕抬起用户的最后一根手指时,所述 序列结束。 0032 当利用基于触摸的姿态来控制在具有触摸敏感表面的设备中运行的应用程序时, 触摸具有时间和空间特征。时间特征(称为相位)指示触摸何时刚刚开始,触摸是在移动还 是固定不动的,和触摸何时结束-即,何时从屏幕抬起手指。触摸的空间特征是其中发生触 摸的一组视图或用户界面窗口。其中检测到触摸的视图或窗口可对应于编程或视图分层结 构内的编程层次。例如。
38、,其中检测到触摸的最低层次视图可被称为选中视图,并且至少部分 根据开始基于触摸的姿态的初始触摸的选中视图,可确定被识别为正确输入的一组事件。 0033 图1A和1B是图解说明按照一些实施例的电子设备102和104的方框图。电子设 备102和104可以是任意电子设备,包括但不限于桌上型计算机系统,膝上型计算机系统, 移动电话机,智能电话机,个人数字助手或导航系统。电子设备还可以是具有被配置成呈现 用户界面的触摸屏显示器(例如,显示器156,图1B)的便携式电子设备,具有被配置成呈现 用户界面的触摸屏显示器的计算机,具有触摸敏感表面和被配置成呈现用户界面的显示器 的计算机,或者任何其它形式的计算设。
39、备,包括但不限于:消费电子设备,移动电话机,视频 游戏系统,电子音乐播放器,平板PC,电子书阅读系统,ebook,PDA,电子记事本,电子邮件设 备,膝上型计算机或其它计算机,信息站计算机,自动贩卖机,智能设备等等。电子设备102 和104可分别包括用户界面113-A和113-B。 0034 在一些实施例中,电子设备102和104包括触摸屏显示器。在这些实施例中,用户 说 明 书CN 104035718 A 10 6/22页 11 界面113(即,113-A或113-B)包括屏幕上(on-screen)键盘(未示出),用户使用所述屏 幕上键盘与电子设备102和104交互。另一方面,键盘可以独立。
40、于和不同于电子设备102 和104。例如,键盘可以是与电子设备102或104耦接的有线或无线键盘。 0035 在一些实施例中,电子设备102可包括与电子设备102耦接的显示器126和一个 或多个输入设备128-A(例如,键盘、鼠标、跟踪球、麦克风、物理按钮(一个或多个)、触摸板 等等)。在这些实施例中,输入设备128-A中的一个或多个可视情况独立于和不同于电子设 备102。例如,所述一个或多个输入设备可包括下述中的一个或多个:键盘、鼠标、触控板、 跟踪球和电子笔,所述输入设备任意之一可视情况与电子设备分离。可选的是,设备102或 104可包括一个或多个传感器130,诸如一个或多个加速度计、陀螺。
41、仪、GPS系统、扬声器、红 外(IR)传感器、生物识别传感器、照相机等。注意作为输入设备128或作为传感器130的 各种示例性设备的上述说明对这里说明的实施例的操作无关紧要,并且这里描述成输入设 备的任意输入或传感器设备可同样被描述成传感器,反之亦然。在一些实施例中,一个或多 个传感器130产生的信号被用作检测事件的输入源。 0036 在一些实施例中,电子设备104包括与电子设备104耦接的触摸敏感显示器 156(即,具有触摸敏感表面的显示器)和一个或多个输入设备128-B。在一些实施例中,触 摸敏感显示器156具有检测两个或两个以上不同的并发(或者至少部分并发)触摸的能 力,在这些实施例中,。
42、有时把显示器156称为多触摸显示器或者多触摸敏感显示器。 0037 在这里讨论的电子设备102或104的一些实施例中,输入设备128被置于电子设 备102或104中。在其它实施例中,输入设备128中的一个或多个独立于和不同于电子设 备102或104;例如,输入设备128中的一个或多个可利用电缆(例如,USB电缆)或无线连 接(例如,蓝牙连接),与电子设备102或104耦接。 0038 当使用输入设备128时,或者当分别在电子设备102或104的触摸敏感显示器156 上进行基于触摸的姿态时,用户产生由电子设备102或104的一个或多个CPU110处理的一 系列子事件。在一些实施例中,电子设备10。
43、2或104的所述一个或多个CPU110处理所述一 系列子事件,以识别事件。 0039 电子设备102或104一般分别包括一个或多个单核芯或多核芯处理单元 (“CPU”)110,以及一个或多个网络接口或其它通信接口112。电子设备102或104分别包 括存储器111和用于互连这些组件的一个或多个通信总线115。通信总线115可包括互连 和控制系统组件(这里未说明)之间的通信的电路(有时称为芯片集)。如上简要所述, 电子设备102和104可视情况分别包括用户界面113,用户界面113包括显示器126和多 触摸显示器156。此外,电子设备102和104一般包括输入设备128(例如,键盘、鼠标、触 摸。
44、屏、触摸敏感表面、多触摸屏幕、数字小键盘等等)。在一些实施例中,输入设备包括屏幕 上输入设备(例如,显示设备的触摸敏感表面)。存储器111可包括高速随机存取存储器, 诸如DRAM、SARM、DDR RAM或其它随机存取固态存储器设备;并且可包括非易失性存储器,诸 如一个或多个磁盘存储设备,光盘存储设备,闪速存储设备,或者其它非易失性固态存储设 备。存储器111可视情况包括远离CPU(一个或多个)110的一个或多个存储设备。存储器 111,或者另一方面,存储器111内的非易失性存储设备(一个或多个)包含计算机可读存 储介质。在一些实施例中,存储器111保存下述程序,模块和数据结构,或者它们的子集。
45、: 0040 包括用于处理各种基本系统服务和用于执行依赖于硬件的任务的各过程的操作 说 明 书CN 104035718 A 11 7/22页 12 系统118; 0041 通信模块120(分别在电子设备102和104中),用于通过电子设备102或104 的一个或多个相应通信接口112(有线或无线)和一个或多个通信网络,诸如因特网、其它 广域网、局域网、城域网等等,分别把电子设备102或104连接到其它设备; 0042 事件传递系统122(分别在电子设备102和104中),在各个备选实施例中,事件 传递系统122可在操作系统118内或者在应用软件124中实现;不过,在一些实施例中,事 件传递系统。
46、122的一些方面可在操作系统118中实现,而其它方面可在应用软件124中实 现;和 0043 分别在应用软件124中的一个或多个应用程序(例如,电子邮件应用程序,web 浏览器应用程序,文本消息接发应用程序等等)。 0044 每个上述元件可被保存在前面提及的存储设备中的一个或多个中,并且对应于实 现这里说明的功能的一组指令。所述一组指令可由一个或多个处理器(例如,一个或多个 CPU110)执行。上述模块或程序(即,指令集)不需要被实现成独立的软件程序、过程或模 块,从而在各个实施例中,可以组合或者以其它方式重新排列这些模块的各个子集。在一些 实施例中,存储器111可保存上面识别的模块和数据结构。
47、的子集。此外,存储器111可保存 上面没有说明的另外的模块和数据结构。 0045 图2是按照本发明的一些实施例的示例性电子设备或装置(例如,设备102或 104)的输入/输出处理栈200的示图。设备的硬件(例如,电子电路)212处于输入/输出 处理栈200的底层。硬件212可包括各种硬件接口组件,诸如在图1A和/或1B中描述的 组件。硬件212还可包括上述传感器130中的一个或多个。输入/输出处理栈200的所有 其它元件(202-210)是处理从硬件212接收的输入和产生通过硬件用户接口(例如,显示 器,扬声器,设备振动促动器中的一个或多个)呈现的各种输出的软件过程,或者软件过程 的各部分。 。
48、0046 驱动器或一组驱动器210与硬件212通信。驱动器210能够接收和处理从硬件 212接收的输入数据。核心操作系统(“OS”)208能够与驱动器(一个或多个)210通信。 核心OS208能够处理从驱动器(一个或多个)210接收的原始输入数据。在一些实施例中, 驱动器210可被认为是核心OS208的一部分。 0047 一组OS应用编程接口(“OS API”)206是与核心OS208通信的软件过程。在一些 实施例中,API206包含在设备的操作系统中,不过位于在核心OS208之上的层次。API206是 为供在这里讨论的电子设备或装置上运行的应用程序使用而设计的。用户界面(UI)API204 。
49、可利用OS API206。在设备上运行的应用软件(“应用程序”)202能够利用UI API204,以便 与用户通信。UI API204又能够与层次较低的元件通信,最终与例如多触摸显示器156的各 个用户接口硬件通信。 0048 虽然每层输入/输出处理栈200能够利用在它下面的那层,不过并不总是要求如 此。例如,在一些实施例中,应用程序202可以偶尔与OS API206通信。通常,在OS API层 206或其之上的各层不能直接访问核心OS208,驱动器(一个或多个)210或硬件212,因为 这些层被认为是专用的。层202中的应用程序和UI API204通常把调用引导到OS API206, OS API206再访问核心OS208,驱动器(一个或多个)210和硬件212各层。 0049 换句话说,电子设备102或104的一个或多个硬件元件212,和在设备上运行的软 说 明 书CN 104035718 A 12 8/22页 13 件,诸如例如驱动器210(示于图2中),核心OS(操作系统)208(示于图2中),操作系统 API软件206(示于图2中),及应用程序和用户界。