「Nape」のキーマップ変更(カスタムファーム作成)ガイド

「Nape」のキーマップ変更(カスタムファーム作成)ガイド

「Nape(ネイプ)」はZMK firmwareを使用しています。ZMKのキーマップ編集にはいくつか方法がありますが、NapeではGitHubとKeymap Editorを使用した方法を推奨します。

GitHubアカウントがない場合はこちらから作成して、ログインしてください。

GitHub・Keymap Editorのセットアップ

Napeのデフォルトファームウェアの設定をまとめたリポジトリはこちらです。

GitHub - menbou0202/zmk-config-nape
Contribute to menbou0202/zmk-config-nape development by creating an account on GitHub.

このリポジトリを自分のアカウントでフォークしてください。

フォークしたリポジトリの「Actions」タブをクリックします(自分のアカウントの画面であることを確認してください。

「I understand my workflows, go ahead and enable them」をクリックします。

KeymapEditorにアクセスします。

Keymap Editor
A web-based editor for ZMK Keymaps

「GitHub」を選択したあと「Login with GitHub」から自分のGitHubアカウンtのでログイン。以下の画像の通り進めます。

Keymap Editorの編集画面が表示されればOKです。

キーマップを編集する

注意事項

💡
既存のレイヤー0〜11は削除したり順番を入れ替えたりしないでください。レイヤー番号によってトラックボールの使用向きが定義されているためです。

キーマップを変えるには、対象のキーをクリックします。

各キーにはBehavior(動作の種類)とParameters(動作の設定)が割り当てられており、これらを変更することでキーの役割が変えられます。Napeのデフォルトファームウェアで主に使っているもの・代表的なものを表で簡単に解説します。

Behavior 動作の種類
&kp キー入力
&mkp マウスボタン入力
&to レイヤー切り替え
&mo 押している間だけレイヤー切り替え
&mt 押しっぱなし(Hold)と短押し(Tap)で別のキー入力
&lt 押している間(Hold)はレイヤー切り替え、短押し(Tap)でキー入力
&mod_mkp(カスタム) 押している間(Hold)はキー入力、短押し(Tap)でマウスボタン入力
&lt_mkp(カスタム) 押している間(Hold)はレイヤー切り替え、短押し(Tap)でマウスボタン入力

COMBOS(コンボ)

COMBOSタブでは2キー以上の同時押しに対して、Behaviorを割り当てられます。デフォルトファームウェアではKey2と3を同時押ししている間、スクロールレイヤーに切り替わります。

ZMKには他にもたくさんBehaviorや機能があるので、公式ドキュメントで調べてカスタマイズしてみてください。

Keymaps & Behaviors | ZMK Firmware
ZMK uses a declarative approach to keymaps, using devicetree syntax to configure them in a .keymap file.

カスタムしたファームウェアをビルド・ダウンロード

上部の「Save」→「Commit」とクリックすると新しいファームウェアのビルドが始まります。3〜5分ほどでビルドが完了するとチェックマークが表示されるのでクリックします。

遷移した先の画面でファームウェアをダウンロードします。

本体への書き込み方法は組み立て時の方法と同じです。

デフォルトレイヤーの変更

起動時のデフォルトの向きレイヤーを変更します。

フォークしたリポジトリのconfig/boards/shields/nape/Kconfig.defconfigを開きます。編集ボタンをクリックします。

defaultの値を起動時に設定したいレイヤー番号に変更します。「Commit changes...」をクリックします。

Actionsタブに移動すると自動でファームウェアのビルドが始まっています。完了したらダウンロードして本体に書き込んでください。

FAQ. レイヤー移動中にトラックボールの向きが変わってしまう

デフォルトでは8方向の向きに対応するため、トラックボールセンサーの標準ドライバ(zmk-pmw3610-driver)をカスタムしたものが適用されています。このカスタムドライバでは別レイヤーに移動中にトラックボールの向きが変わってしまうデメリットがあります(ただしスクロールレイヤーだけは向きが継承されます)。

複数レイヤーにまたがってトラックボールを使う必要がある場合は、カスタムしていない標準のドライバーを適用したブランチ(basic-driver)を使用してください。ただし、Napeの使用向きは1つに固定されます。

ブランチを「basic-driver」に変更します。

Napeの使用向きを設定するには「config/boards/shields/nape/nape.conf」を編集します。「CONFIG_PMW3610_ORIENTATION_270=y」の「270」が角度です。お好みに変更してコミットしてください。

角度 記述
0°(USBポートが下向き) CONFIG_PMW3610_ORIENTATION_0=y
90°(以降時計回り) CONFIG_PMW3610_ORIENTATION_90=y
180° CONFIG_PMW3610_ORIENTATION_180=y
270° CONFIG_PMW3610_ORIENTATION_270=y

コミットすると、Actionsタブでビルドが自動開始しますので、完了したら完成したファームウェアをダウンロードして書き込んでください。