はじめに
私もとうとう自作キーボード「Corne v4」にデビューしました。
初めて自分でキーを割り当てたり、レイヤーを考えたりして、キーボードの自由さに感動しました。ただその一方で、Mac本体はJISキーボード、CorneはUS配列 という組み合わせにしたことで、予想以上に困る問題が出てきました。
そう、「記号ズレ問題」です。
たとえば「Shift + =」が「^」になったり、「¥」キーがどこかへ消えたり……。
せっかく自由にカスタマイズできるはずなのに、配列の違いでミス入力が増えてストレスが溜まるという、なんとも皮肉な状態でした。
環境
- macOS 15 “Tahoe”
- Karabiner-Elements 最新版
- Corne Keyboard v4(US配列)
- MacBook内蔵キーボード(JIS)
Karabinerの設定
以下のように~/.config/karabiner/karabiner.json
を設定しました。
{
"profiles": [
{
"devices": [
{
"description": "Corne v4",
"identifiers": {
"is_keyboard": true,
"product_id": 4,
"vendor_id": 18003
},
"keyboard_type": "ansi"
}
],
"name": "Default profile",
"virtual_hid_keyboard": { "keyboard_type_v2": "jis" }
},
{
"name": "US",
"selected": true,
"virtual_hid_keyboard": { "keyboard_type_v2": "ansi" }
}
]
}
Default profileはMac本体(JIS配列)用、USはCorneなどの外付け(US配列)用です。これで設定自体はできましたが、「簡単に切り替える方法」が課題でした。
Automatorを試したけど
最初はAutomatorのクイックアクションでkarabiner_cli --select-profile
を呼び出すようにしていました。
ただし次のような問題がありました。
- Finderでは動くが、ChromeやVSCodeでは反応しない
- アプリによって挙動が変わる
- macOS 15以降ではサービス呼び出しが制限されている
ショートカット.appでの解決
Apple公式のショートカット.appに移行することで、どのアプリ上でも安定して動作するようになりました。
作り方
- ショートカット.appを開く
- 「+」で新規ショートカットを作成
- 「シェル」と検索して「シェルスクリプトを実行」を追加
- コマンドを貼る
JIS用(Mac本体):
/Library/Application\ Support/org.pqrs/Karabiner-Elements/bin/karabiner_cli --select-profile "Default profile"
US用(Corne):
/Library/Application\ Support/org.pqrs/Karabiner-Elements/bin/karabiner_cli --select-profile "US"
-
右上の「i」アイコンを開き、「キーボードショートカットを追加」をON
- JIS切替 → Control + Option + J
- US切替 → Control + Option + U
Chromeなど一部のアプリでは、Control + Option + U
で空白が入ることがありますが、キーの意味がわかりやすく、実用上はほとんど問題ありません。
まとめ
- Karabinerでデバイスごとに配列を指定する
- ショートカット.appでプロファイル切り替えを登録する
この構成で、JISとUS配列の切り替えが一瞬でできるようになり、記号ズレのストレスから完全に解放されました。格子配列やレイヤー操作など、まだ慣れない部分もありますが、今後も少しずつ調整を重ねて、もっと快適な入力体験を追求していこうと思います。