你在美國買的 MacBook 接上一把義大利文鍵盤,結果有一半的符號都打錯了。把 Mac 切換成義大利文,換成內建鍵盤打錯了。這是因為 macOS 對所有鍵盤同時使用同一個輸入方式(Apple 對鍵盤佈局或輸入法的統稱)。本指南會帶你設定兩種鍵盤佈局、修正 macOS 能依鍵盤個別修正的按鍵,並讓鍵盤佈局跟著你正在打字的鍵盤切換。
為什麼一種鍵盤佈局會套用到所有鍵盤
目前使用的輸入方式是單一的全系統設定。你在「輸入法」選單中選擇的項目,會同時套用到內建鍵盤以及每一把 USB 或藍牙鍵盤。macOS 可以用快速鍵切換輸入方式,或依文件記住輸入方式,但沒有任何選項能把輸入方式綁定到某個鍵盤。
有兩件事確實會依鍵盤個別記住:鍵盤類型(ANSI、ISO 或 JIS,決定 Shift 和 Return 附近幾個按鍵會打出什麼),以及變更鍵。步驟 2 和步驟 3 會說明這兩項。
步驟 1:為每個鍵盤加入鍵盤佈局
- 打開「系統設定」›「鍵盤」。
- 在「文字輸入」下方,按一下「輸入方式」旁的「編輯⋯」。
- 按一下 +,選擇語言,再選擇和你鍵盤上印刷字樣相符的鍵盤佈局(義大利文、德文、英國、法文等),然後按一下「加入」。
- 開啟「在選單列顯示輸入法選單」,這樣就能查看並更改目前使用的鍵盤佈局。
不確定哪個變體和你的鍵帽相符?從「輸入法」選單中選擇「顯示模擬鍵盤」,再和眼前的鍵盤比對看看。
步驟 2:設定鍵盤類型
當你連接 macOS 無法辨識的鍵盤時,「鍵盤設定輔助程式」會打開,請你按幾個按鍵來判斷鍵盤類型。如果你把它關掉了,或它判斷錯誤,你會發現 1 左邊的按鍵和 Z 左邊的按鍵互換,或打出錯誤的符號(§ 和 `、< 和 >)。
若要重新執行,請連接該鍵盤,打開「系統設定」›「鍵盤」,然後按一下「更改鍵盤類型⋯」。鍵盤類型設錯,看起來就像鍵盤佈局設錯,但換任何輸入方式都無法修正。
步驟 3:在 Windows 鍵盤上對調 Command 和 Option
在為 Windows 設計的鍵盤上,空白鍵旁邊的按鍵是 Alt,而 Mac 鍵盤在這個位置是 ⌘。若只想對調那把鍵盤的這兩個按鍵,請打開「系統設定」›「鍵盤」,按一下「鍵盤快速鍵⋯」,選擇「變更鍵」,在上方的選單中選擇該外接鍵盤,然後將 Option 設為 Command、Command 設為 Option。
步驟 4:切換鍵盤時一併切換鍵盤佈局
兩種鍵盤佈局都已安裝好。剩下的就是每次換鍵盤時,選擇正確的那一種。
手動切換
按下 Control 空白鍵回到上一個輸入方式;如果「鍵盤」設定中已將 🌐 鍵設為更改輸入方式,也可以按下它;或從「輸入法」選單中選擇。這些方法都可行,但你每次都得記得切換,而且換到另一把鍵盤後打的第一個字通常會打錯。
依文件切換
在步驟 1 的「輸入方式」設定中,開啟「自動切換至文件的輸入方式」後,每個視窗都會記住你最後在其中使用的輸入方式。當每份文件各自使用一種語言時這很有用,但如果你是在同一份文件中切換鍵盤,就幫不上忙。
依鍵盤自動切換
這正是 Keyameleon 補上的功能。它是一款免費、開源的選單列 App,適用於 macOS 26 或以上版本:
- 使用 Homebrew 安裝:
brew install --cask mastro993/tap/keyameleon,或從最新版本下載 DMG,再將 Keyameleon 拖到「應用程式」檔案夾。 - 打開它。引導設定會請你允許「輸入監控」權限,它只用這項權限來分辨按鍵來自哪個鍵盤。
- 為每個鍵盤選擇一種輸入方式:例如內建鍵盤用「美國」,外接鍵盤用「義大利文」。
從此以後,只要你開始在某個鍵盤上打字,Keyameleon 就會切換到該鍵盤的輸入方式,在每個 App 中都一樣。即使中斷連線或重新啟動,鍵盤也會被記住。有一點要注意:Keyameleon 是在偵測到按鍵後才切換,而且絕不會更動你的輸入,所以在剛換用的鍵盤上按下的第一個鍵,仍可能使用先前的鍵盤佈局。
如果你使用 macOS 14 或 15,可以改用 Keychange,請參閱 Keyameleon vs Keychange。若想要命令列工具,請參閱 Keyameleon vs autokbisw。
疑難排解
- 只有少數按鍵打錯(Shift 周圍、1 左邊、Return 附近):鍵盤類型設錯了。請重做步驟 2。
- 大部分符號都打錯:目前使用的輸入方式和鍵盤上印刷的佈局不符。請檢查「輸入法」選單。
- ⌘ 和 Option 好像對調了:依照步驟 3 為該鍵盤設定變更鍵。
- Keyameleon 沒有切換:打開它的選單列選單。那裡會顯示通知說明問題所在,例如「輸入監控」已關閉、切換已暫停,或已指定的鍵盤佈局已不再安裝,並提供修正方式。
- 輸入密碼時不會切換:當「安全輸入」(Secure Input)開啟時,例如在密碼欄位中,macOS 會對其他 App 隱藏鍵盤活動。關閉後就會恢復切換。