【发布时间】:2012-05-11 06:44:33
【问题描述】:
我正在制作一个应用程序来使用 Mac OS X (10.7.3) 的游戏手柄上的模拟摇杆来控制鼠标。 目前运行良好,在桌面和大多数游戏中我都可以控制光标。 但是在军团要塞2中,我无法控制瞄准,但可以控制菜单中的光标。鼠标滚轮和点击无处不在。 另一个奇怪的是,当我移动真实鼠标时,瞄准器在正常瞄准之前“跳跃”了我的“虚拟鼠标”的行进距离,所以它有点接收事件。
游戏选项“原始鼠标输入”被禁用(我认为它甚至在 osx 中都不支持)。并且类似的应用程序可以成功控制目标。
我怀疑游戏正在寻找“增量移动”或“相对移动”事件或任何类似事件,但我的代码使用绝对位置设置光标的位置。不知道如何改变这个。
这是用于发送 mouseMoved 事件的代码的 sn-p:
编辑:删除了糟糕的代码!
。 编辑:
另外,因为我是这样做的,所以我需要手动检查屏幕边界以防止光标疯狂。因此,在多屏幕设置中,当用户更改分辨率时,情况会变得最差。 如果我可以发送移动量并让操作系统负责约束光标,那就更好了。
.
问题是: 我以错误的方式处理鼠标移动事件?
我该如何解决这个问题?
编辑2: 所以,这只是一个愚蠢的错误,对不起=P
【问题讨论】: