眾所周知,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
文章寫的很好啊,贊(ㆆᴗㆆ),每日打卡~~