自作NICOLAエミュレータの状態遷移表

Windows 用の自作NICOLAエミュレータの同時打鍵判定ロジックの状態遷移表は、次のような感じにしていました。(個人的な好みによりタイムアウトの処理は省略しています)

  1)初期状態 2)Mオン状態 3)Oオン状態 4)MOオン状態
初期化 -- M出力1)へ O出力1)へ MO出力1)へ
文字(M)オン Mセット2)へ M出力
新Mセット2)へ
MO出力1)へ 処理A
親指(O)オン Oセット3)へ Oセット4)へ O出力
新Oセット3)へ
MO出力
新Oセット3)へ
文字(M)オフ -- M出力1)へ -- 処理B
親指(O)オフ -- -- O出力1)へ MO出力1)へ

処理A:最初の文字M1オンから親指Oオンまでの時間t1と,親指Oオンから次の文字M2
        オンまでの時間t2とを比較して
          t1≧t2  ならば  M1出力,OM2出力,1)へ
          t1<t2  ならば  M1O出力,M2セット,2)へ

処理B:文字Mオンから親指Oオンまでの時間t1と,親指Oオンから文字Mオフまでの時間t2
        とを比較して
          t1>t2  ならば  M出力,Oセット,3)へ
          t1≦t2  ならば  MO出力1)へ

追記

当初、次のOM状態を追加した状態遷移表の動作を自作NICOLAエミュレータで実装しているとしていましたが、実際には上記の通り、OM状態したものを実装していませんでした。(妄想していたのを実装していたと勘違いしていたようです。申し訳ありません。)