[DanOni]キー数一般化

この件については以前から少しずつ書いてたりメモしてましたが、
どうにも漠然としすぎて前に進まないので、メモとして残しておきます。

自分用のメモなので、わかりにくいところがあります。注意。

◆ キー数の集約に関する一般化

似たキーをまとめて集中管理してしまう方法。
現在は15keyをベースに、5, 7, 7i, 9, 11, 13keyを管理しています。

上記の方法では
「7key-4key-4key」という構成を取っているため、
「7key-7key」の組み合わせである14ikeyには対応できません。

今のソースで集中管理化を進めるなら、
グルーピングされている中での最大キーは「8key」なので、
「8key-8key-8key-8key」というように
8keyを1つのグループとしてしまい、これを拡張してしまうのがいい気がします。
数字もきれいになりますしね。
※例えば11keyなら、7keyと4keyのグループ。
 9keyなら、5keyと4keyのグループに分けます。
 (本当は7keyを4key-3keyに分ける方法もあります。
  きちんとやるならこっちの方がベターかも)
20130928_1

ここでいう8keyは、7key+Enterの形を指します。
8keyの1グループでは、
  4key, 5key, 7key, 7ikey(+ Scratch)
が使えるとすると、
 11ikey = [5key+giko]-[4key+iyo]
 11jkey = [5key+Scratch]-[4key+Scratch]
 12key = [7key+Scratch]-[4key]
 14ikey = [7ikey]-[7key]
 16ikey = [7ikey]-[5key]-[4key]
 17key = [5key]-[4key]-[5key]-[4key]
とすれば統一が図れそうだと。
代替キー考慮も、とりあえず1グループ8枠あれば足りそうな。
不安ならわかりやすく1グループ10key分でもいいですけどね。

それぞれのグループごとに
スクロール位置、代替キー、オートの有無が設定できれば
十分かなという気がします。
グループ化することで、オートの設定が煩雑になるのをまず抑えます。
ステップゾーンの種類は矢印とAAのざっくり2種類。

矢印とAAで挙動を変えたいなら、
あらかじめどこが矢印、どこがAAになるかを決めておいて
AA側にフラグを立てておけば、
例えばAAは表示倍率を横80%にするといったこともまとめてできるかと。

例) グループA = [矢印, 矢印, AA, 矢印, 矢印, AA]
  ⇒ if(グループA[番号] == “AA”)  表示倍率 = 80%;

ステップゾーンの位置については、
一番左の矢印の位置とグループ全体の幅がどれくらいかを把握しておけば
自動でステップゾーン位置も決められそうです。
AAの場合は余裕を持たせる必要がありそうですが。

キーの設定は、基本的にこれらのグループの組み合わせになります。
11keyみたいなのがいるので、グループごとのスクロール方向は
キー別に設定することになります。
例) 11key定義 = [グループ1(7key), グループ2(4key)]
  11keyスクロール = [グループ1(Reverse), グループ2(Default)]

とりあえず一旦ここまで。次はもう少し具体的に書けたらなと。

コメントを残す

メールアドレスは公開されません

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください