GameInput 中的传感器

GameInput 中的传感器功能依赖于 Windows 传感器堆栈。 若要使设备与此传感器堆栈兼容,请参阅:

验证:

坐标系

设备应将设备加速报告为 Y-up 右手系统。 Angular速度遵循有关这些轴的右侧规则。

游戏板坐标系 手持坐标系
游戏板上显示的传感器坐标系 手持设备上显示的传感器坐标系

X 轴从设备中心向右方向发展。 Y 轴从设备中心向用户脸方向发展。 Z 轴从设备中心向底部走。

示例加速输出,以 g 为单位:

  • 设备平躺在桌子上: {0, 1, 0}
    • Angular静止速度为 {0, 0, 0}
  • 从那里,抬高设备:增加 {0, 2, 0}
  • 从那里,删除设备:减少 {0, 0, 0}
  • 旋转设备,使上边缘在空中,下边缘位于表面:{0, 0, -1}
    • 在运动中,角速度 X 变为正值:{2, 0, 0}
  • 返回平整。
  • 旋转设备,使左边缘在空中,右边缘位于图面上:{-1, 0, 0}
    • 在运动中,角速度 Z 变为负值:{0, 0, -2}
  • 返回平整。
  • 顺时针旋转设备 (与右侧规则) 相反
    • 在运动中,角速度 Y 变为负值:{0, -2, 0}

备注

设备振动产生的噪音

设备 ((如触觉) 引起的低频率隆隆声或嗡嗡声)可能会诱发陀螺仪噪音并影响精度。

  • 可能的硬件缓解:通过有意放置传感器或周围传感器,使用减振填充材料,将传感器与触觉进行机械隔离
  • 可能的软件缓解:使用低通筛选器

注册表项

[!重要说明]如果设备必须通过 Windows 硬件质量实验室认证,请添加下面所述的注册表项。 GameInput 将转换设备的 WHQL 兼容输出,以匹配游戏开发人员的预期输出。

具有供应商 ID (VID) VVVV、产品 ID (PID) PPPP、使用情况页 UUUUU 和使用情况 ID XXXX 的设备映射将从注册表中的此位置读出:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GameInput\Devices\VVVVPPPPUUUUXXXX

仅支持“常规用法”页 (0x0001) 和使用情况 ID 游戏杆 (0x0004) 和游戏板 (0x0005) 。

值名称 值类型 必填? 信息
IsWhqlCertified DWORD 指示 GameInput 转换 WHQL 认证的设备的传感器输出以匹配所需的坐标系。 0, 1

[!提示] 以下子项适用于已上市的设备制造商。 如果设备尚未释放,则应正确报告 上述坐标系 ,并应通过相关测试。

值名称 值类型 必填? 信息
SensorsAxisX SZ 指示 GameInput 从设备的传感器报表中获取 X 轴,并使用值指示的轴对其进行标记。 X、Y、Z
SensorsAxisY SZ 指示 GameInput 从设备的传感器报表中获取 Y 轴,并使用值指示的轴对其进行标记。 X、Y、Z
SensorsAxisZ SZ 指示 GameInput 从设备的传感器报表中获取 Z 轴,并使用值指示的轴对其进行标记。 X、Y、Z
SensorsInvertAccelerationX DWORD 指示 GameInput 反转 X 轴上的加速度符号。 在上述轴转换后应用。 0, 1
SensorsInvertAccelerationY DWORD 指示 GameInput 反转 Y 轴上的加速符号。 在上述轴转换后应用。 0, 1
SensorsInvertAccelerationZ DWORD 指示 GameInput 反转 Z 轴上的加速度符号。 在上述轴转换后应用。 0, 1
SensorsInvertAngularVelocityX DWORD 指示 GameInput 反转 X 轴的角速度符号。 在上述轴转换后应用。 0, 1
SensorsInvertAngularVelocityY DWORD 指示 GameInput 反转 Y 轴的角速度符号。 在上述轴转换后应用。 0, 1
SensorsInvertAngularVelocityZ DWORD 指示 GameInput 反转 Z 轴的角速度符号。 在上述轴转换后应用。 0, 1

另请参阅

GameInputSensorsInfo

GameInputSensorsState

GameInput 概述

Windows.Devices.Sensors