跟踪Native-Client插件区域外的鼠标移动事件

时间:2013-11-04 19:01:00

标签: google-chrome google-nativeclient

在Google的Native-Client插件中,有一种方法可以在鼠标按下事件时开始捕获所有鼠标移动事件,直到鼠标向上事件触发,即使鼠标光标移动也是如此在插件区域外?

我有一个3D应用程序,允许用户操作3D对象,(拖动/旋转等),并且在插件区域内发生鼠标按下事件时,用户可以自由地操纵对象并移动鼠标甚至在插件区域之外完成他的操作。操作被设计为仅在鼠标向上事件时才真正停止,即使鼠标已移到插件区域之外。

直到现在我发现的唯一接近所需行为的是使用pp :: MouseLock类,并在鼠标按下时锁定鼠标,并在鼠标按下时将其解锁。锁定期间光标被隐藏,但即使鼠标移动到插件区域之外,我也会收到鼠标移动和鼠标移动事件。但这显然不是理想的解决方案,因为(1)鼠标光标在用户交互过程中被隐藏,(2)一旦插件失去焦点,鼠标就会被浏览器自动解锁,(3)鼠标向上事件,鼠标光标将恢复到鼠标按下事件发生的位置,而不是保留其当前的最终位置(在插件区域之外)。

所以我需要更好的东西,这样我就可以在操作过程中跟踪鼠标位置,甚至可以在我的插件区域之外。

谢谢!

0 个答案:

没有答案