- 桌面应用
- 系统编程
【免费下载链接】mac-mouse-fix
Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad!
Mac Mouse Fix 是一款开源的 macOS 鼠标增强应用,目标是让普通第三方鼠标获得接近 Apple 触控板或罗技 MX Master 级别的体验。本文以仓库根目录的 Readme.md 为主体,结合本仓库的源码与默认配置,系统讲解安装方式、macOS 兼容性、实用技巧、常见问题排查与卸载清理,并深入揭示其“主应用 + Helper 后台进程”的架构原理,帮助你快速上手、排查故障,并理解其底层实现。
项目概述:让普通鼠标拥有触控板级能力
Mac Mouse Fix 的定位非常直白——“Make Your $10 Mouse Better Than an Apple Trackpad”(让你的十美元鼠标比 Apple 触控板还好用)。根据 Readme.md 的描述,项目作者希望将 Mac Mouse Fix 打造成为有史以来最好的鼠标驱动之一,并认为它已经能在某些方面把普通鼠标变成 Mac 上最棒的输入设备之一。
值得强调的是,该项目的核心能力包括:
- 平滑滚动(Smooth Scrolling):将鼠标滚轮模拟成触控板式的惯性滚动;
- 手势与导航:通过“滚动与导航(Scroll & Navigate)”模拟双指滑动等触控板手势;
- 按键重映射:把鼠标按键映射为键盘按键、系统级操作甚至特殊功能键;
- 指针控制:调整灵敏度与加速度曲线。
安装方法:官网下载与 Homebrew
根据 Readme.md 的“安装方法”章节,Mac Mouse Fix 支持两种主流的安装途径:
方式一:从官方网站下载最新版本(可获取包含视频演示的功能概览)。
方式二:通过 Homebrew 安装。只需在终端执行:
brew install mac-mouse-fix对于需要历史版本(例如 macOS 版本较旧、或希望使用 Mac Mouse Fix 2 的用户),可以前往项目的 Releases 页面获取旧版本安装包。
说明:本仓库为只读源代码仓库。除直接下载安装包外,也可以查看 Readme.md、Acknowledgements.md 以及本地化的多语言文档来了解项目全貌;从源码构建请参考 Mouse Fix.xcodeproj 中的 Xcode 工程与各 scheme(如
App - Release.xcscheme、Helper - Release.xcscheme等)。
macOS 兼容性:版本对照与降级选择
Readme.md 明确给出了不同 macOS 版本的适配情况,这是选择安装版本的关键依据:
| macOS 版本 | 推荐版本 | 说明 |
|---|---|---|
| macOS 11 Big Sur 及以上 | 最新版(Mac Mouse Fix 3) | 专为该系统设计,完整支持 |
| macOS 10.15 Catalina / 10.14 Mojave / 10.13 High Sierra | Mac Mouse Fix 2 最新版 | 3.0.0+ 可能仍能运行,但会出现视觉瑕疵,部分功能可能异常 |
| macOS 10.12 Sierra / 10.11 El Capitan | Mac Mouse Fix 2.2.0 及以下 | 旧系统只能使用更早的 2.x 版本 |
此外,README 明确回答了一个高频问题:Mac Mouse Fix 在 Apple Silicon 上 100% 原生运行,不存在 Rosetta 转译的问题。
从仓库结构看,项目被拆分为两个独立 target:App(主应用)与 Helper(后台辅助进程),因此对系统事件捕获、辅助功能权限的依赖是兼容性设计的关键。关于 Helper 的架构细节,见下文“从源码看架构”。
实用技巧:触控板级操作迁移到鼠标
用“点击并拖拽”实现窗口管理(配合 Swish)
Readme.md 的“提示”章节分享了作者最推崇的窗口管理玩法:Swish是一款基于触控板手势的窗口管理工具,可让窗口快速占据半屏、四分之一屏或全屏。
Swish 本身为触控板设计,但配合 Mac Mouse Fix,你可以在任何第三方鼠标上使用它:
- 打开 Mac Mouse Fix,进入按键设置;
- 将任意按键的“点击并拖拽(Click and Drag)”动作设为“滚动与导航(Scroll & Navigate)”;
- 之后按住该按键并拖拽,即可触发与双指滑动等价的窗口吸附操作。
README 特别强调:任何在 Apple 触控板上通过双指滑动能完成的操作,在“滚动与导航”功能下都能获得同等体验。
直接从鼠标控制亮度、音量与媒体播放
Mac Mouse Fix 支持把键盘上的任意按键映射到鼠标按键上——包括 Apple 键盘特有的功能键(屏幕亮度、音量、媒体播放等)。
- 如果你手边没有 Apple 键盘,按住 Option (⌥) 键即可在按键选择器中调出这些特殊的 Apple 功能键。
- 设置完成后,即可通过鼠标一键控制屏幕亮度、音量大小或媒体播放。
从源码看,这一能力由 Helper/Core/Buttons/ButtonModifiers.swift 与 Helper/Core/Actions/Actions.m 配合实现:按键事件经 ButtonInputReceiver 捕获后,按配置映射为键盘事件(包括符号化快捷键
symbolicHotkey)。在 Shared/Config/default_config.plist 的Constants.defaultRemaps中可以看到默认映射示例,例如中键单击被映射为symbolicHotkey变体 70。
常见问题排查与配置建议
以下是 Readme.md 的“常见问题”章节的完整整理,并补充了仓库内的配置与源码佐证。
为什么点击鼠标时有延迟?
当你点击时,Mac Mouse Fix 可能会等待片刻以判断你是否要进行“连按”(双击),从而产生可感知的延迟。
解决办法:若要消除某个按键的点击延迟,请删除该按键下所有的“连按(Double Click)”操作指令。该行为对应默认配置中trigger.duration取值为click与hold的区分——判断是否需要等待双击的正是这类触发设定。
如何通过“点击并拖拽”打开 App Exposé?
可以!只需选择“空间与调度中心(Spaces & Mission Control)”操作,然后执行“点击并向下拖拽”。
如果不起作用,很可能是你的 Mac 禁用了“App Exposé”触控板手势。可以在“系统设置”中开启,或直接在终端执行:
defaults write com.apple.Dock showAppExposeGestureEnabled -bool TRUE; killall Dock有没有针对不同 App 的独立设置(Profiles)?
- 在Mac Mouse Fix 2中,可通过
More... > App-specific settings禁用平滑滚动等功能。 - 在Mac Mouse Fix 3中,该功能尚未上线;“特定应用设置”和“特定鼠标设置”均在开发计划中,但暂无明确时间表。
临时替代方案(README 官方建议):
- 打开“常规(General)”选项卡;
- 开启“在菜单栏中显示(Show in Menu Bar)”;
- 之后即可直接从菜单栏快速禁用平滑滚动等功能。
这也解释了仓库中为何存在 Helper/UI/MenuBarItem/MenuBarItem.swift——菜单栏开关是 3.x 阶段在“应用级设置”缺失时的过渡方案。
我的鼠标是否受支持?
大概率可以,最稳妥的方式是直接下载尝试。README 明确指出一个例外:某些必须配合专属驱动软件(如 Logitech Options)使用的鼠标,Mac Mouse Fix 目前可能无法识别其全部按键——原因是这类鼠标使用特殊的私有协议与电脑通信,而非标准 USB 协议。作者表示完全兼容这些鼠标工作量巨大,短期内不会实现。
部分按键无法识别怎么办?
请参考上一条“鼠标兼容性”的说明,本质原因相同(私有协议导致按键信号无法被标准 HID 通道捕获)。
Apple Magic Mouse 支持吗?
目前 Mac Mouse Fix 对 Magic Mouse没有任何效果。作者表示未来可能会加入增强 Magic Mouse 的功能,但当下不支持。
倾斜滚轮(Tilt Scroll Wheel)支持吗?
部分鼠标支持左右拨动滚轮进行横向滚动,Mac Mouse Fix 会让这一操作更自然易控。但目前无法通过拨动滚轮触发其他动作(如切换桌面)——因为实现该功能需要重新编程鼠标固件、让倾斜发送按键信号而非滚动信号,且需与鼠标厂商私有协议通信,短期不会上线。
如何关闭指针加速?
Mac Mouse Fix 本身不提供关闭指针加速度的选项。但如果你使用macOS 14 Sonoma 或更高版本,可以前往:
系统设置 > 鼠标 > 高级... > 指针加速度
手动关闭。作者计划未来加入更出色的指针加速控制方式,上线时间未定。
源码佐证:仓库中 Shared/Config/default_config.plist 的
Pointer键包含acceleration、sensitivity、useSystemAcceleration等字段,对应 Helper/Core/PointerSpeed/PointerSpeed.m 的指针速度与加速度处理;其useSystemAcceleration默认值为false,说明默认使用自定义加速度曲线而非系统曲线。
Mac Mouse Fix 2 与 3 的区别
- 盈利模式:MMF 2 100% 免费并持续支持;MMF 3 提供 30 天免费试用,之后付费买断。
- 功能特性:官方提供了功能对比表,可能随时间略有滞后;两者均可免费下载自行评估。
数据隐私与授权
- Mac Mouse Fix没有广告,不收集任何个人信息。
- 购买时由销售平台 Gumroad 收集必要信息(如邮箱),用于发放授权与退款,作者可见但无法关闭。
- 一个授权可在你所有的 Mac 上使用;若登录同一 Apple 账号,授权会通过 iCloud 自动同步到其他设备。
- 授权仅限一人使用,禁止公开分享(公开分享的授权可能被作废)。
- 授权覆盖所有Mac Mouse Fix 3.x版本;未来大版本(如 4.0)可能需要重新购买。
- 无官方退款政策,但提供 30 天免费试用;购买后遇到问题可联系作者。
收费后还开源吗?
是的,Mac Mouse Fix 将继续保持开源。作者鼓励任何人在自己的项目中使用其源代码,只要不发布一个简单的克隆版本。具体条款见仓库根目录的 License 文件(Mac Mouse Fix 3 及后续版本均在该协议下授权)。
从源码看架构:主应用 + Helper 双进程设计
结合仓库结构可以清晰看到该项目的核心架构——一个主应用(App)+ 一个后台辅助进程(Helper):
- App(主应用):提供设置界面(
常规 / 按键 / 滚动 / 指针 / 关于等选项卡)、更新管理(集成 Sparkle,见 App/Update/SparkleUpdaterController.m)与购买授权界面。 - Helper(后台进程):真正捕获并处理鼠标事件。它的实际入口在 Helper/AccessibilityCheck.m 的
+ (void)load(Helper/AppDelegate.m 的注释明确写道“The effective entry point of this app is at [AccessibilityCheck load]”)。
Helper 的启动流程(见 Helper/AccessibilityCheck.m)值得开发者参考:
- 先加载 GlobalEventTapThread 与消息端口 MFMessagePort;
- 调用
AXIsProcessTrustedWithOptions检查辅助功能权限(checkAccessibilityAndUpdateSystemSettings); - 若未授权,启动独立实例执行
forceUpdateAccessibilitySettings修复 macOS 更新后权限开关失效的已知问题,并每 0.5 秒轮询权限状态; - 权限就绪后,依次
load_Manual启动 ButtonInputReceiver、DeviceManager、Scroll、Modifiers、ModifiedDrag、Config 等模块。
这一设计解释了为什么“开启 Mac Mouse Fix 后,即使关闭应用窗口或重启电脑,鼠标仍受其影响”——真正作用于鼠标的是常驻后台的 Helper 进程,而非主应用本身。
配置文件结构(进阶)
项目的默认配置位于 Shared/Config/default_config.plist,主要分组如下:
| 配置分组 | 关键字段 | 说明 |
|---|---|---|
Scroll | smooth(high)、speed(medium)、reverseDirection、trackpadSimulation、precise、modifiers | 平滑滚动与触控板模拟参数 |
General | checkForUpdates、checkForPrereleases、showMenuBarItem、buttonKillSwitch、scrollKillSwitch | 更新策略与菜单栏、功能总开关 |
Pointer | acceleration、sensitivity、useSystemAcceleration | 指针加速度与灵敏度 |
Remaps | 数组(默认空) | 用户自定义按键映射,会在初始化时被Constants.defaultRemaps中的默认映射程序化替换 |
State | launchesOverall、launchesOfCurrentBundleVersion、remapsAreInitialized、autosave_tabID | 应用状态与启动计数 |
Constants | configVersion、defaultRemaps(threeButtons/fiveButtons) | 默认映射模板(3 键鼠标 / 5 键鼠标)与配置版本号 |
其中defaultRemaps展示了默认映射结构:每条映射由trigger(触发条件:按键、持续时间click/hold、层级level)、modifiers(修饰键)与effect(效果,如symbolicHotkey、smartZoom、modifiedDragType的twoFingerSwipe/threeFingerSwipe、modifiedScrollEffectModification的zoom/fourFingerPinch)组成。
关于配置维护,Shared/Config/ConfigReadme.md 给出两条重要提醒:
- 将真实
config.plist复制为default_config.plist时,务必重置其中的State值; default_config.plist中的Remaps应为空数组,它会被程序化替换为默认映射。
卸载与残留清理
Readme.md 的卸载说明非常直接:只需将 Mac Mouse Fix 移至废纸篓即可完成卸载。
但需要注意:系统里会残留相关文件(包括后台 Helper 进程的辅助功能授权记录等)。由于 macOS 机制限制,应用在自身被删除时无法自动清理这些残留文件,因此官方强烈推荐使用AppCleaner(FreeMacSoft)之类的工具进行彻底清理。
如何参与贡献
如果你想支持这个项目,Readme.md 列出了多种途径:
- 提交反馈:通过反馈助手分享想法、问题与建议,帮助改进产品;
- 捐赠支持:购买应用、PayPal 打赏或按月赞助,帮助作者实现财务自给自足、持续开发;
- 参与翻译:Mac Mouse Fix 目前支持英语、德语以及 Acknowledgements.md 中列出的各语言;翻译帮助与翻译问题报告均可通过官方翻译指南渠道进行;
- 贡献代码:欢迎提交 Pull Request;如果不确定改动是否会被采纳,可先提交一个仅“描述”改动意图、包含少量或零代码的 PR,先与作者对齐方向再动手实现。
仓库根目录的 Acknowledgements.md 列出了所有已贡献者,Markdown/LocalizedDocuments 下则存放了包括中文(简体/繁体)、日语、德语、法语等在内的多语言版本文档,方便不同语言背景的开发者阅读与参与。
总结:Mac Mouse Fix 是一款架构清晰、文档完善的开源鼠标增强工具。通过本文,你可以快速完成安装、根据 macOS 版本选择合适的发行版、掌握窗口管理与功能键映射两大实用技巧,并借助“常见问题”章节排查延迟、手势、兼容性等高频故障。如果希望深入源码,建议从 Helper/AccessibilityCheck.m 的启动流程与 Shared/Config/default_config.plist 的配置结构入手,两条线索足以串起整个事件捕获与映射链路。
- 桌面应用
- 系统编程
【免费下载链接】mac-mouse-fix
Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad!
相关推荐
Mac Mouse Fix 指南:从安装、系统兼容性到鼠标增强技巧与常见问题全解析
Mac Mouse Fix 指南:从安装、系统兼容性到鼠标增强技巧与常见问题全解析 Mac Mouse Fix 是一款开源的 macOS 鼠标增强应用,其核心目
桌面应用系统编程Mac Mouse Fix 完整使用指南:从安装配置、工作原理到常见问题(开源 macOS 鼠标增强工具)
Mac Mouse Fix 完整使用指南:从安装配置、工作原理到常见问题(开源 macOS 鼠标增强工具) 导读 本文以 Mac Mouse Fix 项目官方
桌面应用系统编程Mac Mouse Fix 开源指南:安装、macOS 兼容性、使用技巧与常见问题全解析
Mac Mouse Fix 开源指南:安装、macOS 兼容性、使用技巧与常见问题全解析 Mac Mouse Fix 是一个致力于让普通第三方鼠标在 macOS
桌面应用系统编程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考