☰
Mac Mouse Fix:开源鼠标增强工具完整指南——安装、兼容性与常见问题全解
2026/10/4 1:58:15 网站建设 项目流程
  • 桌面应用
  • 系统编程

【免费下载链接】mac-mouse-fix

Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad!

项目地址:https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix
点击查看免费下载

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 SierraMac Mouse Fix 2 最新版3.0.0+ 可能仍能运行,但会出现视觉瑕疵,部分功能可能异常
macOS 10.12 Sierra / 10.11 El CapitanMac 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,你可以在任何第三方鼠标上使用它:

  1. 打开 Mac Mouse Fix,进入按键设置;
  2. 将任意按键的“点击并拖拽(Click and Drag)”动作设为“滚动与导航(Scroll & Navigate)”;
  3. 之后按住该按键并拖拽,即可触发与双指滑动等价的窗口吸附操作。

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 官方建议):

  1. 打开“常规(General)”选项卡;
  2. 开启“在菜单栏中显示(Show in Menu Bar)”;
  3. 之后即可直接从菜单栏快速禁用平滑滚动等功能。

这也解释了仓库中为何存在 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)值得开发者参考:

  1. 先加载 GlobalEventTapThread 与消息端口 MFMessagePort;
  2. 调用AXIsProcessTrustedWithOptions检查辅助功能权限(checkAccessibilityAndUpdateSystemSettings);
  3. 若未授权,启动独立实例执行forceUpdateAccessibilitySettings修复 macOS 更新后权限开关失效的已知问题,并每 0.5 秒轮询权限状态;
  4. 权限就绪后,依次load_Manual启动 ButtonInputReceiver、DeviceManager、Scroll、Modifiers、ModifiedDrag、Config 等模块。

这一设计解释了为什么“开启 Mac Mouse Fix 后,即使关闭应用窗口或重启电脑,鼠标仍受其影响”——真正作用于鼠标的是常驻后台的 Helper 进程,而非主应用本身。

配置文件结构(进阶)

项目的默认配置位于 Shared/Config/default_config.plist,主要分组如下:

配置分组关键字段说明
Scrollsmooth(high)、speed(medium)、reverseDirection、trackpadSimulation、precise、modifiers平滑滚动与触控板模拟参数
GeneralcheckForUpdates、checkForPrereleases、showMenuBarItem、buttonKillSwitch、scrollKillSwitch更新策略与菜单栏、功能总开关
Pointeracceleration、sensitivity、useSystemAcceleration指针加速度与灵敏度
Remaps数组(默认空)用户自定义按键映射,会在初始化时被Constants.defaultRemaps中的默认映射程序化替换
StatelaunchesOverall、launchesOfCurrentBundleVersion、remapsAreInitialized、autosave_tabID应用状态与启动计数
ConstantsconfigVersion、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!

项目地址:https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix
点击查看免费下载

相关推荐

上一篇:CodeQL C++ 安全查询解析:`cpp/memset-may-be-deleted`——为什么编译器会悄悄删掉你的内存清零
下一篇:麦麦机器人:QQ群聊AI助手的终极部署指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询