Windows 径向控制器功能报告

本主题详细介绍了用于 Windows 10 版本 1607 及更高版本的操作系统中径向控制器触觉反馈支持的 HID 功能报告。

触觉反馈集合(可选)

如果 Windows 径向控制器设备支持触觉反馈,你可以通过在 Windows 径向控制器 TLC 中包括触觉反馈集合(页面 0x0E,用法 0x01)来让系统和应用程序利用触觉反馈。 若要详细了解 HID 规范如何支持触觉反馈,请参阅针对 HID 规范的触觉页面认可。

主机(通过触觉反馈集合)使用以下用法来传达触觉反馈波形支持,因此可以在 Windows 径向控制器设备上配置触觉反馈。 如果设备选择公开触觉反馈集合,则必须使用某些用法来支持自动触觉反馈配置。

成员 说明 ID 必需/可选
波形列表 设备支持的触觉波形的有序列表 0x0E 0x10 必需
持续时间列表 波形列表中波形持续时间的有序列表 0x0E 0x11 必需
自动触发器 由设备自行决定是否自动触发的波形 0x0E 0x20 必需
自动触发器关联控件 与触觉反馈相关的控件的 HID 使用 0x0E 0x22 必需
强度 输出 - 手动触发器波形的强度百分比 0x0E 0x23 可选
重复计数 输出 - 初始播放后播放手动触发器波形的次数 0x0E 0x24 可选
重新触发周期 输出 - 重复操作时重新触发手动触发器之前的等待时间 0x0E 0x25 可选
波形截止时间 手动触发器波形在被截止之前可以播放的最长时间 0x0E 0x28 可选

波形列表

波形列表用法表示支持的波形的 HID 用法的集合,使用序数排序。 预定义的触觉波形在 HID 规范中定义。 Windows 支持为启用了触觉反馈的设备实现以下波形:

波形 说明 ID 必需/可选
WAVEFORM_NONE 无操作。 不应影响正在发生的波形的播放状态。 0x0E 0x1001 必需
WAVEFORM_STOP 停止播放正在发生的波形。 0x0E 0x1002 必需
WAVEFORM_CLICK 创建一个简短的“点击”反馈 0x0E 0x1003 必需
WAVEFORM_BUZZ_CONTINUOUS 让设备长时间发出嗡嗡声 0x0E 0x1004 可选

所有符合 HID 的触觉设备都需要 WAVEFORM_NONE 和 WAVEFORM_STOP。 序数 1 和 2 隐式设置为 WAVEFORM_NONE 和 WAVEFORM_STOP。 它们不需要在波形列表或持续时间列表中声明。 波形列表通过列表中每个序数的物理最小值和最大值声明支持的波形。

持续时间列表

持续时间列表用法表示波形列表中支持的波形的持续时间集合,使用序数排序。 波形持续时间的单位是毫秒,对于任何非连续波形,持续时间必须是正非零值。 如果波形是连续的(将持续播放,直至被主机停止或超出波形截止时间),则其持续时间定义为零。

假定 WAVEFORM_NONE 和 WAVEFORM_STOP 的持续时间为零。 不需要在持续时间列表中声明它们。

自动触发器

自动触发器的使用代表波形列表中支持的波形的使用,设备会视需要根据用户交互自动触发它。 这样就可以对常见用户交互(如旋转和单击)进行延迟较低的响应。 这可能需要由主机进行修改或禁用,可以通过功能报告进行设置。 可以通过由主机将其设置为零来禁用自动触发器波形。

自动触发器关联控件

自动触发器关联控件指定与设备上的自动触觉反馈关联的物理控件的扩展 HID 使用情况。 对于径向控制器设备,此控件应定义为在同一顶级集合中指定的拨号用法。

强度

“强度”用法表示应用于波形的最大强度的百分比。 该值应在 0% 到 100% 之间变化。 100% 表示设备将以最大强度触发波形,0% 表示未启用触觉传感器。

如果已在功能报告中定义,则它会为设备的所有自动触发器和手动触发器波形设置默认强度。

重复计数

重复计数用法表示重复某个波形的次数。 重复计数为零表示手动触发器波形应仅播放一次(不重复)。 如果超过了波形截止时间,预计任何不完整的重复都将被忽略。

如果已在功能报告中定义,则它会为设备的所有自动触发器和手动触发器波形设置默认重复计数。

重新触发周期

“重新触发周期”用法表示设备根据重复计数指定的值在输出报告中重复手动触发器波形之前等待的时间量。 此值的单位是毫秒。 如果重新触发周期小于正在播放的波形的持续时间,则应在重新触发周期指示的时间段停止波形并重启它。

如果已在功能报告中定义,则它会为设备的所有自动触发器和手动触发器波形设置默认重新触发周期。

波形截止时间

“波形截止时间”用法表示设备在结束播放之前允许重复手动触发器波形的最长时间。 这是设备的恒定值,包括没有设定持续时间的连续波形,以及设置为重复多次的具有离散持续时间的波形。 此值的单位是毫秒。