Я хочу проверить названия кнопок моего контроллера с DirectInput.Мой контроллер является официальным контроллером SNES, который не совместим с XInput, поэтому я должен придерживаться DirectInput.Однако все, что я получаю, это строка мусора (например, 潂 瑵 湯 〠).
Вот моя функция обратного вызова, где я проверяю названия кнопок:
BOOL CALLBACK EnumDeviceObjectsCallback(LPCDIDEVICEOBJECTINSTANCE lpddoi, LPVOID pvRef)
{
if (lpddoi->dwType & DIDFT_BUTTON)
{
// For the first button encountered
// the following string is 潂瑵湯〠
std::wstring buttonName(lpddoi->tszName);
}
return DIENUM_CONTINUE;
}
Я также пробовал с PS4контроллер тоже и получил такие же строки.Оба контроллера работают нормально.Может быть, это драйверы устройств, которые просто содержат неинициализированный материал, я имею в виду, производитель не удосужился написать названия кнопок?