NSResponder

// 鼠标按下事件
- (void)mouseDown:(NSEvent *)event;
// 鼠标右键按下事件
- (void)rightMouseDown:(NSEvent *)event;
// 鼠标抬起事件
- (void)mouseUp:(NSEvent *)event;
// 鼠标右键抬起事件
- (void)rightMouseUp:(NSEvent *)event;
// 鼠标移动事件
- (void)mouseMoved:(NSEvent *)event;
// 鼠标拖拽事件
- (void)mouseDragged:(NSEvent *)event;
// 鼠标滚动事件
- (void)scrollWheel:(NSEvent *)event;
// 鼠标右键拖拽事件
- (void)rightMouseDragged:(NSEvent *)event;
// 鼠标进入监控区域事件
- (void)mouseEntered:(NSEvent *)event;
// 鼠标离开监控区域事件
- (void)mouseExited:(NSEvent *)event;
// 键盘按下事件
- (void)keyDown:(NSEvent *)event;
// 键盘按下事件
- (void)keyUp:(NSEvent *)event;
// 键盘控制键的按下标记状态发送改变,后面用该方法来获取控制按下事件,参考 NSEventModifierFlags 定义
- (void)flagsChanged:(NSEvent *)event;

NSEvent

// 事件类型
@property (readonly) NSEventType type;
// 键盘控制键的按下状态的标记
@property (readonly) NSEventModifierFlags modifierFlags;
// 事件的时间戳
@property (readonly) NSTimeInterval timestamp;
// 鼠标点击的次数(只有鼠标事件,才可使用)
@property (readonly) NSInteger clickCount;
@property (readonly) NSInteger buttonNumber; 
@property (readonly) NSInteger eventNumber;
// 压力值
@property (readonly) float pressure;
// 鼠标在窗口的位置
@property (readonly) NSPoint locationInWindow;
// 鼠标滚动时。分别在 X 和 Y 轴上的偏移 
@property (readonly) CGFloat scrollingDeltaX NS_AVAILABLE_MAC(10_7);
@property (readonly) CGFloat scrollingDeltaY NS_AVAILABLE_MAC(10_7);
// 键盘事件的字符编码和 key code 值
@property (nullable, readonly, copy) NSString *characters;
@property (readonly) unsigned short keyCode;