所以我正在尝试构建一个简单的输入处理程序来对抗Windows消息循环。但由于某种原因,当我测试WM_MBUTTONDOWN的情况时,我得到了相同的wParam,就像我按下“Shift-key”一样。我尝试单击鼠标中键时得到的代码是16位十进制或0x10位十六进制。 当我查看它时,我可以看到MBUTTON应该是0x04,但我不明白。
之前有人遇到过这个吗?
这是我在Win32应用程序的WndProc函数中使用的代码。 (当然有更多的案例可以检查它们是否已经启动等等,但并不认为它与问题相关)
case WM_MBUTTONDOWN:
if (wParam < 256)
{
globalInputManager.SetKeyIsDown(static_cast<uint8_t>(wParam));
OutputDebugStringA(std::to_string(wParam).c_str());
}
break;
case WM_KEYDOWN:
if (wParam < 256)
{
globalInputManager.SetKeyIsDown(static_cast<uint8_t>(wParam));
OutputDebugStringA(std::to_string(wParam).c_str());
}
break;