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