Mac(Sierra)でのキーリマップ
今月、以下2台のMacのSierraでキーリマップを見直してちゃんとしました。
- MBA(2014Early) - JISキー配列
- MBP(2016Late) - JISキー配列
実現したいキーリマップ
まず、どういうキーリマップをしたいかですが、
- かなキー → 右Ctrlキー
- 英数キー → Cmdキー
- 右Cmdキー → かなキー
- 左Cmdキー → 英数キー
- CapsLockキー → 左Ctrlキー
- _(underscore) → \(backslash)
キーリマップソフト
過去にOSXでも上記のキーリマップをしていました。その時はkarabinerですべてできていたのですが、Sierraに対応しているkarabiner-elementsでは、最後のbackslashのキーリマップだけは実現できなかったので、そこはukeleleを使いました。
キーリマップ
karabiner-elements
とりあえず、karabiner-elementsで行けるとこまでやってしまいます。
- Virtual Keyboardの設定をJISに切り替えて
- Simple Modificationsで以下の画像のように設定
ついでに、USB接続のJISキーボードは以下のような感じに…。
プロファイルに設定しておくと、メニューバーから切り替えができて便利です。
ukelele
残すは(backslash)です。
Mac事情に詳しくはないのですが、バックスラッシュの打ち方をググると、Option+¥
というやり方が出てくるので、元々、_(underscore)のキーにバックスラッシュって当たっていないんですかね…。コードを書くときとかターミナルを使うときに不便じゃないんだろうか。
ukeleleでは、Macのキーボード設定にある入力ソースを作っていきます。
ukeleleのインストールについては割愛です。
ukeleleを起動すると、のっぺらぼうのキー表が出てくるので、ある程度は自動的に埋めてもらいます。
このときに、2016LateのMBPはJISキー配列になっていなくて、USBのJISキーボードをつなげたり、ウィンドウ内の左上にあるToolboxを開くと出て来る設定からJIS Onlyを設定したり、Preferencesでkeyboard typeを切り替えたりしている内になんとかJISキー配列になってくれました! (JISかUSかはEnterキーが横長になっているかどうかで分かります。)
そんなこんなで、ちゃんとJISキー配列になっているのを確認したら、ukeleleのFileメニューからNew Keyboard Layout
を選択して、適当な名前を付け、Base Keyboard Layout
はQWERTY
を選択してOKをすると、ほぼキーレイアウトが埋まるはずです。
こんな感じで\(backslash)を設定して、ファイルを保存。出来上がった設定ファイルは/Users/[username]/Library/Keyboard Layouts
のディレクトリに置くと、キーボード設定に反映されるようです。
あとは、入力ソースで作ったレイアウトを追加します。
Google日本語入力と合わせて使っている感じでは、半角英数・日本語(全角)の入力はGoogle日本語入力にしてしまったほうがよいと思います。画像中の灰色のABCは他のキーボードレイアウト(作ったのはだめ?)を入れないとリストから外せない上に、レイアウトを持っているので、この入力ソースに切り替わる度にレイアウトを元に戻されてしまうようです。
ちなみに、入力ソースが切り替わるので、USBキーボードでも共通して使えます。
余談
このキー配列(特にスペース横に設定するCtrl,Cmd)はemacsを使うときにとても楽で、この設定のせいで未だにUSキー配列に移行できません。記号類の入力では、USキー配列の方が入力しやすそうなのに。
過去の自分に助言ができるとすれば、emacsは止めた方がいいと言いたいですね。emacsから抜けられない体になってしまう。