我正在寻找一种方法来可靠地区分[NSResponder scrollWheel:]
用户输入设备是否具有一维滚轮或二维触控板/magicMouse?
首先,我想实现不同的行为。但是仅仅看一下 deltaXNSEvent
会有点弱。有什么建议么?
我正在寻找一种方法来可靠地区分[NSResponder scrollWheel:]
用户输入设备是否具有一维滚轮或二维触控板/magicMouse?
首先,我想实现不同的行为。但是仅仅看一下 deltaXNSEvent
会有点弱。有什么建议么?
使用事件的子类型:
enum {
NSMouseEventSubtype = NX_SUBTYPE_DEFAULT,
NSTabletPointEventSubtype = NX_SUBTYPE_TABLET_POINT,
NSTabletProximityEventSubtype = NX_SUBTYPE_TABLET_PROXIMITY
NSTouchEventSubtype = NX_SUBTYPE_MOUSE_TOUCH
};
即使禁用了惯性滚动,这也将起作用。
您可以使用私有方法调用[theEvent _scrollPhase]
来判断设备是否正在使用惯性滚动,这表示 Apple 提供的输入设备。(注意:如果用户禁用了惯性滚动,这将不起作用)