⌨️
【第3話】HHKB×Karabiner-Elementsでエンドゲーム
「Karabiner-Elements」でできないこと
設定がPCに依存する
自作キーボード( 「HHKB Alt Controller」も概ね同じ)では、
押したキースイッチで送信されるキーコードを設定できる
ので、どのPCでも同じ使用感になります。
しかし、「Karabiner-Elements」では、
受信したキーコードをを別のキーコードに変換できる
に過ぎないので、
Karabiner-Elementsアプリがアクティブなこと
アプリに設定ファイルを書き込んでいること
が求められます。
設定がPCに依存するので、他人のPCにつないでも通用しないのが弱点
レイヤーがゴリ押し
さらに、自作キーボードの醍醐味である「レイヤー」は、デフォルトで対応していません。
しかし、多少ゴリ押し感は否めないものの、実装することができます。
- レイヤーの切り替えとなるキー(スペースバーなど)に、「長押しするとfnが送信され続ける」と設定する
- 「fnを押しながら任意のキーが押されたとき、特定のキーコードを送信する」と設定する
この手順を踏むことで、レイヤーを擬似的に実装することができます!
「Complex Modification」の設定
自分なりに設定してみました!
![Layer1: HHKB](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/youn9taka/583b662a-1951-44a6-a8b0-8d0c32e787fa/c771f2de23c26c5569621f114b500c99.png)
![Layer:1.5 メインのレイヤーで単押ししたとき](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/youn9taka/350f5a96-f8e3-4047-bf6e-544d2e766182/64bb3a0ad2b86d0dfc597f474eb2366c.png)
![Layer:2 Fn(スペースバー)を押しているとき](https://s3.ap-northeast-1.amazonaws.com/wraptas-prod/youn9taka/24912ec3-3dc8-421b-83cb-e0c70dd267d7/5c973d46c8e432347ffa059d212489ee.png)
ファイル名 | 意味 |
---|---|
基本 | メインのレイヤーで発火するもの |
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を送信する |
コチラから好きなモノをピックアップして設定してみてください。
もう少しまとめたら、公式リポジトリにコミットして公開したいなと思ってます。
アプリ内からインポートできるようになるのでお待ち下さい。