操纵杆的按钮名称难以理解

时间:2019-07-02 06:37:02

标签: windows directinput

我想用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控制器,并且得到了相同类型的字符串。两个控制器都工作正常。是不是设备驱动程序仅包含未初始化的内容,我的意思是说,制造商不必费心编写按钮名称?

0 个答案:

没有答案