NoButtons
Вопрос: Не работают кнопки джойстика, спасите-помогите!?
Проверяем работу кнопок во встроенном тестере VKBDevCfg:
Если в маппинге используется клавиатура - необходимо включить Log Joystick + Keyboard
Если на вкладке тест не обнаруживаются искомые кнопки - проверяем конфигурацию. Рекомендуется сохранить свои настройки, сделать дефолт конфигурации и при необходимости произвести автоконфигурацию устройства.
После это повторно проверить работу кнопок . Если они по прежнему не обнаруживаются - обращаемся в техподдержку с описанием проблемы.
Если кнопки обнаружены - грузим сохраненную конфигурацию и проверяем. Если кнопок нет - проблема в конфигурации, проверяем все маппинги и логику работы своей конфигурации.
Если в тестере изначально кнопки видны, но не работают в конкретном симуляторе/игре - проверяем настройки в игре.
Но некоторые игры симуляторы имеют ошибки в коде и в принципе не "видят" кнопки более какого-то номера.
Например, игра "Elite Dangerous" ограничена вводом 32-х кнопок с контроллера (с апдейта ED 18.02 от 10.04.23 пофиксено),
"BoS" - 63-х кнопок.
Что же делать?
Вариантов несколько.
1-й способ - обращаемся в саппорт игры и рассказываем приключившуюся историю. Ждём до морковкиного заговенья исправления бага.
Но если этот пункт пропустить, то и шансов на исправление средствами игры и не будет никогда .
Далее описаны способы, которые помогут скрасить ожидание ответа от разработчиков игры.
2-й способ :
Маппинг логических кнопок на хатки (POV) основного контроллера. В основном это может быть применимо, если не требуются одновременные нажатия таких кнопок ( но их можно разнести на разные хатки и даже на хатки других вирт контроллеров).
Добавляем нужное число структур POV в HID-контроллер:
Делаем маппинг на свободные направления разных POV:
Записываем конфигурацию в контроллер SET, проверяем:
3-й способ :
Включаем вирт клавиатуру:
Мапим "невидимые" кнопки на клавиатурные клавиши/комбинации :
Записываем конфигурацию в контроллер SET, проверяем:
4-й способ - разбиение массива кнопок джойстика по виртуальным контроллерам:
При разбиении 128 кнопок на два контроллера необходимо добавить один виртуальный VC=1 и указать #But=64
При разбиении на 4 контроллера необходимо добавить три виртуальных VC=3 и указать #But=32
После записи в контроллер мы должны увидеть появление новых контроллеров в списке:
Для операционной системы и игры это совершенно независимые игровые контроллеры (которые имеют одно наименование и VID/PID )
Теперь весь массив из 128-ми исходных кнопок будет разбит по виртуальным контроллерам: