Windows HID-совместимый геймпад путаница

У меня проблема с тем, чтобы геймпад работал правильно. Система устройств ввода Windows всегда путала меня, но после некоторых исследований я собрал следующее:

  • XInput является последним / наиболее широко используемый API в DirectX для ввода геймпада
  • DirectInput - это старый API, который не так популярен /используется (благодаря тому, что XInput проще и быстрее настроить)
  • XInput поддерживает только контроллеры Xbox (Xbox 360 и, вероятно, Xbox One как ну)
  • DirectInput поддерживает все типы устройств ввода, в том числе общие HID-совместимых геймпадов и контроллеров Xbox (хотя с меньшим количеством функций, чем через XInput, как поддержка гарнитуры)

моя проблема связана с получением геймпада Bluetooth (Amazon огонь ТВ игровой контроллер) для работы в играх на Windows. Очевидно, так как это не контроллер Xbox 360, заставить его работать на XInput-только игра будет требовать обходной. этот проект кажется, что делает фокус почти совершенно, по мере того как оно позволяет все входные устройства подражать входному сигналу Xbox360 и поэтому делать их совместимым с XInput.

однако, я столкнулся с несколькими корягами и я не могу сказать, по чьей вине они, и как их исправить. Одна проблема состоит в том, что триггеры L/R не обнаружены вообще. Зайдя в меню "Устройства и принтеры" и нажав на "настройки игрового контроллера" для моего контроллера позволяет мне проверить входы через этот знакомый экран:

enter image description here

нажатие триггеров вообще ничего не делает. Кроме того, если вы заметили, есть 15 кнопок входа. Это правильно, так как контроллер, который я тестирую, имеет 15 кнопок, однако 4 из этих кнопок являются кнопками мультимедиа, которые управляют ОС самостоятельно. Например, нажатие кнопки home на контроллере откроет мой интернет-браузер и выведет меня на домашнюю страницу. Нажатие других кнопок мультимедиа, по-видимому, ничего не делает.

мои вопросы:

  1. Как заставить триггеры работать? Это проблема с водителем? Я думал, что HID-совместимые устройства должны сработать. Если Windows обнаружила все 15 кнопок, два аналоговых джойстика и один D-Pad, почему она не может обнаружить два триггера? HID-совместимые геймпады не поддерживают аналоговые триггеры, или это ошибка/проблема либо с самим контроллером, либо с драйвером геймпада Windows?

  2. Как я могу возьмите под свой контроль 4 кнопки мультимедиа на устройстве? Наличие кнопки на геймпаде, которая переносит меня в мой интернет-браузер, довольно бесполезно и раздражает.

  3. Если пользовательский драйвер абсолютно необходим для этого, можно ли написать его самостоятельно, не имея связи или помощи от производителя?

спасибо!

12
задан AlexRamallo
18.11.2022 6:11 Количество просмотров материала 3493
Распечатать страницу

1 ответ

вы правы о том, что directInput против Xinput, хотя можно утверждать, что directInput api позволяет для более разнообразных элементов управления. Если у вас есть контроллер, который регистрируется как устройство directInput, и у вас есть игра, которая принимает только Xinput, я предлагаю x360ce ( @ http://www.x360ce.com/ ). Это преобразует directInput в Xinput для игры, маскируя контроллеры фактического ввода. Просто запустите x360ce.exe внутри каталога игры и следуйте x360ce веб-сайта инструкции. К сожалению, он не совместим со всеми играми, а также может быть несовместим с вашим контроллером. Это стоит выстрел, хотя, просто не забудьте оставить отзыв для разработчиков x360ce позже. Я надеюсь, что это помогает!

2
отвечен Manwithgun 2022-11-19 13:59

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх