1

我正在开发一个控制鼠标移动的 python 应用程序。

我使用 Quartz.CoreGraphics 库使绝对鼠标位置工作得很好,该库公开了一些用于鼠标控制的 CGEvent 命令(如“CGEventCreateMouseEvent”和“CGEventPost”)。

但是,我在文档中找不到有关相对鼠标移动的任何内容。我真的很想模拟实际的鼠标移动(即“x sideways,y up”而不是“x,y”),因为使用我的应用程序的一些人有多个监视器,我想这会容易得多通知操作系统有鼠标移动,而不是自己设置位置。

我的界面的性质也适用于相对的鼠标移动。

在 Windows 中,win32 API 中有一个函数允许“原始”鼠标命令执行我正在寻找的操作。有没有办法在 OS X 中实现这一点?

4

1 回答 1

1

我认为管理事件的方式不可能。您需要捕获旧的 (X,Y) 并自己计算增量。这意味着当您点击屏幕末尾时会遇到问题。

好消息是您可以移动鼠标。因此,如果鼠标碰到边缘,您可以将其重新定位到中心。您还可以使鼠标指针不可见。最后,您可以使用覆盖整个屏幕的跟踪矩形来捕捉鼠标移动。所以好消息是你可以精确地模拟你想做的事情,但坏消息是这需要一些工作。

有用的 API 包括:

其他 SO 参考资料包括:

于 2013-08-04T03:26:05.697 回答