7

Use a third-party mouse without a driver on macOS

 2 years ago
source link: https://www.logcg.com/archives/3428.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
最近更新:21st 12月, 2020

众所周知,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 了,这时我们使用其他软件映射鼠标按键功能(当作第三方驱动)的基础。

将鼠标4键映射到不存在的6键上

注意,Target device 一定要选择为之前我们勾选的鼠标,否则无效。

2、使用 BetterTouchTool 等软件管理鼠标按键

修正了鼠标按键功能后,你就可以使用任意支持映射鼠标按键的工具进行映射了,再也不需要罗技官方的垃圾驱动。

除了本文提到的 BetterTouchTool 外,理论上你也可以尝试 USB Overdrive 或者 SteerMouse 这些工具都是需要付费购买授权的。其实你也可以继续使用 Karabiner,但它的配置实在是太复杂了,毕竟我们要根据不同的软件设置不同的鼠标功能(比如Xcode 和 VSCode 中,前进和后退的快捷键就是不同的,当然在浏览器中的前进后退又是另外一种按键组合)。

在 BetterTouchTool 中设置鼠标按键功能

现在这些软件应该都能正确识别鼠标的按钮了,你要做的就是按照你的需要将它们的映射设置好,如果你使用的是 BetterTouchTool,那要注意设定的模式选择为“Normal Mouse”。

最后,附上一个玄学设定,如果你的蓝牙鼠标卡顿,那也可能是 macOS 自己的问题,尝试到网络设置中调整网络服务排序,将“Bluetooth PAN”拖动到第一位(放心,你几乎用不到它,这么做不会影响你的任何网络功能),然后你可能就会发现鼠标不卡了……

最最后,如果你发现卸载鼠标驱动后鼠标部分按键失灵失效,那就需要将鼠标从 macOS 中删除然后重新配对。


整整两个月过去了,现在我回来反馈一下这么做后的使用效果—— 完!美!,相当完美,鼠标再也没有一点卡顿过! 可能唯一的缺陷就是你无法查看鼠标的电量了,我遇到了一次鼠标突然不动,还以为是又卡了,结果它只是没电了(没错,没什么电量低就会导致卡的说法,直到没电前的最后一刻,它都在良好服役)。


[1] 我的多款蓝牙鼠标都是刚买的时候还算不错,可随着使用,几个月后就变得卡顿,经常性断开以及丢帧,很难界定是什么原因——毕竟,在 Windows 下它又是可以完全正常使用的。

本文由 落格博客 原创撰写:落格博客 » 在 macOS 上无驱动使用第三方鼠标

转载请保留出处和原文链接:https://www.logcg.com/archives/3428.html


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK