使用单个输入源支持不同的事件模型的制作方法

文档序号:6532647阅读:200来源:国知局
使用单个输入源支持不同的事件模型的制作方法
【专利摘要】在至少某些实施例中,由单个源提供的输入通过映射过程生成表示多个源类型的事件,例如,触摸输入生成触摸事件和鼠标事件两者。通过将系统配置成不辨认特定手势,与不同源类型的事件相关的消息然后被交错并且被提供给相关的应用以用于处理。通过将系统配置成使与源类型相关的消息交错来获得效率,因为一个源类型的消息相比于如果该一个源类型的消息被列队并且被以非交错方式发送可以被更早处理。
【专利说明】使用单个输入源支持不同的事件模型
【背景技术】
[0001]许多网站主要针对鼠标输入被设计。即,网站对诸如鼠标按下、鼠标弹起、鼠标移动之类的脚本事件做出反应。然而,较新的硬件设备和进化平台已经提供了用于通过其它方式(例如,触摸输入和通过自然用户接口(NUI)的输入)键入输入的能力。这些较新的设备和系统能够对于主要针对鼠标输入被设计的应用呈现兼容性和性能挑战。

【发明内容】

[0002]本概要被提供来以简化的形式介绍概念的选择,所述概念在下面将在【具体实施方式】中被进一步描述。本概要不旨在识别所要求保护主题的关键特征或必要特征。
[0003]在至少某些实施例中,由单个源提供的输入通过映射过程生成表示多个源类型的事件,例如,触摸输入生成触摸事件和鼠标事件两者。通过将系统配置成不辨认特定手势,与不同源类型的事件相关的消息然后被交错(interleaved)并且被提供给相关的应用以用于处理。通过将系统配置成使与源类型相关的消息交错而获得效率,因为一个源类型的消息相比于如果该一个源类型的消息被列队并且被以非交错方式发送可以被更早处理。
[0004]在至少一些其它实施例中,与不同源类型相关的消息在高速缓存中被关联。从一个消息产生的数据被保存并且被与关联的消息相关地重复使用以使得产生数据的处理不必被重复。
【专利附图】

【附图说明】
[0005]参考附图描述了【具体实施方式】。在图中,参考标号最左边的一个或多个数字识别参考标号第一次出现在其中的图。相同的参考标号在描述和图中的不同实例中的使用可以指示类似的或同样的项。
[0006]图1是依照一个或多个实施例的示例性实施方案中的环境的图示。
[0007]图2是更详细地示出了图1的示例性的实施方案中的系统的图示。
[0008]图3是描述了依照一个或多个实施例的方法中的步骤的流程图。
[0009]图4是描述了依照一个或多个实施例的方法中的步骤的流程图。
[0010]图5图示了能够被利用来实施本文中所描述的各种实施例的示例性计算设备。
【具体实施方式】
[0011]概沭
在至少某些实施例中,由单个源提供的输入通过映射过程生成表示多个源类型的事件,例如,触摸输入生成触摸事件和鼠标事件两者。通过将系统配置成不辨认特定手势,与不同源类型的事件相关的消息然后被交错并且被提供给相关的应用以用于处理。通过将系统配置成使与源类型相关的消息交错而获得效率,因为一个源类型的消息相比于如果该一个源类型的消息被列队并且被以非交错方式发送可以被更早处理。
[0012]在至少一些其它实施例中,与不同源类型相关的消息在高速缓存中被关联。从一个消息产生的数据被保存并且被与关联的消息相关地重复使用以使得产生数据的处理不
必被重复。
[0013]在以下讨论中,可操作来采用本文中所描述的技术的示例性的环境首先被描述。可以在示例性环境以及其它环境中被采用的各种实施例的示例性图示然后被描述。因此,示例性环境不限于执行所描述的实施例并且所描述的实施例不限于在示例性环境中的实施方案。
[0014]示例性操作环境
图1是可操作来采用本文档中描述的技术的示例性实施方案中的环境100的图示。所图示的环境100包括可以以各种各样的方式配置的计算设备102的例子。例如,计算设备102可以被配置为传统计算机(例如,台式个人计算机、膝上型电脑等等)、移动站、娱乐装置、被通信地耦合到电视机的机顶盒、无线电话、上网本、游戏控制台、手持设备等,如关于图2进一步描述的。因此,计算设备102的范围可以从具有大量存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限的存储器和/或处理资源的低资源设备(例如,传统机顶盒、手持游戏控制台)。计算设备102还包括使计算设备102执行如下面所描述的一个或多个操作的软件。
[0015]计算设备102包括具有输入消息生成模块104和手势模块105的操作系统。此外,计算设备包括具有或另外利用消息关联模块106的一个或多个应用。在操作中,操作系统使用来自手势模块105的输入接收硬件输入并且使用输入消息生成模块104产生针对应用的消息。在其角色中,应用配置操作系统使得它使用输入消息生成模块104产生的消息被交错。这可以通过向操作系统传达特定手势不期望被检测到来实现,所述特定手势例如是映射到右击消息和像“按压且保持”这样的跨越时间的手势的那些手势。此外,消息关联模块106消费(consume)交错的消息并且使它们在高速缓存中关联在一起,如下面所描述的那样。关联的消息可以被使用以便在两个事件流之间共享数据,因此促进更好的性能,如下面将变得明显的。
[0016]手势模块105辨认能够被一个或多个手指执行的输入指针手势并且使对应于手势的操作或动作被执行。手势可以被模块105以各种各样不同的方式辨认。例如,手势模块105可以被配置成使用触摸屏功能性或感测用户的手指的接近的功能性辨认触摸输入,诸如接近于计算设备102的显示设备108的用户的手106a的手指,所述用户的手指可以未必正在物理上触摸显示设备108,例如使用近场技术。模块105可以被利用来辨认单手指手势和框(bezel)手势、多手指/同手手势和框手势、和/或多手指/不同手手势和框手势。由模块104和/或105实施的功能性可以由任何适当配置的应用来实施,所述任何适当配置的应用通过例子而不是限制诸如是web浏览器。其它应用在不背离所要求保护的主题的精神和范围的情况下能够被利用。
[0017]计算设备102还可以被配置成检测和区分触摸输入(例如,由用户的手106a的一个或多个手指提供的)和触针输入(例如,由触针116提供的)。区分可以以各种各样的方式执行,诸如通过检测显示设备108被用户的手106a的手指接触的量以及显示设备108被触针116接触的量。
[0018]因此,手势模块105通过辨认和利用在触针和触摸输入之间的区别以及不同类型的触摸输入和非触摸输入可以支持各种各样不同的手势技术。[0019]图2图示了示例性系统200,其示出如在其中多个设备通过中央计算设备被互连的环境中实施的输入消息生成模块104、手势模块105以及消息关联模块106的。中央计算设备可以对于多个设备是本地的或者可以远离多个设备被定位。在一个实施例中,中央计算设备是“云”服务器机群,其包括通过网络或因特网或其它手段被连接到多个设备的一个或多个服务器计算机。
[0020]在一个实施例中,这种互连架构使得功能性能够跨域多个设备被递送以便将共同且无缝的体验提供给多个设备的用户。多个设备的每一个可以具有不同的物理要求和能力,并且中央计算设备使用平台来使得能够将既针对该设备所定制的且又针对所有设备所共同的体验递送到该设备。在一个实施例中,目标设备的“类”被创建并且体验是针对设备的通用类定制的。设备的类可以由设备的物理特征或用途或其它共同特性来定义。例如,如先前所描述的,计算设备102可以被以各种不同的方式配置,诸如以得到移动装置202、计算机204以及电视206用途。这些配置中的每一个都具有大体对应的屏幕尺寸,并且因此计算设备102在这种示例性系统200中可以被配置为这些设备类中的一个。例如,计算设备102可以采取设备的移动装置202类,其包括移动电话、音乐播放机、游戏设备等等。计算设备102还可以采取设备的计算机204类,其包括个人计算机、膝上型计算机、上网本等等。电视206配置包括牵涉设备的在随意环境中的显示的配置,例如,电视、机顶盒、游戏控制台等等。因此,本文中所描述的技术可以由计算设备102的这些各种配置来支持并且不限于以下部分中所描述的特定例子。
[0021]云208被图示为包括用于web服务212的平台210。平台210使云208的硬件(例如,服务器)和软件资源的底层功能性抽象化并且因此可以作为“云操作系统”。例如,平台210可以使将计算设备102与其它计算设备连接的资源抽象化。平台210还可以用来使资源抽象缩放以便向遇到的针对web服务212的需求提供对应水平的规模,所述web服务经由平台210被实施。各种其它例子也被设想到,诸如服务器机群中服务器的负载均衡、防御恶意方(例如,垃圾邮件(spam)、病毒以及其它恶意软件)等等。
[0022]因此,云208作为策略的一部分被包括,所述策略与经由因特网或其它网络对计算设备102可得到的软件和硬件资源有关。
[0023]由模块104、105以及106支持的手势技术可以使用移动装置配置202中的触摸屏功能性、计算机204配置的轨迹板功能性被检测到、被作为不牵涉与特定输入设备的接触的自然用户接口(NUI)的支持的一部分的相机检测到,等等。进一步地,检测和辨认输入以便识别特定手势的操作的执行可以诸如通过计算设备102和/或由云208的平台210所支持的web服务212遍及系统200被分布。
[0024]通常,本文中所描述的功能中的任一个都能够使用软件、固件、硬件(例如,固定逻辑电路)、手动处理或这些实施方案的组合被实施。如本文中所用的术语“模块”、“功能性”以及“逻辑”通常表示软件、固件、硬件或其组合。在软件实施方案的情况下,模块、功能性或逻辑表示程序代码,所述程序代码当在处理器(例如,一个或多个CPU)上或由处理器(例如,一个或多个CPU)执行时执行规定的任务。程序代码能够被存储在一个或多个计算机可读存储器设备中。在下面所描述的手势技术的特征是平台无关的,意味着技术可以被实施在具有各种处理器的各种商业计算平台上。
[0025]在随后的讨论中,各章节描述了各种示例性的实施例。标题为“消息交错”的章节描述了事件消息可以如何依照一个或多个实施例被交错。接下来,标题为“消息关联”的章节描述了消息可以如何依照一个或多个实施例被关联。最后,标题为“示例性设备”的章节描述了能够被利用来实施一个或多个实施例的示例性设备的方面。
[0026]已经描述了其中交错和关联的功能性能够被利用的示例性的操作环境,现在考虑示例性实施例的讨论。
[0027]消息交错
在消息交错中,由单个源(诸如触摸)提供的输入通过映射过程生成多个源类型的事件,例如,触摸事件和鼠标事件。通过将系统配置成不辨认特定手势,与不同源类型的事件相关的消息然后被交错并且被提供给相关的应用以用于处理。通过将系统配置成使与不同源类型相关的消息交错而获得效率,因为一个源类型的消息(例如,鼠标有关的消息)相比于如果一个源类型的消息被列队并且被以非交错方式发送可以被更早处理。
[0028]作为上下文的例子,考虑下面。当添加针对触摸(或某个其它新的输入源,例如近场或NUI)的支持时,为了现有网页或应用的兼容性,开发平台可以提供该新的输入类型到现有的已知输入类型(例如,鼠标)的某种类型的转换。这允许针对鼠标输入所写的应用与触摸输入以及可能未必被应用辨认的任何其它类型的输入一起工作。这些类型的应用将不辨认或者不能够处理触摸有关的消息。因此,通过提供在不同的消息类型之间的转换机制,较旧的应用能够在不被辨认的输入消息存在的情况下正确地运行。此外,对于辨认两种类型的输入的那些应用而言,消息处理可以是更有效的,因一个类型源的交错消息相比于如果所述交错消息被全部列队并且被分批地发送将被更早接收到(并且被处理)。
[0029]处理(address)不同消息类型的一个方法如下。当手势触摸输入被接收到时,手势触摸输入能够被映射到成批的鼠标消息的序列。例如,当触摸消息的序列指示手势轻敲时,则在已经分派(dispatched)触摸消息之后,平台可以分派鼠标消息的预定序列。例如,“轻敲”可能映射到鼠标按下事件、鼠标弹起事件以及点击事件。在这种情况下,通过处理一系列的单独的触摸消息而生成轻敲。当提供针对较旧的应用的支持时,该方法可能具有性能问题,因为如上面指出的,鼠标有关的消息被列队并且在触摸有关的消息之后被发送。因此,鼠标消息相比于他们使消息流交错被较晚处理。
[0030]为了处理这种情形,在一个或多个实施例中,当诸如触摸输入这样的输入被接收到时,与触摸输入相关的事件被映射到与另一输入类型相关的事件。与不同事件相关的消息被交错并且被发送到诸如web浏览器这样的应用以用于处理。就等待触摸手势的解析以便然后将手势映射到鼠标事件的序列而言,根据这个方法的映射过程未必是基于手势的。因此,例如,向下触摸(touchdown)可以被映射到鼠标按下,而不是等待将向下触摸解析成轻敲,并且然后将轻敲手势映射到鼠标按下/鼠标弹起/点击的序列。在这个方法中,向下触摸映射到鼠标按下,向上触摸映射到鼠标弹起,以及轻敲映射到点击。在至少某些实施例中,在映射过程中不同的鼠标按键(例如,左和右按键)之间不存在区分。使用该方法,向下触摸可以被直接地映射到鼠标按下。当然,其它方法可以被利用,其包括支持鼠标按键区分的那些。例如,笔设备常常具有当与信号交互时能够被保持的按键,所述交互在基于鼠标的应用中将被映射到右鼠标按键。
[0031]因此,使用该方法,映射在每消息的基础上发生,而不是将消息的序列映射到消息的不同序列。这致使两个生成的消息流(例如,触摸和鼠标消息流)被交错以用于由应用或web浏览器进行有效处理。
[0032]使用该方法,简单的轻敲交互在一些系统中可以按照这种顺序分派以下事件:
?MS 指针经过(MSPointerOver)
?鼠标经过(mouseover)
?MS 指针向下(MSPointerDown)
?鼠标按下
?MS指针移动 ?鼠标移动 ?MS指针向上 ?鼠标弹起
?MS指针离开 ?鼠标离开。
[0033]如能够看见的,相比于如果手势被解析并且然后被映射到鼠标事件的序列,已经被从触摸输入转换或映射的单独的鼠标事件被应用更早接收和处理。如将被技术人员所了解的,交错因此改进了性能,因为消息被更早映射,而不是等待手势的完成。与原有内容的兼容性也被改进,因为更具体的交互(诸如按下/移动/弹起以及仅单个轻敲)被更快速地并且与它们的鼠标配对物更密切地映射。
[0034]图3是描述了依照一个或多个实施例的方法中的步骤的流程图。方法可以被与任何适当的硬件、软件、固件及其组合有关地执行。在至少某些实施例中,方法可以通过形式为计算机可读指令的软件被执行,所述计算机可读指令被体现在某一类型的计算机可读存储介质上,所述计算机可读指令能够在一个或多个处理器的影响下被执行。能够执行即将被描述的功能性的软件的例子是要接收消息的应用、相关的操作系统、以上描述的输入消息生成模块104以及手势模块105。
[0035]步骤300接收不辨认一个或多个手势的配置信息。这个步骤可以通过应用通知操作系统不辨认手势而被执行,所述手势否则将导致在生成与下面提到的第一输入类型相关的消息时的延迟。例如,在至少某些实施例中,可以为这个步骤的主题的一个手势是“按压且保持”手势。具体地,在一些系统中,“轻敲”映射到鼠标上的左按键点击,但是“保持”映射到右按键点击。在用户的手指落下时,操作系统不能确定是发送左鼠标消息还是右鼠标消息,因为它必须等待,直到它能够例如基于定时器安全地区分的轻敲/保持。在该实例中,操作系统能够被配置成不辨认“保持”。在该状态下,操作系统不必等待根据触摸输入分派鼠标消息。它简单地将向下触摸输入作为左鼠标按下对待。因此,输入消息生成模块能够启动对指针向下(“向下触摸”)/鼠标按下、指针向上/鼠标弹起等进行交错,如下面描述的。
[0036]步骤302接收第一类型的输入。任何适当类型的输入能够被接收,所述任何适当类型的输入通过例子而不是限制包括触摸输入或共同地定义手势的输入。步骤302生成与第一输入类型相关的消息。响应于接收第一类型的输入,步骤304生成与不同于第一输入类型的第二输入类型相关的消息。任何适当类型的第二输入类型能够被利用。在至少某些实施例中,第二输入类型包括鼠标输入。
[0037]步骤306制定交错消息流,其包括交错在一起的与第一和第二输入类型相关的消息。在所描述的方法中,这个步骤作为将操作系统配置成不辨认特定手势的结果而被执行。所制定的交错消息流然后可以被提供给诸如web浏览器之类的应用以用于视情况处理。应当了解并且理解,消息的交错和随后的提供能够随着单独的消息被生成而被执行,而不是等待整个相关的交错消息流被形成并且然后被提供给应用或web浏览器。
[0038]这些消息能够被应用或web浏览器处理的一个方式在正好下面的章节中被描述。
[0039]消息关联
在至少某些其它实施例中,与不同源相关的消息在高速缓存中被关联。从一个消息产生的数据被保存并且被与关联的消息相关地重复使用以使得产生数据的处理不必被重复。在一些实例中,产生数据的处理可能是昂贵的。因此,不重复针对不同源的处理,而是使用缓存数据以用于处理关联的消息可以导致效率,如将在下面变得明显的那样。
[0040]因此,例如,在正好上面描述的实施例中,简单的消息流被制定成包括与不同源或输入类型(例如,触摸类型以及鼠标类型输入)相关的消息。作为触摸类型消息的结果产生的数据可以被保存并且被重复使用于关联的鼠标类型消息。作为例子,考虑下面。
[0041]在一些基于Windows?的系统中,触摸输入经由诸如丽POINTERUPDATE消息这样的指针消息被提供给应用。“指针”是表示诸如鼠标、手指或笔等之类的任何接触点的抽象概念。指针抽象概念使得对于开发者来说易于写单个集合的指针事件,所述指针事件封装来自鼠标、触摸以及笔的输入。然而,为了兼容性,这些消息还可以被转化成诸如WM—M0USEM0VE消息这样的鼠标消息。诸如web浏览器之类的应用可以处理指针和鼠标消息两者是可能的。然而,两个集合的消息表示单个用户输入源机制(例如,触摸),但是不可能为了这种相同的交互将鼠标消息与指针消息直接地关联。
[0042]使用启发法的系统,不同类型的消息(例如,指针和鼠标消息)能够被关联在一起以使得在处理指针消息时产生的数据能够被另外用于鼠标消息的处理。例如,在至少某些系统中,仅一个触摸接触被映射到鼠标,因为触摸支持多个指针而鼠标不支持。因此,在像这样的系统中,被用于关联的第一准则是:要被关联的指针消息是“主要指针”或者是将被映射到鼠标的那一个。当主要指针消息被接收到时,指针消息的坐标连同要被重复使用以得到效率增益的数据一起被存储在高速缓存中。
[0043]当映射的鼠标消息被接收到时,系统提供机制来查明这是真的鼠标消息(例如,从鼠标直接产生)或它是映射的鼠标消息。如果它是映射的鼠标消息,则为了和鼠标消息具有相同的坐标的指针消息而检查高速缓存。如果匹配被找到,则所对应的缓存数据被重复使用以便附和(go along with)所述消息。
[0044]然而,应当了解并且理解,坐标之外的机制可以被用于关联。例如,如果两个输入消息共享精确的硬件时间戳,则这可以被用于相关。在实践中,在映射过程期间被复制到鼠标消息的任何唯一值可以被利用。
[0045]如将被技术人员了解的那样,这导致改进的性能,因为与消息相关的工作被减少。作为能够被缓存和重复使用的数据的类型的例子,考虑下面。
[0046]在一些场景中,当指针消息被接收到时,相关的应用致使击打测试被执行。如将被技术人员所了解的那样,击打测试是通过其输入子系统处理接收到的输入和将接收到的输入映射到显示设备坐标系统和指针坐标的机制。输入击打被识别为来自相关的显示树中的特定用户接口元素。在许多实例中,处理显示树来识别接口元素可能是昂贵的操作。[0047]如果指针消息表示显示屏幕上的主要指针(B卩,第一接触),则击打测试的结果然后被存储在高速缓存中。这是鼠标兼容性消息(即,映射的消息)稍后将被从系统接收的指示,如上面描述的那样。当对应的鼠标消息被接收到时,它通过与系统确认输入源被触摸以及通过将鼠标消息的坐标与对应的指针消息的坐标相匹配来被关联回到指针消息。如果鼠标消息被与指针消息关联,则来自指针消息的击打测试结果被重复使用于鼠标消息的处理。可理解地,这降低了针对给定用户交互的击打测试的数目达50%或更多。此外,在处理指针消息时产生的附加数据能够被缓存用于在处理关联的鼠标消息期间使用,如期望的那样。例如,诸如浏览器是否应该响应于交互来执行默认动作这样的状态变量同样能够被缓存。作为能够被缓存的附加数据的其它例子,考虑下面。在某些实例中,诸如接触压力之类的特定于触摸的信息能够被存储。然后,当鼠标消息被关联时,执行“左按键”或“右按键”动作的决定能够基于接触被按压有多艰难而被做出。
[0048]另一类的例子包括指示动作被执行并且将不再次执行它的标记。例如,如果指示手指正在指定新的元素的指针消息被接收到,则CSS悬停(Hover)能够被应用于它。当鼠标消息随后被接收到时,这个动作不需要被重复。因此,标记能够被存储以便指示悬停已经被应用于该元素。
[0049]图4是描述依照一个或多个实施例的方法中的步骤的流程图。方法能够被与任何适当的硬件、软件、固件及其组合有关地执行。在至少某些实施例中,方法可以通过形式为计算机可读指令的软件被执行,所述计算机可读指令被体现在某一类型的计算机可读存储介质上,所述计算机可读指令能够在一个或多个处理器的影响下被执行。能够执行即将被描述的功能性的软件的例子是上面描述的交错和关联模块104以及手势模块105。
[0050]步骤400接收与第一输入类型相关的第一消息。任何适当的输入类型能够被利用。在至少某些实施例中,第一输入类型包括与触摸输入相关的输入类型。步骤402处理第一消息以便产生数据。任何适当类型的数据能够被产生。在至少某些实施例中,被产生的数据包括与击打测试相关的数据。在至少某些其它实施例中,被产生的数据包括与应用状态相关的数据。状态的例子以及附加类型的数据在上面被提供。步骤404将产生的数据缓存在数据高速缓存中。步骤406接收与第二不同的输入类型相关的第二消息。任何适当类型的不同输入能够被利用。在至少某些实施例中,第二不同的输入类型包括鼠标输入。此外,第二消息可以包括这样的消息,其被产生来使得可能不理解第一消息或第一输入类型的应用能够使用第二消息处理第一输入类型。在至少某些实施例中,第二消息可以构建通过诸如上面描述的映射过程产生的消息。
[0051]步骤408将第二消息与第一消息关联。任何适当的方法可以被利用来关联消息,其的例子在上面被提供。步骤410使用缓存的数据来处理第二消息。通过使用缓存的数据来处理第二消息,被执行来处理第一消息以便产生数据的工作可以被避免。
[0052]已经考虑了各种示例性实施例,现在考虑能够被用来实施上面所描述的实施例的示例性设备。
[0053]示例性设备
图5图示了示例性设备1000的各种构件,所述示例性设备能够被实施为如参考图1和2所描述的任何类型的便携式和/或计算机设备以实施本文中所描述的动画库的实施例。设备500包括通信设备502,所述通信设备502使能设备数据504 (例如,接收到的数据、正被接收的数据、为广播调度的数据、该数据的数据分组等)的有线和/或无线通信。设备数据504或其它设备内容能够包括设备的配置设定、存储在设备上的媒体内容、和/或与设备的用户相关的信息。存储在设备500上的媒体内容能够包括任何类型的音频、视频和/或图像数据。设备500包括任何类型的数据、媒体内容和/或输入经由其能够被接收到的一个或多个数据输入端506,所述任何类型的数据、媒体内容和/或输入诸如是用户可选择的输入、消息、音乐、电视媒体内容、记录的视频内容,以及从任何内容和/或数据源接收到的任何其它类型的音频、视频和/或图像数据。
[0054]设备500同样包括通信接口 508,所述通信接口 508能够被实施为串行和/或并行接口、无线接口、任何类型的网络接口、调制解调器中的任何一个或多个,以及实施为任何其它类型的通信接口。通信接口 508在设备500与通信网络之间提供连接和/或通信链路,其它电子、计算以及通信设备通过其与设备500传送数据。
[0055]设备500包括一个或多个处理器510 (例如,微处理器、控制器等等中的任一个),其处理各种计算机可执行或可读指令以便控制设备500的操作以及以便实施上面所描述的实施例。替换地或此外,设备500能够用结合总体上在512处被识别的处理和控制电路被实施的硬件、固件或固定逻辑电路中的任何一个或组合加以实施。尽管未示出,但是设备500能够包括耦合设备内的各种构件的系统总线或数据转移系统。系统总线能够包括不同的总线结构中的任何一个或组合,所述不同的总线结构诸如是存储器总线或存储器控制器、外围总线、通用串行总线,和/或利用各种总线架构中的任一个的处理器或局部总线。
[0056]设备500同样包括计算机可读媒体514,诸如一个或多个存储器构件,其例子包括随机存取存储器(RAM)、非易失性存储器(例如,只读存储器(ROM)、闪速存储器、EPR0M、EEPROM等中的任何一个或多个)以及磁盘存储设备。磁盘存储设备可以被实施为任何类型的磁或光存储设备,诸如硬盘驱动器、可记录和/或可重写光盘(CD)、任何类型的数字通用盘(DVD)等等。设备500还能够包括大容量存储媒体设备516。
[0057]计算机可读媒体514提供数据存储机制来存储设备数据504、以及各种设备应用518和与设备500的操作方面有关的任何其它类型的信息和/或数据。例如,操作系统520能够作为计算机应用与计算机可读媒体514被维持在一起并且在处理器55上执行。设备应用518能够包括设备管理器(例如,控制应用、软件应用、信号处理和控制模块、特定设备本地的代码、针对特定设备的硬件抽象层等)以及其它应用,所述其它应用能够包括web浏览器、图像处理应用、诸如即时消息传送应用这样的通信应用、字处理应用和各种其它不同的应用。设备应用518同样包括实施本文中所描述的技术的实施例的任何系统构件或模块。在这个例子中,设备应用518包括作为软件模块和/或计算机应用所被示出的接口应用522和手势捕获驱动器524。手势捕获驱动器524表示被用来提供与配置成捕获手势的设备的接口的软件,所述设备诸如是触摸屏、轨迹板、相机等等。替换地或此外,接口应用522和手势捕获驱动器524能够被实施为硬件、软件、固件或其任何组合。此外,计算机可读媒体514能够包括像上面所描述的那样运转的输入消息生成模块525a、手势模块525b,以及消息关联模块525c。
[0058]设备500同样包括将音频数据提供给音频系统528和/或将视频数据提供给显示系统530的音频和/或视频输入-输出系统526。音频系统528和/或显示系统530能够包括处理、显示和/或另外再现音频、视频和图像数据的任何设备。视频信号和音频信号能够经由RF (射频)链路、S-视频链路、合成视频链路、分量视频链路、DVI (数字视频接口)、模拟音频连接或其它类似的通信链路而被从设备500传送到音频设备和/或到显示设备。在实施例中,音频系统528和/或显示系统530被实施为设备500的外部构件。替换地,音频系统528和/或显示系统530被实施为示例性设备500的集成构件。
[0059]结论
在至少某些实施例中,由单个源提供的输入通过映射过程生成表示多个源类型的事件,例如,触摸输入生成触摸事件和鼠标事件两者。通过将系统配置成不辨认特定手势,与不同源类型的事件相关的消息然后被交错并且被提供给相关的应用以用于处理。通过将系统配置成使与源类型相关的消息交错来获得效率,因为一个源类型的消息相比于如果该一个源类型的消息被列队并且被以非交错方式发送可以被更早处理。
[0060]在至少一些其它实施例中,与不同源类型相关的消息在高速缓存中被关联。从一个消息产生的数据被保存并且被与关联的消息相关地重复使用以使得产生数据的处理不必被重复。
[0061]尽管已经以特定于结构特征和/或方法动作的语言描述了实施例,但是应当理解在所附权利要求中定义的实施例不必限于所描述的特定特征或动作。相反地,特定特征和动作是作为实施所要求保护的实施例的示例性形式被公开的。
【权利要求】
1.一种方法,其包括: 接收不辨认一个或多个手势的配置信息; 接收第一类型的输入; 生成与第一输入类型的输入相关的消息; 响应于接收第一类型的输入,生成与不同于第一输入类型的第二输入类型相关的、足以使能交错的消息流的制定的消息,所述交错的消息流包括交错在一起的与第一和第二输入类型相关的消息。
2.根据权利要求1所述的方法,其中接收第一类型的输入包括接收触摸输入。
3.根据权利要求1所述的方法,其中接收第一类型的输入包括接收触摸输入之外的输入。
4.根据权利要求1所述的方法,其中第二输入类型包括鼠标输入。
5.根据权利要求1所述的方法,其中第二输入类型包括鼠标输入之外的输入。
6.根据权利要求1所述的方法,进一步包括将交错的消息流提供给应用。
7.根据权利要求1所述的方法,进一步包括将交错的消息流提供给web浏览器。
8.体现计算机可读指令的一个或多个计算机可读存储媒体,当所述计算机可读指令被执行时实施方法,所述方法包括: 接收与第一输入类型相关的第一消息; 处理第一消息以便产生数据; 接收与第二不同的输入类型相关的第二消息;以及 使用通过处理第一消息而产生的数据来处理第二消息。
9.根据权利要求8所述的一个或多个计算机可读存储媒体,其中第一输入类型包括触摸输入。
10.根据权利要求8所述的一个或多个计算机可读存储媒体,其中处理第一消息来产生数据包括产生与击打测试相关的数据。
【文档编号】G06F3/048GK104024991SQ201380004797
【公开日】2014年9月3日 申请日期:2013年1月6日 优先权日:2012年1月6日
【发明者】J.S.罗西, J.E.罗杰斯, N.J.E.富尔特旺勒 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1