Mac Mouse Fix:3 个核心功能,把普通鼠标变成 macOS 触控板级输入设备
【免费下载链接】mac-mouse-fixMac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad!项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix
Mac Mouse Fix 是一款开源的 macOS 鼠标驱动,它接管普通鼠标的按键与滚轮,重新映射为系统功能,并模拟触控板平滑滚动,让侧键和滚轮立刻派上用场。
定位与核心卖点
如果你在用 Logitech 或其他第三方鼠标,系统层面通常只认得"点击"和"滚动":侧键基本闲置,滚轮一格一格地跳,还经常和触控板方向相反。Mac Mouse Fix 就是补这个空缺的——它不需要厂商驱动软件,直接在用户态接管鼠标输入,再把它重新组织成顺手的交互。
顺带说明费用情况:代码始终开源(MMF License),Mac Mouse Fix 2 及以下版本永久免费,Mac Mouse Fix 3 免费试用 30 天后需要小额付费。
- 接管鼠标按键与滚轮,用普通鼠标模拟触控板手势
- 单击、双击、长按、点按并拖移三种触发方式可自由组合
- 平滑滚动支持调速度、调平滑度,方向可反转
- 菜单栏一键开关,和游戏、CAD 软件冲突时能临时让位
- 配置以本地 plist 文件存储,备份、改默认值都很直接
核心能力拆解
macOS 鼠标按键映射:按钮 4/5 干什么,你说了算
把指针移到设置界面的"+"区域,按一下鼠标按键,然后在下拉框里挑动作:启动台、调度中心、智能缩放、媒体控制,甚至是键盘上任意一个键——包括亮度和音量这类只在苹果键盘上才有的特殊键(分配时按住 Option 即可选到)。触发方式分单击、双击、长按、点按并拖移,还能和另一个按键组合成复合触发。
源码里用一套状态机来跟踪"一次点击"的完整生命周期:
enum ClickCycleTriggerPhase: Int { case none = -1 case press = 0 case hold = 1 case levelExpired = 2 case release = 3 case releaseFromHold = 4 }核心逻辑位于 Helper/Core/Buttons/。
触控板级平滑滚动:滚轮从"咔哒咔哒"变成连续惯性
滚动引擎会接管每一个滚轮刻度,重采样成带加速曲线的连续滚动,还能模拟触控板的两指滑动——把某个按键的"点按并拖移"设为 Scroll & Navigate 后,就能切换桌面、打开调度中心这些两指手势。实际效果是:滚一下像推触控板,反向滚一格还能刹车停住。平滑度、速度和方向都在 Scrolling 标签页里调:
<key>Scroll</key> <dict> <key>trackpadSimulation</key><true/> <key>smooth</key><string>high</string> <key>reverseDirection</key><true/> </dict>滚动引擎源码在 Helper/Core/Scroll/,旁边还留了 ScrollNotes.md 记录开发中踩过的滚动兼容坑。
菜单栏急停开关:给冲突应用留后路
实测下来,少数应用(部分游戏、设计软件)和鼠标接管会打架。Mac Mouse Fix 把 Scrolling 和 Buttons 做成两个独立开关,直接挂在菜单栏上,遇到不兼容的应用一键关掉,鼠标立刻恢复原生状态,不用进设置翻找。这两个开关的默认值就写在配置文件里:
<key>General</key> <dict> <key>showMenuBarItem</key><false/> <key>buttonKillSwitch</key><false/> <key>scrollKillSwitch</key><false/> </dict>配置相关代码见 Shared/Config/,其中的 default_config.plist 是所有默认值的出处。
跑通流程
- 安装。终端里一行命令最省事;想从源码构建的话,先克隆仓库:
brew install mac-mouse-fixgit clone https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix cd mac-mouse-fix源码方式接着用 Xcode 打开Mouse Fix.xcodeproj,选 App scheme 运行即可。最新版要求 macOS 11 Big Sur 及以上。
授予权限。系统设置 → 隐私与安全性,把"辅助功能"和"输入监控"里的 Mac Mouse Fix 都打开,缺一不可。
在应用里打开"Enable Mac Mouse Fix"总开关。注意:开关打开后,关闭窗口、重启电脑都继续生效,没必要再把它加进登录项。
进 Buttons 标签页配置:指针移入"+"区域,按一下鼠标按键,下拉选个动作,完成。
典型用法
浏览器前进后退。场景:每回退一页都要去够屏幕角落的箭头按钮,打断思路。操作:在 Buttons 标签页给按钮 4、按钮 5 分别分配 Back 和 Forward 动作。效果:Safari、VS Code 里侧键一按即前后翻页;这两个动作在 3.0.6 之后还会模拟按钮 4/5 的原始点击,所以游戏里对侧键的自定义映射也不受影响。
长文档与网页浏览。场景:机械滚轮一格一格跳,看长文像在看幻灯片。操作:Scrolling 标签页打开平滑滚动,smoothness 拉到 High,方向按自己习惯反转。效果:滚轮输出被转换成带惯性的连续滚动,反向滚一格就能刹车停住,体验接近苹果触控板。
排错备忘
- 现象:装了之后浏览器里侧键前进后退失效。原因:按键已被 Mac Mouse Fix"捕获",其他应用再也收不到这个按键的信号,这是它实现手势的前提。解决:两条路——要么在 Mac Mouse Fix 里给该按键分配 Back/Forward 动作,要么在 Buttons 标签页点"-"删掉它的所有绑定,按键就彻底"释放",恢复原样。
- 现象:单击有轻微延迟。原因:该按键绑定了双击动作,系统需要等一小段时间判断你是不是要双击。解决:删掉这个按键的 Double Click 动作。
- 现象:部分按键识别不到。原因:Logi Options 这类厂商驱动配套的鼠标走私有协议上报按键,而不是标准 USB HID。解决:目前官方暂不支持这类鼠标,换标准协议的鼠标最稳妥。
源码导航
- Helper/Core/Buttons/ — 按键捕获、多级触发与动作映射
- Helper/Core/Scroll/ — 平滑滚动、加速曲线与触控板模拟
- Shared/Config/ — 配置文件读写与全部默认值
- App/UI/Main/Tabs/ — 主窗口各设置页的界面代码
- Markdown/Templates/Support/Guides/ — 官方排错指南,按键捕获、滚轮原理都写在里面
收束
Mac Mouse Fix 的思路很直接:不动系统,在用户态接管输入,把普通鼠标该做的事补齐。如果你手头的鼠标侧键在 macOS 上一直闲着,值得花十分钟按上面的流程配一遍;想深入的话,从 Helper/Core 读起,遇到问题直接给项目提一个 Issue 即可。
【免费下载链接】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),仅供参考