
Mac Mouse Fix 鼠标优化指南3套按键映射方案榨干每个侧键【免费下载链接】mac-mouse-fixMac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad!项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix按下鼠标左侧 Button 4 的那一刻Chrome 没有后退而是直接跳到了上一个文档。Mac Mouse Fix 的按键映射与鼠标优化从此在后台接管了滚轮与侧键。它不做驱动层替换而是用一套事件拦截加平滑算法把一只几十块的普通鼠标重写成接近触控板的输入设备。事件拦截与平滑算法滚轮为何变得顺滑macOS 原生的滚轮事件以「行」为单位送达一行一行地跳没有惯性。Mac Mouse Fix 的做法是把原始滚轮事件在系统底层截走再自己生成像素级的连续滚动事件逐帧回注给应用。滚轮事件拦截链路整个链路写在 Scroll.m 里调用顺序如下CGEventTapCreate(kCGHIDEventTap, kCGHeadInsertEventTap, kCGEventScrollWheel) → 捕获到滚轮事件后 return NULL吞掉原始行式事件 → CGEventCreateCopy 复制事件dispatch_async 到 serial 队列 → heavyProcessing(): 判断方向、跑加速度曲线 → TouchAnimator 把像素量拆成逐帧事件 → sendOutputEvents 重注入连续/手势滚动队列用QOS_CLASS_USER_INTERACTIVE优先级创建保证滚动处理排在普通任务之前。事件复制而非原样透传是为了让重活离开拦截线程避免kCGEventTapDisabledByTimeout把事件钩子挂起。双指数平滑公式滚动之所以「有惯性」来自 DoubleExponentialSmoother.swift 里的双指数平滑。它同时估计当前水平 L 和趋势 T输出叠加趋势项滚停后还能继续滑动L α·Y (1-α)·(L_prev T_prev) T β·(L - L_prev) (1-β)·T_prev output L # 前两个采样点 Y 直通不进入平滑 # α1 完全不平滑α0 输出恒定 # β 越大趋势惯性越强滚停滑行越久加速度不是线性放大而是把「每秒 tick 数」scrollSpeed 1/Δt送进一条 Bézier 曲线求值。Scroll.m 里连续快速甩轮时还会乘一条fastScrollCurve倍数被硬封顶在100000防止自由滚轮的动画时长爆炸到几小时。三套角色按键映射表与滚动参数捕获capture是理解配置的前提一个按键只要出现在 Buttons 标签左侧就说明它已被 Mac Mouse Fix 独占其他应用收不到它的信号。删掉某按键的全部绑定即可「释放」它。下面三套方案默认都从 default_config.plist 的指针加速度0.6875、灵敏度×1出发。开发者按键触发动作映射功能适用软件Button 4单击切到上一个文件标签Xcode / VS CodeButton 5单击切到下一个文件标签Xcode / VS CodeButton 4单击并拖动Scroll Navigate模拟双指划动切 SpaceVS Code 分屏中键单击并拖动Scroll NavigateXcode 画布Button 5双击显示桌面全局滚动灵敏度提到×3加速度降到0.4长文件垂直滚动更可控。开水平滚动让代码块横向拖拽走 Button 4 拖动。设计师按键触发动作映射功能适用软件Button 4单击放大Photoshop / FigmaButton 5单击缩小Photoshop / Sketch中键单击并拖动Scroll Navigate3D 环绕与画布平移Blender / FigmaButton 4 5组合单击Mission Control全局Button 5长按显示桌面全局平滑度选 Regular加速度保持0.6875缩放手感最接近触控板。关闭指针加速度macOS 14 起可在系统设置关掉画布平移更线性。文档处理按键触发动作映射功能适用软件Button 4单击后退 / 上一页PDF / ChromeButton 5单击前进 / 下一页PDF / Chrome中键单击Middle Click新标签打开链接浏览器中键单击并拖动大尺寸文档平移Keynote / PagesButton 4 5双击窗口最大化配合 Swish 吸附全局自然滚动开启加速度0.6875、灵敏度×2PDF 翻页节奏均匀。若中键单击在终端里粘不出来属捕获冲突见下方排查。组合键与差异化动作的进阶玩法Button 4 中键 → Mission Control多桌面之间跳来跳去时比去摸触控板边缘更快。同键单击/长按差异化Button 5 单击前进一页长按显示桌面。适合不想占用额外物理键的场景。任意键绑定 Scroll Navigate 的「单击并拖动」等价于触控板双指滑动可触发 Swish 窗口半屏吸附、App Exposé、Blender 环绕。用第三方鼠标补齐触控板手势时必备。鼠标键直发 Apple 键盘专属键把任意按键设为亮度、音量或媒体播放按住 Option⌥可从列表里挑出这些特殊键。没有 Apple 键盘时控制音量最实用。消除单击延迟给某个按键配了「双击」动作后单击会等一个判定窗口才触发。删掉该键的双击绑定延迟即时消失。安装、权限与性能落地 安装方式包管理器Homebrew 一条命令装好后续用brew upgrade跟版本。brew install mac-mouse-fix官网从 Mac Mouse Fix 官网下载最新 dmg拖进「应用程序」首次运行授予权限即可适合不想碰终端的用户。源码克隆仓库后在 Xcode 里选Appscheme、Release 配置构建git clone https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix cd mac-mouse-fix xcodebuild -project Mouse Fix.xcodeproj -scheme App -configuration Release✅ 权限清单系统设置 → 隐私与安全性 →辅助功能勾选 Mac Mouse Fix负责全局事件钩子。系统设置 → 隐私与安全性 →输入监控勾选负责拦截并改写输入。授权后重启应用或直接重开 Enable 开关Helper 进程才会带上权限重新拉起。若用了 App Translocation从 Downloads 直接双击运行事件钩子会受限务必装进应用程序文件夹。 性能与硬件兼容指针加速度默认0.6875、灵敏度×1可在 Pointer 标签逐设备改。事件开关对 CPU 的开销极小源码注释记录按钮狂点、start/stop 高频切换的场景下钩子开合几乎不影响占用。分帧回注依赖 DisplayLink120Hz屏上约8.3ms/帧这是滚动惯性的物理下限。完全兼容Logitech 的 MX/G 系列USB/蓝牙模式、Microsoft、Razer、SteelSeries 的多数办公与游戏鼠标。受限依赖 Logi Options 等专有驱动协议的鼠标部分按键走私有协议而非标准 USBMac Mouse Fix 暂不能识别全部键Apple Magic Mouse 目前不受它影响。系统要求macOS 11 Big Sur 及以上更旧版本请退回 Mac Mouse Fix 2。 故障排查滚轮/按键不生效 ├─ 菜单栏图标在不在 │ ├─ 否 → 打开 General 的 Enable 开关让 Helper 重新拉起 │ └─ 是 ↓ ├─ 是按键失灵还是滚动不顺 │ ├─ 按键 → 该键是否已被捕获Buttons 标签左侧可见 │ │ ├─ 已被捕获 → 检查是否与浏览器/游戏冲突删掉冲突绑定 │ │ └─ 未被捕获 → 用「」重新捕获该键 │ └─ 滚动 → 先关 Smooth Scrolling再逐档调平滑度与加速度 └─ 权限是否齐全 ├─ 辅助功能未勾选 → 勾选后重开 └─ 输入监控未勾选 → 勾选后重开配置建议定期导出备份。把滚轮加速度、平滑度先定到 0.6875 / ×1 的基线再按上面三张表微调比一上来堆满功能更稳。现在就把 Button 4 和 Button 5 绑定上你最常用的两个动作让这只鼠标今天就多干两份活。官方文档docs/official.md 核心模块路径Helper/Core/ 配置模块Shared/Config/【免费下载链接】mac-mouse-fixMac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad!项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考