我对操纵杆轴的描述有些困惑,我希望有人有一个链接或文档,可以有助于清除我的困惑。

我不是Windows的家伙,所以尝试移植一些传统的Windows GamePort代码让我有些困惑。

我们都知道前三个轴:
X
y
z

我的理解是,在游戏港风格的界面中,其他三个轴是:
r

v

但是,在我的iohidusagetables(OS X)中查看:我看到:

kHIDUsage_GD_X  = 0x30, /* Dynamic Value */
kHIDUsage_GD_Y  = 0x31, /* Dynamic Value */
kHIDUsage_GD_Z  = 0x32, /* Dynamic Value */
kHIDUsage_GD_Rx = 0x33, /* Dynamic Value */
kHIDUsage_GD_Ry = 0x34, /* Dynamic Value */
kHIDUsage_GD_Rz = 0x35, /* Dynamic Value */

kHIDUsage_GD_Vx = 0x40, /* Dynamic Value */
kHIDUsage_GD_Vy = 0x41, /* Dynamic Value */
kHIDUsage_GD_Vz = 0x42, /* Dynamic Value */
kHIDUsage_GD_Vbrx   = 0x43, /* Dynamic Value */
kHIDUsage_GD_Vbry   = 0x44, /* Dynamic Value */
kHIDUsage_GD_Vbrz   = 0x45, /* Dynamic Value */
kHIDUsage_GD_Vno    = 0x46, /* Dynamic Value */

由于三个R轴(尽管似乎并不少见)和缺少U轴,这使我有些困惑。

两个问题:

1)谁能确认传统的U轴是什么轴?我看到一个文件将其描述为“舵踏板的轴”,这使我相信这将是RY。
2)任何人都可以详细描述V和VBR轴的典型用法吗?我了解描述分别是“向量”和“相对向量”,但是我很难可视化在物理设备方面的含义。

欢迎所有启蒙和文档指针。

有帮助吗?

解决方案

这里有2个不同的惯例,具有相似的命名:

  • 位置,(r)otation和/或(v)x,y,z轴的Elocity
  • (r),(u),(v)轴

可能是R,U,V轴直接映射到3个HID插槽上的情况,无论它们是哪个。或者可能是驾驶员做其他事情的情况,具体取决于它的确切硬件。

就我个人而言,我不会花太多时间担心每个轴的含义'或是否可以直接映射它们。每个操纵杆都有不同的物理控制器,驾驶员将以任意的方式映射。因此,除了X和Y之外,很难预见到每个功能将使用哪些轴。即使您可以猜测原始意图,用户也可能希望覆盖默认值。因此,最好是通过设置文件实现轴映射,该设置文件可以以每个设备和每个用户为基础配置。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top