众所周知,macOS 对第三方鼠标挑剔的很,如果是普通的办公鼠标,那几乎还能凑合用,固定的 DPI 顶多就是需要调调鼠标速度罢了,但如果上升到按键多一些的游戏鼠标,就有很多问题了。
不一定是用来打游戏,比如带有前进后退按钮的鼠标在写代码时非常实用。
一般来说,名厂大牌的鼠标会对 macOS 支持较好,主要是因为大厂有精力为 macOS 做鼠标驱动,如果一个鼠标原生就只有 Windows 驱动,那它带有的更多按键就不能很好的被 macOS 识别,花大价钱买的高级鼠标在 macOS 上成了残废。
如何买到一款能在 macOS 下蓝牙稳定连接的鼠标,成了 Mac 用户心头永远的痛。
即使是像罗技这样的大厂,他们的驱动也并不那么稳定,除了鼠标本身“用一段时间后就卡顿[1]”的问题外,还有就是驱动造成的,每间隔一段时间,鼠标设定的宏就会失效,变成了没装驱动时的样子,打开设置软件,甚至它都没有识别到鼠标,这时只能关掉鼠标,再打开重新连接,然后再继续工作。甚至,驱动服务自己也会经常性卡死,导致风火轮……
难道没有这些驱动,鼠标就真的不能用吗?为什么 macOS 总是把鼠标的侧键默认为奇怪的 expose 功能,而不是前进后退呢?
在摸索了一段时间后,我似乎找到了一个比较可行的解决方案。
第三方鼠标按键管理工具
在 macOS 系统偏好设置中,找到“Mission Control”的选项卡,在其中将关于鼠标的热键去掉即可避免识别为 expose 了,这么设置之后就不需要使用 Karabiner 修正鼠标按键识别了 🤷♂️
1、用 Karabiner 修正鼠标按键识别
按键映射的工具有很多,其中不少也支持鼠标的按键映射……但难点就是鼠标的 button4 或 button5 会被系统固定识别为 expose,从而导致绝大多数鼠标按键映射工具无法识别这个按键——除了官方驱动。
使用 Karabiner-Elements 可以解决这个问题,操作方法有点 tricky,首先当然是要在 Karabiner-Elements 的 Devices 中勾选你的鼠标:
这样做之后,再到第一个选项卡, Simple modifications 中添加对鼠标 button4 或 5 的映射,虽然在 Karabiner-EventViewer 中其实也看不到鼠标 button4 的信号,但这并不妨碍你映射它……映射成 button6!(实际上,应该是映射到任意一个你鼠标上不存在的按键)
这样映射之后,你就会发现这个键不会再触发 expose 了,这时我们使用其他软件映射鼠标按键功能(当作第三方驱动)的基础。
注意,Target device 一定要选择为之前我们勾选的鼠标,否则无效。
2、使用 BetterTouchTool 等软件管理鼠标按键
修正了鼠标按键功能后,你就可以使用任意支持映射鼠标按键的工具进行映射了,再也不需要罗技官方的垃圾驱动。
除了本文提到的 BetterTouchTool 外,理论上你也可以尝试 USB Overdrive 或者 SteerMouse 这些工具都是需要付费购买授权的。其实你也可以继续使用 Karabiner,但它的配置实在是太复杂了,毕竟我们要根据不同的软件设置不同的鼠标功能(比如Xcode 和 VSCode 中,前进和后退的快捷键就是不同的,当然在浏览器中的前进后退又是另外一种按键组合)。
现在这些软件应该都能正确识别鼠标的按钮了,你要做的就是按照你的需要将它们的映射设置好,如果你使用的是 BetterTouchTool,那要注意设定的模式选择为“Normal Mouse”。
最后,附上一个玄学设定,如果你的蓝牙鼠标卡顿,那也可能是 macOS 自己的问题,尝试到网络设置中调整网络服务排序,将“Bluetooth PAN”拖动到第一位(放心,你几乎用不到它,这么做不会影响你的任何网络功能),然后你可能就会发现鼠标不卡了……
最最后,如果你发现卸载鼠标驱动后鼠标部分按键失灵失效,那就需要将鼠标从 macOS 中删除然后重新配对。
整整两个月过去了,现在我回来反馈一下这么做后的使用效果—— 完!美!,相当完美,鼠标再也没有一点卡顿过! 可能唯一的缺陷就是你无法查看鼠标的电量了,我遇到了一次鼠标突然不动,还以为是又卡了,结果它只是没电了(没错,没什么电量低就会导致卡的说法,直到没电前的最后一刻,它都在良好服役)。
[1] 我的多款蓝牙鼠标都是刚买的时候还算不错,可随着使用,几个月后就变得卡顿,经常性断开以及丢帧,很难界定是什么原因——毕竟,在 Windows 下它又是可以完全正常使用的。
本文由 落格博客 原创撰写:落格博客 » 在 macOS 上无驱动使用第三方鼠标
转载请保留出处和原文链接:https://www.logcg.com/archives/3428.html
文章写的很好啊,赞(ㆆᴗㆆ),每日打卡~~