うちはErgoDashというキーボードを利用しています。
でも、悲しいことにREMAPを利用とすると使えなかったり、VIA対応のファームウェアを利用すると別のキーボードが選択されて結局使えないんですよね……
なので、うちは以下の対応で変更できるようにしました。もちろん、いくつも方法はあると思いますが……
参考にしたサイト
ファームウェアの事前準備
まずはとにもかくにも、QMK Firmwareをダウンロードして弄りましょう。
上記リンクにアクセスしたらCode
からDownload ZIP
をクリックするだけです。
GitをForkする場合
うちはGitHubを利用しているので、折角ですしForkしてブランチ切って、自分用の設定ファイルを作っちゃいます。
Forkしたらローカル上にCloneしましょう。もしForkしてないなら、単純にダウンロードするだけでOKです。
今回はGitで管理するので、ブランチを切りましょう。
ダウンロードしたら
ダウンロードが完了したらqmk_firmware\keyboards
を開きomkbd
以外を削除します(ErgoDashはomkbd
に含まれるため、それだけ残します)。
設定ファイルを弄る準備
事前準備が終わったので、設定をこねくり回します。
まずはqmk_firmware\keyboards\omkbd\ergodash\rev1\keymaps
を開きます。
そしてdefaultをコピーして、リネームしましょう。
コピー&リネームしたディレクトリ(以下、自分の設定)を開きます。
詳しい細かい設定はここでは省きますが、VIAを利用できる内容だけを書いていきます。
もし詳しい設定をしたい場合は、QMK Firmwareのドキュメントや、ErgoDashのドキュメントを見ましょう。
設定ファイルを弄る
ようやくです。VIAに対応できるよう、コードを書き換えていきましょう。自分の設定内にあるrules.mk
を開き、VIA_ENABLE = yes
を追記するだけです!
このままでもいいんですが、REMAPを利用すると別のキーボード扱いになっちゃうんですよね……😇 ってことでその対策をします。qmk_firmware\keyboards\omkbd\ergodash\rev1
へ戻ります。
そしてinfo.json
を開きましょう。そしてvid
のコードを変えます。今回はうちのブログが16進数でピッタリだったので以下の様に"vid": "0x7D05",
としましたが、0x
と適当な4桁(0~9の数字とA~Fの英字)
で書き換えちゃえばOKです。例えば0x2023
とか、0xFF14
とか。ただ別のキーボードと同じだとダメですね……(もしREMAPでうまくいかなかったら、このvia
が原因です)
右手側をマスターにしたい場合は
ErgoDashのドキュメントにも記載がありますが(2回目)、自分の設定内にあるconfig.h
を開き、#define MASTER_LEFT
をコメントアウトさせて#define MASTER_RIGHT
のコメントアウトを外しましょう!
もしキーマップを変更しておきたい場合は
うちはVIAで弄る前からキーマップを自分専用にしておきたい派です。なのでkeymap.c
を開きましょう。そしてキーマップを書き換えていきます。
キーマップで利用されているKeycodesはQMK Firmwareのドキュメントを見ましょう(2回目)
一から設定するのは面倒くさいうちは、QMK Configuratorで作成したJSONを利用しています(JSONのままだと使えないので、クォーテーションを削除してます)。
準備を終えたらビルド
設定ファイルの準備が終わりました?ではビルドしましょう!と言いたいところなんですが、事前準備が必要です。
まずはQMK MSYSをインストールします。
上記リンクへアクセスし、QMK_MSYS.exe
をダウンロードしてください。
そしてインストールしましょう!
QMK MSYSのインストールが完了したら、起動しましょう。なんか黒い画面ですね……
さて、折角ですしビルドでもしましょう。まずはダウンロードしてたqmk_firmware
のディレクトリパスをコピーしましょう。うちの場合はC:\GitHub\qmk_firmware
ですね。
そんで、真っ黒い画面にcd
と記入し、半角スペースを入れて、さっきコピーしたディレクトリパスを貼り付けてEnterをすると、ディレクトリを移動してくれます(うちが打ったコマンドは↓ですが、各環境に合わせて変えてください)。
cd /C/GitHub/qmk_firmware
そしてビルドします。qmk compile -kb omkbd/ergodash -km
までは同じですが、最後は「自分の設定」のディレクトリ名です。覚えてない場合は潜ってコピーしてきちゃいましょう。
qmk compile -kb omkbd/ergodash -km akasaka-via
無事、ビルドが完成すると以下の様な画面になります。
エラーが出たときは
たまーにエラーなります。例えば↓の場合は、DYNAMIC_KEYMAP_LAYER_COUNTで設定してる内容とレイヤー数が異なるよってエラーです(翻訳したらすぐ分かるよ)。治し方についてはググってね。
上記のエラーであればconfig.h
を弄ればOKですね!
参考サイト
ビルドしたファームウェアを発見
ビルドができたら、ファイルを見に行きましょう。qmk_firmware
の直下に.build
があるはずですので、開きましょう。
そしてその中に自分の設定名.hex
というファイルがあります。これが作成したファームウェアです!
では、ファームウェアを見つけたところで、ErgoDashに焼いていきましょう!!
ファームウェアを焼いていく
ファームウェアをErgoDashへ書き込むにはQMK Toolboxを使います。
上記リンクへアクセスし、qmk_toolbox_install.exe
をダウンロードしてください。
インストールが完了したら、起動します。
起動したらLocal file
へ自分の設定名.hex
をドラッグ&ドロップします。
続けて、ErgoDashに取り付けた「リセットボタン」を押します。
すると黄色い文字でAtmel DFU device connected
と、接続した旨が表示されます。そして右上のFlash
が押せるようになっているので、クリック!
色々と文字が表示され、Flash complete
と表示されれば完了。無事、焼くことができました。なお、ErgoDashは左右分離なのでもう反対側もUSB接続して焼いてください。
ファームウェアを書き込んだらREMAPへ!
無事、左右両方にファームウェアを書き込み終えたらREMAPへアクセスしましょう。
そしてキーボードの設定へと入ります。
キーボードを追加してね、という箇所があるのでクリックすると……無事、ErgoDashが表示されました!
では「接続」をクリックしていざ……あれ?なんかJSONを求められますね!?
これは、REMAPに登録されていないvia
を設定しているのが原因です。ってことで、必要なJSONをダウンロードしましょう。
まずは、ErgoDashの公式ファームウェアへ飛びます。
つづいてZIPファイルをクリック。
するとダウンロードボタンが出るので、クリック。
ZIPの中にJSONファイルがありましたね!では、これを解凍させ、JSONを開きましょう。
そしてvendorId
の中身を、自分で設定したvia
と同じにし、保存します。
そしてREMAPへ保存したJSONを投げ込むと……
無事、ErgoDashをREMAPで利用できるようになりました!
親指のキー配列が違う!って場合は、右側のアイコンから変更できます!
かなり端折ってしまってますが、こんな感じにオリジナルファームウェア&ベンダーIDを設定すればVIAを利用できるってお話でした!たぶんLEDも弄れるはずなので、今度試して見ます!