macOS玩轉機械鍵盤總結——軟體篇
客制化機械鍵盤最大的好處就是布局可以隨心定製,這一點在方向鍵處理上絕對是解決了我的使用痛點,詳情可見 macOS下玩轉機械鍵盤總結——硬體篇 之第四階段鍵位功能調整。
但僅在板級上做定製還不夠,macOS下有一些外接鍵盤的坑依然需要軟體手段來填:
- F1~F12功能鍵與控制功能鍵的協調;
- 組合鍵的定製。
macOS在處理Function Key上是優先將mission control、launchpad、音量加減等控制功能置於鍵盤布局的頂層,而真正的F1~F12信號需要加按macOS下的fn鍵才能實現。而對於機械鍵盤而言,其Fn鍵只是單純的板級功能層切換鍵,不對系統輸出,而且根本就不是macOS下的功能鍵,所以那些mission control之類的控制功能就無法直接在外接鍵盤上實現。
好在我們有Karabiner-Elements,前身是KeyRemap4MacBook。原本做得非常成熟好用,腳本編寫也形成定式,結果在macOS 10.12上不得不全盤重寫,用戶配置文件也變成了.json。好在經過了兩年打磨,終於基本追上了之前的版本。
先解決 1. F1~F12:
直接在FunctionKeys里添加即可實現原生控制功能:
原本的F1~F12怎麼辦?我嘗試過很多曲線救國的方案,想利用機械鍵盤的Fn在Fn1層產生,但折騰了一圈最終還是回歸到mac下的傳統用法,在鍵盤上設置insert鍵,在Karabiner中將insert映射給fn:
這樣就可以得到mac原生鍵盤上所有需要通過按fn才能出現的鍵信號,包括F1~F12、del等等。
再來解決 2. 組合鍵的定製:
這和個人使用需求有關,現舉一例說明。
由於平時經常和文檔、網頁等白底黑字的東西打交道,時間長了眼睛疼。mac下又不好搞什麼全局綠色護眼模式,系統或flux上搞的黃屏模式又太丑了。想來想去,最佳的辦法應該是直接反色:
macOS提供系統級的全局反色,在輔助功能里,可為其設置一個快捷鍵,我選的是ctrl+shift+8:
接下來就可以在karabiner.jason裡面將鍵盤上的某一個按鍵(我選的是完全不用的PrtScr鍵)配置一個」complex_modifications「,具體方法可見官方manual。
找到~/.config/karabiner/assets/目錄,在karabiner.json文件中 profiles下 添加如下代碼:
"complex_modifications": {n "parameters": {n "basic.to_delayed_action_delay_milliseconds": 500,n "basic.to_if_alone_timeout_milliseconds": 1000n },n "rules": [n {n "description": "PrtScr to Shift + Ctrl + 8",n "manipulators": [n {n "from": {n "key_code": "print_screen"n },n "to": [n {n "key_code": "8",n "modifiers": [n "left_shift",n "left_control"n ]n }n ],n "type": "basic"n }n ]n }n ]n },n
再想反色或恢復的時候一鍵PrtScr就OK了,不必費勁地再去按三個鍵了。
客制化機械鍵盤還支持板級宏命令,比如按某一個按鍵後,直接輸出一串字元。很多人喜歡用這個功能來免去親手輸密碼,不過個人覺得安全性略差。暫時沒折騰宏。等以後有需要或有想法了再搞吧。
歡迎交流玩鍵盤的心得。
推薦閱讀:
※高效使用Mac,你要知道這些
※高清視頻在FCP平台下採用ProRes 422編碼方案很完美,Adobe平台該採用哪種編碼方式?
※蘋果公司明知道 Mac 有一些不如 Windows 的地方,為什麼不改?蘋果公司會鼓勵開發嗎?
※為什麼蘋果的 iMac 系列使用的顯卡都是筆記本級別的,和同價位 PC 性能相比無優勢,其目標人群是哪些人?
※為什麼用 Mac 版 QQ 不顯示「Mac QQ 在線」?