Cocoa在鼠标移动时监听鼠标移动事件,而不是光标

时间:2017-05-02 17:17:25

标签: cocoa appkit

我正在Cocoa开发游戏,我想在用户移动鼠标时旋转相机,并且屏幕限制了相机的移动。我隐藏了鼠标光标,但我希望在物理鼠标移动时收听,而不是在鼠标光标移动时收听。我听说过IOKit,但这似乎太低了。如果是这样做的任何高级方式,那么如何?否则,我如何使用IOKit

1 个答案:

答案 0 :(得分:1)

隐藏光标时,请致电CGAssociateMouseAndMouseCursorPosition(FALSE)。这将使鼠标移动不会移动光标。

移动鼠标时,您将继续获得NSEventTypeMouseMovedNSEventTypeLeftMouseDraggedNSEventTypeRightMouseDraggedNSEventTypeOtherMouseDragged个事件(具体取决于移动过程中是否按下按钮)。由于光标不移动,locationInWindow不会有意义。它将继续报告从光标与鼠标取消关联时的最后位置。但是,deltaXdeltaY属性将指示鼠标移动的距离和方向。