如何检测Mac上的所有光标移动和按键?

问题描述:

在OSX Lion上使用objective-c检测Mac上所有光标移动和按键的最佳方法是什么?如何检测Mac上的所有光标移动和按键?

+0

你是什么意思?全部在应用程序中还是在整个系统中? – Davyd

+0

@Davyd,全部在应用程序中。 – David

我通过安装一个事件监测

- (void)monitorEvents 
{ 
    // Monitor all events 
    NSUInteger eventMasks = NSLeftMouseDownMask | NSRightMouseDownMask | NSMouseMovedMask | NSScrollWheelMask | NSKeyDownMask | NSMouseMovedMask | NSEventTypeBeginGesture | NSEventTypeEndGesture; 

    eventMonitor = [NSEvent addLocalMonitorForEventsMatchingMask:eventMasks handler:^(NSEvent *incomingEvent) 
    { 
     NSEvent *result = incomingEvent; 

     return result; 
    }]; 
} 

通常情况下,你会继承NSApplication和覆盖-sendEvent:方法做到了。