查看: 1236|回复: 5

如何使我的 c++ 程序 (OpenSceneGraph) 支持一台电脑双鼠标同时操作?

[复制链接]

该用户从未签到

发表于 2013-11-5 23:13:49 | 显示全部楼层 |阅读模式
本帖最后由 superwavelet 于 2013-11-6 12:19 编辑

就是同一个电脑两个鼠标,可以同时操作, 两个鼠标做不同的事.

OpenSceneGraph (osg)的程序. osg里面有 osgGA::GUIEventAdapter 来检测鼠标信号. 但是只能把两个鼠标当一个来看,不能区分不同鼠标的信号. 我知道有个 MultiPoint Mouse SDK 但是那个是用wpf和c#的,不知道可不可以用在C++程序里面.

还有个叫 GlovePie 的, 但是好像不开源, 不能在vs2010 里面调用?

VRPN可能可以. 是不是我就找驱动安装路径,把那个两个鼠标的dll文件拷贝出来, 然后用vrpn 读出 dll的函数就可以?

该用户从未签到

 楼主| 发表于 2013-11-7 22:42:06 | 显示全部楼层
有同學做過相關程序嘛?

该用户从未签到

发表于 2013-11-18 11:22:38 | 显示全部楼层
OSG默认用的就是Windows的Messaging方式,但是如我在osgdirectinput例子里所写的,换用监听的方式就不再受到message的种种限制了。如果您手头有其他工具的sdk的话,那么也完全可以参考这个例子用UserEvent来管理您的不同输入

该用户从未签到

发表于 2013-11-19 15:38:12 | 显示全部楼层
买个3D鼠标吧 ..直接就可以一起玩了

该用户从未签到

 楼主| 发表于 2013-11-20 22:18:05 | 显示全部楼层
array 发表于 2013-11-18 11:22
OSG默认用的就是Windows的Messaging方式,但是如我在osgdirectinput例子里所写的,换用监听的方式就不再受 ...

非常感谢, 不过在例子里面还是用的osg来获取消息. 不知道如何获取 MainWndProc (HWND hwnd, UINT nMsg, WPARAM wParam, LPARAM lParam) 里面的nMsg?

该用户从未签到

发表于 2013-12-2 09:48:18 | 显示全部楼层
如果您要获取平台相关的MSG,那么最好的办法就是自己PeekMessage
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表