会社で支給されたMacの付属キーボードがJIS配列だが、どうしてもUS配列で入力したいという方向けの記事
__Karabiner-Elements__というアプリがMac内のキーイベントをキャプチャして異なるキーイベントに変換する機能を持っているため、その機能を利用することで実現する
環境
OS: macOS High Sierra
キーボード: Magic Keyboard(テンキー付き)- 日本語(JIS)
手順
Karabiner-Elementsのインストール
公式ページからKarabiner-Elementsをインストール
キー変換のプリセットをインポート
Karabiner-Elementsは、キー変換のプリセットが複数用意されていて、必要に応じてインポートすることができる
今回の目的に近いプリセットも存在していたが、ごく一部のキー変換しか対応していなかったため、自作することにした
以下URIをブラウザのURLバーに貼り付けて開き、「Karabiner-Elements.appで開く」をクリックすることで、自作したキー変換のプリセットをKarabiner-Elementsにインポートする
karabiner://karabiner/assets/complex_modifications/import?url=https%3a%2f%2fraw%2egithubusercontent%2ecom%2fshotaIDE%2fOriginalKeyBind%2fmaster%2fKarabiner%2dElements%2fjis2us%2ejson

Karabiner-Elementsが起動し、以下の画面が出てくるので、[Import]をクリックする
「JISキーボードの配列をUSキーボードの配列にする」の項目の[Enable All]をクリックする
次に、[Devices]タブを選択する
接続されている物理キーボードのチェックがOFFになっている場合は、ONに変更する
これで、キー入力がUS配列になっているはずである
試しに、Shift+2を押してみて、「@」が入力されればキー変換が効いている
補足
キー変換プリセットのインポートについて
ブラウザからインポートできない場合は、以下のJSONファイルを~/.config/karabiner/assets/complex_modifications
のフォルダの中に保存することでインポートすることができる
https://github.com/shotaIDE/OriginalKeyBind/blob/master/Karabiner-Elements/jis2us.json
Karabiner-Elementsは、現状のキー変換ルールを保持するファイルを/.config/karabiner/karainer.json
に持っているが、このファイルを直接編集してもキー変換は発動しない
そのため、上記までで紹介したように、プリセットとしてインポートした後アプリから有効化する必要がある
キー変換プリセットの自作について
キー変換プリセットのJSONファイルを自作する場合、各キーのkey_code
を調べる必要がある
key_code
は、Karabiner-Elementsをインストールすると一緒にインストールされる、__Karabiner-EventViewer__というアプリで調べられる
アプリを起動し[Main]のタブを選択した状態でキーを押すとキーイベントの詳細が表示されるので、そのname
をkey_code
として読み取れば良い