我想使用windows raw input在一台计算机上启用两个鼠标输入。
但是,我没有弄清楚如何获取WM_INPUT消息。它似乎得到了消息,我需要这样做:
MainWndProc (HWND hwnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
switch (nMsg)
{
...
case WM_INPUT:
{
GetRawInputData((HRAWINPUT)lParam, RID_INPUT, NULL, &dwSize,
sizeof(RAWINPUTHEADER));
.............
}
}
我认为OpenSceneGraph窗口应该是窗口类型,但是如何在不使用MainWndProc的情况下获取WM_INPUT消息?
似乎我无法得到这样的WM_INPUT消息:
bool CallbackManager::handle(const GUIEventAdapter& ea, GUIActionAdapter& us)
{
if(ea.getEventType() == WM_INPUT)
然后,我应该获得Windows句柄以及如何使用?
答案 0 :(得分:1)
OpenSceneGraph是一个跨平台工具包。 Windows消息在OpenSceneGraph内部进行转换,并转换为OSG特定类型。您在CallbackManager
中获得的内容与Windows消息完全分离。
如果没有深入了解OpenSceneGraph代码并在OSG核心中添加多指针设备支持,那么你几乎无能为力。