、霍尔效应传感器、红外传感器、超声传感器、压力传感器、光 纤传感器、屈曲传感器(或弯曲传感器)、力敏感电阻器、测压元件、LuSense CPS2155、微型 压力换能器、压电传感器、应变计、湿度计、线性位置触摸传感器、线性电位计(或滑臂)、线 性可变差动变压器、罗盘、测斜仪、磁性标签(或者射频识别标签)、旋转编码器、旋转电位 计、陀螺仪、通断开关、温度传感器(例如温度计、热电偶、电阻温度检测器、热敏电阻或者 温度换能集成电路)、麦克风、光度计、测高仪、生物监视器、相机或者光敏电阻器。
[0027] 图2根据本发明的实施例示出了控制器100。在一个实施例中,控制器100与图 1的控制器30相同。另外,图3示出了控制器100的另一视图。控制器100-般可用于可 连接到计算机、移动电话、电视机或其他类似设备的游戏系统。下文中结合图4来更详细地 进一步描述图2和图3所示的控制器100的组件,即,壳体102、模拟或数字摇杆110、按钮 114、触发器118和轰鸣致动器122和124。
[0028] 图4示出了用于游戏系统101中的控制器100的框图,游戏系统101还包括主机 计算机104和显示器106。如图4的框图中所示,控制器100包括本地处理器108,本地处 理器108经由连接105与主机计算机104通信。连接105可以是有线连接、无线连接或者 本领域技术人员已知的其他类型的连接。控制器100或者可以被配置为不包括本地处理器 108,这样来自控制器100的所有输入/输出信号都直接由主机计算机104来应对和处理。 主机计算机104可操作地耦合到显示屏幕106。在一实施例中,如本领域中已知的,主机计 算机104是游戏设备控制台,并且显示屏幕106是可操作地耦合到该游戏设备控制台的监 视器。在另一实施例中,如本领域技术人员已知的,主机计算机104和显示屏幕106可被组 合成单个设备。
[0029] 控制器100的壳体102的形状被设置为容易适应由惯用左手的用户或惯用右手的 用户两只手握着设备。本领域技术人员将会认识到,控制器100只是与当前可用于视频游 戏控制台系统的许多"游戏手柄"具有类似的形状和大小的控制器的一个示例实施例,例如 Microsoft? xb〇x One?控制器或者 PlayStation? Dual shock?控制器,并且将会认 识到,可以使用具有用户输入元件的其他配置、其他形状和其他大小的控制器,包括但不限 于诸如Wii?遥控或Wii? U控制器、!Sony? SixAxis?控制器或.Sony? Wand控制器之 类的控制器,以及形状设置为真实世界物体(例如网球拍、高尔夫球杆、棒球棒等等)和其 他形状的控制器,或者具有显示器或头戴式显示器的控制器。
[0030] 控制器100包括若干个用户输入元件,其中包括模拟或数字摇杆110、按钮114和 触发器118。当在本文中使用时,用户输入元件指的是被用户操纵来与主机计算机104交互 的界面设备,例如触发器、按钮、模拟或数字摇杆等等。如从图2和图3中可见,以及如本领 域技术人员已知的,在控制器100上可包括多于一个的每种用户输入元件,并且可包括额 外的用户输入元件。因此,例如,当前对于触发器118的描述不将控制器100限于单个触发 器。另外,图4的框图只示出了模拟或数字摇杆110、按钮114和触发器118的每一者中的 一(1)个。然而,本领域技术人员将会理解,可以使用多个模拟或数字摇杆、按钮和触发器 以及其他用户输入元件,如上所述。
[0031] 从图4的框图中可见,控制器100包括针对性致动器或马达以直接驱动其用户输 入元件中的每一个,并且在用户的手部一般所在的位置包括可操作地耦合到壳体102的一 个或多个一般或轰鸣致动器122、124。更具体而言,模拟或数字摇杆110包括与其可操作地 耦合的针对性致动器或马达112,按钮114包括与其可操作地耦合的针对性致动器或马达 116,并且触发器118包括与其可操作地耦合的针对性致动器或马达120。除了多个针对性 致动器以外,控制器100包括与其每个用户输入元件可操作地耦合的位置传感器。更具体 而言,模拟或数字摇杆110包括与其可操作地耦合的位置传感器111,按钮114包括与其可 操作地耦合的位置传感器115,并且触发器118包括与其可操作地耦合的位置传感器119。 本地处理器108可操作地耦合到针对性致动器112、116、120以及模拟或数字摇杆110、按 钮114和触发器118各自的位置传感器111、115、119。响应于从位置传感器111、115、119 接收的信号,本地处理器108指示针对性致动器112、116、120分别直接向模拟或数字摇杆 110、按钮114和触发器118提供定向的或针对性的动觉效果。这种针对性动觉效果与沿着 控制器的整个主体的由一般致动器122、124产生的一般或轰鸣触觉效果是可辨别或者可 区分的。总体触觉效果向用户提供了在游戏中的更大沉浸感,因为同时采用了多种形态,例 如视频、音频和触觉。被配置为产生触觉的控制器的更多细节在2014年4月22日递交的 标题为"GAMINING DEVICE HAVING A HAPTIC-ENABLED TRIGGER"、序列号为 14/258,644 的 申请中更详细描述,这里通过引用将该申请全部并入。
[0032] 图5根据本发明的实施例示出了系统的触发器触觉效果软件栈的框图。该触发器 触觉效果软件栈实现在系统上,例如图1的系统10。在图示的实施例中,系统包括以下组 件:设备500、外围固件510和控制器520。设备500可以是任何类型的计算机设备,例如个 人计算机、平板电脑、智能电话或者控制台(例如,视频游戏控制台)。外围固件510是用于 能够可操作地连接到设备500的一个或多个外围设备(例如控制器)的固件。控制器520 是可操作地连接到设备500的外设的一个示例。控制器520可以是视频游戏控制器。在一 个实施例中,控制器520可与图1的控制器30以及图2、图3和图4的控制器100相同。
[0033] 设备500包括游戏输入管理代码501。游戏输入管理代码501包括对在设备500内 执行的游戏应用或其他类型的应用的情境中由控制器520提供的输入进行管理的一组计 算机可读指令。设备500还包括外围输入应用编程接口("API")502。外围输入API 502 包括一组计算机可读函数或例程,这些函数或例程允许游戏输入管理代码501与外围固件 510交互以便接收和管理由控制器520提供的输入。设备500还包括轰鸣API 503。轰鸣 API包括一组计算机可读函数或例程,这些函数或例程允许游戏输入管理代码501与外围 固件510交互以便发送轰鸣指令到控制器520的一个或多个轰鸣马达或轰鸣致动器(例 如,如图5中所示的轰鸣马达L和R)。轰鸣指令可使得控制器520的轰鸣马达或者轰鸣致 动器产生一般或轰鸣触觉效果。
[0034] 设备500还包括触发器触觉效果API 504(在图5中标识为"API")。触发器触觉 效果API 504包括一组计算机可读函数或例程,这些函数或例程被暴露于游戏输入管理代 码501,并且允许游戏输入管理代码501与外围固件510交互以便向控制器520发送触觉 指令,例如向控制器520的一个或多个触发器(例如,如图5中所示的触发器L和R)发送 触发器指令。触觉指令可使得控制器520的一个或多个针对性马达或针对性致动器在控制 器520的一个或多个用户输入元件处产生触觉效果。触发器指令是特定类型的触觉指令, 其可使得控制器520的一个或多个针对性马达或针对性致动器(例如,如图5中所示的马 达L和R)在控制器520的一个或多个触发器(例如,如图5中所示的触发器L和R)处产 生触发器触觉效果。触发器触觉效果是在控制器(例如控制器520)的触发器处体验到的 特定类型的触觉效果。触发器触觉效果API 504可存储一个或多个触发器触觉效果定义。 触觉效果定义是一种数据结构,该数据结构包括预定义的并且可被存储在诸如触觉文件或 触觉流之类的存储内的触觉数据,例如触觉信号,并且可被发送到一个或多个轰鸣马达、轰 鸣致动器、针对性马达或针对性致动器,以在控制器520的组件或用户输入元件处产生触 觉效果。触觉数据可包括相应触觉效果的一个或多个属性,其中这些属性可被存储为参数。 触觉效果定义的示例参数包括振幅参数、频率参数、波形参数、包络参数、幅度(或强度)参 数和持续时间参数。触发器触觉效果定义是特定类型的触觉效果定义,其可被发送到控制 器520的一个或多个马达或致动器(例如,如图5中所示的马达L和R)以在控制器520的 一个或多个触发器(例如,如图5中所示的触发器L和R)处产生触发器触觉效果。
[0035] 根据该实施例,触发器触觉效果API 504可允许游戏输入管理代码501与直接重 放/交越505、触发器引擎506和空间化引擎507交互,并且还可根据由游戏输入管理代码 501调用的请求来管理直接重放/交越505、触发器引擎506和空间化引擎507。另外,触 发器触觉效果API 504可存储与外围固件510的通信所需要的以及一个或多个触发器触觉 效果的生成所需要的数据。在替换实施例中,触发器触觉效果API 504可驻留在外围固件 510内而不是设备500内。
[0036] 设备500还包括直接重放/交越505。直接重放/交越505接收触觉数据作为输 入,产生触觉数据作为输出并且将触觉数据发送到控制器520的一个或多个针对性马达或 针对性致动器(例如,如图5中所示的马达L和R)。在某些实施例中,直接重放/交越505 可将输入的触觉数据直接输出,而不修改输入的触觉数据的格式。这可导致对输入的触觉 数据的"按原样"重放。在其他实施例中,直接重放/交越505可以把输入的触觉数据从第 一格式转换到第二格式,并且还可输出经转换的触觉数据。取决于重放的类型,直接重放/ 交越505可以可选地使用可编程的交越来转换触觉数据。通过转换触觉数据,设备500可 以"解构"触觉效果并且在多个致动器处忠实地重放触觉效果。在一个实施例中,触觉数据 的格式可以是触觉基本流(Haptic Elementary Stream,"HES")格式。HES格式是用于表 示可被流传输到设备的触觉数据的文件或数据格式。可以按与表示未压缩声音的方式相同 或相似的方式来表示触觉数据,虽然触觉数据可被加密在HES格式内。在替换实施例中,直 接重放/交越505可驻留在外围固件510内而不是设备500内。
[0037] 设备500还包括触发器引擎506。触发器引擎506可接收触觉数据,例如触发器触 觉效果定义,并且可基于从控制器520接收的数据,例如触发器数据(例如,如图5中所示 的触发器数据513),来修改触觉数据。触发器数据是包括指示控制器520的一个或多个触 发器(例如,如图5中所示的触发器L和R)的位置和/或范围的一个或多个参数的数据。 触发器引擎506还可向控制器520发送触觉指令。例如,触发器引擎506可向控制器520 的一个或多个触发器(例如,如图5中所示的触发器L和R)发送触发器指令。如前所述, 触发器指令可使得控制器520的一个或多个针对性马达或针对性致动器(例如,如图5中 所示的马达L和R)在控制器520的一个或多个触发器(例如,如图5中所示的触发器L和 R)处产生触发器触觉效果。从而,在一个实施例中,通过修改触发器触觉效果定义的触觉数 据,触发器引擎506可基于触发器的位置和/或范围使得特定的触发器触觉效果在触发器 处被体验到。在另一实施例中,通过修改触发器触觉效果定义的触觉数据,触发器引擎506 可基于触发器的位置和/或范围来为控制