このサイトはWebfile便で作成しました利用はこちら
Karabiner-Elements × Goku「極楽浄土」セットアップ記録

JISキーボードを
極楽浄土レイヤーに変える一枚のメモ

Karabiner-Elements と Goku DSL を組み合わせて、ビルトイン・キーボードを多層レイヤー化するまでの手順と karabiner.edn のひな形、調査メモを 1 ページに整理しました。

Tap-Hold / simlayer の設定例
brew / goku インストール手順
参考リンク & 雑記
Space
単押し: y / ホールド: Ctrl
G
単押し: f / ホールド: ⇧
K
単押し: h / ホールド: ⇧
S
単押し: i / ホールド: ⌘
レイヤー layer-one / layer-two
te96 由来の配列

※ 実際の karabiner.edn はこのページの config セクションから折りたたみ表示でコピーできます。

成果物

極楽浄土レイヤーのキーボードとノーマル状態

実際に運用しているレイヤー配列と、比較用のノーマルキーボードのイメージを並べて整理しています。

極楽浄土キーボード(Goku 版)

Tap-Hold と simlayer を駆使した多層レイアウト

Goku layout

もともとの JIS 配列をベースに、layer-one / layer-two を重ねて 記号・数字・カーソル移動を左手/右手にバランスよく割り当てています。

  • スペースやコマンドキーを Tap-Hold 化して、レイヤ切り替え+文字入力を両立。
  • 頻出記号(括弧・コロン・ハイフンなど)をホームポジション周辺に集約。
  • 矢印キーは layer-two-l にまとめて、手の移動を最小限に。

実際の配列図は元ページの「goku keyboard」イメージを差し替えて利用できます。

ノーマルキーボードとの比較

ビルトイン JIS キーボードを前提とした改造ログ

Before

ベースとなるのは Mac のノーマルキーボード。
ここから keytop を一部交換しつつ、Karabiner と Goku で論理的なレイヤのみを追加していきます。

  • 物理配列自体はほぼそのままなので、既存のキーキャップとの併用も可能。
  • キーマップはすべて karabiner.edn に集約し、Git 管理しやすい構造に。
  • 「ノーマル状態」を残しておくことで、トラブルシュート時の比較がしやすい。

config

config/karabiner.edn(折りたたみ・コピー可)

GokuRakuJoudo 用の ~/.config/karabiner.edn を折りたたみ表示にし、右上から一括コピーできるようにしています。 ページでは実際の設定全文をペーストして運用してください。

~/.config/karabiner.edn
最初は閉じた状態。開く ▸ をクリックして全体を表示します。
{;; Karabiner-Elements × Goku(極楽浄土)設定のひな形(抜粋)
 ;; 実際の設定では profiles / simlayers / main をすべて貼り付けてください
 :profiles {:Default {:default true
                      :sim 50
                      :delay 80
                      :alone 150
                      :held 70}}
 :simlayers {:layer-one-l {:key :f}
             :layer-one-r {:key :l}
             :layer-two-l {:key :d}
             :layer-two-r {:key :semicolon}}
 :main [{:des "Tap-Holds"
         :rules [[:spacebar :left_control nil {:alone :y}]
                 [:right_command :right_control nil {:alone :n}]
                 [:g :left_shift nil {:alone :f}]
                 [:k :right_shift nil {:alone :h}]
                 [:s :left_command nil {:alone :i}]
                 [:quote :right_command nil {:alone :l}]
                 [:a :left_option nil {:alone :e}]
                 [:backslash :right_option nil {:alone :spacebar}]]}
        ;; ここに layer-one / layer-two / DEFAULT など、残りのルールを続けて記述
        ]}

セットアップ

キートップ交換から Goku 実行まで

物理的なキートップ交換のコツと、brew で Goku を導入して karabiner.edn を反映するまでの流れを 2 枚のカードにまとめています。

keyboard-top の剥がし方

Mac ビルトインキーボードの keycap を外すときのイメージ

Hardware
  1. 1
    キーの下側からカッターナイフを差し込み、支点を意識しながら半分だけそっと浮かせる。
  2. 2
    浮いた隙間にピンセットを差し込み、キーボード面に沿って下方向にスライドさせるようにして外す。
  3. 3
    イメージが掴みにくい場合は、 「Mac Replacement Keys」YouTube 動画 などで事前に動きを確認しておく。

極楽浄土 (Goku) の導入

brew から Goku を入れて Karabiner に反映するまで

Software
  1. 1
    Karabiner-Elements の Profile 画面から Default プロファイルを追加しておく。
  2. 2
    Homebrew で Goku をインストールする。シンボリックリンク済みの場合は適宜スキップ。
    brew install yqrashawn/goku/goku
  3. 3
    ~/.config/karabiner.edn を作成し、上の config セクションの内容をペーストする。
    touch ~/.config/karabiner.edn
    # エディタで編集
    goku

調査メモ

極楽浄土 (Goku) の挙動とレイヤ設計のメモ

GitHub の設定例を読み解きながら、「ホールドでレイヤ切り替え」「## 付きキーの扱い」などを検証したメモを簡潔にまとめています。

レイヤ切り替えの考え方

文字キーをホールドしてレイヤを切り替える

Layers
  • 例: layer-one-l / layer-one-r / layer-two-l / layer-two-r を左右に対で配置。
  • レイヤ用に使うキーは、DEFAULT レイヤでは別の役割を持たせないようにする。
  • Tap-Hold の :alone を短めに設定して、誤爆を抑えつつレイヤ切り替えを快適に。

## プレフィックスの扱い

キーコードのプレフィックスが何を意味するか

Key code

GitHub のサンプルでは、レイヤ内のキーに [:##w ...] のような記法が登場します。 元情報を読みながら、プレフィックスが「物理キーコード(修飾無し)」を指していると解釈しています。

  • レイヤの中では ## を付けることで、ベースレイヤに依存しない定義に。
  • 詳細な仕様は Goku の README / issue も合わせて要確認(実装バージョンにより挙動差が出る可能性あり)。

今後試したいこと

「例集」からのアイデアメモ

Try
  • 複数キーのコンボ入力でシェルコマンドを起動する仕組み。
  • 特定アプリケーションごとにレイヤを切り替えるコンテキスト依存の配列。
  • ノート PC と外付けキーボードで、同じ karabiner.edn を共有するためのプロファイル設計。

雑記

ビルトインキーボード運用メモ

ビルトインキーボードへの移行にあたって意識している運指や、今後の改善ポイントのメモです。

  • 親指エンターから、人差し指エンター / m キー押下を意識して運用する。
  • te96 配列をベースにした「親指化計画」のニーズが高まっている。
  • 長期的には、外付けキーボードとビルトインの両方で極楽浄土レイヤを共有できる構成を目指す。

参考リンク

キーコード表・設定例・解説記事

元ノートで参照しているキーコード一覧や Goku / Karabiner の解説記事を、カテゴリごとにタグ風バッジにまとめています。