代码之家  ›  专栏  ›  技术社区  ›  Sophie Alpert

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

  •  2
  • Sophie Alpert  · 技术社区  · 14 年前

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

    大概我在找和 Hide mouse cursor after an idle time 但在Mac电脑上。我找不到一种方法来获得类似的“空闲时间”。(另外,我可能不关心键盘事件,只关心鼠标移动。)

    2 回复  |  直到 8 年前
        1
  •  5
  •   christopher.online    8 年前

    您可以使用以下方法获取光标(如果还需要键盘)空闲的时间: 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 . 您可能需要每隔几秒钟对这个函数进行一次轮询,如果返回的时间减少了,您应该假设用户移动了光标。

        2
  •  1
  •   John Smith    14 年前

    使用nstimer并在n秒后检查是否没有发生什么?