我对操纵杆轴的描述有点困惑,我希望有人有一个链接或文件可以帮助我清除我的困惑。
我不是Windows用户,所以尝试移植一些传统的Windows游戏端口代码让我感到有些困惑。
我们都知道共同的前三个轴:
X
ÿ
ž
我的理解是,在游戏端口界面中,另外三个轴是:
[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轴的典型用法吗?我理解这些描述分别是“矢量”和“相对矢量”,但我很难想象物理设备的意义。
欢迎所有启发和文档指示。
答案 0 :(得分:0)
这里有两种不同的约定,令人困惑的命名相似:
可能是R,U,V轴直接映射到3个HID槽中的情况,无论它们是哪个。或者可能是驱动程序执行其他操作的情况,具体取决于它是哪个硬件。
我个人不会花太多时间担心每个轴“意味着什么”或者是否可以直接映射它们。每个操纵杆都有不同的物理控制器,这些控制器将由驱动程序以任意方式映射。因此,除了X和Y之外,很难预测每个功能将使用哪些轴。即使您可以猜测原始意图,用户可能希望覆盖默认值。因此,最好通过可以按设备和每个用户配置的设置文件来实现轴映射。