ほぼ個人的な備忘録です。
方法
- Karabiner-Elements をインストール
- ファンクションキーを単独で機能するよう設定
- システム環境設定を開く
- キーボード → キーボードショートカット → ファンクションキー
- 「F1、F2 などのキーを標準のファンクションキーとして使用」をオンにする
- Windows 用配列を Mac 用配列に近付ける
- Karabiner-Elements の Simple Modifications タブを開く
- 設定したい Windows 配列キーボードを選択
- 次のようにキーマップを設定
- left_command → left_option
- left_option → left_command
- right_command → right_option
- right_option → right_command
- (任意)f10 → mute
- (任意)f11 → volume_decrement
- (任意)f12 → volume_increment
- CapsLock を Control キーに変更
- Karabiner-Elements の Simple Modifications タブを開く
- For all devices を選択
- caps_lock → left_control と設定
- 左右それぞれの Windows(⌘)キーを単独で押下したとき、IME の英数とかなを切り替えるよう設定
- Karabiner-Elements の Complex Modifications タブを開く
- 「Add predefined rule」ボタン押下
- 「コマンドキーを単体で押したときに、英数・かなキーを送信する。(左コマンドキーは英数、右コマンドキーはかな)」を enable にする(有効にする)
自分の環境
- MacBook Pro (16インチ, 2023, M2 Pro)
- macOS Tahoe 26.0
- REALFORCE R2 PFU Limited Edition (R2TLSA-US4-BK)
解説
- Windows キーボード固有の設定(Windows 配列を Mac 配列にリマップ)と、全キーボード共通の設定(CapsLock → Ctrl、⌘で英数かな切替)という 2 つの観点に分けて設定しています。この 2 つの設定を分離しておくことで、Windows 用外部キーボード以外に、US 配列の MacBook 本体内蔵キーボードや Mac 配列の外部キーボードを使用した際にも CapsLock → Ctrl 変更などを自動的に適用できて便利です
- macOS 標準のキーボード設定でも CapsLock を Control にリマップすることなどはできるのですが、Karabiner-Elements はこれを推奨していないようです。実際、macOS の機能でキーマップを変更すると Karabiner-Elements 起動時にエラーが表示されます。なので、キーマップ設定は Karabiner-Elements に集約するのがよさそうです
- 自分の環境では、なぜか Fn キー+F1 キーなどで標準の F1 キー相当の機能が動作しませんでした。なのでファンクションキーを単独で機能するよう設定していますが、環境によってはこの設定は不要かもしれません。その場合、Karabiner-Elements におけるファンクションキーのリマップも不要になると思います
- 自分はファンクションキーによる音量操作をよく使うのでこれらのキーマップを設定していますが、これをあまり使わない、あるいは他の方法で音量を操作する方は、これらの設定は不要です
おわりに
もしかすると(もしかしなくても)、Karabiner-Elements の設定を JSON ファイルなどとしてエクスポート・インポートするようなことができるかもしれません。それができる場合、この設定ファイルを dotfiles リポジトリに追加しておくともっといい感じになりそうです。