You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Cocoa区分鼠标侧键与滚轮按键?

解决方案

在Cocoa中,你可以通过NSEvent实例的buttonNumber属性获取被按下的具体鼠标按键编号,主流多键鼠标的按键编号遵循固定的约定:

  • 0:鼠标左键
  • 1:鼠标右键
  • 2:滚轮中键
  • 3:后退侧键(通常为靠近用户手掌一侧的侧键)
  • 4:前进侧键

- (void)otherMouseDown:(NSEvent *)event回调触发时,对应按键的buttonNumber值一定大于等于2,你可以直接在该方法内通过判断编号区分触发的按键:

- (void)otherMouseDown:(NSEvent *)event {
    NSInteger pressedButton = event.buttonNumber;
    if (pressedButton == 3) {
        // 处理后退侧键按下逻辑
    } else if (pressedButton == 4) {
        // 处理前进侧键按下逻辑
    }
}

如果需要同时监听按键抬起的事件,实现对应的otherMouseUp:方法,按相同逻辑判断即可。

内容的提问来源于stack exchange,提问作者Alex Aparin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:51:02