MakotoKurauchi / helix

A compact split ortholinear keyboard.
MIT License
869 stars 182 forks source link

clean-up firmware build variation #25

Closed mtei closed 4 years ago

mtei commented 4 years ago

去年10月の https://github.com/MakotoKurauchi/qmk_firmware/pull/20 で、Helix のファームウェアのビルド時の指定オプションが、ビルド結果のバイナリファイル名に反映するようにしました。 半年近く運用してみての経験に基づいて、今後どうしたほうがより良いのか再検討を要すると思われます。

mtei commented 4 years ago

現状どうなっているか

以下のようになっています。

% make list-keyboards | tr ' ' '\n' | grep helix
helix
helix/pico
helix/pico/back
helix/pico/sc
helix/pico/sc/back
helix/pico/sc/under
helix/pico/under
helix/rev1
helix/rev2
helix/rev2/back
helix/rev2/back/oled
helix/rev2/oled
helix/rev2/oled/back
helix/rev2/oled/under
helix/rev2/sc
helix/rev2/sc/back
helix/rev2/sc/oled
helix/rev2/sc/oledback
helix/rev2/sc/oledunder
helix/rev2/sc/under
helix/rev2/under
helix/rev2/under/oled
mtei commented 4 years ago

上のリストをみやすく整理すると

Helix のオリジナルコード

Helix alpha

Helix Pico

Helix

split_common のコードを使ったバリエーション

split_common では、現状のオリジナルコードの機能の一部が実現できていませんが、ゆくゆくは移行を迫られそうです。

Helix Pico on split_common

Helix on split_common

mtei commented 4 years ago

変更案その1

split_common を指定するバリエーションは実験的意味合いが強いですし、将来 split_common に完全移行したとしら、その時には指定することの意味を失うので今キーボードリストに現れる必要はないのかもしれません。

qmk configurator 上では、split_common 使用の指定はできなくして、コマンドラインからのビルドの場合のみ、以下のように指定できればいいのかもしれません。

$ make HELIX=sc helix:keymap_name

そうすると、リストに現れるバリエーションが一気に半減します。

mtei commented 4 years ago

変更案その2

split_common の指定を少しだけのこす案もありえます。 split_common を指定した時は全部入り(back, oled) と割り切ってしまい以下のようにします。

Helix alpha

Helix Pico

Helix

split_common のコードを使ったバリエーション

mtei commented 4 years ago

変更案その3

上の案にさらに、現在の Helix キットに必ず OLED が同梱されていることを考慮して、OLED なしのバリエーションを省くと

Helix alpha

Helix Pico

Helix

split_common のコードを使ったバリエーション

MakotoKurauchi commented 4 years ago

ご提案ありがとうございます。 たしかに現在は qmk configurator に多数のビルドが出てしまい、どれを選べが良いか分かりにくくなっています。

また、現在のところ split_common を使う必要が無いので出てこない方が良さそうです。

私としては変更案その3に加え、split_commonが出てこない形が良いのではないかと思います。

mtei commented 4 years ago

ご要望の通り、split_common を現れない形で変更をやったのですが、作業中に一つ気がついたことがあります。

qmk_firmware では、プルリクがなされると、チェックの一環として全キーボードの default キーマップのビルドが行われます。 もし、Helix の split_common の実装を見えなくしてしまうとこのチェックが行われなくなります。

split_commonの実装が満足なものになった暁には、Helix も移行することになると思うのですが、そうなるまでの間に split_commonにHelixでコンパイルできない変更を入れて欲しくはないのでチェックを有効にする為、split_common をリストに現れるようにしておいたほうが良いと思います。

いかがでしょうか。

MakotoKurauchi commented 4 years ago

なるほど。 それではsplit_commonも入れましょう。