Blufflog

This blog is bluff.

Mac で Windows 用 US(英字)配列キーボードをいい感じに使う方法

ほぼ個人的な備忘録です。

方法

  1. Karabiner-Elements をインストール
  2. ファンクションキーを単独で機能するよう設定
    1. システム環境設定を開く
    2. キーボード → キーボードショートカット → ファンクションキー
    3. 「F1、F2 などのキーを標準のファンクションキーとして使用」をオンにする
  3. Windows 用配列を Mac 用配列に近付ける
    1. Karabiner-Elements の Simple Modifications タブを開く
    2. 設定したい Windows 配列キーボードを選択
    3. 次のようにキーマップを設定
      • left_command → left_option
      • left_option → left_command
      • right_command → right_option
      • right_option → right_command
      • (任意)f10 → mute
      • (任意)f11 → volume_decrement
      • (任意)f12 → volume_increment
  4. CapsLock を Control キーに変更
    1. Karabiner-Elements の Simple Modifications タブを開く
    2. For all devices を選択
    3. caps_lock → left_control と設定
  5. 左右それぞれの Windows(⌘)キーを単独で押下したとき、IME の英数とかなを切り替えるよう設定
    1. Karabiner-Elements の Complex Modifications タブを開く
    2. 「Add predefined rule」ボタン押下
    3. 「コマンドキーを単体で押したときに、英数・かなキーを送信する。(左コマンドキーは英数、右コマンドキーはかな)」を enable にする(有効にする)

自分の環境

解説

  • 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 リポジトリに追加しておくともっといい感じになりそうです。