(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