Re: The history of "M&Y"

Team "M&Y" and "花鳥風月"
the soliloquy of the father
毎日更新!

40%キーボードプロジェクト その23

2022-01-28 | ブログ

今回のお題は BM43a です。

 

前の記事はこちら 40%キーボードプロジェクト その22 - Re: The history of "M&Y"

 

第一部完となった40%キーボードプロジェクトですが・・・今度は QMK firmware に挑戦します。

やりたいことは、いろいろあるのですが、「LAYERを変えると、LEDの色が変わる」をやりたいなぁ、と思っています。

 

ゼロから勉強するのは厳しいので、先駆者の方々の解説を参考にさせて頂いて、作業をなぞってみます。

以下、メモ的なものです・・・

 

参考にしたページはこれです。

https://docs.qmk.fm/#/ja/newbs_getting_started

 

まず

https://msys.qmk.fm/

から最新版のMSYSをダウンロードします。

https://github.com/qmk/qmk_distro_msys/releases/tag/1.5.2

QMK_MSYS.exe

をダウンロードします。

 

ダウンロードしたファイルを実行してインストールします。

インストールが完了したら、一旦PCを再起動します。

QMK MSYS を起動します。

qmk setup を入力します。

QMK is ready to go が表示されたらセットアップ完了です!

 

とりあえず、動作確認として・・・

qmk compile -kb clueboard/66/rev3 -km default

と入力すると、Clueboard 66% のデフォルトのキーマップの .hex ファイルができます。

start .

と入力すると、エクスプローラが開くので、qmk_firmware のディレクトリの中に 

clueboard_66_rev3_default.hex

が、できています。

 

というのを確認して、練習は終了です。(笑)

自分に関係ない .hex ファイルを作ってもしょうが無いので、真面目に BM43a のデフォルトキーマップを作ってみます。

qmk compile -kb kprepublic/bm43a -km default

で BM43a  のデフォルトのキーマップが作成できます。(結構、時間がかかる)

最後に
 * The firmware size is fine - 21188/28672 (73%, 7484 bytes free)
こんな感じのメッセージが表示されます。

ファイルは C:\Users\(ユーザー名)\qmk_firmware に kprepublic_bm43a_default.hex が作成されました。

 

作成した .hex ファイルを取り出して、QMK Toolbox でキーボードに書き込むことができます。

以下は、QMK Toolbox を使わずに、QMK MSYSで書き込む方法です。

qmk flash -kb kprepublic/bm43a -km default

これを入力した後に、キーボードをリセットします。(設定してあれば、FN + ESC、設定していなければ、基盤裏側のRESET端子をショート)

Validating...  Success
0x5300 bytes written into 0x7000 bytes memory (74.11%).

こんな感じの表示が出たら書き込み終了です。

 

さて、とりあえずコンパイル(.hexファイルを作成する)と書き込みができました。

次は肝心のキーマッピングの変更の作業です。

 

default の定義ファイルを残して、変更用のファイルを作成します。

qmk new-keymap

と入力すると新しい keymap名を聞かれるので、keymap名を入力します。(私は test  と入れました)

C:\Users\(ユーザー名)\qmk_firmware\keyboards\kprepublic\bm43a\keymaps\test

というディレクトリが作成されて、そのディレクトリの中に新しい keymap.c が格納されます。

(default の keymap.c がコピーされた)

 

この keymap.c  をエディタ(私は「メモ帳」)で開きます。

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

の部分がキー割り当ての部分なので、ここを変更します。

今回は、LAYER1の左上に部分に数字の 1~3を割り当ててみます。

    [1] = LAYOUT(
        RESET,   _______, _______, _______, _______, 

  ↓

    [1] = LAYOUT(
        RESET,   KC_1 , KC_2 , KC_3  , _______, 

変更をしたら、keymap.c のファイルに上書きして

 

ついでに、デフォルトキーボードを設定します。

qmk config user.keyboard=kprepublic/bm43a

 

さらに、デフォルトのキーマップも設定してしまいます。

qmk config user.keymap=test

 

これで、コンパイルや書き込みの時に「-kb kprepublic/bm43a -km default」を打たなくて済みます。

 

それではコンパイルします。

qmk compile

コンパイルが終了して .hex ファイルが作成されたら、再度書き込みをします。

qmk flash

これを打ち込んで、キーボードのリセットをすれば、変更されたキーマップ情報が書き込まれます。

さて、今度は・・・

数字の1,2,3が入力できるようになりました。(bm43a は、 デフォルトのキーマップだと数字が入力できない)

 

ということで、QMK  firmware の基本はできました。

(ただ、これで作成した Firmware だと、RGB-LEDやBL(バックライト)が点灯しません)

 

さて、ここまで進んだところで、 bm43a/keymap の下に stevexyz というディレクトリがあるのを見つけました。

その下にある、rules.mk の中を見たら・・・

BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow

というのがありました。(defaultには、そもそも rules.md が無い)

もしかしたら、LEDが光らないのはこれじゃないの !?

 

ということで、 stevexyz ディレクトリの rules.mk を testディレクトリにコピーして、コンパイルと書き込みをやったら・・・バックライトのコントロールと、背面の RGB-LED のコントロールができるようになりました。

なるほど!

 

本日は、2歩も3歩も前進した気分です。

 

続きの記事はこちら  40%キーボードプロジェクト その24 - Re: The history of "M&Y"


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
«  RCJJ関東ブロック大会 2022... | トップ | 野山北公園自転車道 »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

ブログ」カテゴリの最新記事