首页> 中国专利> 输入数据类型简档

输入数据类型简档

摘要

描述了用于提供输入数据类型简档的技术。在至少一些实施例中,可以实施输入数据类型简档以便使得应用能够接收不同类型和/或组合的输入数据。举例来说,输入数据类型简档可以规定基于针对触觉输入设备的输入而生成的不同类型的输入数据,比如未经处理的触摸数据、经过处理的触摸数据以及笔输入数据。在至少一些实施例中,可以实施用于允许应用并行地接收多种类型的输入数据(例如触摸数据和/或笔输入数据的组合)的技术。

著录项

  • 公开/公告号CN104169874A

    专利类型发明专利

  • 公开/公告日2014-11-26

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201380014233.0

  • 发明设计人 O.M.杜罗贾耶;

    申请日2013-03-14

  • 分类号G06F9/44;G06F3/00;

  • 代理机构中国专利代理(香港)有限公司;

  • 代理人王兴秋

  • 地址 美国华盛顿州

  • 入库时间 2023-12-17 02:24:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-04-12

    授权

    授权

  • 2015-07-22

    专利申请权的转移 IPC(主分类):G06F9/44 变更前: 变更后: 登记生效日:20150703 申请日:20130314

    专利申请权、专利权的转移

  • 2014-12-24

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20130314

    实质审查的生效

  • 2014-11-26

    公开

    公开

说明书

背景技术

许多设备被配置成支持多种类型的输入。举例来说,膝上型计算机可以接收来自键盘的输入,以及来自可以接收触觉输入的触摸板的输入。为了使得设备能够支持多种输入类型,设备通常包括某种形式的输入配置,该输入配置规定了特定输入类型的优先级以及将如何处理特定输入类型。虽然支持多种输入类型的能力是有用的,但是设备通常缺少对于多种输入类型配置的支持。

发明内容

提供本发明内容,以便以简化形式介绍将在后面的具体实施方式中进一步描述的概念的选择。本发明内容不意图标识出所要求保护的主题内容的关键特征或实质特征,也不意图被用来帮助决定所要求保护的主题内容的范围。

描述了用于提供输入数据类型简档的技术。在至少一些实施例中,可以实施输入数据类型简档以便使得应用能够接收不同类型和/或组合的输入数据。举例来说,输入数据类型简档可以规定基于针对触觉输入设备的输入而生成的不同类型的输入数据,比如未经处理的触摸数据、经过处理的触摸数据以及笔输入数据。在实现中,触摸数据指的是基于用户与触觉输入设备的物理接触而生成的输入数据,所述触觉输入设备比如是触摸板、跟踪板、触摸屏等等。笔输入数据可以是指经由触摸仪器(比如电磁触针设备)接收到的针对触觉输入设备的输入。在至少一些实施例中,可以实施用于允许应用并行地接收多种类型的输入数据(例如触摸数据和/或笔输入数据的组合)的技术。

附图说明

具体实施方式是参照附图进行描述的。在图中,参考号的(多个)最左侧数字标识出该参考号首次出现在其中的图。在描述中的不同实例以及附图中使用相同的参考号可以表明类似的或相同的项目。

图1是可操作来采用这里所讨论的技术的一种示例实现中的环境的图示。

图2图示出了根据一个或更多实施例的输入简档模块的示例实现。

图3图示出了根据一个或更多实施例的示例实现情形。

图4是描述根据一个或更多实施例的方法中的步骤的流程图。

图5是描述根据一个或更多实施例的方法中的步骤的流程图。

图6是描述根据一个或更多实施例的方法中的步骤的流程图。

图7图示出了参照图1描述的示例系统和计算设备,该示例系统和计算设备被配置成实施这里所描述的技术的实施例。

具体实施方式

总览

描述了用于提供输入数据类型简档的技术。在至少一些实施例中,可以实施输入数据类型简档以便使得应用能够接收不同类型和/或组合的输入数据。举例来说,输入数据类型简档可以规定基于针对触觉输入设备的输入而生成的不同类型的输入数据,比如未经处理的触摸数据、经过处理的触摸数据以及笔输入数据。在实现中,触摸数据指的是基于用户与触觉输入设备的物理接触而生成的输入数据,所述触觉输入设备比如是触摸板、跟踪板、触摸屏等等。笔输入数据可以是指经由触摸仪器(比如电磁触针设备)接收到的针对触觉输入设备的输入。在至少一些实施例中,可以实施用于允许应用并行地接收多种类型的输入数据(例如触摸数据和/或笔输入数据的组合)的技术。

已经给出了根据一个或更多实施例的示例实现的总览,现在考虑可以在其中采用示例实现的示例环境。

示例环境

图1是可操作来采用用于提供这里所描述的输入数据类型简档的技术的一种示例实现中的环境100的图示。所图示出的环境100包括可以按照多种方式配置的计算设备102。举例来说,计算设备102可以被配置成传统计算机(例如台式个人计算机、膝上型计算机等等)、移动站、娱乐器具、通信地耦合到电视的机顶盒、无线电话、上网本、游戏控制台、手持式设备等等,如关于图7进一步描述的那样。

因此,计算设备102的范围可以从具有大量存储器和处理器资源的完全资源设备(例如个人计算机、游戏控制台、平板设备或板状形式要素的设备)到具有有限的存储器和/或处理资源的低资源设备(例如传统机顶盒、手持式游戏控制台)。计算设备102还包括使得计算设备102实施后面所描述的一项或更多项操作的软件。

计算设备102包括应用104,应用104代表用于经由计算设备102实施各种任务的功能。应用104的示例包括字处理器应用、电子邮件应用、内容编辑应用、游戏应用等等。应用104包括应用处理器模块106,应用处理器模块106代表用于请求特定类型的输入数据并且处理所接收到的对于应用104的输入数据的功能。在实现中,各个应用104可以包括它们自己的对应的应用处理器模块106的实现,该实现特别适合于各个应用。后面将讨论应用处理器模块106的进一步的细节和实现。

还包括作为计算设备102的一部分的web浏览器108,web浏览器108代表用于经由计算设备102提供web浏览和/或其他任务的功能。举例来说,web浏览器108可以被采用来经由计算设备102可以与之连接的一个或更多网络访问网络资源(例如网站)。这样的网络的示例包括因特网、广域网(WAN)、局域网(LAN)、无线网络、公共电话网、内联网等等。应用104和/或web浏览器108可以结合任何适当类型的硬件、软件、固件或其组合来实施。

还包括作为计算设备102的一部分的操作系统110,操作系统110代表用于管理计算设备102的资源以及提供对其的访问的功能。还包括至少一个输入设备112,输入设备112代表可以被采用来接收针对计算设备102的输入的设备。后面将参照图7讨论输入设备112的示例。输入设备112可以被实施为触觉输入设备114,触觉输入设备114被配置成接收针对计算设备102的触摸输入和笔输入。举例来说,触觉输入设备114可以被实施为触摸板、跟踪板、触摸屏等等。

触摸输入可以由触觉输入设备114响应于用户与触觉输入设备114的物理接触而接收。举例来说,用户可以通过用一个或更多手指、用户的手的其他部分和/或用户身体的任何其他部分触摸触觉输入设备114来向触觉输入设备114提供输入。还可以由触觉输入设备114经由触摸仪器来接收输入,触摸仪器比如是触针(例如电磁触针)、触摸笔等等。出于这里的讨论的目的,经由触摸仪器接收的输入被称作“笔输入”。因此,触摸输入可以经由用户与触觉输入设备114的物理接触来接收,笔输入可以经由触摸仪器与触觉输入设备114的接触来接收。

触觉输入设备114包括数字转换器116,数字转换器116代表用于接收通过针对触觉输入设备114的输入生成的模拟数据并且将模拟数据转换成可以由与计算设备102相关联的各种实体使用的数字形式的功能。

在实现中,可以基于输入的性质来区分笔输入和触摸输入。举例来说,触觉输入设备114可以检测借以向触觉输入设备114提供输入的构件的物理性质。用户的手指和/或手例如可能具有不同于触针或其他仪器的导电性质。因此,在电容性输入情形中,可以基于被用来提供输入的输入构件的导电性质来区分触摸输入和笔输入。这种实现仅仅是出于示例的目的而提供的,根据一个或更多实施例可以支持多种多样的其他基于触摸和/或笔的输入方法。

计算设备102还包括输入设备驱动器118,输入设备驱动器118代表用于使得与计算设备102相关联的实体能够与输入设备112进行交互并且反之亦然的功能。举例来说,输入设备驱动器118之一可以接收来自对应的输入设备112的输入数据,并且可以将所述输入数据传送到应用104、web浏览器108、操作系统110等等当中的一项或更多项。

输入设备驱动器118包括触觉设备驱动器120,触觉设备驱动器120代表用于允许在触觉输入设备114与计算设备102的各种实体之间进行通信的功能。举例来说,触觉设备驱动器120可以允许将由触觉输入设备114生成的输入数据路由到应用104、web浏览器108、操作系统110等等当中的一项或更多项。

触觉设备驱动器120还可以把由触觉输入设备114接收到的未经处理的触摸数据处理成经过处理的触摸数据。举例来说,如果用户把手指放置在触觉输入设备114的触摸屏上,则数字转换器116可以生成大致描述了所述屏幕与用户手指接触的整个区域的未经处理的触摸数据。作为另一个示例,如果用户将其手掌放置在触摸屏上,则数字转换器116可以生成包括手掌的图像(例如位图)的未经处理的触摸数据。

为了使得各种实体能够利用触摸输入,可以将未经处理的触摸数据处理成可以被用来实施不同任务的经过处理的触摸数据。举例来说,可以对描述了触摸屏与用户手指的接触的区域的未经处理的触摸数据进行处理,以便例如参照触摸屏上的X坐标和Y坐标位置规定触摸屏上的特定点。

例如考虑其中用户在触觉输入设备114的触摸屏上拖动其手指的情形。可以对由数字转换器116响应于用户拖动其手指而生成的未经处理的触摸数据进行处理(例如由触觉设备驱动器120处理),以便表明一个点在触摸屏上的移动。该点的移动可以被用来(例如被操作系统110用来)实施任务,比如浏览在触摸屏上显示的图形用户接口。

还包括作为计算设备102的一部分的输入简档模块122,输入简档模块122代表用于向计算设备102的各种实体给出不同类型的输入数据的功能。在实现中,特定的输入简档模块122可以给出不同类型的输入数据的集合,比如由触觉输入设备114生成的不同类型的输入数据的组合。在至少一些实施例中,输入简档模块122中的一个或更多个可以包括输入设备112的人类接口设备(HID)使用信息。

提供输入配置模块124,输入配置模块124代表用于使得各种实体能够请求不同类型的输入数据(比如由输入简档模块122所表示的各种类型的输入数据)的功能。举例来说,用于应用104之一的应用处理器模块106可以向输入配置模块124发送用于从触觉输入设备114接收特定类型的输入数据的请求。响应于所述请求,输入配置模块124可以向触觉设备驱动器120通知该触觉设备驱动器将通过与所请求的输入数据类型相关联的输入简档模块122之一向特定应用104发送输入数据。因此,当应用104正在运行并且准备好接收输入时,触觉设备驱动器120可以经由适当的输入简档模块122向所述应用发送输入数据。相应地,不同的应用和/或实体可以向输入配置模块124登记,以便经由输入简档模块122接收不同类型的输入数据。

计算设备102还包括设备处理器模块126,设备处理器模块126代表用于对接收自输入设备112的不同类型的输入数据实施处理的功能。举例来说,设备处理器模块126可以接收来自触觉输入设备114的输入数据,并且可以把所述输入数据处理成可以由各种实体(比如操作系统110)利用的形式。

图2图示出了前面在环境100的讨论中介绍的输入简档模块122的示例实现。在该示例实现中,输入简档模块122包括触摸模块200、笔模块202、触摸加模块204和笔加模块206。

触摸模块200代表用于向各种实体递送经过处理的触摸数据的功能。举例来说,应用104和/或操作系统110可以经由触摸模块200接收经过处理的触摸数据。笔模块202代表用于向各种实体递送笔输入数据的功能。在实现中,实体(例如应用104和/或操作系统110)可以请求经由笔模块202接收输入数据。因此,当由触觉输入设备114接收到笔输入时,可以经由笔模块202将所得到的笔输入数据提供给这样的实体。

触摸加模块204代表用于递送经过处理的触摸数据与未经处理的触摸数据的组合的功能。举例来说,应用处理器模块106可以提供用于针对应用104中的一个或更多个处理这些不同类型的数据的功能。特定应用例如可以出于一个目的使用经过处理的触摸数据(例如在屏幕上移动光标),并且出于另一个目的使用未经处理的触摸数据,比如在屏幕上移动更大的图像或图像集合。因此,请求经由触摸加模块204接收输入数据的应用可以接收从针对触觉输入设备114的输入所得到的经过处理的触摸数据和未经处理的触摸数据。

笔加模块206代表用于递送笔输入数据、经过处理的触摸数据和未经处理的触摸数据的组合的功能。举例来说,应用处理器模块106的实例可以提供用于针对应用104中的一个或更多个处理这些不同类型的输入数据的功能。特定应用例如可以出于一个目的使用笔输入数据(例如生成文字),并且出于另一个目的使用未经处理的触摸数据,比如在显示屏上绘制图像。因此,请求经由笔加模块206接收输入数据的应用可以接收从针对触觉输入设备114的输入所得到的笔输入数据、经过处理的触摸数据和未经处理的触摸数据。

输入简档模块122的这些示例仅仅是出于说明的目的而给出的,根据一个或更多实施例可以经由输入简档模块122表示多种多样不同类型和组合的输入数据。

已经描述了可以在其中操作这里所描述的技术的示例环境,现在将考虑根据一个或更多实施例的示例实现情形的讨论。

示例实现情形

后面的讨论描述了根据一个或更多实施例的一种示例实现情形300。在后面的讨论的部分中将参照图1的环境100和输入简档模块122。

情形300包括应用302、应用304和应用306。应用302、304和306可以是应用104、web浏览器108、操作系统110和/或可以利用来自触觉输入设备114的输入的另一应用或实体的实现。

进一步对于情形300而言,应用302被配置成利用来自触摸模块200的经过处理的触摸数据,以及来自笔模块202的笔输入数据。在实现中,应用302可以被配置成交替地接收经过处理的触摸数据或笔输入数据。举例来说,用户可以向触觉输入设备114提供触摸输入,所述触觉输入设备114产生未经处理的触摸数据。可以对未经处理的触摸数据进行处理(例如由触觉设备驱动器120处理),以便产生经过处理的触摸数据。经由触摸模块200将经过处理的触摸数据转送到设备处理器模块126。设备处理器模块126可以对经过处理的触摸数据进行进一步处理以便将其置于可以由应用302利用的形式,并且将经过处理的触摸数据转送到应用302。应用302可以使用经过处理的触摸数据来实施各项任务。

进一步对于情形300而言,用户可以向触觉输入设备114提供笔输入。举例来说,用户可以随同前面讨论的触摸输入一起提供笔输入,和/或可以在触摸输入之后提供笔输入。触觉设备驱动器120确定应用302被配置成交替地接收触摸输入数据或笔输入数据,并且所述应用将笔输入数据优先于触摸输入数据。因此,触觉设备驱动器120停止向触摸模块200发送触摸输入数据,并且发起向笔模块202发送笔输入数据。笔模块202将笔输入数据递送到设备处理器模块126,设备处理器模块126可以对笔输入数据实施处理并且将经过处理的笔输入数据转送到应用302。

因此,在其中同时提供触摸输入和笔输入的实现中,可以抑制触摸输入数据,从而使得不向应用发送由触觉输入设备114生成的触摸输入数据。这样的配置可以用于在用户正提供笔输入的情形中防止意外的触摸输入导致针对活动应用的非刻意的输入。

继续情形300,应用304被配置成利用经过处理的触摸数据和未经处理的触摸数据。为了使得应用304能够接收这样的数据,作为应用304的一部分而包括的应用处理器模块305向输入配置模块124发送用于接收触摸数据和未经处理的触摸数据的请求。在实现中,应用处理器模块305是前面所讨论的应用处理器模块106的一种示例实现。输入配置模块124接收所述请求,并且通知触觉设备驱动器120经由触摸加模块204向应用304发送经过处理的触摸数据和未经处理的触摸数据。当用户向触觉输入设备114提供触摸输入时,触觉设备驱动器120经由触摸加模块204向设备处理器模块126发送经过处理的触摸数据和未经处理的触摸数据。设备处理器模块126可以(可选地)对经过处理的触摸数据和/或未经处理的触摸数据实施处理,并且将所述数据转送到应用处理器模块305。

应用处理器模块305可以对经过处理的触摸数据和/或未经处理的触摸数据进行进一步处理,从而使得应用304可以使用所述经过处理的触摸数据和未经处理的触摸数据来实施各项任务。举例来说,正如后面所讨论的那样,应用处理器模块305可以过滤掉应用304未被配置成要进行利用的特定类型的输入数据。因此,可以为应用304提供该应用304被配置成要进行利用的经过处理的触摸数据和/或未经处理的触摸数据的部分。

进一步对于情形300而言,应用306被配置成利用经过处理的触摸数据、未经处理的触摸数据和笔输入数据。相应地,作为应用306的一部分而包括的应用处理器模块307向输入配置模块124发送用于接收经过处理的触摸数据、未经处理的触摸数据和笔输入数据的请求。在实现中,应用处理器模块307是前面所讨论的应用处理器模块106的一种示例实现。输入配置模块124接收所述请求,并且通知触觉设备驱动器120经由笔加模块206向应用306发送经过处理的触摸数据、未经处理的触摸数据和笔输入数据。当用户向触觉输入设备114提供触摸输入和笔输入时,触觉设备驱动器120经由笔加模块206向设备处理器模块126发送经过处理的触摸数据、未经处理的触摸数据和笔输入数据。设备处理器模块126可以(可选地)对经过处理的触摸数据、未经处理的触摸数据和笔输入数据实施处理,并且将所述数据转送到应用处理器模块307。

应用处理器模块307可以对经过处理的触摸数据、未经处理的触摸数据和笔输入数据进行进一步处理,从而使得应用306可以使用所述经过处理的触摸数据、未经处理的触摸数据和笔输入数据来实施各项任务。举例来说,应用处理器模块307可以过滤掉应用306未被配置成要进行利用的特定类型的输入数据。因此,可以为应用306提供该应用306被配置成要进行利用的经过处理的触摸数据、未经处理的触摸数据和笔输入数据的部分。

在情形300中,每一项应用被讨论为接收来自所述输入简档模块122中的一个特定输入简档模块的输入数据。在实现中,当特定应用是活动的并且正在接收来自特定输入简档模块122的输入数据时,触觉设备驱动器118可以制止经由其他的输入简档模块122发送输入数据。举例来说,在其中利用未经处理的触摸数据的应用都不是活动的情形中,触觉设备驱动器120可以制止例如经由触摸加模块204和/或笔加模块206发送未经处理的触摸数据。这样可以节省可能被利用来发送未经处理的触摸数据的系统资源(例如处理器带宽)。

此外,虽然应用被图示为接收来自输入简档模块122的特定实例的输入数据,但是这并不意图限制所公开的实施例。在实现中,应用可以接收来自当前正在发送输入数据流的任何一个输入简档模块122的输入数据,并且可以从输入数据流中提取出应用被配置成要利用来实施各项任务的输入数据。

举例来说,正如前面所讨论的那样,应用302被配置成利用经过处理的触摸数据和笔输入数据。因此,应用302可以不被配置成利用其他形式的输入数据,比如来自触摸加模块204的未经处理的触摸数据。当正在经由触摸加模块204发送输入数据流时,应用302可以从输入数据流中提取出该应用302被配置成要进行利用的输入数据。举例来说,应用302可以从输入数据流中提取出经过处理的触摸数据,并且可以忽略包括在输入数据流中的未经处理的触摸数据。

作为另一个示例并且如前所提到的,应用304被配置成利用经过处理和未经处理的触摸数据。因此,在实现中,应用304可以不被配置成利用笔输入数据。当正在经由笔加模块206发送输入数据流时,应用304可以从输入数据流中提取出该应用304被配置成要进行利用的输入数据。举例来说,应用处理器模块305可以对输入数据流进行处理,并且可以从输入数据流中提取出经过处理的触摸数据和/或未经处理的触摸数据。应用处理器模块305可以将经过处理的触摸数据和/或未经处理的触摸数据提供给应用304,以便使得应用304能够利用输入数据实施各项任务。

因此,即使应用未被配置成利用和/或理解特定输入数据流中的所有输入数据,这里所讨论的技术也可以使得所述应用能够利用从各种不同的输入数据流中提取出的至少一些输入数据。举例来说,应用处理器模块106(例如应用处理器模块305和/或应用处理器模块307)可以被配置成提取出用于特定应用的特定类型的输入数据。因此,可以为所述应用提供所述应用被配置成要进行利用和/或理解的各种类型的输入数据。

已经讨论了一种示例实现情形,现在考虑根据一个或更多实施例的一些示例过程。

示例过程

后面的讨论描述了根据一个或更多实施例的用于提供输入数据类型简档的示例过程。在后面的讨论的部分中,将参照图1的环境100以及前面所讨论的示例实现情形。

图4是描述根据一个或更多实施例的一种方法中的步骤的流程图。步骤400接收来自应用的请求,该请求针对接收根据特定输入数据类型简档的输入数据。举例来说,输入配置模块124可以接收来自应用104(例如来自应用处理器模块106之一)、操作系统110等等的请求,该请求针对根据特定输入数据类型和/或输入数据类型的组合发送输入数据。前面参照输入简档模块122讨论了输入数据类型以及输入数据类型的组合的示例。

步骤402发送针对根据所述特定输入数据类型简档向所述应用发送输入数据的通知。正如前面所讨论的那样,输入配置模块124可以通知触觉设备驱动器120(或者其他的输入设备驱动器118)经由输入简档模块122中的一个特定输入简档模块向应用或其他实体发送输入。

图5是描述根据一个或更多实施例的一种方法中的步骤的流程图。在实现中,所述方法描述了前面关于图4所讨论的方法的继续。步骤500接收针对根据所请求的输入数据类型简档向应用发送输入数据的通知。举例来说,触觉设备驱动器120可以接收来自输入配置模块124的通知,以便向应用发送特定类型和/或组合的触觉输入数据。

步骤502确定所请求的输入数据类型简档当前是否是活动的。举例来说,触觉设备驱动器120可以确定其当前是否正在基于所请求的输入数据类型简档发送输入数据。触觉设备驱动器120例如可以确定所请求的输入简档是否匹配当前正被用来发送触觉输入数据的输入简档模块122之一。

如果所请求的输入简档当前是活动的(“是”),则步骤504根据所请求的输入数据类型简档发送输入数据。举例来说,触觉设备驱动器120可以经由对应于所请求的输入数据类型简档的输入简档模块122之一向设备处理器模块126和/或应用104之一发送触觉输入数据。

如果特定输入简档当前不是活动的(“否”),则步骤506发起根据所请求的输入数据类型简档发送输入数据。举例来说,触觉设备驱动器120可以从经由输入简档模块122之一发送输入数据切换到经由所述输入简档模块122中对应于所请求的输入数据类型简档的不同的一个输入简档模块发送输入。正如前面所讨论的那样,一些输入简档规定多种不同类型的输入数据,比如未经处理的触摸数据、经过处理的触摸数据、笔输入数据等等的组合。因此,可以利用至少一些输入简档(例如输入简档模块122)并行地发送多种不同类型的输入数据。

图6是描述根据一个或更多实施例的一种方法中的步骤的流程图。在实现中,所述方法描述了前面关于图4和5讨论的方法的继续。

步骤600接收与特定输入数据类型简档相关联的应用被去激活的指示。举例来说,输入配置模块124和/或触觉设备驱动器120可以接收到先前活动的应用已变为不活动的指示。所述应用例如可以被关闭,从而使得该应用不再运行在计算设备上。可替换地,可以在显示屏上在视觉上最小化所述应用的图形用户接口,从而指示该应用不是作为用户交互的一部分的焦点。在实现中,输入配置模块124可以接收所述应用已变为不活动的通知,并且可以通知触觉设备驱动器120。

步骤602确定没有其他的经由所述特定输入数据类型简档接收输入的应用是活动。举例来说,输入配置模块124和/或触觉设备驱动器120可以确定没有其他的根据所述输入简档模块122中与所述去激活的应用相关联的一个特定输入简档模块来接收输入数据的应用是活动的。

步骤604停止根据所述特定输入数据类型简档发送输入数据。举例来说,响应于指示所述应用被去激活和/或没有其他的经由所述特定输入数据类型简档接收输入的应用是活动的,触觉设备驱动器120可以停止发送对应于所述特定输入数据类型简档的输入数据。触觉设备驱动器120例如可以停止经由对应于所述特定输入数据类型简档的输入简档模块122之一发送输入数据。因此,在实现中,通过不发送未被应用或其他进程使用的输入数据,可以节省设备资源。

已经讨论了一些示例过程,现在考虑根据一个或更多实施例的示例系统和设备的讨论。

示例系统和设备

图7在700处总体上图示出了包括示例计算设备702的示例系统,所述示例计算设备702代表可以实施这里所描述的各种技术的一个或更多计算系统和/或设备。举例来说,前面参照图1讨论的计算设备102可以被具体实现为计算设备702。计算设备702例如可以是服务提供商的服务器、与客户相关联的设备(例如客户端设备)、芯片上系统和/或任何其他适当的计算设备或计算系统。

所图示的示例计算设备702包括彼此通信地耦合的处理系统704、一个或更多计算机可读介质706以及一个或更多输入/输出(I/O)接口708。虽然没有示出,但是计算设备702还可以包括将各个组件彼此耦合的系统总线或者其他数据和命令传输系统。系统总线可以包括不同总线结构中的任何一种或者任意组合,比如利用多种总线架构当中的任一种的存储器总线或存储器控制器、外围总线、通用串行总线和/或处理器或局部总线。多种其他示例也被考虑,比如控制和数据线。

处理系统704代表用于利用硬件实施一项或更多项操作的功能。相应地,处理系统704被图示为包括硬件元件710,硬件元件710可以被配置成处理器、功能块等等。这可以包括以硬件实现为利用一种或更多种半导体形成的专用集成电路或其他逻辑设备。硬件元件710不受形成它们的材料或者其中所采用的处理机制的限制。举例来说,处理器可以由(多种)半导体和/或晶体管构成(例如电子集成电路(IC))。在这样的情境中,处理器可执行指令可以是电子可执行指令。

计算机可读介质706被图示为包括存储器/存储装置712。存储器/存储装置712代表与一个或更多计算机可读介质相关联的存储器/存储装置容量。存储器/存储装置712可以包括易失性介质(比如随机存取存储器(RAM))和/或非易失性介质(比如只读存储器(ROM)、闪存、光盘、磁盘等等)。存储器/存储装置712可以包括固定介质(例如RAM、ROM、固定硬盘驱动器等等)以及可移除介质(例如闪存、可移除硬盘驱动器、光盘等等)。可以通过多种其他方式来配置计算机可读介质706,正如后面进一步描述的那样。

(多个)输入/输出接口708代表用于利用各种输入/输出设备允许用户向计算设备702输入命令和信息并且还允许向用户和/或其他组件或设备呈现信息的功能。输入设备的示例包括键盘、光标控制设备(例如鼠标)、麦克风(例如用于语音识别和/或话音输入)、扫描仪、触摸功能(例如被配置成检测物理接触的电容性或其他传感器)、摄影机(例如,其可以采用可见或不可见波长(例如红外频率)以便把不涉及触摸的移动检测为手势)等等。输出设备的示例包括显示设备(例如监视器或投影仪)、扬声器、打印机、网络卡、触觉响应设备等等。因此,可以按照后面进一步描述的多种方式配置计算设备702以支持用户交互。

这里可能在软件、硬件元件或程序模块的一般情境中描述了各种技术。一般来说,这样的模块包括实施特定任务或者实施特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等等。这里所使用的术语“模块”、“功能”和“组件”通常表示软件、固件、硬件或其组合。这里所描述的技术的特征是独立于平台的,这意味着可以在具有多种处理器的多种商用计算平台上实施所述技术。

所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上或者通过某种形式的计算机可读介质来传送。计算机可读介质可以包括可由计算设备702访问的多种介质。作为举例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。

与纯粹的信号传送、载波或信号本身形成对照的是,“计算机可读存储介质”可以指代允许永久性和/或非瞬时性的信息存储的介质和/或设备。因此,计算机可读存储介质不包括信号承载介质。计算机可读存储介质包括硬件,比如易失性和非易失性、可移除和不可移除的在适合于存储信息(比如计算机可读指令、数据结构、程序模块、逻辑元件/电路或者其他数据)的方法或技术中实施的介质和/或存储设备。计算机可读存储介质的示例可以包括而不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、硬盘、磁盒、磁带、磁盘存储装置或其他磁性存储设备、或者其他存储设备、有形介质或者适合于存储所期望的信息并且可由计算机访问的制造品。

“计算机可读信号介质”可以指代被配置成例如经由网络向计算设备702的硬件传送指令的信号承载介质。信号介质通常可以把计算机可读指令、数据结构、程序模块或其他数据具体实现在已调制数据信号中,比如载波、数据信号或其他传输机制。信号介质还包括任何信息递送介质。术语“已调制数据信号”意味着其一项或更多项特性被设定或改变从而使得将信息编码在信号中的所述信号。作为举例而非限制,通信介质包括例如有线网络或直接连线连接之类的有线介质,以及例如声学、射频(RF)、红外和其他无线介质之类的无线介质。

如前所述,硬件元件710和计算机可读介质706代表通过硬件形式实施的指令、模块、可编程设备逻辑和/或固定设备逻辑,其可以在一些实施例中被采用以便实施这里所描述的技术的至少一些方面。硬件元件可以包括集成电路或芯片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑设备(CPLD)以及在硅或其他硬件设备方面的其他实现的组件。在本上下文中,硬件元件可以操作为实施由通过所述硬件元件具体实现的指令、模块和/或逻辑所定义的程序任务的处理设备,以及被利用来存储用于执行的指令的硬件设备,例如前面所描述的计算机可读存储介质。

还可以采用前述各项的组合来实施这里所描述的各种技术和模块。相应地,软件、硬件或者程序模块和其他程序模块可以被实施为具体实现在某种形式的计算机可读存储介质上和/或通过一个或更多硬件元件710实施的一条或更多条指令和/或逻辑。计算设备702可以被配置成实施对应于软件和/或硬件模块的特定指令和/或功能。相应地,可由计算设备702作为软件执行的模块的实现可以至少部分地通过硬件来实现,例如通过使用处理系统的计算机可读存储介质和/或硬件元件710来实现。所述指令和/或功能可以是可由一个或更多个制造品(例如一个或更多计算设备702和/或处理系统704)执行/操作的,以便实施这里所描述的技术、模块和示例。

如图7中进一步图示出的那样,当在个人计算机(PC)、电视设备和/或移动设备上运行应用时,示例系统700实现了用于无缝用户体验的无处不在的环境。当在利用某项应用、玩视频游戏、观看视频等等的同时从一个设备转移到下一个设备时,服务和应用为了共同的用户体验而在所有三个环境中基本上类似地运行。

在示例系统700中,多个设备通过中央计算设备互连。中央计算设备可以位于所述多个设备本地,或者其位置可以远离所述多个设备。在一个实施例中,中央计算设备可以是由通过网络、因特网或其他数据通信链路而连接到所述多个设备的一台或更多台服务器计算机构成的云。

在一个实施例中,这种互连架构允许在多个设备上进行递送的功能,从而为所述多个设备的用户提供共同的无缝体验。所述多个设备当中的每一个可以具有不同的物理要求和能力,并且中央计算设备使用一个平台来允许向该设备递送既是针对该设备定制的、同时又对于所有设备是共同的体验。在一个实施例中,创建一个目标设备类别,并且针对该一般设备类别来定制体验。设备类别可以由设备的物理特征、使用类型或其他共同特性来定义。

在各种实现中,计算设备702可以采用比如用于计算机714、移动装置716和电视718用途的多种不同配置。这些配置当中的每一种包括可以具有总体上不同的构造和能力的设备,因此可以根据所述不同的设备类别中的一个或更多来配置计算设备702。举例来说,计算设备702可以被实施为计算机714设备类别,其包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等等。

计算设备702还可以被实施为移动装置716设备类别,其包括移动设备,比如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、多屏幕计算机等等。计算设备702还可以被实施为电视718设备类别,其包括在非正式的观看环境中具有或者连接到通常更大的屏幕的设备。这些设备包括电视、机顶盒、游戏控制台等等。

这里所描述的技术可以由计算设备702的各种这些配置支持,并且不限于这里所描述的技术的具体示例。举例来说,参照计算设备102讨论的功能可以全部或者部分地通过使用分布式系统来实施,比如经由后面描述的平台722在“云”720上实施。

云720包括和/或代表用于资源724的平台722。平台722抽象化云720的硬件(例如服务器)和软件资源的底层功能。资源724可以包括能够在远离计算设备702的服务器上执行计算机处理的同时被利用的应用和/或数据。资源724还可以包括在因特网上和/或通过例如蜂窝或Wi-Fi网络之类的订户网络提供的服务。

平台722可以抽象化用于将计算设备702与其他计算设备连接的资源和功能。平台722还可以用来抽象化资源的缩放,以便针对所遇到的对于经由平台722实施的资源724的需求提供相应的缩放水平。相应地,在互连设备实施例中,这里所描述的功能的实现可以被分布在整个系统700中。举例来说,所述功能可以部分地被实施在计算设备702上以及经由抽象化云720的功能的平台722来实施。

这里讨论了可以被实施来执行这里所描述的技术的若干种方法。所述方法的各个方面可以通过硬件、固件、软件或者其组合来实施。所述方法被示为规定了由一个或更多设备实施的操作的方块的集合,并且不一定受限于针对由对应的方块实施所述操作而示出的顺序。此外,关于特定方法示出的操作可以与根据一种或更多种实现的不同方法的操作组合和/或互换。所述方法的各个方面可以经由前面参照环境100讨论的各种实体之间的交互来实施。

结论

描述了用于提供输入数据类型简档的技术。虽然用特定于结构特征和/或方法动作的语言描述了实施例,但是应当理解的是,在所附权利要求书中限定的实施例不一定受限于所描述的具体特征或动作。相反,所述具体特征和动作是作为实施所要求保护的实施例的示例形式而公开的。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号