zmk_firmwareでのキーマップ編集について

m_ki
·
公開:2025/2/13

注意

・本記事は、m.ki設計の自作キーボードにおいて、zmk_firmwareでのキーマップ編集の方法について説明しています。それ以外の自作キーボードにおける、zmk_firmwareのキーマップ編集で、筆者の理解を超えた問題が発生しても対応できません。

1 githubのアカウントを取得する

上のサイトにアクセスして、右上にある、sign upをクリックしましょう。

登録を要求されるので、必要な事項を記入しましょう。

私は、今回ユーザーネームを「mki-selfmadkeyboard」にしました。

その後、パズルなどロボットではないことを証明する作業をすると、登録したメールアドレス宛に、エントリーコード(数字)が届きます。

それを入力すれば、アカウントの登録は完了です。

次に、下の画面の赤囲みの部分の検索窓に、「zmk-config-cool942tb」と入力して検索してください。

下の画像のように検索結果が出ます。そうしたら、「zmk-config-cool942tb」をクリックしてください。

画面が変わり、次の画面になりましたら、右上にある「Fork」をクリックしてください。

自分のアカウントのgithubにフォークしますかと確認の画面に変わります。右下の「create fork」をクリックしてください。

そうすると、自分のgithubアカウントに、zmk-config-cool942tbのリポジトリがフォークされました。

次に、「Action」をクリックしてください。スクショを撮り損ねてしまいましたが、「I understand my workflows, go ahead and enable them」をクリックし、github Actionsを有効化してください。

2 keymap editorの導入

Webブラウザで新しいウインドウ(またはタブ)で、次のサイトを開いてください。

次の画面の赤囲み部分をクリックしてしてください。

画面が変わったら、赤囲み部分をクリックしてください。

次の画面に変わります。

このようにすると、自分のリポジトリで使えるkeymap editorができます。

3 keymap editorでの編集

キーマップ編集が終わったら、画面左上にある「Save」をクリックします。画面が変わって、「Commit keymap changes」と書かれたウインドウが開きます。コメントがあるときは、何か書いてください(例えば変更した日付とか、対応するOSとか)。その後、「Commit」をクリックしてください。

そうすると、あなたのgithubのzmk-config-cool942tbリポジトリ内にある「config/cool942tb.keymap」ファイルの中身が編集されます。

自分のアカウントのzmk-config-cool942tbリポジトリに戻ってください。

「Action」タブをクリックして、下の画像のような生成するための作業がされています。うまくいくと、黄丸が文字列の最初につきます。失敗の時は赤丸が文字列の最初につき、さらに、設定したメールアドレス宛に「失敗したよ」的な内容のメールが届きます。この文字列をクリックしてください。

下の画面に変わったら、「firmware」をクリックすると、ダウンロードフォルダに編集したキーマップを含む「.uf2」ファイルが左右分とリセット分の3つが入手できます。

ダウンロードしたファイル

これらのファイルを、左右のキーボード基板にはんだ付けされたxiao bleにドラッグ&ドロップすることで、キーマップ編集ができます。

4 ファイルへの直接編集

keymap editorで編集できるのは、今のところ、キー入力の内容だけです。マウスの動きなどについてはできません。

それらについては、直接ファームウェアをいじることで編集ができます。

キーマップについては、zmk-config-cool942tb>config>cool942tb.keymapを編集することでできます。

上の画像で説明します。19行目のtabはコンボキーの名称です。20行目の「bindings = <&kp TAB>;」は、21行目の「key-positions = <11 12>;」をしたら、「Tab」キーになります、という意味です。21行目の<11 12>は、cool942tb.dtsiファイルで定義している、下の画像の赤囲み部分の2キーを指しています。

コンボキーは、keymap editorで名前、コンボの組み合わせや出力されるキーは変えられます。そのため、直接ファイル編集をする必要もありません。

マウスの細かい挙動の編集は、configboardsshieldscool942tb>cool942tb_R.confを編集します。

詳細な説明については、ここを参考にしてください。

13行目の「CONFIG_PMW3610_CPI=400」は、上記のサイトのこの部分を参考にします。

CPIとは「CPIは「Counts Per Inch」で1インチあたりに何回カーソル情報をパソコン側へ送信するかを示すキーワード。」でマウスの感度というものでしょうか。defaultは800ですが、このキーボードでは初期設定で400にしてあります。反応を変えたい時は、この数値を変更してください。

400を800に変える流れを動画にしました。編集の参考にしてください。

このような流れで行います。

5 編集した内容をキーボードに反映させる

github actionによって、出来上がったファームウェアをcool942tbへ移す作業を説明します。

cool942tbの右手部とPC等とをUSBケーブルで繋ぎます。

右手部のxiao bleのリセットボタンを2回連続押します。ボトムケースを外した方がリセットボタンを押しやすいです。ただ、慣れますと、細い棒(ドライバーなど)などで、ケースのUSB挿入口の横から入れて、リセットボタンを押すことができます。

リセットボタンを2回押した後、PC等に右手部のxiao bleがマウントされます。そこに、ファームウェアの中にある「settings_reset-seeeduino_xiao_ble-zmk.uf2」をドラッグ&ドロップしてください。

私はマック環境です。その場合、変な表示が出ます。気にしないで、OKをクリックしておいてください。

再びリセットボタンを2回押します。PC等に右手部のxiao bleがマウントされます。そこに、ファームウェアの中にある「cool942tb_R-seeeduino_xiao_ble-zmk.uf2」をドラッグ&ドロップしてください。

相変わらず、変な表示が出ますが気にしないでください。

次に、cool942tbの左手部とPC等とをUSBケーブルを繋ぎます。

左手部のxiao bleのリセットボタンを2回押した後、PC等に左手部のxiao bleがマウントされます。そこに、ファームウェアの中にある「settings_reset-seeeduino_xiao_ble-zmk.uf2」をドラッグ&ドロップしてください。

再びリセットボタンを2回押します。PC等に左手部のxiao bleがマウントされます。そこに、ファームウェアの中にある「cool942tb_L-seeeduino_xiao_ble-zmk.uf2」をドラッグ&ドロップしてください。

相変わらず、変な表示が出ますが気にしないでください。

これで編集されたファームウェアは、cool942tbに反映されます。

動かしてみましょう。

左手部、右手部の順番でスイッチの部を手前に動かしてください。

ファームウェアを書き換えた場合、それまでのペアリング情報はクリアされてしまうので、再度ペアリングしてください。