我们正在为 OS X 制作一个使用 Quartz 事件移动光标的用户空间设备驱动程序,当游戏(尤其是在窗口模式下运行的游戏)无法正确捕获鼠标指针(= 包含/保持在他们窗户的边界内)。例如,它会走出游戏窗口并单击桌面或附近的非活动应用程序。
如果我们能够检测到活动应用程序何时调用 CGAssociateMouseAndMouseCursorPosition,我们就可以解决这个问题。
你会怎么做?任何想法表示赞赏。
我们正在为 OS X 制作一个使用 Quartz 事件移动光标的用户空间设备驱动程序,当游戏(尤其是在窗口模式下运行的游戏)无法正确捕获鼠标指针(= 包含/保持在他们窗户的边界内)。例如,它会走出游戏窗口并单击桌面或附近的非活动应用程序。
如果我们能够检测到活动应用程序何时调用 CGAssociateMouseAndMouseCursorPosition,我们就可以解决这个问题。
你会怎么做?任何想法表示赞赏。
我不知道这是否可以帮助你
有一个选项叫做焦点跟随鼠标
焦点跟随鼠标 - 如果您将鼠标悬停在此应用程序上,鼠标指针将自动将焦点更改为新窗口,而不必单击窗口以获得焦点,然后单击执行某些操作。
http://wineskin.urgesoftware.com/tiki-index.php?page=Manual+4.6+Advanced+-+Options
我写了几个不同的鼠标逻辑层(用于桥接不同的输入设备等)。我发现挂钩到操作系统级别的 WM_INPUT 事件是获取非常实时的鼠标位置信息的可靠方法。还有一个不太严格的解决方案,即从 Windows 的一个非常原始的 DLL 中轮询您需要的鼠标数据。他们快如闪电。您可以在 10 毫秒计时器上进行轮询,并且永远不会在现代机器上看到性能损失。