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 |