macosでは有名なキーボードカスタマイズアプリである「Karabiner」が、なんか知らん間に「Karabiner-Elements」になっていて驚きました。
Sierrから切り替わったらしいのですが、元のKarabinerと現バージョンはモノが違いすぎて、かなり戸惑いました。
私は、このKarabinerのようなキーボードカスタマイズアプリが無いと、全く自由にPCが操作できません。
というのも、私個人の事情で大変恐縮なのですが、歪んだPC遍歴のせいか、変なキーボードの癖がついており、自分が快適になる環境がものすごく変わっています。
早くいえば、macosのアサインと、Windows用のアサインが混じってるみたいな感じです。
ですので、最低限のカスタマイズができないと困るのですが、この「Karabiner-Elements」を触ってみて最初に思ったのが、「使い方変わって、全然わからんわ」でした。
なので、いろんなサイトを参考に少しずつ覚えていく感じに。
これはその備忘録でもあります。
■Windows用JISキーボードをMacでも使う
Windows用として販売されているキーボードをMacでも使えるのはご存知だと思います。
環境設定→キーボード→修飾キーで、基本的なアサインは変更可能です。
ですが、これだけではちょっと使いづらい。
自分がやりたいことをまとめると、以下になります
- “Windowsキー” は “Optionキー” に
- “Altキー” は “Commandキー” に
- “変換キー” は “かなキー” に
- “無変換キー” は “英数キー” に
- “半角/全角(漢字)キー” を “英数・かなの切り替えトグル” に
- マウスの4キーを “進む” に、同5キーを “戻る” に。これはブラウザ操作でもFinderでも動作させたい。
です。
最初の2つはWindowsキーボードをMacで使うための、最も基本といえるアサイン変更です。
なぜ、こんな変な変更設定なのか、ちょっと理由をば。(以下飛ばしても)
自分の場合は、最初に本格的に使ったパソコンがMacで(Power Mac 6100)、当時は“Apple拡張キーボード2”というUS配列のキーボードを使っていたんです。そこでCommandキーを起因とするショートカットを覚え、頭で意識しなくても体が覚えて自在に使いこなせるまでになりました。
その後、Macを数台更新していくんですが、国内販売のMacはUSキーではなく、JIS配列キーがバンドルされるようになり、自分も時代に合わせてJISキーを使えるように矯正していきました。
結局、初代iMacが出るまではMacintosh一筋でしたが、この頃にMMORPGをするのにあわせて、Windows98SE機を同時使用しはじめる感じでした。
結局、G4(MDD)まで数台Macを使いましたが、次第に使用比率がWindows機(この頃はXP/SP3機だったかな)に移っていきます。
しかしながら、ショートカットはMacのアサインで体が覚えてしまっていたので、Windows機の方では、“Windowsキー” を “Altキー” に、“Altキー” を “Ctrlキー” にアサインして使うというWindows使いとしては変則的な使い方に慣れてしまいました。
Mac使っていると、Windowsの小指Ctrl起因のショートカットはどう考えてもおかしいでしょ。となる訳で。(時々、独自にAlt起因ショートカットのアプリケーションもあるにはありますが)そう考えると、押しやすい場所にOptionキーとCommandキーがあるMacはとても合理的で理想的な配置をしているなと個人的には思います。
ただ、全角入力と半角入力の切り替えは、Windowsの “半角/全角” によるトグル切り替えが便利で、これに慣れてしまい、Macで使う場合もこの “半角/全角” キーで切り替えできるように旧バージョンのKarabinerで設定して使っていました。
(一応、Windowsでも “変換”、“無変換”をそれぞれ、“かな”、“英数” に変換してますが、使用頻度は激減しています)
という前提での、アサインの変更要望なのです。
●設定するデバイスの選択
使用するデバイスを明示的に指定してから設定します。自分の場合は以下のような構成になっています。
キーボードが2種類あるのは、普段遣い用(K65)と大量文章入力用(マイクロソフトのエルゴ系)で使い分けているからです。
●単純なキーの入れ替えは “Simple Modifications” から設定
単にキーの入れ替えだけなら、“Simple Modifications” からデバイスを指定して、“From Key” は変更元になるキーを選択、“To Key”は変更されたキーを選択するだけ入れ替え完了です。自分の場合は以下のような設定です。
これでやりたい要項の1〜4番はクリアです。非常に感覚的で簡単ですね。
●ちょっと難しい入れ替えは “Complex Modifications” から設定
ここでは、組み合わせキーや単純な入れ替え指定ではできない複雑な設定を行えます。
設定されるルールは、明示的に選択されたすべてのデバイスにおいて有効です。
使い方によっては、オートパイロット的なマクロ操作を一発指定したりもできます。
●ルールの設定の仕方は2種類
- 簡単!ルールをプリセットから選ぶ方法
- 細かく設定!ルールを任意にJSONに起こして、読み込ませて選ぶ方法
■1.簡単!ルールをプリセットから選ぶ方法
画像でいうと、“Change button4,5 to back,forward” がこれに当たります。
これは、やりたいことの6番にあたります。(説明が前後してスイマセン)
- ウィンドウ左下 “+ Add rule” ボタン押下
- 開いたウィンドウの一番上のボタン “import more rules from the Internet” 押下
- するとブラウザが開いて、“Karabiner-Elements complex_modifications rules” という画面に飛ぶ
- “Key Specific” 欄の “Change mouse buttons (rev 2)” をクリック
- ここに“Change button4,5 to back,forward (rev 1) ” があるのを確認(これがやりたい)
- 右にある青い “import” ボタンを押下
- Karabiner-Elementsに戻って、ダウンロードしていいかのダイアログが出るので “import” 押下
- “Add rule” 画面に戻り、リストに3種類ほどルールが増えているので、この中から利用したい “Change button4,5 to back,forward (rev 1) ”の右にある “+Enable” を押下
これだけです!やたらと簡単!選ぶだけです。
実際に動作するかを確認して終了です。
他のルールも一通りみて、自分がやりたいことが“Karabiner-Elements complex_modifications rules” にあれば、それを選ぶだけで変更が可能になります。この手段は、内容はちょっと変わってますが、昔のKarabinerの基本設定に似てなくもないですね。
自分が使っているマウスを簡単に説明しますと、使用しているのは多ボタンのゲーミングマウスで、Windowsでの利用を前提にした製品をMacで利用しています。
ゲーミングの多ボタンは、大概それらの割当を独自のアプリケーションで行い、マウス内に記憶して押されたボタンに設定された内容を反映させる方式になっています。
押下される内容によっては、内蔵されたキーボードから押されたような形で再現されます。(なので、デバイス一覧にマウス名でキーボードのデバイスがあった)
一度記憶させれば、環境が変わってもその内容を再現してくれますが、MacとWindowsでは同じ動作でも微妙に送信される信号が違ったりします。
特に、“戻る、進む” に関してはMacとWindowsで相違しているので、こういったプリセットされたルールがあるのだと思います。
■2.細かく設定!ルールを任意にJSONに起こして、読み込ませて選ぶ方法
基本的な登録の仕方は、1.の簡単!な方法と全く同じです。
違いがあるのは、“Add rule” を押して “Enable” を選ぶ画面の一覧に、任意で作ったルールを追加させて選ぶ方法という点です。
●自分でルールを追加する?
というのは、プリセットされた内容に自分の実現したい内容が無い場合などです。
今回の例では “` to ToggleIME” がコレに当たります
●“` to ToggleIME”?
これは、やりたいことの5番に当たる内容です。
Mac上で “半角/全角(漢字)キー” を押下すると、プレーンの状態では “`” キーが出力されます。
Mac上で “半角/全角(漢字)キー” を押下すると、プレーンの状態では “`” キーが出力されます。
この “`” が押されると、IMEを順番に切り替えるトグルとして動作させたいという内容です。
最初にプリセットされたものから同内容を探したのですが、見当たりませんでした。
旧Karabiner利用時は、似たようなプリセットが最初からあったのですが、今回は自分で用意するしかないようです。
具体的には “JSON” ファイルを記述して所定の場所へ入れておけば、“Complex Modifications”のルールに追加できます。
●場所の確認
まずは、Karabiner-Elementsが “JSON” を参照するフォルダの確認です。
ターミナル画面から以下を入力
open ~/.config/karabiner/assets/complex_modifications/
それで開いたフォルダに “JSON”ファイルを投げ込めば、“Add rule” を押して現れるウィンドウ一覧に項目が増えます。
●“JSON”ファイルの用意
さて、問題は “JSON” によるカスタマイズされたルールの編集です。
生粋の文系おっさんという無能な自分には、こうした生産的スキルが欠如しているので、何かを参考にするか、誰かの生産物をお借りするしか方法がありません。
公式でプリセットされた “Karabiner-Elements complex_modifications rules” をダウンロードする際に、“JSON” としてダウンロードする事ができるので、自分のしたい事と似たようなルールから、キーコード指定だけ変える方法が一番いいでしょう。
と思って見てみたのですが、タイトル名からだと具体的に何をしているのかサッパリわかりません。
なので、先人の知恵を拝借することといたしました。
検索してみると、才能ある皆様からのお知恵をお借りする事ができました。
おおすばらしい。自分のやりたい事にほぼ同じ。
あとはキーコード(key_code)を変えるだけなのですが、“`” のキーコードがわからない!
そこから調べる事に……。
●キーコード(key_code)を調べる
対応がゴテゴテですが、所詮文系。こんなものです。
“Karabiner-Element” をインストールすると、アプリケーション内に “Karabiner-EventViewer.app” も同時にインストールされているので、これを開きます。

あとはこの画面で、キーコードを調べたいキーを押下するだけです。
ここで “半角/全角”キーのプレーン状態、“`” キーを押下すると、キーコードが出ました。
“grave_accent_and_tilde” っつーらしいです。
この文字を、先程のサンプル “JSON” のキーコード部にコピペすれば完成!のハズです。
以下が、リンク先より参照したソースに、所定のタイトルとキーコードを書き換えたものです。
{
"title": "For Japanese (日本語環境向けの設定)",
"rules": [
{
"description": "` to ToggleIME_02",
"manipulators": [
{
"conditions": [
{
"type": "input_source_if",
"input_sources": [
{
"language": "ja"
}
]
}
],
"type": "basic",
"from": {
"key_code": "grave_accent_and_tilde",
"modifiers": {
"optional": [
"caps_lock"
]
}
},
"to": [
{
"key_code": "japanese_eisuu"
}
]
},
{
"conditions": [
{
"type": "input_source_unless",
"input_sources": [
{
"language": "ja"
}
]
}
],
"type": "basic",
"from": {
"key_code": "grave_accent_and_tilde",
"modifiers": {
"optional": [
"caps_lock"
]
}
},
"to": [
{
"key_code": "japanese_kana"
}
]
}
]
}
]
}
とまぁこんな塩梅に。(こっそり更新しました。よりスマートになったようです)
これをテキストエディタなどで、“my_option.json” 等として保存。
先程コンソールから開いた “complex_modifications” フォルダに入れればOK。
あとは、“Complex Modifications” から “Add rule” を押して、一覧に “` to ToggleIME_02” が増えているのを確認。これを “Enable” して完了です。
これでやりたいことの5番もクリアし、キーボードのカスタマイズが完了しました。
自分のやりたい事を通して、Karabiner-Elementsでの主要な機能を紹介しました。
目的にあわせて、最適なカスタマイズの一助になればと思います。