2013-02-20 37 views
2

是否有任何资源可以指导我如何让我的应用程序响应任何类型的不是左/右按钮的鼠标点击?全球范围内,即使我的应用程序不活动。Cocoa:鼠标中点击事件(全局)+手势API?

对于神奇的鼠标/触控板,是否有任何框架或资源可以轻松将我的代码附加到特定的手势?

回答

0
+0

问题是我没有NSView或NSWindow,事件可能发生在任何活动的应用程序中。 – Wesley 2013-02-20 10:15:51

+0

看看这个http://stackoverflow.com/questions/4752427/osx-detect-system-wide-keydown-events-solved-with-sample-code – Shashank 2013-02-20 10:26:17

+0

谢谢,就是这样,并在处理程序,我只是检查[ evt buttonNumber]找到我需要的按钮。 – Wesley 2013-02-21 11:13:19

0

下面是一个基于Shashank(非常有用)答案的代码示例。

NSEventMask eventMask = NSOtherMouseDownMask|NSOtherMouseUpMask; 
[NSEvent addGlobalMonitorForEventsMatchingMask:eventMask 
     handler:^(NSEvent *event) { 
      if (event.type == NSOtherMouseDown) { 
       NSLog(@"middle click down"); 
      } else if (event.type == NSOtherMouseUp) { 
       NSLog(@"middle click up"); 
      } 
     }];