XRInputSource: profiles 属性

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

安全上下文: 此功能仅在安全上下文(HTTPS)中可用,且支持此功能的浏览器数量有限。

只读的 XRInputSource 属性 profiles 返回一个字符串数组,每个字符串描述了该输入源的配置配置文件。配置文件字符串按特异性顺序排列,最特异的配置文件列在最前面。

注意: 当 WebXR 会话处于内嵌模式时,profiles 列表始终为空。

一个字符串数组,每个字符串描述由 XRInputSource 对象表示的输入设备的配置配置文件。每个输入配置文件指定了输入源的首选视觉表示和行为。

输入配置文件名称

输入配置文件名称是一个字符串,描述了输入源可以配置使用的视觉表示和行为。每个字符串

  • 不包含空格;单词之间用连字符(“-”)分隔
  • 如果平台提供,可能会提供 USB 供应商和产品 ID,但不可依赖。
  • 不唯一标识特定设备;相反,它标识了产品能够使用的配置。
  • 不提供有关设备的手部信息(如果适用)。

设备开发者和浏览器开发者使用 WebXR 输入配置文件注册表 来努力确保给定设备无论使用哪个浏览器或其他 用户代理,都会报告相同的配置文件字符串。

通用输入配置文件名称

以下输入配置文件名称是通用的,可以作为最粗略描述设备的备用方案。

  • generic-button
  • generic-hand-select-grasp
  • generic-hand-select
  • generic-hand
  • generic-touchpad
  • generic-touchscreen
  • generic-trigger-squeeze-thumbstick
  • generic-trigger-squeeze-touchpad-thumbstick
  • generic-trigger-squeeze-touchpad
  • generic-trigger-squeeze
  • generic-trigger-thumbstick
  • generic-trigger-touchpad-thumbstick
  • generic-trigger-touchpad
  • generic-trigger

示例

profiles 中的列表按反向特异性顺序排列;也就是说,最精确的描述在前,最不精确的描述在后。列表中的第一个条目通常指示控制器的精确型号,或控制器兼容的型号。

例如,Oculus Touch 控制器的 profiles 中的条目 0 是 oculus-touch。下一个条目是 generic-trigger-squeeze-thumbstick,表示一个带有触发器、挤压控制和拇指摇杆的通用设备。尽管 Oculus Touch 控制器实际上有一个触摸板而不是拇指摇杆,但整体描述“足够接近”,以至于配置文件中与名称匹配的详细信息将允许控制器被有用地解释。

js
inputSource.profiles;
// ['oculus-touch', 'generic-trigger-squeeze-thumbstick']

规范

规范
WebXR Device API
# dom-xrinputsource-profiles

浏览器兼容性

另见