2010-03-28 43 views
0

我對操縱桿軸的描述有些困惑,我希望有人有鏈接或文檔可以幫助我清除混淆。將傳統Windows操縱桿軸與HID相關聯

我不是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

有2個不同的約定在這裏與混淆的相似的命名:

  • 位置,(R)浮選和/或(V)elocity對於每個X,Y的,Z軸
  • (R),(U),( V)軸

可能是R,U,V軸直接映射到3個HID插槽,無論它們是哪個。或者也可能是這些驅動程序執行其他操作,具體取決於它是哪一個確切的硬件。

就我個人而言,我不會花太多時間去擔心每個軸'意味着什麼'或者它們是否可以直接映射。每個遊戲杆都有不同的物理控制器,它們將以任意方式由驅動程序進行映射。因此,除了X和Y之外,很難預測每個功能將使用哪些軸。即使您可以猜出初衷,用戶可能希望覆蓋默認值。因此,最好通過設置文件來實現軸映射,該文件可以在每個設備和每個用戶的基礎上進行配置。