macos - Cocoa:如何发送正确的鼠标增量事件?

标签 macos cocoa events mouse

我正在制作一个应用程序,使用 Mac OS X (10.7.3) 游戏 handle 上的模拟摇杆来控制鼠标。 目前运行得很好,我可以在桌面和大多数游戏中控制光标。但是在军团要塞2中,我无法控制目标,但可以在菜单中控制光标。鼠标滚轮和点击操作随处可用。 另一个奇怪的事情是,当我移动真实鼠标时,目标在正常瞄准之前“跳跃”了我的“虚拟鼠标”的行进距离,因此它在某种程度上接收了事件。

游戏选项“原始鼠标输入”被禁用(我认为 osx 甚至不支持它)。类似的应用程序可以成功控制目标。

我怀疑游戏正在寻找“增量移动”或“相对移动”事件或任何类似的事件,但我的代码使用绝对位置设置光标的位置。不知道如何改变这个。

以下是用于发送 mouseMoved 事件的代码片段:

编辑:删除了蹩脚代码!

。 编辑:

另外,因为我这样做了,所以我需要手动检查屏幕边界以防止光标疯狂。因此,在多屏设置中,当用户更改分辨率时,情况会变得更糟。 如果我可以发送移动量并让操作系统负责约束光标,那就更好了。

.

问题是: 我以错误的方式执行鼠标移动事件?

如何解决这个问题?

编辑2: 所以,这只是一个愚蠢的错误,抱歉=P

最佳答案

我只是忘记用增量值调用 CGSetIntegerValueField(kCGEventMouseDeltaX, ...) (和 Y)... =P

关于macos - Cocoa:如何发送正确的鼠标增量事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10402797/

相关文章:

python - 如何在MacBook上同时运行两个Python程序?

python - 库未加载 : @rpath/libopenblasp-r0. 2.19.dylib

iphone - 将指针传递给 Objective-C 中的函数

jquery - jQuery 中的自定义事件未绑定(bind)到 DOM 元素?

c - 如何在 Mac 上设置 Code::Blocks 的工作目录?

macos - 对 Mac App Store 应用程序进行 Beta 测试

objective-c - 如何在项目中查找使用特定类的NIB?

objective-c - 文件存在路径 : (NSFileManager)

javascript - dojo框架-事件不起作用

asp.net 页面的 preinit 事件