python - 在 OS X 中使用相对(而不是绝对)鼠标移动的方法?

标签 python macos core-graphics mouse quartz-graphics

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

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

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

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

在 Windows 中,win32 API 中有一个函数允许使用“原始”鼠标命令来完成我正在寻找的任务。有什么方法可以在 OS X 中实现这一点吗?

最佳答案

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

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

对此有用的 API 包括:

其他 SO 引用包括:

关于python - 在 OS X 中使用相对(而不是绝对)鼠标移动的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14765578/

相关文章:

python - Pandas 中的条件词频计数

python - PYTUBE模块错误

python - py2app: modulegraph 缺少 scan_code

iphone - UIView动画的问题

python - 如何在 Python 中使用 sklearn 对模型进行单一预测?

python - 正则表达式在字符串开头未匹配

objective-c - 如何改变 NSTableView 滚动条的外观

ruby-on-rails - Rails 服务器无法运行 - 找不到 gem 错误

iOS - CoreImage - 为部分图像添加效果

iphone - CG渐变: Drawing a linear gradient on an angle