У меня есть небольшая проблема относительно моей DLL, которую я создал. У меня был один или два человека, которые тестировали мою DLL, хотя мои результаты не такие, как ожидалось, так как я не могу протестировать все функции самостоятельно.
Код DLL:
http://pastebin.com/H9uNbPU1
Сначала я хотел бы отметить, что двойные преобразования являются преднамеренными. Я опубликовал эту проблему в нескольких местах, но безрезультатно, и во всех этих местах меня спрашивали о двойных значениях.
Сам код не длинный, хотя у меня мало опыта в C ++, поэтому я не уверен, где я ошибся.
Текущие известные проблемы в DLL:
dwZpos и dwVpos возвращают 0 (согласно моему коду). Я думал это кнопка на джойстике) например L3 на контроллере Playstation 3). Хотя они просто возвращают 0, если эта кнопка нажата.
dwUpos работает, я думаю, что это ось X правого джойстика на контроллере, если контроллер имеет двойные джойстики. Правильный? Однако dwVpos (я думаю, это ось Y) возвращает -1, несмотря ни на что. Возможно ли, что мои R, U и V не правы? Должно ли это быть:
R (ось Y), U (ось X) и V (ось Z)?
Мне бы очень хотелось, чтобы это как можно скорее заработало.
Это пока все мои вопросы. Спасибо за чтение!
Это не решение вашей проблемы, но я рекомендую переключиться на DirectInput.
Из MSDN:
API мультимедийного джойстика был заменен DirectInput, который
имеет больше возможностей для современных устройств ввода и обратной связи.
Для получения дополнительной информации см. Документацию DirectX.
Лично у меня тоже были проблемы, в том числе 15 лет назад, когда разнообразие джойстиков было не таким большим, как сейчас.
Других решений пока нет …