見出し画像

【永久保存版】Mac移行でハマったKarabiner設定完全攻略ガイド|HHKB Studio × SlimBladeトラックボール対応

「設定ファイルは前のMacと同じなのに、なぜか動かない」
「Karabiner-EventViewerにはログが出るのに、実際のキー変換は効かない」
こんにちは、ユニコ🦄です!
今日は、僕が実際にMac移行時にドハマりしたKarabiner-Elements設定トラブルについて、完全解決までの道のりを徹底解説します。
この記事を読めば、Mac移行後に「ログは出るのに動かない」という最悪の状態から脱出できます。

しかも、HHKB StudioやKensington SlimBlade Pro Trackballのような、こだわりの入力デバイスを使っている人にも対応した内容になっています。
正直に言います。
この問題、めちゃくちゃ厄介でした。
なぜなら、見えているのに動かないという、デバッグが極めて困難な状態だったからです。
普通のエラーなら「動かない」で終わりですよね。

でも今回は「ログには出る」「設定ファイルは正しい」「再起動しても直らない」という三重苦。
結論から言うと、原因は4つありました。
そして、この4つはMac移行時に黙ってOFFにされる項目の集合体だったんです。
つまり、Appleが「セキュリティのため」と称して、移行時にリセットしてしまう設定たち。
これを知らないと、永遠にハマり続けることになります。

今回の記事では、以下の内容を徹底的に解説します。

✅Karabiner-Elementsの内部構造(grabberとVirtualHIDの関係)
✅Mac移行時に確認すべき4つのチェックポイント
✅HHKB Studio(JIS配列)の正しい設定方法
✅トラックボールのボタンをKarabinerで制御する方法
✅KensingtonWorksとの競合を回避するテクニック
✅実際に動作するJSON設定コード

この記事を最後まで読めば、あなたもKarabiner設定のプロになれます。
Mac移行後の設定トラブルで二度と悩まないために、ぜひ最後までお付き合いください。


第1章|なぜMac移行後にKarabinerが動かなくなるのか

Mac移行時に起きる「見えない初期化」

Mac移行って、基本的にはTime Machineや移行アシスタントを使えば、ほぼ完璧に前の環境を再現できますよね。
アプリケーションも設定ファイルも、そのまま引き継がれる。
だから「設定は同じはず」と思い込んでしまう。
でも、実はそうじゃないんです。
macOSにはセキュリティに関わる設定は移行しないというポリシーがあります。

これは、悪意のあるソフトウェアが「移行を利用して権限を取得する」ことを防ぐための仕組み。
セキュリティの観点からは正しい判断です。
しかし、この仕組みがKarabiner-Elementsのようなカーネル拡張を使うソフトウェアにとっては、大問題になります。
Karabiner-Elementsは、キーボード入力をOSレベルで横取りして、変換してからOSに渡すという仕組みで動いています。
これにはシステム拡張(カーネル拡張)の許可が必要。

そして、この許可はMac移行時に引き継がれないんです。
つまり、設定ファイル(karabiner.json)は完璧に移行されているのに、肝心の実行権限がリセットされているという状態。
これが「ログは出るのに動かない」の正体です。

Karabinerの内部構造を理解しよう

ここで、Karabiner-Elementsの内部構造を簡単に説明します。
これを理解すると、なぜ「ログは出るのに動かない」が起きるのかが分かります。
Karabiner-Elementsは、大きく分けて2つのコンポーネントで構成されています。

1. Karabiner-Grabber(入力を読む部分)
物理キーボードやマウスからの入力を監視する役割。
EventViewerでログが見えるのは、この部分が動いているから。
入力デバイスへのアクセス許可があれば動作します。

2. Karabiner-VirtualHIDDevice(出力する部分)
Grabberが受け取った入力を変換し、OSに仮想キーボードとして出力する役割。
これが動かないと、変換後のキーがOSに届かない。

システム拡張の許可がないと動作しない

つまり、こういうことです。

物理キーボード → [Grabber:入力を読む] → [変換処理] → [VirtualHID:出力] → OS

Grabberは動いている。だからログは出る。
でもVirtualHIDが止まっている。だから出力されない。
これが「見えているのに動かない」のメカニズムです。

確認すべき4つのチェックポイント

Mac移行後にKarabinerが動かない場合、以下の4点を順番に確認してください。

チェック1:キーボード配列(JIS/US)の認識
macOSが物理キーボードの配列を正しく認識しているか?

チェック2:VirtualHIDの許可状態
システム拡張でKarabiner-VirtualHIDDevice-Managerが許可されているか?

チェック3:他のドライバとの競合
KensingtonWorksなど、他の入力デバイスドライバと競合していないか?

チェック4:デバイス単位の許可設定
Pointing Device(マウス系)のModify eventsがONになっているか?
この4つのうち、1つでもNGなら動きません
しかも、複数同時に問題が起きていることも珍しくない。
今回の僕のケースでは、なんと4つ全部が問題でした。


第2章|使用環境と症状の詳細

僕の使用環境

まず、今回の問題が発生した環境を整理します。
同じような構成の方は、特に参考になるはずです。

ハードウェア

  • Mac(移行直後の新環境)

  • HHKB Studio(JIS配列)

  • Kensington SlimBlade Pro Trackball(有線接続)

ソフトウェア

  • macOS(最新版)

  • Karabiner-Elements

  • KensingtonWorks(トラックボール制御用)

  • Google Chrome

  • Clippy(クリップボード管理)

この構成のポイントは、複数の入力デバイスを組み合わせていること。
HHKB Studioはキーボードとして、SlimBladeはポインティングデバイスとして使用。
それぞれに独自のカスタマイズを施している状態でした。

なぜこのような構成にしているのか

ちょっと余談ですが、なぜHHKB StudioとSlimBladeという組み合わせを使っているのか説明させてください。
HHKB Studioには、トラックポイントとジェスチャーパッドが内蔵されています。
「それならSlimBladeは不要じゃない?」と思うかもしれません。
でも、用途によって使い分けているんです。
トラックポイントは精密な作業に最適。

テキスト選択や、細かいUI操作に向いています。
ホームポジションから手を離さずに操作できるのが最大のメリット。
一方、SlimBladeは長時間の作業に向いています。
トラックボールは腕を動かさないので、腱鞘炎のリスクが低い。
大きなボールで自然な手の形を保てるので、疲れにくいんです。

この2つを状況に応じて使い分けることで、快適な作業環境を実現しています。
...と言いたいところですが、両方使うとKarabinerの設定が複雑になるんですよね。
今回のトラブルも、この複雑な構成が一因でした。

発生した症状の詳細

具体的にどんな症状だったのか、詳しく説明します。

症状1:Karabiner-EventViewerにはログが出る
EventViewerを開くと、キーボードの入力はしっかり検出されている。
`key_code: left_command`とか`pointing_button: button3`とか、ちゃんと表示される。
つまり、入力の検知自体は問題なく動いている。

症状2:しかし実際の動作は効かない
英数・かな切替のカスタマイズが効かない。
Fnレイヤー(Fn+hjklでカーソル移動など)が効かない。
トラックボールのボタン割当が効かない。
設定したはずの動作が、何一つ動かない。

症状3:再起動しても直らない
「とりあえず再起動」はMacの定番トラブルシューティング。
でも、今回は何度再起動しても状況は変わらず。

症状4:設定やJSONは「前のMacと同じ」
karabiner.jsonを確認しても、前のMacからそのまま移行されている。
設定内容に問題はないはず。
なのに動かない。
これが見えているのに動かないという、Karabiner界隈で最も厄介な状態です。
ログが出ないなら「そもそも入力が届いていない」と分かる。

設定が壊れているなら「設定を直せばいい」と分かる。
でも、両方問題ないのに動かない。
この状態に陥ると、何が原因なのか特定するのが非常に困難になります。

調査を始める前の心構え

ここで、同じ状況に陥った方へのアドバイス。
まず、落ち着いてください
この問題は解決できます。
僕も最初は「もうKarabiner使えないのかな」と諦めかけました。
でも、原因を一つずつ潰していけば、必ず解決できます。

次に、ログを取る習慣をつけましょう
何を試したか、その結果どうなったか。
メモを取りながら調査すると、同じことを2回試すムダが省けます。
最後に、公式ドキュメントを読むこと。
Karabiner-Elementsの公式サイトには、トラブルシューティングの情報が豊富にあります。

まずはそこを確認してみてください。


第3章|原因①:キーボード配列(JIS/US)のズレ

違和感の発見

最初に気づいたのは、キーボードの記号入力がおかしいことでした。
`Shift + 0`を押すと、本来JIS配列なら`=`が入力されるはず。
でも実際には`_`(アンダースコア)が入力される。
これ、US配列の動作なんです。
「あれ?IMEの設定がおかしいのかな?」と最初は思いました。

でも、よく考えるとこれはIMEの問題じゃない。

macOSが物理キーボードの配列を間違って認識しているんです。

JIS配列とUS配列の違い

そもそも、JIS配列とUS配列では何が違うのか、簡単に説明します。

物理的な違い

  • Enterキーの形状(JISは縦長、USは横長)

  • 一部のキーの位置(かな、英数キーの有無)

  • 記号キーの配置

ソフトウェア的な違い

  • キーコードの解釈

  • Shiftとの組み合わせで入力される記号

問題は、物理的にはJISキーボードを使っているのに、macOSがUSとして解釈していること。
この状態だと、`Shift + 2`で`@`を入力しようとしても`"`が入力されたりします。

なぜこの問題が起きるのか

HHKB Studioは、JIS配列とUS配列の両方のモデルがあります。
そして、macOSはキーボードを接続したとき、その配列を自動判定しようとします。
でも、この自動判定が必ずしも正確ではない
特にMac移行後は、キーボード設定がリセットされていることがあります。
その結果、JISキーボードなのにUS配列として認識されてしまう。

物理的なキー配置とソフトウェアの解釈がズレるので、記号入力がおかしくなります。
さらに厄介なのは、Karabinerの動作にも影響すること。
Karabinerはキーコードで動作を定義しますが、JISとUSでは一部のキーコードが異なります。
配列がズレていると、設定通りに動かない原因になります。
例えば、JIS配列の「英数」キーと「かな」キー。

これらはUS配列には存在しないキーです。
macOSがUSとして認識していると、これらのキーが正しく動作しない可能性があります。

対処方法

この問題の解決は簡単です。

手順:

  1. システム設定を開く

  2. 「キーボード」を選択

  3. 「キーボードの種類を変更」をクリック

  4. 画面の指示に従って、特定のキーを押す

  5. 「JIS(日本語)」を選択

  6. 再起動

これでmacOSがHHKB StudioをJIS配列として正しく認識します。
記号入力のズレも解消されるはずです。
ちなみに、この設定はキーボードごとに保存されます。
別のキーボードを接続したときは、再度設定が必要になることがあります。
複数のキーボードを使い分けている人は覚えておきましょう。

確認方法

設定後、正しく認識されているか確認しましょう。

確認方法1:システム設定で確認
システム設定→キーボード→入力ソース
ここに「日本語」や「JIS」の表記があれば正しく認識されています。

確認方法2:記号入力で確認
テキストエディタを開いて、以下のキーを試してください。

  • `Shift + 2` → `@`(US配列だと`"`)

  • `Shift + 7` → `'`(US配列だと`&`)

  • `Shift + 0` → `=`(US配列だと`)`)

JIS配列の記号が入力されれば成功です。


第4章|原因②:Karabiner VirtualHIDが未許可

これが最大の元凶だった

配列のズレを直しても、まだKarabinerは動かない。
ここで僕は本格的に調査を始めました。
そして見つけたのが、VirtualHIDの許可問題です。
先ほど説明したように、Karabinerは「Grabber(入力を読む)」と「VirtualHID(出力する)」の2段構えで動いています。
Mac移行後、Grabberは動いていました。だからログは出る。

でもVirtualHIDが許可されていなかった。だから出力されない。
これがすべての元凶でした。

なぜ許可が外れるのか

macOSのセキュリティモデルでは、システム拡張(カーネル拡張)はユーザーの明示的な許可が必要です。
そして、この許可はMac移行時に引き継がれない
セキュリティ上の理由から、新しいMacでは改めて許可を与える必要があるんです。
これは、考えてみれば当然の仕組みです。
もし許可が自動的に引き継がれたら、悪意のあるソフトウェアが「移行を経由して」システムに深くアクセスできてしまう。

Appleがこれを許さないのは正しい判断です。
ただ、ユーザーにとっては「設定は同じなのに動かない」という混乱の原因になります。
特に、許可が外れていることに気づきにくいのが問題。
Karabiner自体はエラーを出さないし、Grabberは動いているからログも出る。
「何かおかしい」とは思っても、原因がVirtualHIDの許可だと気づくのは難しいです。

さらに、macOS Sequoia以降はセキュリティがより厳格になっています。
システム拡張の許可手順も複雑化しており、単に「許可」ボタンを押すだけでは不十分なケースもあります。

対処方法

VirtualHIDを許可する手順は以下の通りです。

手順:

  1. システム設定を開く

  2. 「プライバシーとセキュリティ」を選択

  3. 下にスクロールして「セキュリティ」セクションを探す

  4. 「機能拡張」または「ドライバ拡張」をクリック

  5. Karabiner-VirtualHIDDevice-Managerを見つける

  6. トグルをONにする

  7. 管理者パスワードを入力

  8. 再起動(これ重要!)

ここでのポイントは必ず再起動すること
システム拡張の変更は、再起動しないと反映されません。
「設定を変えたのに動かない」という場合は、再起動を忘れていることが多いです。
macOS Sequoia以降では、セキュリティ設定の画面が複雑になっています。
「ドライバ拡張」の項目が見つからない場合は、「機能拡張」や「システム拡張」などの名前で探してみてください。

また、Karabiner-Elementsの公式サイトにも、バージョンごとの設定手順が詳しく載っています。

許可後の確認方法

VirtualHIDが正しく許可されているか確認するには、Karabiner-Elementsの設定画面を開きます。
「Misc」タブを選択し、「System Extensions」セクションを確認。
ここに「Karabiner-VirtualHIDDevice-Manager is running」と表示されていれば成功です。
もし「not running」と表示されている場合は、許可がうまくいっていない可能性があります。
再度セキュリティ設定を確認してみてください。

それでも動かない場合

VirtualHIDを許可しても動かない場合、以下を試してください。

1. Karabiner-Elementsを完全にアンインストールして再インストール
公式サイトからアンインストーラーをダウンロードし、完全に削除してから再インストール。

2. セーフモードで起動してみる
Shiftキーを押しながらMacを起動し、セーフモードで立ち上げる。
その後、通常起動してKarabinerを試す。

3. PRAMリセット
Command + Option + P + Rを押しながら起動。
起動音が2回鳴ったらキーを離す。
これらを試しても解決しない場合は、Karabiner-Elementsの公式GitHubでIssueを検索するか、新しく報告してみてください。


第5章|原因③:KensingtonWorksとKarabinerの二重取り

複数のドライバが競合する問題

VirtualHIDを許可して、キーボードの設定は動くようになりました。
でも、まだトラックボールのボタン割当が効かない。
ここで疑ったのが、KensingtonWorksとの競合です。
Kensington SlimBlade Pro Trackballには、KensingtonWorksという専用ドライバが用意されています。
このドライバを使うと、トラックボールのボタンにショートカットを割り当てたり、スクロール速度を調整したりできます。

問題は、Karabinerも同じことをしようとしていること。
両方のソフトウェアが、トラックボールの入力を奪い合っているんです。

入力の流れを理解する

この問題を理解するために、入力の流れを整理しましょう。

通常の流れ(ドライバが1つの場合):

トラックボール → macOS → アプリケーション

KensingtonWorksを使う場合:

トラックボール → KensingtonWorks → macOS → アプリケーション

Karabinerを使う場合:

トラックボール → Karabiner-Grabber → VirtualHID → macOS → アプリケーション

両方使う場合(問題が起きるパターン):

トラックボール → KensingtonWorks → ???
                   ↓
               Karabiner(届かない)

KensingtonWorksが先に入力を受け取ると、その時点で入力が「確定」されてしまいます。
Karabinerには「変換前の入力」が届かないので、変換のしようがない。
結果として、Karabinerの設定が効かないという状態になります。

どちらを優先すべきか

この問題を解決するには、どちらかに統一する必要があります。
それぞれのメリット・デメリットを整理してみましょう。

KensingtonWorksを使う場合

  • メリット:設定が簡単、GUIで直感的に操作できる

  • デメリット:カスタマイズの自由度が低い、他のデバイスと統合できない

Karabinerを使う場合

  • メリット:自由度が高い、複数デバイスを統合して管理できる、JSONで設定を共有できる

  • デメリット:設定が複雑、学習コストが高い

僕の場合、HHKB StudioとSlimBladeの両方をカスタマイズしたかったので、Karabinerに統一することにしました。

1つのツールで全デバイスを管理できるのは、設定の一貫性という点で大きなメリットです。

対処方法

この問題の解決策は明確です。

入力の制御を一か所に集約すること。

今回は、Karabinerに一本化することにしました。
KensingtonWorksでもカスタマイズは可能ですが、Karabinerの方が柔軟性が高いからです。

手順:

  1. KensingtonWorksを開く

  2. SlimBlade Pro Trackballの設定を開く

  3. button3とbutton4の設定を「無効」または「デフォルト」に変更

  4. カスタマイズしたいボタンは、すべてKarabinerで設定する

ポイントは、KensingtonWorksでボタンを無効化すること。
完全にアンインストールする必要はありません。
スクロール速度の調整など、Karabinerではできない設定はKensingtonWorksで行えます。
ただし、ボタン割当だけはKarabinerに任せる、という役割分担です。
これで、トラックボールのボタン入力が正しくKarabinerに届くようになります。


第6章|原因④:Pointing DeviceのModify eventsがOFF

見落としがちな設定項目

KensingtonWorksとの競合を解消しても、まだトラックボールの設定が効かない。
ここで見つけたのが、最後の原因です。
Karabiner-Elementsには、デバイスごとに個別の許可設定があります。
キーボードは自動的に許可されることが多いのですが、マウスやトラックボール(Pointing Device)は明示的に許可が必要なんです。

Modify eventsとは何か

「Modify events」という設定項目があります。
これは「このデバイスからの入力を変換する」という許可のことです。
キーボードの場合、Karabinerをインストールした時点でこの設定がONになります。
でもPointing Device(マウスやトラックボール)は、デフォルトではOFFになっていることがあります。
OFFのままだと、デバイスからの入力は検知されますが、変換は行われません。

EventViewerにはログが出るけど、実際の変換は効かない。
まさに今回の症状そのものです。

なぜこのような仕様なのか

Karabinerがデフォルトでマウスの変換をOFFにしている理由を考えてみましょう。

理由1:多くのユーザーはマウスの変換を必要としない
Karabinerの主な用途はキーボードのカスタマイズ。
マウスボタンを変換したい人は少数派。
デフォルトでONにすると、予期せぬ動作を引き起こす可能性がある。

理由2:他のマウスドライバとの競合を避ける
マウスは専用ドライバを持つことが多い(LogicoolやKensingtonなど)。
デフォルトでKarabinerが介入すると、競合問題が発生しやすい。

理由3:パフォーマンスへの配慮
マウスの動きは非常に頻繁に発生する。
すべての入力を変換処理にかけると、わずかながらオーバーヘッドが発生する。
このような理由から、マウス系デバイスの変換はユーザーが明示的にONにする必要があります。

対処方法

この設定は、Karabiner-Elementsの「Devices」タブで行います。

手順:

  1. Karabiner-Elementsの設定を開く

  2. 「Devices」タブを選択

  3. 接続されているデバイス一覧が表示される

  4. 「Kensington SlimBlade Pro Trackball」を探す

  5. 「Modify events」のチェックボックスをONにする

これだけです。
設定変更は即座に反映されるので、再起動は不要。
チェックを入れた瞬間から、トラックボールのボタン変換が効くようになります。
試しに簡単なテストをしてみましょう。
以下のような設定を追加して、button3を押したときに「a」が入力されるか確認します。

{
  "type": "basic",
  "from": { "pointing_button": "button3" },
  "to": [{ "key_code": "a" }]
}

テキストエディタを開いて、button3を押す。
「a」が入力されれば成功です。

複数のPointing Deviceがある場合

HHKB Studioにはトラックポイントが内蔵されています。
つまり、僕の環境には2つのPointing Deviceがあることになります。

  • HHKB Studioのトラックポイント

  • Kensington SlimBlade Pro Trackball

両方のデバイスでボタン変換を行いたい場合は、それぞれの「Modify events」をONにする必要があります。
「Devices」タブで、各デバイスを個別に設定してください。


第7章|最終ゴール:Chromeのタブ移動を設定する

実用的なカスタマイズ例

ここまでで、Karabinerが正常に動作するようになりました。
では、実際に便利なカスタマイズを設定してみましょう。
僕が設定したのは、トラックボールのボタンでChromeのタブを移動する機能です。
SlimBlade Pro Trackballには、本体に4つのボタンがあります。
通常は左クリック・右クリック・進む・戻るなどに使いますが、これをタブ移動に割り当てます。

目標:

  • button4(左上)→ 前のタブに移動

  • button3(右上)→ 次のタブに移動

これがあると、マウスから手を離さずにタブを切り替えられます。
ブラウザのタブが大量に開いている人には、かなり便利な機能です。

なぜタブ移動なのか

僕がタブ移動を選んだ理由を説明します。

理由1:頻繁に使う操作だから
Web調査をしていると、常に複数のタブを開いています。
タブ間の移動は、1日に何百回も行う操作。
これを効率化するメリットは大きい。

理由2:キーボードショートカットが押しにくいから
Chromeのタブ移動は`Ctrl + Tab`や`Ctrl + Shift + Tab`。
両手を使う必要があり、作業の流れが中断される。
トラックボールで完結できれば、片手で操作できる。

理由3:「戻る」「進む」よりも使用頻度が高いから
SlimBladeのデフォルト設定では、ボタン3と4は「戻る」「進む」。
でも僕の場合、ブラウザの履歴移動よりもタブ移動の方が頻繁。
用途に合わせてカスタマイズすべき。

Chromeのタブ移動ショートカット

まず、Chromeのタブ移動ショートカットを確認します。
macOSのChromeでは、以下のショートカットでタブを移動できます。

  • Option + Command + 左矢印:前のタブに移動

  • Option + Command + 右矢印:次のタブに移動

このショートカットをトラックボールのボタンに割り当てれば、目標達成です。

Clippyとの競合回避

ここで一つ注意点。
僕はClippyというクリップボード管理ツールを使っています。
Clippyは⌘⇧系のショートカットを多用するので、そちらと競合しないショートカットを選ぶ必要がありました。
Option + Command + 矢印キーは、Clippyとは被らないので問題なし。
もしあなたが他のツールを使っている場合は、ショートカットの競合に注意してください。

Karabiner設定のJSON

以下が、実際に動作するKarabiner設定のJSONです。

{
  "description": "SlimBlade: button4 = Prev Tab, button3 = Next Tab (Cmd+Opt arrows)",
  "manipulators": [
    {
      "type": "basic",
      "from": { "pointing_button": "button4" },
      "to": [
        {
          "key_code": "left_arrow",
          "modifiers": ["left_command", "left_option"]
        }
      ]
    },
    {
      "type": "basic",
      "from": { "pointing_button": "button3" },
      "to": [
        {
          "key_code": "right_arrow",
          "modifiers": ["left_command", "left_option"]
        }
      ]
    }
  ]
}

この設定のポイントを解説します。

"from": { "pointing_button": "button4" }
トラックボールのbutton4(左上ボタン)をトリガーにする。
`pointing_button`を使うことで、マウスボタンを指定できます。

"to": [{ "key_code": "left_arrow", "modifiers": ["left_command", "left_option"] }]
出力として「Option + Command + 左矢印」を送る。
`key_code`で押すキーを、`modifiers`で同時に押す修飾キーを指定。
button3とbutton4の設定を入れ替えれば、左右の動作を逆にすることもできます。
自分の直感に合う方を選んでください。

設定の追加方法

この設定をKarabiner-Elementsに追加する方法は2つあります。

方法1:GUIから追加

  1. Karabiner-Elementsの設定を開く

  2. 「Complex Modifications」タブを選択

  3. 「Add rule」→「Import more rules from the Internet」

  4. または「Add your own rule」で直接JSONを貼り付け

方法2:設定ファイルを直接編集

  1. `~/.config/karabiner/karabiner.json`を開く

  2. `"rules"`配列の中に、上記のJSONを追加

  3. 保存するとKarabinerが自動的に再読み込み

どちらの方法でも結果は同じです。
JSONに慣れている人は方法2が早いですが、間違えると設定が壊れるリスクがあります。
初心者は方法1のGUIを使うのが安全です。


第8章|トラブルシューティング:よくある問題と解決法

問題1:設定を追加したのに動かない

原因の可能性:

  • Complex Modificationsが有効になっていない

  • JSONの構文エラー

  • デバイスのModify eventsがOFF

確認方法:

  1. 「Complex Modifications」タブで、追加したルールにチェックが入っているか確認

  2. 「Log」タブでエラーメッセージがないか確認

  3. 「Devices」タブでModify eventsがONか確認

問題2:特定のアプリでだけ動かない

原因の可能性:

  • アプリ独自のショートカットとの競合

  • アプリがKarabinerの入力をブロックしている

対処方法:

  • 別のショートカットに変更する

  • 「Devices」タブの「Don't remap for specific applications」で例外設定

問題3:macOSアップデート後に動かなくなった

原因の可能性:

  • VirtualHIDの許可がリセットされた

  • システム拡張の再認証が必要

対処方法:

  • 第4章の手順を再度実行

  • Karabiner-Elementsを最新版にアップデート

問題4:EventViewerにログが出ない

原因の可能性:

  • 入力監視のアクセス許可がない

  • デバイスが正しく認識されていない

対処方法:

  1. システム設定→プライバシーとセキュリティ→入力監視

  2. Karabiner-Elementsにチェックが入っているか確認

  3. デバイスを一度抜いて再接続

問題5:設定が突然リセットされた

原因の可能性:

  • karabiner.jsonが破損した

  • 設定のバックアップがない

対処方法:

  • Time Machineから復元

  • GitHubやクラウドにバックアップを取っておく


第9章|HHKB Studioユーザー向けの追加設定

HHKB Studioの特徴

HHKB Studioは、単なるHHKBの進化版ではありません。
トラックポイント、マウスボタン、ジェスチャーパッドが統合された、ハイブリッドな入力デバイスです。
つまり、キーボードとポインティングデバイスの両方の設定が必要になります。

キーボード部分の設定

HHKB Studio自体にもカスタマイズ機能がありますが、Karabinerと組み合わせることでさらに柔軟な設定が可能になります。

おすすめの設定例:

  1. CapsLockをControlに変更
    HHKB本来の配列に戻す設定。
    JIS配列モデルではCapsLockの位置がControlになっていないことがあります。

  2. 英数/かなをコマンドキーの単押しに割り当て
    USキーボードライクな操作感を実現。
    左コマンド単押しで英数、右コマンド単押しでかなに変換。

  3. Fnレイヤーの拡張
    HHKB標準のFnレイヤーに加えて、独自のレイヤーを追加。
    例:Fn+hjklでカーソル移動(Vim風)

ポインティングデバイス部分の設定

HHKB Studioのトラックポイントやジェスチャーパッドも、Karabinerで制御可能です。
ただし、設定方法は通常のマウスとは少し異なります。
「Devices」タブで「HHKB Studio」を探し、Modify eventsをONにしてください。
その後、`pointing_button`を使ったルールを設定すれば、マウスボタンの動作をカスタマイズできます。

HHKB Studio専用の設定例

HHKB Studioのマウスボタン(トラックポイント下の3つのボタン)をカスタマイズする例です。

{
  "description": "HHKB Studio: Middle click = Mission Control",
  "manipulators": [
    {
      "type": "basic",
      "from": { "pointing_button": "button3" },
      "to": [{ "key_code": "mission_control" }]
    }
  ]
}

この設定では、中クリック(button3)でMission Controlを起動します。
トラックポイントを使いながらウィンドウ管理ができるので、便利です。


第10章|Mac移行時のチェックリスト

移行前の準備

Mac移行を予定している方は、以下の準備をしておくとスムーズです。

1. 設定ファイルのバックアップ

  • `~/.config/karabiner/karabiner.json`をコピー

  • カスタムルールがある場合は別途保存

2. 使用デバイスのリストアップ

  • キーボードの型番・配列(JIS/US)

  • マウス・トラックボールの型番

  • 各デバイスの専用ドライバ

3. 現在の設定状態のメモ

  • システム拡張の許可状態

  • 入力監視の許可状態

  • 各デバイスのModify events設定

移行後のチェックリスト

新しいMacでKarabinerを設定する際は、以下の順番で確認してください。

□ チェック1:Karabiner-Elementsのインストール
公式サイトから最新版をダウンロードしてインストール。
古いバージョンだとmacOSとの互換性問題が起きることがあります。

□ チェック2:入力監視の許可
システム設定→プライバシーとセキュリティ→入力監視
Karabiner-Elements関連のアプリにチェックを入れる。

□ チェック3:VirtualHIDの許可
システム設定→プライバシーとセキュリティ→機能拡張(またはドライバ拡張)
Karabiner-VirtualHIDDevice-ManagerをONにして再起動。

□ チェック4:キーボード配列の確認
システム設定→キーボード→キーボードの種類を変更
物理配列(JIS/US)と一致しているか確認。

□ チェック5:デバイス設定
Karabiner-Elements→Devices
使用するデバイスの「Modify events」がONになっているか確認。

□ チェック6:Complex Modificationsの確認
バックアップした設定ファイルをインポート。
各ルールが有効になっているか確認。

□ チェック7:他のドライバとの競合確認
KensingtonWorksなど、他のドライバがある場合はボタン設定を調整。
この順番で確認していけば、移行後のトラブルを最小限に抑えられます。


第11章|さらに深くKarabinerを使いこなすために

公式ドキュメントの活用

Karabiner-Elementsには、詳細な公式ドキュメントがあります。
https://karabiner-elements.pqrs.org/docs/
特に以下のページは必読です。

  • Manual:基本的な使い方

  • Complex Modifications:高度なカスタマイズ方法

  • JSON Specification:設定ファイルの詳細仕様

JSONの書き方に慣れてくると、かなり複雑なカスタマイズも可能になります。
例えば「特定のアプリがアクティブな時だけ動作するルール」や「二重押しで動作するルール」なども作れます。

コミュニティリソース

Karabinerには活発なコミュニティがあり、多くの設定例が共有されています。

Karabiner-Elements Complex Modifications Rules
https://ke-complex-modifications.pqrs.org/
ここには、世界中のユーザーが作成したルールが公開されています。
「こういうことがしたい」と思ったら、まずここを検索してみてください。
既に誰かが同じことを実現しているかもしれません。

設定のバージョン管理

Karabinerの設定をカスタマイズしていくと、設定ファイルが複雑になります。
Gitなどのバージョン管理システムで管理しておくと便利です。

cd ~/.config/karabiner
git init
git add .
git commit -m "Initial Karabiner config"

設定を変更するたびにコミットしておけば、問題が起きたときに以前の状態に戻せます。
また、複数のMac間で設定を同期する際にも役立ちます。

高度なカスタマイズの例

JSONに慣れてきたら、以下のような高度なカスタマイズにも挑戦してみてください。

1. アプリごとに異なる動作をさせる

{
  "conditions": [
    {
      "type": "frontmost_application_if",
      "bundle_identifiers": ["com.google.Chrome"]
    }
  ],
  ...
}

2. 長押しと短押しで異なる動作をさせる

{
  "type": "basic",
  "from": { "key_code": "caps_lock" },
  "to_if_alone": [{ "key_code": "escape" }],
  "to_if_held_down": [{ "key_code": "left_control" }]
}

3. 同時押しで動作をさせる

{
  "type": "basic",
  "from": {
    "simultaneous": [
      { "key_code": "j" },
      { "key_code": "k" }
    ]
  },
  "to": [{ "key_code": "escape" }]
}

これらを組み合わせることで、非常に強力なカスタマイズが可能になります。


第12章|まとめ:Mac移行後のKarabiner設定で困らないために

今日学んだこと

この記事では、Mac移行後にKarabiner-Elementsが動かなくなる問題について、原因と対処法を詳しく解説しました。

4つの原因:

  1. キーボード配列のズレ
    macOSがJISキーボードをUSとして認識していた。
    → システム設定でキーボードの種類を正しく設定。

  2. VirtualHIDの未許可
    Mac移行時にシステム拡張の許可がリセットされていた。
    → セキュリティ設定でVirtualHIDDevice-Managerを許可して再起動。

  3. KensingtonWorksとの競合
    複数のドライバが入力を奪い合っていた。
    → ボタン割当はKarabinerに一本化、他の機能はKensingtonWorksで役割分担。

  4. Modify eventsがOFF
    ポインティングデバイスの変換許可が無効だった。
    → DevicesタブでModify eventsをONにする。

最大の学び

今回の経験で学んだ最も重要なことは、
ログが出る=動いている、ではない
ということです。
Karabinerは入力の検知(Grabber)と出力(VirtualHID)が分離しています。
ログが出ているのは入力が検知されている証拠ですが、出力が動いているとは限りません。

この構造を理解していないと、トラブルシューティングで迷宮入りします。

Mac移行は「黙ってOFFにされる項目」との戦い

Mac移行時のトラブルは、設定ミスというより移行時に黙ってOFFにされる項目の集合体です。
Appleはセキュリティを重視しているので、権限に関わる設定は移行しません。
これは正しい判断ですが、ユーザーにとっては「前と同じ設定なのに動かない」という混乱の原因になります。
今回紹介したチェックリストを使えば、このような問題を効率的に解決できます。
Mac移行の際は、ぜひ参考にしてください。

今後のアップデートに備えて

macOSは毎年メジャーアップデートがあります。
そのたびに、セキュリティモデルが変更されることも。
Karabinerのような深いレベルで動作するツールは、OSアップデートの影響を受けやすいです。
今回学んだことを覚えておけば、将来のアップデートで同じような問題が起きても、落ち着いて対処できるはずです。


おわりに

Karabiner-Elementsは、自由度が高い分、一度ハマると抜け出すのが難しいツールです。
でも逆に言えば、構造を理解すると再現性のある最強環境を作れるツールでもあります。
今回のトラブルは、僕にとってKarabinerの内部構造を深く理解する良い機会になりました。
この記録が、同じ問題で悩んでいる誰かの時間を少しでも節約できれば嬉しいです。
Mac移行後の設定は面倒ですが、一度正しく設定すれば快適な入力環境が手に入ります。

HHKB StudioやSlimBladeのような高品質な入力デバイスを使っている方は、ぜひKarabinerで自分だけの最強環境を構築してみてください。

この記事が参考になったら

もしこの記事が役に立ったなら、ぜひスキやフォローをお願いします。
同じ問題で困っている人に届くように、シェアしていただけると嬉しいです。
また、Karabinerの設定で困っていることがあれば、コメントで教えてください。
可能な範囲でお答えします。
入力デバイスのカスタマイズは、一度こだわると抜け出せない沼です。

でも、その沼の先には自分だけの最強環境が待っています。
一緒に理想の入力環境を追求していきましょう!
最後に、この記事で紹介した設定やコマンドは、僕の環境で動作確認済みですが、お使いの環境によっては異なる結果になる可能性もあります。
何か問題があれば、公式ドキュメントやコミュニティを参照してみてください。
それでは、快適なMacライフを!


#Mac #Karabiner #HHKB #トラックボール #macOS #設定 #トラブルシューティング #キーボード #入力デバイス