⌨️
【第3話】HHKB×Karabiner-Elementsでエンドゲーム
「Karabiner-Elements」でできないこと
設定がPCに依存する
自作キーボード( 「HHKB Alt Controller」も概ね同じ)では、
押したキースイッチで送信されるキーコードを設定できる
ので、どのPCでも同じ使用感になります。
しかし、「Karabiner-Elements」では、
受信したキーコードをを別のキーコードに変換できる
に過ぎないので、
Karabiner-Elementsアプリがアクティブなこと
アプリに設定ファイルを書き込んでいること
が求められます。
設定がPCに依存するので、他人のPCにつないでも通用しないのが弱点
レイヤーがゴリ押し
さらに、自作キーボードの醍醐味である「レイヤー」は、デフォルトで対応していません。
しかし、多少ゴリ押し感は否めないものの、実装することができます。
- レイヤーの切り替えとなるキー(スペースバーなど)に、「長押しするとfnが送信され続ける」と設定する
- 「fnを押しながら任意のキーが押されたとき、特定のキーコードを送信する」と設定する
この手順を踏むことで、レイヤーを擬似的に実装することができます!
「Complex Modification」の設定
自分なりに設定してみました!
ファイル名 | 意味 |
---|---|
基本 | メインのレイヤーで発火するもの |
lang.json | 左右のCommandを単押ししたとき、英数/かなを送信する |
undo.json | left_controlを単押ししたとき、元に戻すショートカットを送信する |
brackets.json | left_shift/right_shiftを単押ししたとき、丸括弧を送信する |
fnレイヤー | fnレイヤーで発火するもの |
fnbar.json | スペースバーを長押ししたとき、fnを送信する |
arrows.json | fnを押しながらasdfを押すと、矢印キーを送信する |
arrows_right.json | fnを押しながらjkl;を押すと、矢印キーを送信する |
main.json | fnを押しながらj/k/lを押すと、backspace/delete/enterを送信する |
home.json | fnを押しながらg/hを押すと、Home/Endを送信する |
line.json | fnを押しながらu/i/o/pを押すと、文末/文頭まで移動/削除を送信する |
macro.json | fnを押しながらq/wを押すと、youn9taka/youn9taka@gmail.comを送信する |
コチラから好きなモノをピックアップして設定してみてください。
もう少しまとめたら、公式リポジトリにコミットして公開したいなと思ってます。
アプリ内からインポートできるようになるのでお待ち下さい。