Соотношение традиционных оси джойстика окна с HID

StackOverflow https://stackoverflow.com/questions/2535006

  •  22-09-2019
  •  | 
  •  

Вопрос

Я немного запутался в описании топоров джойстика, и я надеюсь, что у кого -то есть ссылка или документ, который может помочь очистить мою путаницу.

Я не парень из Windows, поэтому попытка переносить какой -то традиционный код GamePort Windows меня немного запутался.

Мы все знаем об общих первых трех топорах:
Икс
У
Z.

Насколько я понимаю, в интерфейсе в стиле GamePort три других оси:
р
U
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) отация и/или (v) элацирование для каждой из оси x, y, z
  • (R), (u), (v) Оси

Это может быть так, что оси R, U, V отображают непосредственно на 3 из спрятанных слотов, какие бы они ни были. Или это может быть тот случай, когда водители делают что -то еще, в зависимости от того, какой именно кусок оборудования это.

Лично я бы не стал тратить слишком много времени, беспокоясь о том, что означает каждая ось «или их можно напрямую». Каждый джойстик имеет разные физические контроллеры, которые будут нанесены на карту водителями произвольным образом. Таким образом, за пределами x и y трудно предвидеть, какие оси будут использоваться для каждой функции. И даже если вы можете угадать исходное намерение, вполне вероятно, что пользователь может захотеть переопределить по умолчанию. Таким образом, вероятно, лучше реализовать картирование оси с помощью файла настроек, который можно настроить на основе для каждого и каждого пользователя.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top