Прошу прощения за странное название, но это лучшее, что я могу придумать прямо сейчас. Итак, у меня есть проект, в котором я создаю HID-устройство, которое будет играть роль игрового контроллера. Я думаю эмулировать контроллер, чтобы он отображался как контроллер Xbox 360 на ПК с Windows. Существует достойный API под названием XInput API для игр, чтобы они могли использовать контроллер 360. Я хотел бы воспользоваться этим.
В настоящее время я изучаю, что потребуется, чтобы закодировать микроконтроллер, чтобы он отображался как контроллер 360 для ПК. У меня есть несколько вопросов, и я надеюсь, что кто-то с большим опытом в этой области сможет мне помочь.
1) Я изучаю стандарт HID. Мне интересно, существует ли отдельный подкласс стандарта HID, предназначенный для игровых контроллеров, который я могу использовать и который совместим с XInput API? Или, по крайней мере, есть ли в стандарте HID положение для игрового контроллера?
2) Я нашел документацию по использованию XInput API здесь: https://docs.microsoft.com/en-us/windows/desktop/xinput/getting-started-with-xinput
Теперь мне интересно, есть ли какая-либо документация, в которой указано, как сделать HID-устройство совместимым с XInput API, или я буду заниматься реверс-инжинирингом, где я использую API, чтобы указать, как я кодирую микроконтроллер?
3) Наконец, есть ли какая-либо документация по API, который ПК использует для связи с контроллером Xbox One? Или это все еще XInput API? Или это класс Gamepad (https://docs.microsoft.com/en-us/uwp/api/windows.gaming.input.gamepad)
Спасибо, что нашли время, чтобы прочитать это, и я с нетерпением жду вашего ответа!