QMK薙刀式 Remapで配列の変更案


この記事は後日まとめ直しする予定です

QMK薙刀式をRemap対応する方法に書いていたのが
長くなりすぎたので別記事に分けました

Remapの物理キーの配列を変える 入力キー側
論理配列 文字出力側 にも Remapの
カスタムキー機能を使って変更可能にする案に
なります

現状時点では、この案の成果物は何もありません。

2022/03/15 アイディアのメモ追加

Remapのさらなる活用方法の提案

配列の出力文字を変えたいと思っても
現状はプログラムを変更してファームウェアを
入れ直す工程が必要となる

単打とシフト+単打の出力文字を仮にレイヤー8,9に
定義する方法はどうだろう
キー定義を文字変換テーブルとして利用する

keyboard_quantizer rev4は10レイヤー分
あるので薙刀式に3レイヤー分を使っても
まだ余るはず。

Aのキーを レイヤーを分けて定義すると
1 NG_A 0x5F5A
8 ろ   0x308d または ro 0x726f
9 せ   0x305b または se 0x7364

ユニコードの先頭0x30が0のキャラコードとかぶるが
2バイトと1バイトで判別が付くので問題無し
0は0x0030となり0x00は出力無しのスルー動作させる
ユニコードはひらがなの範囲のみを想定している
それ以外は無効かASCIIとして扱う。

ユニコードで文字を直接出力か
ASCIIコードのローマ字の出力を想定している
この仕組みなら配列を変更するたびに
プログラム修正とコンパイルなどをしないで済む

変更したい文字があってもRemapの
カスタムキーの書き換えだけで出力文字が
変更できるので便利になる

編集モードはマクロ利用で変更できるのかな
レイヤー移動無しのマクロキーを押すような
プログラムを想定している
M0からM15の16個分 30キー分には足りないが
BSとかはそのまま定義すればなんとかなるかも

薙刀式   1 薙刀式の入力中はレイヤー1のまま
単打    7 出力文字変換テーブルとして利用のみ
シフト単打 8 出力文字変換テーブルとして利用のみ
編集モード 9 マクロキーを含むテーブルとして利用

789のレイヤーには移動はしない
789はデータ参照して文字出力を行う
実験的にやってみようかな

スルー動作をする

31 3レイヤー分をRemapで全て設定するのも
大変だから変更箇所だけにしよう
789のレイヤーの変換キーテーブルに
KC_NOが設定されて箇所は元のままの
出力文字を出すとしよう 

変換テーブルごとの有効 無効の設定

全て元のままに戻したい場合は
仮にESCキーに割り当てるとして
変換テーブルの有効、無効を設定機能を取り入れる

例えば 有効はoキー 無効はfキーで切り替えする
のは分かりづらいかな

やっぱり1,0キーでいいか
ファンクションキーに分かりやすくなる表示として
“1:on 0:off”と1キーづつ並べておけば分かるかな
誤入力の防止のために薙刀の31キー以外は無効にして
6789レイヤーはキー入力をさせないようにする。

もちろん、これらもプログラムをする
編集モード 縦横を別にした方が良さそう
薙刀式    1 薙刀式の入力中はレイヤー1のまま
単打     6
シフト単打  7
編集モード縦 8 縦 編集モードのみで使用する
編集モード横 9 横 編集モードのみで使用する
6789のそれぞれのESCキーに有効 無効を設定
暫定としてこれで進める。
他にいい方法があったら変更する