几秒钟后,在OS X上隐藏鼠标光标

Sop*_*ert 2 cocoa objective-c cursor python-idle

对于我的全屏应用程序,如果没有移动,我想在几秒钟后隐藏光标,如QuickTime或iTunes中的全屏模式.据推测我打算打电话[NSCursor setHiddenUntilMouseMoves:YES],但我怎么知道什么时候打电话呢?

据推测,我在寻找与在空闲时间之后隐藏鼠标光标相同的功能,但在Mac上.我找不到一种方法来获得类似的"空闲时间".(另外,我可能不关心键盘事件,只关注鼠标移动.)

xny*_*hps 5

您可以使用以下命令获得光标(如果您还需要键盘)的空闲时间: CGEventSourceSecondsSinceLastEventType(kCGEventSourceStateCombinedSessionState, kCGEventMouseMoved)

Swift 3代码: CGEventSource.secondsSinceLastEventType(CGEventSourceStateID.combinedSessionState, eventType: CGEventType.mouseMoved)

另见http://developer.apple.com/library/mac/#documentation/Carbon/Reference/QuartzEventServicesRef/Reference/reference.html.您可能每隔几秒钟就必须轮询此函数,并且如果返回的时间减少,您应该假设用户移动了光标.