首页 / 专利库 / 电脑图像 / 触觉反馈 / 触觉反馈 / 用于触摸输入设备的触觉反馈

用于触摸输入设备的触觉反馈

阅读:1037发布:2020-05-28

专利汇可以提供用于触摸输入设备的触觉反馈专利检索,专利查询,专利分析的服务。并且描述了用于触摸输入设备的 触觉反馈 的技术。一般而言,触觉反馈被提供用于与触摸输入设备的不同用户交互,诸如与应用、服务等的交互。根据各 实施例 ,触觉反馈的发起方式取决于不同功能性是否直接支持触觉反馈。例如,本文描述的技术使得无论特定功能性是否直接支持触觉反馈都能提供触觉反馈。,下面是用于触摸输入设备的触觉反馈专利的具体信息内容。

1.一种用于造成触觉反馈的系统,所述系统包括:
启用触觉的触摸输入设备;
至少一个处理器;以及
其上存储有指令的一个或多个计算机可读存储介质,所述指令响应于由所述至少一个处理器执行而使得所述系统执行包括以下各项的操作:
经由所述触摸输入设备接收输入的指示;
查明针对所述输入的触觉反馈是否要通过从所述触摸输入设备外部的外部功能性接收到的外部触觉事件来发起,或者触觉反馈是否要通过由所述触摸输入设备响应于所述输入而生成的内部触觉事件来发起;以及
使得所述触摸输入设备基于所述外部触觉事件或所述内部触觉事件之一来输出触觉反馈。
2.如权利要求1所述的系统,其特征在于,所述触摸输入设备包括启用触觉的触摸板、启用触觉的触摸屏、或启用触觉的笔中的一者或多者。
3.如权利要求1所述的系统,其特征在于,所述一个或多个计算机可读存储介质包括所述触摸输入设备的固件
4.如权利要求1所述的系统,其特征在于,所述操作还包括确定所述外部功能性直接支持触觉反馈,其中所述查明包括查明针对所述输入的所述触觉反馈要通过外部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述外部触觉事件来输出触觉反馈。
5.如权利要求1所述的系统,其特征在于,所述外部功能性包括当前具有焦点的应用,所述操作还包括确定所述应用直接支持触觉反馈,并且其中所述查明包括查明针对所述输入的所述触觉反馈要通过从所述应用接收到的外部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述外部触觉事件来输出触觉反馈。
6.如权利要求1所述的系统,其特征在于,所述外部功能性包括操作系统,所述操作还包括确定所述操作系统直接支持触觉反馈,并且其中所述查明包括查明针对所述输入的所述触觉反馈要通过从所述操作系统接收到的外部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述外部触觉事件来输出触觉反馈。
7.如权利要求1所述的系统,其特征在于,所述操作还包括确定所述外部功能性不直接支持触觉反馈,其中所述查明包括查明针对所述输入的所述触觉反馈要通过内部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述内部触觉事件来输出触觉反馈。
8.如权利要求1所述的系统,其特征在于,所述外部功能性包括当前具有焦点的应用,所述操作还包括确定所述应用不直接支持触觉反馈,并且其中所述查明包括查明针对所述输入的所述触觉反馈要通过内部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述内部触觉事件来输出触觉反馈。
9.如权利要求1所述的系统,其特征在于,所述外部功能性包括操作系统,所述操作还包括确定所述操作系统不直接支持触觉反馈,并且其中所述查明包括查明针对所述输入的所述触觉反馈要通过内部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述内部触觉事件来输出触觉反馈。
10.如权利要求1所述的系统,其特征在于,所述查明包括查明针对所述输入的所述触觉反馈要通过内部触觉事件来发起,并且所述使得包括:
查明用来向所述触摸输入设备提供输入的姿势的一个或多个属性;以及使得基于所述一个或多个属性来输出所述触觉反馈。
11.一种用于使得输出触觉反馈的计算机实现的方法,所述系统,包括:
接收对触摸输入设备的触摸表面的输入的指示;
查明针对所述输入的触觉反馈是否要通过从所述触摸输入设备外部的外部功能性接收到的外部触觉事件来发起,或者触觉反馈是否要通过由所述触摸输入设备响应于所述输入而生成的内部触觉事件来发起;以及
使得所述触摸输入设备基于所述外部触觉事件或所述内部触觉事件之一来输出触觉反馈。
12.如权利要求11所述的方法,其特征在于,还包括基于触觉数据确定所述外部功能性是否直接支持触觉反馈,并且其中所述查明包括以下之一:
在所述触觉数据指示所述外部功能性直接支持触觉反馈的情况下,查明针对所述输入的所述触觉反馈要通过从外部功能性接收到的外部触觉事件来发起;或者在所述触觉数据指示所述外部功能性不直接支持触觉反馈的情况下,查明所述触觉反馈要通过由所述触摸输入设备响应于所述输入生成的内部触觉事件来发起。
13.如权利要求11所述的方法,其特征在于,还包括接收所述外部功能性直接支持触觉反馈的通知,其中所述查明包括查明针对所述输入的所述触觉反馈要通过外部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述外部触觉事件来输出触觉反馈。
14.如权利要求11所述的方法,其特征在于,所述查明包括查明针对所述输入的所述触觉反馈由通过内部触觉事件来发起,并且所述使得包括:
查明用来向所述触摸输入设备提供输入的姿势的一个或多个属性;
将所述姿势的属性映射到触觉反馈;以及
使得输出所述触觉反馈。

说明书全文

用于触摸输入设备的触觉反馈

[0001] 背景
[0002] 现代计算设备利用各种不同类型的反馈来向用户指示某些功能性可用和某些动作正在发生或将要发生。例如,在用户将光标悬停在超链接上时,可呈现指示可选择该超链接来导航到特定网络位置视觉反馈。在另一示例中,音频反馈可被呈现以指示传入通信,诸如新即时消息。
[0003] 一种特别有用的类型的反馈是触觉反馈,它经由各种机制提供触觉上可感知的反馈。例如,触摸屏可以采用触觉设备(例如,压电设备)来在用户按下触摸屏上显示的虚拟按钮时提供局部化震动。此类触觉反馈表示用户已成功选择该虚拟按钮的触觉加强,并且可以与其他类型的反馈(例如,视觉和音频反馈)相组合,以提高某些动作和功能性的可感知性。尽管触觉反馈可被用在各种场景中,但可能难以全面地包括跨可能不具有调用触觉机制的能的不同应用和服务。
[0004] 概述
[0005] 提供本概述以便以简化的形式介绍以下在详细描述中进一步描述的一些概念。本概述并非旨在标识出要求保护的主题的关键特征或必要特征,亦非旨在用作辅助确定要求保护的主题的范围。
[0006] 描述了用于触摸输入设备的触觉反馈的技术。一般而言,触觉反馈被提供用于与触摸输入设备的不同用户交互,诸如与应用、服务等的交互。根据各实施例,触觉反馈的发起方式取决于不同功能性是否直接支持触觉反馈。例如,本文描述的技术使得无论特定功能性是否直接支持触觉反馈都能提供触觉反馈。
[0007] 附图简述
[0008] 结合附图来描述具体实施方式。在附图中,附图标记最左边的数字标识该附图标记首次出现的附图。在说明书和附图的不同实例中使用相同的附图标记可指示相似或相同的项目。
[0009] 图1是在可用于采用本文讨论的技术的示例实现中的环境的图示。
[0010] 图2解说了根据一个或多个实施例的用于支持触觉反馈的应用的示例实现场景。
[0011] 图3描绘了根据一个或多个实施例的用于不直接支持触觉反馈的应用的示例实现场景。
[0012] 图4是描述根据一个或多个实施例的用于使得输出触觉反馈的方法中的各步骤的流程图
[0013] 图5是描述根据一个或多个实施例的用于确定是否要基于外部触觉事件或内部触觉事件来生成触觉反馈的方法中的各步骤的流程图。
[0014] 图6是描述根据一个或多个实施例的用于确定触觉反馈的属性的方法中的各步骤的流程图。
[0015] 图7例示了如参考图1描述的示例系统和计算设备,该示例系统和计算设备被配置为实现本文所描述的各技术的各实施例。
[0016] 详细描述
[0017] 概览
[0018] 描述了用于触摸输入设备的触觉反馈的技术。一般而言,触觉反馈被提供用于与触摸输入设备的不同用户交互,诸如与应用、服务等的交互。根据各实现,触觉反馈的发起方式取决于不同功能性是否直接支持触觉反馈。
[0019] 例如,考虑其中用户正向启用触觉的触摸输入设备提供触摸姿势以向应用的图形用户界面(GUI)提供输入的第一场景。此外,考虑该应用直接支持触觉反馈。例如,直接支持触觉反馈的应用表示包括用于识别不同类型的用户输入并基于用户输入和应用上下文来发起特定触觉反馈的逻辑的应用。一般而言,应用上下文指的是各种应用专用场景,诸如GUI上下文、应用状态,等等。相应地,在这一特定场景中,应用直接支持触觉反馈,并且因而识别对GUI的用户输入并使得触摸输入设备基于用户输入的属性来生成触觉反馈。
[0020] 现在考虑其中用户正向启用触觉的触摸输入设备提供触摸姿势以向不同应用的GUI提供输入的第二场景。此外,考虑该不同应用不直接支持触觉反馈。不直接支持触觉反馈的应用例如表示不包括用于基于用户输入和/或应用上下文来发起特定触觉反馈的直接逻辑的应用。相应地,本文讨论的技术使得能在触摸输入设备上提供触觉反馈,即使该不同应用不直接支持触觉反馈。例如,触摸输入设备的触觉功能性(例如,固件、设备驱动程序,等等)识别触摸姿势的属性并基于该属性来生成预定义触觉反馈。因而,触觉反馈可被提供,即使特定功能性(诸如特定应用、特定操作系统,等等)不直接支持触觉反馈。
[0021] 相应地,本文描述的技术使得能够跨各种不同系统和功能性并且在其中特定系统和/或功能性不直接支持触觉反馈的场景中提供触觉反馈。
[0022] 在以下讨论中,首先描述可用于采用本文所描述的技术的示例环境。接着,题为“示例实现场景”的章节描述根据一个或多个实施例的一些示例实现场景。再后,题为“示例规程”的章节描述了根据一个或多个实施例的一些示例规程。最后,题为“示例系统和设备”的章节描述根据一个或多个实施例的可用于采用本文所讨论的各技术的示例系统和设备。
[0023] 呈现了根据一个或多个实施例的示例实现的概览之后,现在考虑其中可采用各示例实现的示例环境。
[0024] 示例环境
[0025] 图1是在一示例实现中可用于采用本文中描述的用于触摸输入设备的触觉反馈的各技术的环境100的图示。环境100包括客户端设备102,客户端设备102可按各种方式来配置,诸如传统计算机(例如,台式个人计算机、膝上型计算机,等等)、移动设备、娱乐电器、智能电话、可穿戴设备、上网本、游戏控制台、手持式设备(例如,平板),等等。
[0026] 客户端设备102包括允许各种活动和任务能够被执行的各种不同的功能。例如,客户端设备102包括操作系统104、应用106、输入/输出(“I/O”)设备108以及触觉模110。一般而言,操作系统104表示用于抽象客户端设备102的诸如硬件内核级模块和服务等各系统组件的功能。例如,操作系统104可向应用106抽象客户端设备102的各组件以允许各组件与应用106之间的交互。
[0027] 应用106表示用于经由客户端设备102执行不同任务的功能。应用106的示例包括文字处理应用、电子表格应用、web浏览器、游戏应用、通信应用等。应用106可被安装在客户端设备102本地以经由本地运行时环境来执行,和/或可表示到诸如基于的服务、web应用等远程功能的户。因此,应用106可采取各种形式,诸如在本地执行的代码、到远程地主存的服务的门户等。
[0028] I/O设备108表示用于接收对客户端设备102的输入和/或用于提供来自客户端设备102的输出的不同功能性。I/O设备108的特定实例例如表示专用输入设备、专用输出设备、或既接收输入又提供输出的设备。I/O设备108包括触觉输入/输出(“I/O”)设备112,它表示被配置成提供触觉输出的设备。例如,触觉I/O设备112包括触摸屏114和触摸板116,它们被配置成提供在触觉上可感知的触觉反馈。触摸屏114例如不仅被配置成提供视觉输出,还可接收触摸输入并提供触觉输出。此外,触摸板116可不仅接收针对客户端设备102的触摸输入,还可提供各种类型的触觉输出。一般而言,触觉I/O设备112可以利用各种不同的触觉生成机制来生成触觉反馈,诸如电机、磁体、(基于磁和压电的)线性谐振致动器(LRA)、压电杆,等等。
[0029] 触觉模块110表示用于使客户端设备102能够提供各种类型的触觉输出的功能性。例如,触觉模块110表示用于使触觉I/O设备输出各种类型的触觉反馈的硬件和逻辑。触觉模块110例如包括触觉应用编程接口(API)118、触觉驱动程序120以及姿势映射122。一般而言,触觉API 118和触觉驱动程序120表示用于使各种其他功能性能调用触觉I/O设备的功能性。例如,操作系统104和应用106可以调用触觉API 118来请求特定触觉I/O设备112生成触觉反馈。触觉API 118随后与触觉驱动程序120对接,触觉驱动程序120进而与触觉I/O设备112对接以使得触觉I/O设备112生成触觉反馈。在下文描述环境100中包括的各实体之间的示例交互。
[0030] 姿势映射122表示不同姿势到不同相应类型的触觉反馈的映射。例如,不同姿势属性可以使得生成不同相应类型的触觉反馈。如下文进一步详细描述的,在其中触觉I/O设备112外部的功能性(例如,应用106、操作系统104,等等)不直接支持触觉反馈的情况下,触觉模块110可以检测施加到触觉I/O设备112的姿势的属性并使触觉I/O设备112基于该属性输出特定类型的触觉反馈。
[0031] 在至少一些实现中,触觉模块110可被实现为触觉I/O设备112的一部分,诸如在触觉I/O设备112的固件中。作为替换或补充,触觉模块110可被实现为客户端设备102的系统资源的一部分,诸如操作系统104的一部分。
[0032] 客户端设备102进一步包括触觉数据124,它表示与不同功能性是否直接支持触觉反馈有关的信息。例如,触觉数据124包括应用106的各单独应用的标识符,并指示各单独应用中的每一者是否支持触觉反馈。触觉数据124还可指示其他功能性是否直接支持触觉反馈,诸如操作系统104、驻留在客户端设备102上的其他服务,等等。一般而言,触觉数据124可被实现为触觉模块110的一部分、操作系统104的一部分和/或可由客户端设备102的不同功能性访问的独立触觉数据集。
[0033] 启用触觉的笔126被进一步解说为环境100的一部分,它表示触觉I/O设备112的实例。一般而言,启用触觉的笔126表示包括可在各种场景中生成触觉反馈的各种内部组件的手持式输入装置。例如,启用触觉的笔126可以向触摸屏114提供输入,并可基于各种事件生成触觉反馈。下文讨论的各种实现和场景例如可应用于各种启用触觉的设备所生成的触觉反馈,诸如触摸板116、触摸屏114和启用触觉的笔126。
[0034] 已经描述了本文描述的技术可在其中操作的示例环境,现在考虑根据一个或多个实施例的用于触摸输入设备的触觉反馈的示例实现场景的讨论。
[0035] 示例实现场景
[0036] 以下章节描述了根据一个或多个实现的用于触摸输入设备的触觉反馈的一些示例实现场景。各实现场景可被实现在上述环境100中和/或任何其他合适环境中。
[0037] 图2描绘了根据一个或多个实现的用于直接支持触觉反馈的应用的示例实现场景200。场景200包括以上参考环境100介绍的各种实体和组件。
[0038] 在场景200中,应用106a是活跃的且应用106a的图形用户界面(GUI)202被显示在客户端设备102的触摸屏114上。此外,应用106a被配置成基于各种应用相关事件发起触觉反馈。例如,应用106a包括用于与触觉模块110对接(诸如,经由触觉API 118)的逻辑。作为替换或补充,应用106a被配置成经由与操作系统104的交互来发起触觉反馈。例如,操作系统104可充当应用106a和触觉模块110之间的中介。
[0039] 继续场景200,用户向触摸板116提供输入以与GUI 202交互。例如,用户的手指204可移动跨过触摸板116的表面来在GUI 202内移动光标206。在这一特定示例中,用户将光标206移动到动作区208附近。一般而言,动作区指的是GUI 202的与特定可用动作相关联的区域。例如,动作区208被配置成接收指定用于检索和显示天气相关信息的特定位置的用户输入。
[0040] 响应于检测到光标206在动作区208附近(例如,接触和/或交叠),应用106a向触觉模块110发起触觉事件210。例如,触觉事件210经由触觉API 118从应用106a直接传递到触觉模块110。替换地,应用106a将触觉事件210传递到操作系统104,且操作系统104将触觉事件210转发给触觉模块110。一般而言,触觉事件210表示“外部”触觉事件,因为触觉事件210由在触觉模块110和触觉I/O设备112外部的外部功能性生成。
[0041] 根据各实现,触觉事件210指定要由触摸板116生成的特定类型的触觉反馈。例如,GUI 202的不同动作区可被链接到不同类型的触觉反馈。相应地,响应于接收到触觉事件210,触觉模块110使得触摸板116生成触觉反馈212。例如,触觉模块110指令触觉驱动程序
120来使触摸板116生成触觉反馈212。触觉反馈212例如由触摸板116的触觉机制来产生,并且在触摸板116的表面上是触觉可感知的,诸如由用户的手指204。
[0042] 在至少一些实现中,触觉模块110被配置成跟踪哪些应用106直接支持触觉反馈以及哪些应用106不直接支持。例如,直接支持触觉反馈的特定应用106表示被配置成生成触觉事件以通知触觉模块110生成触觉反馈的应用106。然而,不直接支持触觉反馈的不同应用106表示未被配置成生成触觉事件的应用106。因而,场景200表示其中应用106a直接支持触觉反馈并且因而被配置成生成触觉事件210以使得生成触觉反馈212的实现。
[0043] 图3描绘了根据一个或多个实现的用于不直接支持触觉反馈的应用的示例实现场景300。场景300包括以上参考环境100介绍的各种实体和组件。在至少一些实现中,场景300表示如上所述的场景200的扩展和/或变型。
[0044] 在场景300中,应用106b是活跃的且应用106b的图形用户界面(GUI)302被显示在客户端设备102的触摸屏114上。此外,应用106b未被配置成基于各种应用相关事件发起触觉反馈。例如,应用106b不包括用于与触觉模块110交互的逻辑。应用106b例如不直接支持生成触觉事件。
[0045] 继续场景300,用户向触摸板116提供输入以与GUI 202b交互。例如,用户的手指204可移动跨过触摸板116的表面来在GUI 302内移动光标206。在这一特定示例中,用户向触摸板116提供姿势304以移动光标206并向下拖动滚动条306。因为应用106b不直接支持触觉反馈,所以触觉模块110检测到姿势304并向触觉驱动程序120发起触觉事件308。触觉模块110例如发起触觉事件308而无需与应用106b直接交互。作为替换或补充,在应用106b活跃时(例如,在触摸屏114上具有焦点),触觉模块110查询操作系统104以寻求生成触觉反馈的许可(例如,发起触觉事件308)。
[0046] 响应于接收到触觉事件308,触觉驱动程序120使得触摸板116生成触觉反馈310。例如,操作系统104诸如基于触觉数据124中指示应用106b不直接支持触觉反馈的条目来检测到应用106b具有焦点且应用106b不直接支持触觉反馈。相应地,操作系统104通知触觉模块110(例如,经由触觉API 118)当前处于焦点的应用不直接支持触觉反馈。作为替换或补充,操作系统104向触觉模块110通知应用106b具有焦点,且触觉模块110在触觉数据124中查找应用106b以确定应用106b不直接支持触觉反馈。
[0047] 响应于检测到姿势304并查明应用106b不直接支持触觉反馈,触觉模块110确定触觉反馈310要由触摸板116生成。在一示例实现中,触觉模块110确定姿势304的姿势类型,并基于姿势类型来确定触觉反馈310。触觉模块110例如基于姿势304的属性来确定姿势类型。此类姿势属性的示例包括该姿势相对于触摸板116的移动方向(例如,上、下、左、右,等等)、移动距离、移动速度、加速度和/或减速度、在生成姿势304时施加的压力的量,等等。此类姿势属性中的一者或多者可以在表征姿势304的姿势类型时考虑。
[0048] 例如,不同姿势属性集合可对应于不同相应姿势类型。此外,不同姿势类型可被映射到不同相应触觉反馈类型,诸如在姿势映射122中。例如,轻叩姿势可被映射到一种类型的触觉反馈,滑扫姿势可被映射到另一类型的触觉反馈,而拖动姿势可被映射到又一类型的触觉反馈,等等。在场景300中呈现的特定示例中,触觉模块110查明姿势304是触摸板116上的向下拖动姿势,将姿势304映射到姿势映射122中被标识用于姿势304的触觉反馈,以及生成触觉事件308来标识触觉反馈310。基于触觉事件308中包括的信息,触觉驱动程序120在触摸板116上发起触觉反馈310。
[0049] 根据各实现,触觉模块110使得触觉反馈310由触摸板116独立于来自应用106b的用于生成触觉反馈的通知并独立于与应用106b的输入上下文有关的任何信息来生成。例如,触觉模块110使得触觉反馈310基于姿势304本身的属性并且无需来自应用106b的任何输入(例如,上下文和/或指令)来生成。因而,触觉事件308表示“内部”触觉事件,因为触觉事件308在触觉模块110和/或触摸板116内部生成且独立于与应用106b的直接交互。
[0050] 相应地,以上描述的场景解说了用于本文描述的触摸输入设备的触觉反馈的实现可以在直接支持触觉反馈的功能性和不直接支持触觉反馈的功能性之间进行区分,并且可以在这两种情形中都允许生成触觉反馈。尽管参考不同应用讨论了这些场景,但将明白,本文讨论的实现可以与各种不同功能性一起使用,诸如不同应用、服务、操作系统,等等。例如,本文描述的技术可被用来在具有不直接支持触觉反馈的操作系统的设备上生成触觉反馈。
[0051] 此外,尽管参考触摸板116讨论了上述场景,但将明白,可以用任何启用触觉的设备实现各场景,诸如触摸屏114、启用触觉的笔126,等等。
[0052] 已经讨论了一些示例实现场景,现在考虑根据一个或多个实施例的一些示例规程的讨论。
[0053] 示例规程
[0054] 以下讨论描述了根据一个或多个实施例的用于触摸输入设备的触觉反馈的一些示例规程。各示例规程可被用于图1的环境100、图7的系统700和/或任何其他合适的环境中。各规程例如表示用于实现上述实现场景的示例规程。在至少一些实现中,针对各种规程描述的步骤是自动地且独立于用户交互来实现的。
[0055] 图4是描述根据一个或多个实现的方法中的各步骤的流程图。该方法描述了根据一个或多个实现的用于使得输出触觉反馈的示例规程。在至少一些实现中,该方法可至少部分地由触觉模块110和/或操作系统104执行。
[0056] 步骤400接收对触摸输入设备的触摸表面的输入的指示。触觉模块110例如检测到用户输入被提供给触觉I/O设备112的触摸表面,诸如触摸板116或触摸屏114之一。
[0057] 步骤402查明针对该输入的触觉反馈要由外部触觉事件还是内部触觉事件来发起。一般而言,外部触觉事件表示由触觉模块110从在触摸输入设备的外部的外部功能性(诸如直接支持触觉反馈的应用106、操作系统104,等等)接收到的触觉事件。外部触觉事件的一个示例实现是上文讨论的触觉事件210。内部触觉事件表示由触摸输入设备响应于输入来生成的触觉事件。内部触觉事件的一个示例实现是上文讨论的触觉事件308。确定触觉反馈要基于外部触觉事件还是内部触觉事件来生成的一种示例方式在下文讨论。
[0058] 在针对该输入的触觉反馈要由外部触觉事件(“外部”)发起的情况下,步骤404接收外部触觉事件并使得触摸输入设备基于该外部触觉事件来输出触觉反馈。例如,触觉模块110从应用106和/或操作系统104接收触觉事件。一般而言,触觉事件包括描述要由触摸输入设备输出的触觉反馈的属性的信息。触觉反馈的属性的示例包括震动频率、震动幅度、反馈历时、触觉脉冲信息、频率和/或幅度的变化,等等。
[0059] 在针对该输入的触觉反馈要由内部触觉事件(“内部”)发起的情况下,步骤406使得触摸输入设备基于该内部触觉事件来输出触觉反馈。例如,触觉模块110将内部触觉事件传达给触觉驱动程序120以使得触摸输入设备(例如,触觉I/O设备112之一)输出触觉反馈。内部触觉事件例如包括描述要由触摸输入设备输出的触觉反馈的属性的信息,其示例在上文描述。在至少一些实现中,触觉反馈的属性是基于施加到触摸输入设备以生成对触摸表面的输入的姿势的属性来确定的。确定触觉反馈的属性的示例方式在下文讨论。
[0060] 图5是描述根据一个或多个实现的方法中的各步骤的流程图。该方法描述了根据一个或多个实现的用于确定要基于外部触觉事件还是内部触觉事件来生成触觉反馈的示例规程。在至少一些实现中,该方法可至少部分地由触觉模块110和/或操作系统104执行。
[0061] 步骤500确定触摸输入设备外部的功能性是否直接支持触觉反馈。触觉模块110例如确定当前在客户端设备102上具有焦点的应用106是否直接支持触觉反馈和/或操作系统104是否直接支持触觉反馈。应用106和操作系统104例如表示触摸输入设备外部(即,触觉I/O设备112外部)的功能性。
[0062] 如果触摸输入设备外部的功能性直接支持触觉反馈(“是”),则步骤502确定要响应于外部触觉事件来生成触觉反馈。当前具有焦点的应用106例如向触觉模块110通知该应用直接支持触觉反馈。作为替换或补充,操作系统104向触觉模块110通知当前具有焦点的应用106直接支持触觉反馈和/或操作系统104本身直接支持触觉反馈。在至少一些实现中,外部功能性经由对触觉API118的调用来与触觉模块110交互。
[0063] 在又一实现中,触觉模块110根据触觉数据124确定特定应用106和/或操作系统104是否直接支持触觉反馈。例如,触觉模块110可以通过查明触觉数据124是否指示外部功能性直接支持/不直接支持触觉反馈来确定外部功能性是否直接支持触觉反馈。
[0064] 如果触摸输入设备外部的功能性不直接支持触觉反馈(“否”),则步骤504确定要响应于内部触觉事件来生成触觉反馈。例如,操作系统104向触觉模块110通知当前具有焦点的应用106不直接支持触觉反馈。作为替换或补充,且如上所述,触觉模块110可以通过查明触觉数据124是否指示外部功能性直接支持/不直接支持触觉反馈来确定外部功能性是否直接支持触觉反馈。
[0065] 图6是描述根据一个或多个实现的方法中的各步骤的流程图。该方法描述了根据一个或多个实现的用于确定触觉反馈的属性的示例规程。在至少一些实现中,该方法可至少部分地由触觉模块110和/或操作系统104执行。例如,该方法表示在上文中参考图4描述的步骤406的实现。
[0066] 步骤600查明用来向触摸输入设备提供输入的姿势的属性。姿势属性的示例包括相对于向其施加该姿势的表面的方向(例如,上、下、左、右,等等)、移动距离、移动速度、加速度和/或减速度、在生成姿势时施加的压力的量,等等。
[0067] 步骤602将该姿势的属性映射到触觉反馈。例如,不同姿势属性可被映射到不同类型的触觉反馈。在至少一些实现中,触觉模块110将该姿势的属性映射到在姿势映射122中被指定用于该属性的特定类型的触觉反馈。
[0068] 步骤604使得输出触觉反馈。触觉模块110例如指令触觉驱动程序120输出触觉反馈。
[0069] 相应地,本文讨论的技术使得能够在各种各样的场景中并且跨各种各样的不同设备配置来提供触觉反馈。
[0070] 在讨论了一些示例规程之后,现在考虑根据一个或多个实施例的示例系统和设备的讨论。
[0071] 示例系统和设备
[0072] 图7总体上在700例示了包括示例计算设备702的示例系统,该示例计算设备702表示可以实现本文描述的各个技术的一个或多个计算系统和/或设备。例如,上文参考图1讨论的客户端设备102可被体现为计算设备702。计算设备702可以是,例如,服务提供方的服务器、与客户机相关联的设备(例如,客户机设备)、片上系统、和/或任何其他合适的计算设备或计算系统。
[0073] 所示的示例计算设备702包括处理系统704、一个或多个计算机可读介质706、以及相互通信地耦合的一个或多个输入/输出(I/O)接口708。尽管没有示出,计算设备702可进一步包括系统总线或将各种组件相互耦合的其他数据和命令传输系统。系统总线可以包括不同总线结构中的任一个或其组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线体系结构中的任一种的处理器或局部总线。也构想了各种其他示例,诸如控制和数据线。
[0074] 处理系统704表示使用硬件执行一个或多个操作的功能。相应地,处理系统704被例示为包括可被配置为处理器、功能块等的硬件元件710。这可包括在作为专用集成电路或使用一个或多个半导体构成的其他逻辑设备的硬件中的实现。硬件元件710不受形成它们的材料或者其中利用的处理机制的限制。例如,处理器可以由半导体和/或晶体管(例如,电子集成电路(IC))构成。在这一上下文中,处理器可执行指令可以是可电子地执行的指令。
[0075] 计算机可读介质706被例示为包括存储器/存储712。存储器/存储712表示与一个或多个计算机可读介质相关联的存储器/存储容量。存储器/存储712可包括易失性介质(如随机存取存储器(RAM))和/或非易失性介质(如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储712可包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如闪存、可移动硬盘驱动器、光盘等)。计算机可读介质706可以下面进一步描述的各种方式来配置。
[0076] (诸)输入/输出接口708表示允许用户向计算设备702输入命令和信息的功能,并且还允许使用各种输入/输出设备向用户和/或其它组件或设备呈现信息。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、话筒(例如,用于语音识别和/或口述输入)、扫描仪、触摸功能(例如,电容性的或被配置来检测物理触摸的其它传感器)、相机(例如,可采用可见或诸如红外频率的不可见波长来将不涉及触摸的移动检测为姿势),等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、网卡、触觉响应设备,等等。因此,计算设备702可以下面进一步描述的各种方式来配置以支持用户交互。
[0077] 本文可以在软件、硬件元件或程序模块的一般上下文中描述各种技术。一般而言,此类模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、组件、数据结构等。本文使用的术语“模块”、“功能”、“实体”和“组件”一般表示软件、固件、硬件或其组合。本文描述的技术的各特征是平台无关的,从而意味着该技术可在具有各种处理器的各种商用计算平台上实现。
[0078] 所描述的模块和技术的实现可以被存储在某种形式的计算机可读介质上或跨某种形式的计算机可读介质传送。计算机可读介质可包括可由计算设备702访问的各种介质。作为示例而非限制,计算机可读介质可包括“计算机可读存储介质”和“计算机可读信号介质”。
[0079] “计算机可读存储介质”可以指相对于仅信号传输、载波、或信号本身而言,启用对信息的持久存储的介质和/或设备。计算机可读存储介质不包括信号本身。计算机可读存储介质包括以适合于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路、或其他数据等的方法或技术来实现的诸如易失性和非易失性、可移动和不可移动介质和/或存储设备的硬件。该计算机可读存储介质的示例包括但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、硬盘、磁带盒、磁带、磁盘存储或其他磁存储设备、或者可适用于存储所需信息并可由计算机访问的其他存储设备、有形介质或制品。
[0080] “计算机可读信号介质”可以指被配置为诸如经由网络向计算设备702的硬件传送指令的信号承载介质。信号介质通常用诸如载波、数据信号、或其他传输机制等经调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据。信号介质还包括任何信息传送介质。术语“已调制数据信号”意指以在信号中对信息进行编码的方式来使其一个或多个特性被设定或改变的信号。作为示例而非限制,通信介质包括有线介质,如有线网络或直接连线连接,以及无线介质,如声学、射频(RF)、红外线和其它无线介质。
[0081] 如先前所描述的,硬件元件710和计算机可读介质706代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其可在某些实施例中被采用来实现本文描述的技术的至少某些方面。硬件元件可包括集成电路或片上系统、应用专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD),和用或其他硬件设备实现的组件。在此上下文中,硬件元件可以充当处理设备,该处理设备执行由该硬件元件以及用于存储供执行的指令的硬件设备(例如前面描述的计算机可读存储介质)所体现的指令、模块和/或逻辑所定义的程序任务。
[0082] 前面的组合也可被采用来实现本文所述的各种技术。相应地,软件、硬件,或模块和其他程序模块可被实现为一个或多个指令和/或在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件710实现的逻辑。计算设备702可被配置成实现对应于软件和/或硬件模块的特定指令和/或功能。相应地,可由计算设备702执行为软件的模块的实现可至少部分以硬件完成,例如,通过使用计算机可读存储介质和/或处理系统的硬件元件710。指令和/或功能可以是一个或多个制品(例如,一个或多个计算设备702和/或处理系统704)可执行/可操作的,以实现本文描述的技术、模块、以及示例。
[0083] 如在图7中进一步示出,示例系统700实现了用于当在个人计算机(PC)、电视机设备和/或移动设备上运行应用时的无缝用户体验的普遍存在的环境。服务和应用在所有三个环境中基本相似地运行,以便当使用应用、玩视频游戏、看视频等时在从一个设备转换到下一设备时得到共同的用户体验。
[0084] 在示例系统700中,多个设备通过中央计算设备互连。中央计算设备对于多个设备可以是本地的,或者可以位于多个设备的远程。在一个实施例中,中央计算设备可以是通过网络、因特网或其他数据通信链路连接到多个设备的一个或多个服务器计算机的云。
[0085] 在一个实施例中,该互连架构使得功能能够跨多个设备来递送以向多个设备的用户提供共同且无缝的体验。多个设备的每一个可具有不同的物理要求和能力,且中央计算设备使用一平台来使得为设备定制且又对所有设备共同的体验能被递送到设备。在一个实施例中,创建目标设备的类,且使体验适应于设备的通用类。设备类可由设备的物理特征、用途类型或其他共同特性来定义。
[0086] 在各种实现中,计算设备702可采取各种各样不同的配置,诸如用于计算机714、移动设备716和电视机718用途。这些配置中的每一个包括可具有一般不同的配置和能力的设备,并且因而计算设备702可根据不同的设备类中的一个或多个来配置。例如,计算设备702可被实现为计算机714类的设备,该类包括个人计算机、台式计算机、多屏幕计算机、膝上型计算机、上网本等。
[0087] 计算设备702还可被实现为移动设备716类的设备,该类包括诸如移动电话、便携式音乐播放器、便携式游戏设备、平板计算机、可穿戴设备、多屏幕计算机等移动设备。计算设备702还可被实现为电视机718类的设备,该类包括在休闲观看环境中具有或连接到通常更大的屏幕的设备。这些设备包括电视机、机顶盒、游戏控制台等。
[0088] 本文所描述的技术可由计算设备702的这些各种配置来支持,且不限于在本文描述的各具体示例。例如,参考触觉模块110所讨论的功能可被全部或部分通过分布式系统的使用(诸如如下所述的经由平台722通过“云”720)来实现。
[0089] 云720包括和/或代表资源724的平台722。平台722抽象云720的硬件(如,服务器)和软件资源的底层功能。资源724可包括可在计算机处理在位于计算设备702远程的服务器上执行时使用的应用和/或数据。资源724也可包括在互联网上和/或通过诸如蜂窝或Wi-Fi网络之类的订户网络上提供的服务。
[0090] 平台722可抽象资源和功能以将计算设备702与其他计算设备相连接。平台722还可用于抽象资源的缩放以向经由平台722实现的资源724所遇到的需求提供对应的缩放级别。相应地,在互联设备的实施例中,本文描述的功能性的实现可分布在系统700上。例如,该功能性可部分地在计算设备702上以及经由抽象云720的功能性的平台722来实现。
[0091] 在本文中讨论了可被实现用于执行本文描述的技术的多个方法。可以使用硬件、固件、软件或其组合来实现各方法的各方面。方法被示为一组步骤,它们指定由一个或多个设备执行的操作,不一定仅限于所示出的用于由相应的框执行操作的顺序。而且,根据一个或多个实现,相对于特定方法示出的操作可以与不同的方法的操作相组合和/或互换。所述方法的各方面可以通过上面参考环境70讨论的各个实体之间的交互来实现。
[0092] 本文中讨论的实现包括:
[0093] 示例1:一种用于造成触觉反馈的系统,所述系统包括:启用触觉的触摸输入设备;至少一个处理器;以及其上存储有指令的一个或多个计算机可读存储介质,所述指令响应于由所述至少一个处理器执行而使得所述系统执行包括以下各项的操作:经由所述触摸输入设备接收输入的指示;查明针对所述输入的触觉反馈是否要通过从所述触摸输入设备外部的外部功能性接收到的外部触觉事件来发起,或者触觉反馈是否要通过由所述触摸输入设备响应于所述输入而生成的内部触觉事件来发起;以及使得所述触摸输入设备基于所述外部触觉事件或所述内部触觉事件之一来输出触觉反馈。
[0094] 示例2:如示例1所述的系统,其中所述触摸输入设备包括启用触觉的触摸板、启用触觉的触摸屏、或启用触觉的笔中的一者或多者。
[0095] 示例3:如示例1或2中的一者或多者所述的系统,其中所述一个或多个计算机可读存储介质包括所述触摸输入设备的固件。
[0096] 示例4:如示例1-3中的一者或多者所述的系统,其中所述操作还包括确定所述外部功能性直接支持触觉反馈,其中所述查明包括查明针对所述输入的所述触觉反馈要通过外部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述外部触觉事件来输出触觉反馈。
[0097] 示例5:如示例1-4中的一者或多者所述的系统,其中所述外部功能性包括当前具有焦点的应用,所述操作还包括确定所述应用直接支持触觉反馈,并且其中所述查明包括查明针对所述输入的所述触觉反馈要通过从所述应用接收到的外部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述外部触觉事件来输出触觉反馈。
[0098] 示例6:如示例1-5中的一者或多者所述的系统,其中所述外部功能性包括操作系统,所述操作还包括确定所述操作系统直接支持触觉反馈,并且其中所述查明包括查明针对所述输入的所述触觉反馈要通过从所述操作系统接收到的外部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述外部触觉事件来输出触觉反馈。
[0099] 示例7:如示例1-6中的一者或多者所述的系统,其中所述操作还包括确定所述外部功能性不直接支持触觉反馈,其中所述查明包括查明针对所述输入的所述触觉反馈要通过内部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述内部触觉事件来输出触觉反馈。
[0100] 示例8:如示例1-7中的一者或多者所述的系统,其中所述外部功能性包括当前具有焦点的应用,所述操作还包括确定所述应用不直接支持触觉反馈,并且其中所述查明包括查明针对所述输入的所述触觉反馈要通过内部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述内部触觉事件来输出触觉反馈。
[0101] 示例9:如示例1-8中的一者或多者所述的系统,其中所述外部功能性包括操作系统,所述操作还包括确定所述操作系统不直接支持触觉反馈,并且其中所述查明包括查明针对所述输入的所述触觉反馈要通过内部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述内部触觉事件来输出触觉反馈。
[0102] 示例10:如示例1-9中的一者或多者所述的系统,其中所述查明包括查明针对所述输入的所述触觉反馈要通过内部触觉事件来发起,并且所述使得包括:查明用来向所述触摸输入设备提供输入的姿势的一个或多个属性;以及使得基于所述一个或多个属性来输出所述触觉反馈。
[0103] 示例11:一种用于使得输出触觉反馈的计算机实现的方法,所述方法包括:接收对触摸输入设备的触摸表面的输入的指示;查明针对所述输入的触觉反馈是否要通过从所述触摸输入设备外部的外部功能性接收到的外部触觉事件来发起,或者触觉反馈是否要通过由所述触摸输入设备响应于所述输入而生成的内部触觉事件来发起;以及使得所述触摸输入设备基于所述外部触觉事件或所述内部触觉事件之一来输出触觉反馈。
[0104] 示例12:如示例11所述的方法,还包括基于触觉数据确定所述外部功能性是否直接支持触觉反馈,并且其中所述查明包括以下之一:在所述触觉数据指示所述外部功能性直接支持触觉反馈的情况下,查明针对所述输入的所述触觉反馈要通过从外部功能性接收到的外部触觉事件来发起;或者在所述触觉数据指示所述外部功能性不直接支持触觉反馈的情况下,查明所述触觉反馈要通过由所述触摸输入设备响应于所述输入生成的内部触觉事件来发起。
[0105] 示例13:如示例11或12中的一者或多者所述的方法,还包括接收所述外部功能性直接支持触觉反馈的通知,其中所述查明包括查明针对所述输入的所述触觉反馈要通过外部触觉事件来发起,并且所述使得包括使得所述触摸输入设备基于所述外部触觉事件来输出触觉反馈。
[0106] 示例14:如示例11-13中的一者或多者所述的方法,其中所述查明包括查明针对所述输入的所述触觉反馈要通过内部触觉事件来发起,并且所述使得包括:查明用来向所述触摸输入设备提供输入的姿势的一个或多个属性;将所述姿势的属性映射到触觉反馈;以及使得输出所述触觉反馈。
[0107] 示例15:一种用于使得输出触觉反馈的计算机实现的方法,所述方法包括:接收对触摸输入设备的输入的指示;确定所述触摸输入设备外部的外部功能性不直接支持触觉反馈;响应于所述确定,查明针对所述输入的触觉反馈要通过由所述触摸输入设备响应于所述输入生成的内部触觉事件来发起;查明造成所述输入的姿势的一个或多个属性;以及使得所述触摸输入设备响应于所述内部触觉事件并基于所述姿势的所述一个或多个属性来输出触觉反馈。
[0108] 示例16:如示例15所述的方法,其中所述确定包括接收所述外部功能性不直接支持触觉反馈的通知。
[0109] 示例17:如示例15或16中的一者或多者所述的方法,其中所述外部功能性包括不直接支持触觉反馈的应用,并且其中所述输入包括对所述应用的图形用户界面的输入。
[0110] 示例18:如示例15-17中的一者或多者所述的方法,其中所述外部功能性包括不直接支持触觉反馈的操作系统。
[0111] 示例19:如示例15-18中的一者或多者所述的方法,其中所述查明所述姿势的一个或多个属性包括查明以下各项中的一者或多者:所述姿势相对于所述触摸输入设备的移动方向、所述姿势的移动距离、所述姿势的移动速度、所述姿势的加速度、所述姿势的减速度、或在生成所述姿势时施加到所述触摸输入设备的压力的量。
[0112] 示例20:如示例15-19中的一者或多者所述的方法,其中所述外部功能性包括应用,并且其中所述使得是独立于与所述应用的输入上下文有关的信息来执行的。
[0113] 结语
[0114] 描述了用于触摸输入设备的触觉反馈的技术。虽然用对结构特征和/或方法动作专用的语言描述了各实施例,但要理解,在所附权利要求中定义的各实施例不必限于所述的具体特征或动作。相反,这些具体特征和动作是作为实现所要求保护的实施例的示例形式而公开的。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

微信群二维码
意见反馈