Начало работы с пользовательским геймпадом

Поскольку я считаю, что стандартная обработка геймпада в Windows отсутствует, я хотел бы написать специальный интерфейс для этой цели. По сути, я хочу добавить слой между подключенными геймпадами и управлением игровым контроллером Windows. Хотя я не уверен, как решить эту проблему, вот шаги, о которых я думал до сих пор:

  • Отключите все подключенные геймпады от управления игровым контроллером Windows
  • Создать виртуальный игровой контроллер (возможно, с vJoy / pyvjoy)
  • Читайте входные данные с подключенных геймпадов и применяйте их к виртуальным игровым контроллерам

Однако, кроме второго пункта, я не знаю, выполнимо ли (и как) это. Есть ли какие-либо API, которые могут взаимодействовать с устройствами так, как мне нужно? Нужно ли мне заняться программированием драйверов и переписать драйверы геймпада?

Я знаю, что это широкий вопрос к очень узкой теме, но я немного растерялся, с чего начать. Любая помощь приветствуется.

1 ответ

HIDGuardian покрывает ваш первый пункт:

https://github.com/nefarius/ViGEm/tree/master/Sys/HidGuardian

HIDGuardian используется InputMapper, чтобы скрыть физический геймпад, когда виртуальный геймпад был создан для устройства. Это не позволяет приложениям видеть ввод с одного и того же геймпада дважды.

Другие вопросы по тегам