自作キーボードっておもしろい!

自作したキーボードについて

分離型キーボードの左右をファームウェアの書き込み時に固定する

分離型キーボードでは基本的に2つのProMicroに同一のファームウェアを書き込んで使用します。この時キーボードの右と左はデフォルトではUSBケーブルが刺さっている側が左(master)になります。

 

どちらのProMicroにUSBケーブルを刺しても左右が固定されるようにする方法はいくつかありますが、EEPROMによる固定が最も簡単だと思います。

 

詳細はQMK FirmwareHandedness by EEPROMにあります。

 

前提として、ファームウェアをビルドする前に、config.hに以下の追加が必要です。

#define EE_HANDS

 

ビルドしたファームウェアをProMicroに書き込む際に、Pro Micro Web Updaterを利用します。

sekigon-gonnoc.github.io

ファイル選択からファームウェアを選んで、eeprom optionで左用はsplit-left、右用はsplit-rightを選んでflashするだけです。

書き込んだら、左用を左のキーボードに、右用を右のキーボードに使用すればOKです。

 

GECCOH split

GECCOH splitはARCHER splitの反省を活かしつつ、ロウスタッガード(横ずれ)とカラムスタッガード(縦ずれ)の融合を模索した分割キーボードです。

GECCOH split

実際に使用して、これは使いづらいとなったので、いわゆるボツキーボードになります。

ARCHER splitと同様に、設計の目的、使用感などを書いておきます。

 

設計にあたって

Ergomixsta kite-Eを設計した頃から、ロウスタッガード(横ずれ)とカラムスタッガード(縦ずれ)をなんとか融合できなかと考えていました。キーを傾けることである程度それは実現しますが、Alice配列のように内側に傾けた場合は、どうしても背中を丸めるような打鍵姿勢になりがちです。ARCHER splitを設計したあとに試行錯誤した中で、キーを外側に傾けることで自然と手首が外側に向き、背中の丸まりを回避できるのでは無いかと思いつきました。

また、ホームポジション時の指の位置を指の長さに合わせたほうが自然な姿勢になるのではと思い、それも採用し、以下のコンセプトを考えました。

  • キーを外側に傾ける。
  • ホームポジションで指の長さに沿った縦ずれを取り入れ、カラムスタッガードにする。
  • 小指側は下げすぎると個人的には打ちにくいので、逆に上げてみる。
  • 分割型にしてコストを抑えたい。
  • MX互換キースイッチをソケット対応にする。
  • LEDはレイヤーインジケーターと床下照明を採用する。
  • アクリル積層のトップマウントケースに挑戦することを前提に、トッププレートはPCBでする。

配列は以下のようになりました。

GECCOH配列
使用感

ホームポジションに指を置いてみると、自然な形で置けています。

GECCOHホームポジション

これは!いいんじゃないの、と思ったのですが、ここに大きな落とし穴がありました。

 

キーが遠い

ホームポジションで中指、薬指、小指が伸びてしまっているため、上の行のキーを打つためには指ではなく手を動かす必要があります。特に下図の赤丸で囲った中指で打つキーは非常に打ちにくいです。

問題点など

また、人差し指で打つ黄色丸のキーも非常に遠く感じ、その隣の内側キーとの誤打が頻発しました。

 

内側の列が下がりすぎている

図の青矢印で示した2つのキーでは、矢印の下側のキーを打ったつもりが上のキーを打っていることが多くありました。これは慣れの問題もあると思いますが、内側のキーが下がりすぎていて、脳内のイメージとのギャップが生じているのだと思います。慣れてくれば解消する可能性がありますが、先に述べた理由で慣れるまで使用できませんでした。

 

ポジティブなポイント

緑色丸の小指で打鍵するキーが思ってた以上に打ちやすく感じました。左手側のESC、Qはあまり使いませんので評価できませんが、右手側は使用頻度が高く、打ちやすさが実感できました。

また、打鍵姿勢は想定していたように背中が丸まらないです。

 

以上の使用感を生かして改善するとなると、カラムスタッガードのずれを小さくする必要があります。そうした場合、図の黄色丸のキーをより内側に配置する必要があり、ますます遠くなってしまいます。

ということで、GECCOH splitはボツになりました。この時点で使いにくいことがわかったためアクリル積層ケースについては試していません。これは別の機会に挑戦したいと思います。

ちなみにGECCOHは[外向」から名付けました。

ARCHER split

ARCHER splitは思いつきで設計した分割キーボードです。

左手

両手


実際に使用してみたところ、使い勝手がいまいちでしたので、今後の開発は今のところ予定していません。

せっかくなので、何を考えて設計したのかを残しておこうと思います。

 

設計にあたって

 Sha_nanaを使用し始めて、いわゆるAlice配列の使用時にひじが若干外に向いてしまい、それにともなって肩が内側に向き背中が丸まってしまうことに気が付きました。これはAlice配列の傾斜に合わせるために手首が内側に傾くことに起因しているように思います。

姿勢

そこで、より自然な姿勢でタイピングできることを目指して、以下のコンセプトのもと配列を考えました。

  • 指の長さの違いを意識してキーを円弧状に配置する。
  • 小指でタイピングする外側の配列は下げたほうが(手前に寄ったほうが)個人的には打ちやすい。
  • 分割型にしてコストを抑えたい。
  • MX互換キースイッチをソケット対応にする。
  • LEDはレイヤーインジケーターだけで十分。
  • ボトムプレートとトッププレートを使う。
  • 厚み(高さ)を減らす工夫。
  • ユニークな配列に挑戦したい。

配列を考えているときに、数字行を外側に配置することで小指で打てるようにしたら手の上下移動を減らせるのでは?と思いついてしまったために、以下のような配列が出来上がりました。

ARCHER配列

外側に縦に並んでいる5キーに数字行を割り当てています。また、外側のキーを少し下げてあり小指でのタイピングにも配慮しています。

Ergomixsta kite-EやSha_nanaと同様に右手の親指でシフトキーを押すことを想定しているため、!@#$などの入力も親指と小指を使うことで問題なくできる、と考えています。

トッププレートとボトムプレートは2mm厚のアクリルプレートで作成し、トッププレートとメインボードの隙間は3mm厚のアクリルプレートによる枠を設置しました。これは  Sha_nanaと同じ設計です。

ボトムプレートはソケットとダイオードの箇所をくり抜くことでメインボードに直接重ねる方法を採ることで、厚みを抑えています。

ボトムプレート

実際に使用してみて

完成したところで、意気揚々と使用してみたのですが、使い勝手は決して良いとは言えませんでした。

キーピッチが広く、指が開いた状態になり打ちにくい。

これは、配列設計時にキーが重ならないことを意識しすぎてキーとキーの隙間を広く採りすぎたことに起因しています。キーを傾けて配置するときに隙間をどうするのか、と言うのは結構難しいところです。

キーピッチが広くなったため、数字列までが遠すぎる。

キーピッチが広くなったもう一つの弊害です。数字キーが遠すぎて小指をいっぱいまで伸ばす必要があり、簡単には打てなくなってしまいました。

数字を連続で入力するのが難しい。

これは、設計段階で想定すべきことでした。単純に打ちにくいです。4や5を薬指で打鍵することで少しは連続入力しやすくなりますが、ホームポジションからの移動が大きくなり本末転倒でした。また、10、61など左右に分かれているキーを連続入力することはさらに難しく感じました。

 

キーピッチを狭くすることである程度問題を解決できると思いますが、最後の連続入力についてはこの配列の致命的な欠陥になってしまっています。そのため、開発はここで一旦終了することにしました。

 

問題点だけではなく、ポジティブな点もあります。

タイピング姿勢の改善。

当初のタイピング姿勢については改善できたと思います。

ボトムプレートの設計。

これも問題有りませんでした。今回のように、ProMicroを表側に配置する場合はこの方法で問題なさそうです。そもそもボトムプレートが必要か?というのもありますが。

これらの点は今後のキーボード設計に活かせそうです。

 

Sha_nana ビルドガイド

seizan01.booth.pm

remap-keys.app

 

Sha_nanaはKailh choc v1キースイッチとMX互換​キースイッチの両方に対応しています。どちらか一方のPCBソケットの取り付けだけで動作します。MX互換​キースイッチを使用する場合はトッププレートを装着すると安定感が増します。

 

キット内容の確認

メインプレート … 1枚

メインプレート 表面

メインプレート 裏面


トッププレート … 1枚

トッププレート

ボトムプレ―ト … 1枚

ボトムプレート

アクリル枠(3 mm) … 大・中・小 各1枚

アクリル枠(2 mm) … 大・中・小 各1枚

アクリル枠(2/3 mm厚)

LED(SK6812MINI-E) … 2個 (予備1個含む)

LED

スペーサー(6 mm) … 6個

スペーサー(3 mm) … 6個

スペーサー 3/6 mm

ネジ … 13本 (予備1本含む)

ネジ

ナット… 6個

ナット

ワッシャー … 6個

ワッシャー

透明ゴム足(大) … 3個

透明ゴム足(小) … 3個

 

自身で用意して頂くパーツ

ProMicro (USB type B または type C)… 1個

コンスルー (高さ2 mmまたは2.5 mm)または12ピンソケット(高さ3.5 mm)… 2本

用意したProMicroに対応したUSBケーブル… 1本

Kailh choc v1キースイッチを使用する場合

Kailh choc v1スイッチ … 77個

Kailh choc v1スイッチ用キーキャップ 1U… 77個

Kailh choc v1スイッチ(ロープロファイル)用PCBソケット … 77個

MX互換​キースイッチを使用する場合

MX互換​キースイッチ … 77個

MX互換​キースイッチ用キーキャップ 1U… 77個

MX互換​キースイッチ用PCBソケット … 77個

 

オプション(親指キーに使用できます)

Kailh choc v1スイッチ用キャップ 1.5U … 2個

MX互換​キーキャップ 1.5U … 2個

 

これらは以下のショップで購入できます。

 

道具類

はんだごて

はんだ

ピンセット

ニッパー

精密ドライバー

フラックス (あるとはんだ付けしやすくなります)

はんだ吸い取り線  (はんだ付けに失敗した際のリカバリーに使います)

 

オプション メインプレートの断面をサインペンで塗る

メインプレートの断面は白くなっていますので、黒のサインペンで塗るとかっこよくなります。

 

Pro Microのはんだ付け

コンスルーを使用する場合

コンスルーは金の窓をPro Micro側にし、2本の金の窓の左右の向きを揃えます。(写真のメインボードはErgomixsta kite-Eのものです。)

コンスルーの向き

メインボードの裏側からコンスルーを挿してから、Pro Microを画像の向きにはめ込み、はんだ付けを行います。

Pro Microの取り付け

こちらも参考になります。

12ピンソケットを使用する場合

Pro Microに付属するピンを分解し、バラバラにします。

ピンの分解

メインボードの裏側から12ピンソケットを挿して、その上にPro Microを画像の向きに乗せます。このとき、マスキングテープでピンソケットとPro Microをメインボードに固定すると、その後の作業がやりやすくなります。

Pro Microの固定

バラバラにしたピンを挿し、はんだ付けを行い、余分なピンをニッパーなどでカットします。

ピンのハンダ付けとカット

メインボードの表側からピンソケットをはんだ付けします。

こちらも参考になります。

 

Firmwareのフラッシュ

REMAPのカタログを利用してFirmwareをProMicroにフラッシュします。

ProMicroをUSBケーブルでPCと接続し、FLASHをクリックします。

Sha_nana カタログ

説明に従ってProMicroをリセットします。USBにつないだままのProMicroのGNDとRSTをピンセットなどでショートさせると、リセットできます。

リセット

フラッシュが終わったら、今後の作業をやりやすくするために、一旦ProMicroを外しておきます。

 

インジケーター用LEDのはんだ付け

キットに含まれるLEDはインジケーター用です。写真の場所にハンダ付けします。

LED取り付け位置

写真を参考に、LEDの向きに注意してはんだ付けします。

Pro Microを挿し込み、USBケーブルでPCと接続し点灯することを確認します。

 

Kailh choc v1スイッチ(ロープロファイル)用PCBソケットのはんだ付け

メインボードの裏側から、2つの穴にハマるようにソケット置き、左右に箇所をはんだ付けします。片方または両方に予備はんだをしておくとはんだ付けしやすくなります。

 

MX互換​キースイッチ用PCBソケットのはんだ付け

メインボードの裏側から、2つの穴にハマるようにソケット置き、左右に箇所をはんだ付けします。片方または両方に予備はんだをしておくとはんだ付けしやすくなります。

 

ボトムプレートとスペーサーの取り付け

アクリルパーツの保護紙を取り除きます。ガムテープを貼って剥がすなどの方法が良いと思います。

参考

ボトムプレートの向きに注意して、内側にトッププレートを使わない場合は3 mmの使う場合は6 mmのスペーサーをネジで取り付けます。

 

アクリル枠(2 mm)とメインボードの取り付け

取り付けたスペーサーにはまるようにアクリル枠を入れ、その上からメインボードを乗せます。メインボードの表側からワッシャーとナットを入れてネジ止めします。

 

トッププレートの取り付け

トッププレートを取り付ける場合は、メインプレートの上にアクリル枠(3 mm)をメインボード下のアクリル枠と同じように配置し、トッププレートを乗せネジ止めします。上から下までのプレートの配置は写真のようになります。

 

スイッチの取り付け

メインボードの表側にスイッチを取り付けていきます。Choc v1キースイッチの場合は各キーのピンが手前側にくるように取り付けて下さい。ピンが曲がってしまった場合はピンセットなどでゆっくり戻してみて下さい。

 

ゴム足の取り付け

ボトムプレートの裏側にゴム足を貼り付けます。奥側にゴム足大をつけることで傾斜が付きます。

 

完成

お好きなキーキャップを装着して完成です。

LEDインジケーターはデフォルトレイヤー時に青、2番目のレイヤー時にマゼンタ、3番目のレイヤー時にイエロー、4番目のレイヤー時にグリーンに光ります。

REMAPを利用してキーテストやキーマップを変更できます。REMAPでキーボードを認識させると、jsonファイルを要求されますのでダウンロードしたjsonファイルをドロップして下さい。

表面のコンスルーの出っ張りやピンソケットのはんだ付け跡が気になる場合は、黒いマスキングテープを貼るといい感じになります

マスキングテープで隠す



 

Sha_nana [試作版] ビルドガイド

Sha_nana 試作版はKailh choc v1スイッチとMX互換​キースイッチの両方に対応していますが、トッププレートが無いためMX互換​キースイッチを使用した場合、キースイッチの安定感に問題があります。Kailh choc v1スイッチの利用を推奨します。

 

 

キット内容の確認

メインプレート … 1枚

ボトムプレ―ト … 1枚

アクリル枠 … 大・中・小 各1枚

LED(SK6812MINI-E) … 2個 (予備1個含む)

スペーサー … 6個

ネジ … 7本 (予備1本含む)

ナット付きネジ … 6本

ワッシャー … 6個

透明ゴム足(大) … 3個

透明ゴム足(小) … 3個

 

自身で用意して頂くパーツ

ProMicro (USB type B または type C)… 1個

コンスルー (高さ2.5 mm)または12ピンソケット(高さ3.5 mm)… 2本

Kailh choc v1スイッチ … 77個

Kailh choc v1スイッチ用キーキャップ … 77個

Kailh choc v1スイッチ(ロープロファイル)用PCBソケット … 77個

用意したProMicroに対応したUSBケーブル… 1本

 

オプション(MX互換キースイッチを使用する場合)

Kailhスイッチ用PCBソケット … 77個

MX互換​キースイッチ … 77個

MX互換​キーキャップ 1U … 77個

 

これらは以下のショップで購入できます。

yushakobo.jp

talpkeyboard.net

shop.dailycraft.jp

道具類

はんだごて

はんだ

ピンセット

ニッパー

精密ドライバー

フラックス (あるとはんだ付けしやすくなります)

はんだ吸い取り線  (はんだ付けに失敗した際のリカバリーに使います)

 

[オプション] メインプレートの断面をサインペンで塗る

メインプレートの断面は白くなっていますので、黒のサインペンで塗るとかっこよくなります。

 

Pro Microのはんだ付け

コンスルーを使用する場合

コンスルーは金の窓をProMicro側にし、2本の金の窓の左右の向きを揃えます。(写真のメインボードはErgomixsta kite-Eのものです。)

メインボードの裏側からコンスルーを挿してから、ProMicroを画像の向きにはめ込み、はんだ付けを行います。

 

こちらも参考になります。

遊舎工房 コンスルー(スプリングピンヘッダ)の取り付け方を教えて下さい

 

12ピンソケットを使用する場合

Pro Microに付属するピンを分解し、バラバラにします。

メインボードの裏側から12ピンソケットを挿して、その上にPro Microを画像の向きに乗せます。このとき、マスキングテープでピンソケットとPro Microをメインボードに固定すると、その後の作業がやりやすくなります。

バラバラにしたピンを挿し、はんだ付けを行い、余分なピンをニッパーなどでカットします。

メインボードの表側からピンソケットをはんだ付けします。

 

こちらも参考になります。

YAMAGUCHI::weblog ロープロファイルピンソケットでProMicroのソケット化をした

 

Firmwareのフラッシュ

REMAPのカタログを利用してFirmwareをProMicroにフラッシュします。

remap-keys.app

Firmware(hexファイル)とjsonファイルを下のリンクからダウンロードします。

Sha_nana hex & json

REMAPのカタログの右上をクリックすると”Upload Firmware”と表示されますのでダウンロードしたhexファイルをドロップして下さい。

説明に従ってProMicroをリセットします。USBにつないだままのProMicroのGNDとRSTをピンセットなどでショートさせると、リセットできます。

フラッシュが終わったら、今後の作業をやりやすくするために、一旦ProMicroを外しておきます。

 

インジケーター用LEDのはんだ付け

キットに含まれるLEDはインジケーター用です。

写真を参考に、LEDの向きに注意してはんだ付けします。

ProMicroを挿し込み、USBケーブルでPCと接続し点灯することを確認します。

 

インジケーター用LEDが動作しなくてもキーボードとしての機能は問題ありません。インジケーターが不要であれば付ける必要はありません。

 

Kailh choc v1スイッチ(ロープロファイル)用PCBソケットのはんだ付け

メインボードの裏側から、手前側の2つの穴にはまるようにソケット置き、左右に箇所をはんだ付けします。片方または両方に予備はんだをしておくとはんだ付けしやすくなります。

 

[オプション] Kailhスイッチ用PCBソケットのはんだ付け

メインボードの裏側から、奥側の2つの穴にはまるようにソケット置き、左右に箇所をはんだ付けします。片方または両方に予備はんだをしておくとはんだ付けしやすくなります。

 

スイッチの取り付け

メインボードの表側にスイッチを取り付けていきます。Choc v1キースイッチの場合は各キーのピンが手前側にくるように取り付けて下さい。ピンが曲がってしまった場合はピンセットなどでゆっくり戻してみて下さい。

 

ボトムプレートとスペーサーの取り付け

アクリルパーツの保護紙を取り除きます。ガムテープを貼って剥がすなどの方法が良いと思います。

ボトムプレートの向きに注意して、内側にスペーサーをネジで取り付けます。

こちらも参考になります。

遊舎工房 アクリルプレートの保護紙が剥がれません

 

枠とメインボードの取り付け

取り付けたスペーサーにはまるようにアクリル枠を入れ、その上からメインボードを乗せます。

ワッシャーを入れたナット付きネジを使ってメインボードをネジ止めします。

 

ゴム足の取り付け

ボトムプレートの裏側にゴム足を貼り付けます。奥側にゴム足大をつけることで傾斜が付きます。

 

完成

お好きなキーキャップを装着して完成です。

LEDインジケーターはデフォルトレイヤー時に青、2番目のレイヤー時にマゼンタ、3番目のレイヤー時にイエロー、4番目のレイヤー時にグリーンに光ります。

REMAPを利用してキーテストやキーマップを変更できます。REMAPでキーボードを認識させると、jsonファイルを要求されますのでダウンロードしたjsonファイルをドロップして下さい。

表面のコンスルーの出っ張りやピンソケットのはんだ付け跡が気になる場合は、黒いマスキングテープを貼るといい感じになります。



楽しい自作キーボードライフを!

 

 

総当りマトリクスとRGB matrix

総当りマトリクスを使用して設計した場合に、キーバックライトとしてRGB matrixを適用する際のメモです。


注:筆者はプログラムについては素人です。どうしてこうなるのか、という点はよく分かっていません。


Ergomixsta kite-Eは総当りマトリクスを使用して設計しました。

キーマトリクスとLEDはこのようになっています。

QMKのdocumentには総当りマトリクスについての説明がありません。
もちろん、RGB matrixのページにも総当りマトリクスについては触れられていません。
docs.qmk.fm

課題は以下の2点です。
1.総当りマトリクスに対応するようにLEDのpositionをどのように設定するのか?
2.Ergomixsta kite-Eにはキーバックライトではないインジケーター用LEDがあるが、その扱いはどうするのか?

QMK firmwareの#difine layoutは以下のようになっています。

#define LAYOUT( \
    K12,   K13,   K14,   K15,   K16,   K17,                           K18,   K19,   K110,  K62,   K63,              K64,   K65,   K67,   K68,   K69,   K610, \
    K21,   K23,   K24,   K25,   K26,   K27,                           K28,   K29,   K210,  K61,   K73,              K74,   K75,   K76,   K78,   K79,   K710, \
    K31,   K32,   K34,   K35,   K36,   K37,                           K38,   K39,   K310,  K72,                        K84,   K85,   K86,   K87,   K89,   K810, \
    K41,   K42,   K43,   K45,   K46,   K47,   K48,                 K59,   K510,  K81,   K71,              K93,   K94,   K95,   K96,   K97,   K98,   K910, \
    K51,   K52,   K53,   K54,   K56,             K49,   K410,     K101, K102,  K82,   K83,   K91,    K92,             K105, K106, K107, K108, K109, \
	                                                       K57,   K58,                                 K103,   K104, \
    KE1L,  KE1R,                                                                                                                                                                    KE2L,  KE2R  \
) \
{ \
    { KC_NO, K12,   K13,   K14,   K15,   K16,   K17,   K18,   K19,   K110,  KC_NO, }, \
    { K21,   KC_NO, K23,   K24,   K25,   K26,   K27,   K28,   K29,   K210,  KC_NO, }, \
    { K31,   K32,   KC_NO, K34,   K35,   K36,   K37,   K38,   K39,   K310,  KC_NO, }, \
    { K41,   K42,   K43,   KC_NO, K45,   K46,   K47,   K48,   K49,   K410,  KC_NO, }, \
    { K51,   K52,   K53,   K54,   KC_NO, K56,   K57,   K58,   K59,   K510,  KC_NO, }, \
    { K61,   K62,   K63,   K64,   K65,   KC_NO, K67,   K68,   K69,   K610,  KC_NO, }, \
    { K71,   K72,   K73,   K74,   K75,   K76,   KC_NO, K78,   K79,   K710,  KC_NO, }, \
    { K81,   K82,   K83,   K84,   K85,   K86,   K87,   KC_NO, K89,   K810,  KC_NO, }, \
    { K91,   K92,   K93,   K94,   K95,   K96,   K97,   K98,   KC_NO, K910,  KC_NO, }, \
    { K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  KC_NO, KC_NO, }, \
    { KE1L,  KE1R,  KE2L,  KE2R,  KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
}

KE1L, KE1R, KE2L, KE2R はロータリーエンコーダーを回した際の入力にあたります。

実際のLEDのは位置は以下のようになっています。

まず、keymap.cで上記のキーマトリクスのキーの位置に、LEDの回路の順番に1番から番号を振って当てはめていきます。このときインジケーター用のLEDは無視します。ですので、K17が1、K16が2、・・・K109が88になります。

    { NO_LED, 6,   5,   4,   3,   2,   1,   50,   51,   52,  NO_LED, }, 
    { 7,   NO_LED, 8,   9,   10,   11,   12,   49,   48,   47,  NO_LED, }, 
    { 18,   17,   NO_LED, 16,   15,   14,   13,   42,   43,   44,  NO_LED, }, 
    { 19,   20,   21,   NO_LED, 22,   23,   24,   25,   27,   26,  NO_LED, }, 
    { 31,   30,   29,   28,   NO_LED, NO_LED,   32,   33,   41,   40,  NO_LED, }, 
    { 46,   53,   54,   55,   56,   NO_LED, 57,   58,   59,   60,  NO_LED, }, 
    { 38,   45,   67,   66,   65,   64,   NO_LED, 63,   62,   61,  NO_LED, }, 
    { 39,   36,   37,   68,   69,   70,   71,   NO_LED, 72,   73,  NO_LED, }, 
    { 82,   81,   80,   79,   78,   77,   76,   75,   NO_LED, 74,  NO_LED, }, 
    { 34,  35,  83,  84,  NO_LED,  85,  86,  87,  88,  NO_LED, NO_LED, }, 
    { NO_LED,  NO_LED,  NO_LED,  NO_LED,  NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }

次に、LEDの順番に沿って、物理的な位置を割り当てていきます。
QMK firmwareのdocumentによると、左上が{0, 0}になりますので、K12つまり、LEDの6が{0, 0}になります。
このときにインジケーター用LEDの位置も指定しました(これが必要かどうかは確認していません)。インジケーター用LEDは回路上では最初にあたりますので、最初に指定しているものがインジケーター用になります。

  {72, 0},	 {60, 0},	 {48, 0},   {36, 0},   {24, 0},   {12, 0},	{0, 0},  // LEDのインジケーター用、1-6
  {0, 13},   {12, 13},  {24, 13},  {36, 13},  {48, 13}, {60, 13},  // LEDの7-12
  {60, 26},  {48, 26},  {36, 26},  {24, 26},  {12, 26}, {0, 39}, 
  {0, 39},   {12, 39},  {24, 39},  {36, 39},  {48, 39}, {60, 39},  {72, 39},
  {84, 52},  {72, 52},  {36, 52},  {24, 39},  {12, 39}, {0, 39},   {72, 64},  {84, 64},
  {95, 52},  {106, 52}, {117, 52}, {128, 52},
  {128, 39}, {117, 39}, {106, 39}, {95, 39},
  {95, 26},  {106, 26}, {117, 26}, {128, 26},
  {128, 13}, {117, 13}, {106, 13}, {95, 13},  
  {95, 0},   {106, 0},  {117, 0},  {128, 0},  {140, 0},
  {164, 0},  {176, 0},  {188, 0},  {200, 0},  {212, 0},  {224, 0},
  {224, 13}, {212, 13}, {200, 13}, {188, 13}, {176, 13}, {164, 13}, {140, 13},
  {164, 26}, {176, 26}, {188, 26}, {200, 26}, {212, 26}, {224, 13},
  {224, 39}, {212, 39}, {200, 39}, {188, 39}, {176, 39}, {164, 39}, {152, 39},
  {152, 52}, {140, 52}, {140, 64}, {152, 64}, {188, 52}, {200, 52}, {212, 52}, {224, 52}

最後にFlag処理を、LEDの順番に沿って行います。
(このFlag処理についてはいまいち理解していません。インジケーター用は2でいいの?)

  2,  // インジケーター用
  4, 4, 4, 4, 4, 4,   // LEDの1-6
  4, 4, 4, 4, 4, 4,   // LEDの7-12
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 
  4, 4, 4, 4, 
  4, 4, 4, 4, 
  4, 4, 4, 4,
  4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4,
  4, 4, 4, 4, 

まとめると

led_config_t g_led_config = { {
  // Key Matrix to LED Index
    { NO_LED, 6,   5,   4,   3,   2,   1,   50,   51,   52,  NO_LED, }, 
    { 7,   NO_LED, 8,   9,   10,   11,   12,   49,   48,   47,  NO_LED, }, 
    { 18,   17,   NO_LED, 16,   15,   14,   13,   42,   43,   44,  NO_LED, }, 
    { 19,   20,   21,   NO_LED, 22,   23,   24,   25,   27,   26,  NO_LED, }, 
    { 31,   30,   29,   28,   NO_LED, NO_LED,   32,   33,   41,   40,  NO_LED, }, 
    { 46,   53,   54,   55,   56,   NO_LED, 57,   58,   59,   60,  NO_LED, }, 
    { 38,   45,   67,   66,   65,   64,   NO_LED, 63,   62,   61,  NO_LED, }, 
    { 39,   36,   37,   68,   69,   70,   71,   NO_LED, 72,   73,  NO_LED, }, 
    { 82,   81,   80,   79,   78,   77,   76,   75,   NO_LED, 74,  NO_LED, }, 
    { 34,  35,  83,  84,  NO_LED,  85,  86,  87,  88,  NO_LED, NO_LED, }, 
    { NO_LED,  NO_LED,  NO_LED,  NO_LED,  NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED, NO_LED }
}, {
  // LED Index to Physical Position
  {72, 0},	 {60, 0},	 {48, 0},   {36, 0},   {24, 0},   {12, 0},	{0, 0}, 
  {0, 13},   {12, 13},  {24, 13},  {36, 13},  {48, 13}, {60, 13},
  {60, 26},  {48, 26},  {36, 26},  {24, 26},  {12, 26}, {0, 39}, 
  {0, 39},   {12, 39},  {24, 39},  {36, 39},  {48, 39}, {60, 39},  {72, 39},
  {84, 52},  {72, 52},  {36, 52},  {24, 39},  {12, 39}, {0, 39},   {72, 64},  {84, 64},
  {95, 52},  {106, 52}, {117, 52}, {128, 52},
  {128, 39}, {117, 39}, {106, 39}, {95, 39},
  {95, 26},  {106, 26}, {117, 26}, {128, 26},
  {128, 13}, {117, 13}, {106, 13}, {95, 13},  
  {95, 0},   {106, 0},  {117, 0},  {128, 0},  {140, 0},
  {164, 0},  {176, 0},  {188, 0},  {200, 0},  {212, 0},  {224, 0},
  {224, 13}, {212, 13}, {200, 13}, {188, 13}, {176, 13}, {164, 13}, {140, 13},
  {164, 26}, {176, 26}, {188, 26}, {200, 26}, {212, 26}, {224, 13},
  {224, 39}, {212, 39}, {200, 39}, {188, 39}, {176, 39}, {164, 39}, {152, 39},
  {152, 52}, {140, 52}, {140, 64}, {152, 64}, {188, 52}, {200, 52}, {212, 52}, {224, 52}
  }, {
  // LED Index to Flag
  2,
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 
  4, 4, 4, 4, 
  4, 4, 4, 4, 
  4, 4, 4, 4,
  4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4, 4, 4, 4, 
  4, 4, 4, 4,
  4, 4, 4, 4, 
  } 
};

これで、結果的にキー配列とLEDの位置を一致させることが出来ました。

何かの参考になればと、思います。

改善点などを教えていただければ助かります。
ちゃんと理解していないため、質問にはたぶん答えられません。

Ergomixsta kite-E ビルドガイド

seizan01.booth.pm

remap-keys.app

 

キット内容の確認 

トッププレート … 1枚

メインプレート … 1枚

ボトムプレ―ト … 1枚

スペーサー … 9個

ネジ … 20本 (予備2本含む)

LED(SK6812MINI-E) … 2個 (予備1個含む)

黒ゴム足(大) … 3個

透明ゴム足(小) … 3個

 

自身で用意して頂くパーツ

ProMicro (USB type B または type C)… 1個

コンスルー (高さ2 mm または 2.5 mm)… 2本

リセットスイッチ … 1個

ダイオード(リードタイプまたはSMDタイプ)… 100個

Kailhスイッチ用PCBソケット … 88個

MX互換スイッチ … 88個

MX互換キーキャップ 1U … 84個

MX互換キーキャップ 1.25U … 4個

ロータリーエンコーダー Alps EC12互換… 2個

ロータリーエンコーダー用ノブ(対応最大直20mm) … 2個

用意したProMicroに対応したUSBケーブル… 1本

以下のロータリーエンコーダーは動作確認済です。

遊舎工房 ロータリーエンコーダshop.yushakobo.jp

これらは以下のショップで購入できます。
yushakobo.jp

talpkeyboard.net

shop.dailycraft.jp

キーバックライト用にLEDをつけたい方(オプション)

SK6812MINI-E … 88個 

 

道具類

はんだごて

はんだ

ピンセット

ニッパー

精密ドライバー

フラックス (あるとはんだ付けしやすくなります)

はんだ吸い取り線  (はんだ付けに失敗した際のリカバリーに使います)

 

ProMicroとコンスルーのはんだ付け

コンスルーは金の窓をPro Micro側にし、2本の金の窓の左右の向きを揃えます。

メインボードにコンスルーを挿してから、ProMicroをコンスルーにはめ込み、はんだ付けを行います。

こちらも参考になります。

遊舎工房 コンスルー(スプリングピンヘッダ)の取り付け方を教えて下さい

 

Firmwareのフラッシュ

REMAPのカタログを利用してFirmwareをProMicroにフラッシュします。

remap-keys.app

REMAP Ergomixsta kite-E

 

ProMicroをUSBケーブルでPCと接続し、FLASHをクリックします。

説明に従ってProMicroをリセットします。USBにつないだままのProMicroのGNDとRSTをピンセットなどでショートさせると、リセットできます。

*先にリセットスイッチをメインボードにはんだ付けして利用することも出来ます。

フラッシュが終わったら、今後の作業をやりやすくするために、一旦ProMicroを外しておきます。

 

インジケーター用LEDのはんだ付け

キットに含まれるLEDはインジケーター用です。写真の場所にハンダ付けします。

写真を参考に、LEDの向きに注意してメインプレートの裏側からはんだ付けをします。

ProMicroを挿し込み、USBケーブルでPCと接続し点灯することを確認します。

 

オプション キーバックライト用LEDのはんだ付け

インジケーター用と同様に、LEDの向きに注意してはんだ付けします。

LEDの回路は下の写真のように数珠つなぎになっており、どこかで接続不良がある場合、その先にあるLEDは点灯しなくなります。その場合は、点灯しないLEDまたは、その前後のLEDのはんだ付けを確認して下さい。

こちらも参考になります。

遊舎工房 LEDが途中から光らない

 

ダイオードのはんだ付け

リードタイプの場合

ダイオードの向きに注意して、メインボードの表側からスルーホールにリードを挿し込みます。

差し込んだリードを広げることで一時的に固定し、裏側からはんだ付けします。余ったリードはニッパーなどで切り取って下さい。

 

SMDタイプの場合

ダイオードの向きに注意して、メインボードの裏側のランドにはんだ付けします。

片方のランドに予備はんだをしておくと取り付けやすくなります。

 

Kailhスイッチ用PCBソケットのはんだ付け

メインボードの裏側から、2つの穴にハマるようにソケット置き、左右に箇所をはんだ付けします。片方または両方に予備はんだをしておくとはんだ付けしやすくなります。

 

ロータリーエンコーダーのはんだ付け

メインボードの表側から、ロータリーエンコーダーをスルーホールに挿し込み、裏側からはんだ付けします。

 

リセットスイッチのはんだ付け

メインボードの裏側から、リセットスイッチをスルーホールに挿し込み、表側からはんだ付けします。リセットスイッチの向きはどちらでも問題ありません。

 

トッププレートとスイッチの取り付け

メインボードの表側にトッププレートを重ねて、スイッチを取り付けていきます。スイッチのピンの位置を確認して下さい。ピンが曲がってしまった場合はピンセットなどでゆっくり戻してみて下さい。 

 

スペーサーの取り付け

メインボードの穴の位置にスペーサーを入れ、トッププレートの上からネジ止めします。

 

ボトムプレートの取り付け

ボトムプレートのネジ穴とスペーサーの位置を合わせ、ネジ止めします。

上からキースイッチ、トッププレート、メインプレート、ボトムプレートの順番になることを確認してください。

 

ゴム足の取り付け

ボトムプレートの裏側にゴム足を貼り付けます。奥側にゴム足大をつけることで傾斜が付きます。

 

完成

お好きなキーキャップを装着して完成です。

LEDインジケーターはデフォルトレイヤー時に青、2番目のレイヤー時にマゼンタ、3番目のレイヤー時にオレンジに光ります。

REMAPを利用してキーテストやキーマップを変更できます。

REMAPによるキーマップの変更はこちらを参考にしてください。

salicylic-acid3.hatenablog.com

 

キーバックライトを取り付けた場合は、デフォルトで3番目のレイヤーに設定してあるRGB関連のキーを利用して発光パターンや発光色を変更することが出来ます。

 

楽しい自作キーボードライフを!