OMオン状態を追加した状態遷移表

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

処理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)へ

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

参考) ニコラで考えた「JIS規格案」

追記

「OMオン状態」での「親指(O)オン」の時の処理も条件分岐した方がいいかも…