如何在OpenSceneGraph中使用windows原始输入



我想使用windows原始输入在一台计算机上启用两个鼠标输入。

但是,我没能弄清楚如何获得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)

那我应该拿窗户把手吗?怎么拿?

OpenSceneGraph是一个跨平台的工具包。Windows消息在OpenSceneGraph中进行内部翻译,并转换为特定于OSG的类型。您在CallbackManager中得到的内容与Windows消息完全分离。

除了深入研究OpenSceneGraph代码并在OSG的核心中添加对多指针设备的支持之外,你几乎无能为力

相关内容

最新更新