看来scrollWheel:必须是它,才能接收到这些信息。不幸的是,触控板的滚动三角比鼠标的高数量级,因此滚动速度在精神上是高的。因此,我需要区分他们,以便我可以应用适当的减震器。
文档令人费解地注意到,虽然您通常通过检查NSEvent的子类型来做到这一点,但在scrollWheel:中,这是不起作用的。但他们没说你该怎么做。实验告诉我,虽然触控板卷轴确实没有正确地键入为NSTouchEventSubtype,但它们的类型与鼠标轮滚动- NSTabletPointEventSubtype vs NSMouseEventSubtype不同。问题是,NSTabletPointEventSubtype也用于真正的平板滚动事件,而这些事件中的增量甚至更高。所以我也要区分那些。
注意:类似的先前问题包括this,其中唯一的建议是基于一个无文档的API推断,或其他具有类似的黑客。有些人似乎建议您忽略scrollWheel:完全和手动跟踪触摸事件,但这似乎是许多多余的工作,可能会破坏未来的操作系统发行版。
发布于 2013-01-20 03:43:07
我相信[event hasPreciseScrollingDeltas]是你要找的。它可以在OSX10.7中使用。
https://stackoverflow.com/questions/13442793
复制相似问题