(macOS)Karabiner Elementsを使わず装飾キーをカスタマイズする方法
はじめに
macOSはシステム環境設定から装飾キー(Caps LockキーやOptionキー)のカスタマイズができます。
ただし、カスタマイズできる装飾キーには制限があります。さらに、右Optionキーを左Ctrlキーにリマップするといった細かなカスタマイズはできません。
とはいえ、Karabiner Elementsのようなサードパーティーアプリを導入するのは面倒です。キー入力を監視される懸念もあります。macOSの標準機能でカスタマイズできないのでしょうか?
hidutilコマンドを使ってカスタマイズ
hidutilコマンドで装飾キーのカスタマイズが自由に行えます。hidutilコマンドはmacOS 10.12 Sierra以降のバージョンにインストールされています。
which hidutil
/usr/bin/hidutil
例として、右Optionキーを左Ctrlキーにリマップする設定を示します。
hidutil property --set '{"UserKeyMapping":[
{
"HIDKeyboardModifierMappingSrc": 0x7000000E6,
"HIDKeyboardModifierMappingDst": 0x7000000E0
},
]}'
HIDKeyboardModifierMappingSrcには変更前のキーコード、HIDKeyboardModifierMappingDstには変更後のキーコードを設定します。
キーコードは0x7000000 + 対象のキーコードで指定します。以下、簡易的なキーコード表を示します。
| キーの名前 | キーコード |
|---|---|
| 左Ctrl | 0xE0 |
| 左Shift | 0xE1 |
| 左Option | 0xE2 |
| 左Command | 0xE3 |
| 右Ctrl | 0xE4 |
| 右Shift | 0xE5 |
| 右Option | 0xE6 |
| 右Command | 0xE7 |
完全なキーコード表については以下を参照してください。
hidutilコマンドの注意点
hidutilコマンドの設定はmacOSを再起動すると元に戻ります。逆にいえば、再起動するまで設定は消えません。もし設定を間違えてキーボードが操作不能になった場合は再起動してください。
しかし、macOSが起動するたびに毎回hidutilを実行するのは面倒です。Launch Agentsでhidutilを実行するように設定しておくと便利です。
ただし、hidutilの設定が間違っているとMacを起動した直後からキーボードが操作不能になる恐れがあります。まずは手動でhidutilを実行して、問題なければ起動スクリプトに移植するのが安全です。
Discussion