首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSEvent和魔术鼠标

NSEvent和魔术鼠标
EN

Stack Overflow用户
提问于 2013-01-22 22:59:57
回答 2查看 1.3K关注 0票数 3

如何区分事件-(void)scrollWheel:(NSEvent *)event是由魔术鼠标还是触控板触发的?

我问这个问题的原因是,当使用触控板时,我想为滚动事件分配一个不同的操作,因为用户可以在触控板上按一下缩放。然而,在魔术鼠标上,用户不能很容易地收缩,所以我想使用滚动功能来代替收缩。

我可以使用下面这行代码来区分普通鼠标和魔法鼠标:

代码语言:javascript
复制
if (([event momentumPhase] != NSEventPhaseNone) || [event phase] != NSEventPhaseNone)

然而,这个测试对于触控板和魔术鼠标都是通过的。

EN

回答 2

Stack Overflow用户

发布于 2014-06-10 08:15:18

我能够区分鼠标上的滚轮(不是魔术鼠标,但我怀疑它仍然可以工作)和使用NSEvent的子类型的触控板:

代码语言:javascript
复制
enum {
   NSMouseEventSubtype           = NX_SUBTYPE_DEFAULT,
   NSTabletPointEventSubtype     = NX_SUBTYPE_TABLET_POINT,
   NSTabletProximityEventSubtype = NX_SUBTYPE_TABLET_PROXIMITY
   NSTouchEventSubtype             = NX_SUBTYPE_MOUSE_TOUCH
};
票数 3
EN

Stack Overflow用户

发布于 2019-06-19 22:11:00

您应该为魔术鼠标处理scrollWheel,并为触控板上的收缩手势添加一个NSMagnificationGestureRecognizer。两者并不冲突,但触控板上的滑动滚动会触发scrollWheel

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14461529

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档