(57)【要約】【課題】「同時押し操作」した時の違和感を解消する操作子制御装置、操作子制御方法および操作子制御プログラムを実現する。【解決手段】スイッチｎが押されてＯＮエッジが発生してからＳｈｏｒｔＷａｉｔ確定待ち時間Ｔｗが経過する迄の間に、スイッチｎと対に同時押し機能が割り当てられるスイッチが押された場合にのみ、同時押し機能スイッチｋが実行されるので、ＯＮエッジからＯＦＦエッジまでの時間が長くゆっくりとしたスイッチ操作を行ったとしても、スイッチの反応が遅くなることは無く、従来の違和感を解消し得る。【選択図】  図２４
2004151410.tif 000002
【特許請求の範囲】
【請求項１】
スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定手段と、
この設定手段により設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示手段と
を具備することを特徴とする操作子制御装置。
【請求項２】
スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定過程と、
この設定過程にて設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示過程と
を具備することを特徴とする操作子制御方法。
【請求項３】
スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定ステップと、
この設定ステップにて設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示ステップと
をコンピュータで実行させることを特徴とする操作子制御プログラム。
【請求項４】
２つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第１の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第２の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当て手段と、
前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第１の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第１の指示手段と、
前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第２の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第２の指示手段と
を具備することを特徴とする操作子制御装置。
【請求項５】
２つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第１の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第２の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当て過程と、
前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第１の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第１の指示過程と、
前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第２の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第２の指示過程と
を具備することを特徴とする操作子制御方法。
【請求項６】
２つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第１の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第２の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当てステップと、
前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第１の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第１の指示ステップと、
前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第２の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第２の指示ステップと
をコンピュータで実行させることを特徴とする操作子制御プログラム。
【請求項７】
スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御手段と、
このスイッチ制御手段が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行手段とを有し、
前記スイッチ制御手段が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行手段の動作を制限するマルチタスク制御を行うことを特徴とする操作子制御装置。
【請求項８】
スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御過程と、
このスイッチ制御過程が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行過程とを有し、
前記スイッチ制御過程が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行過程の動作を制限するマルチタスク制御を行うことを特徴とする操作子制御方法。
【請求項９】
スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御処理と、
このスイッチ制御処理が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行処理とを有し、
前記スイッチ制御処理が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行処理の動作を制限するマルチタスク制御を行うことを特徴とする操作子制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばスイッチやロータリーエンコーダ等、操作パネルに配設される操作子の操作性を向上させる操作子制御装置、操作子制御方法および操作子制御プログラムに関する。
【０００２】
【従来の技術】
ＣＰＵあるいはマイクロコンピュータを搭載した電子機器では、操作パネル上の限られた操作子で多くの機能を操作可能にする為、操作の仕方の違いにより一つの操作子に複数の機能を割り当てる操作子制御が行われている。
例えば、２つのスイッチを同時押ししてある機能の実行を指示する「同時押し操作」や、スイッチが押されてオン状態になるＯＮエッジからそのスイッチが離されてオフ状態になるＯＦＦエッジに至る期間が一定時間を超えた場合にある機能の実行を指示する「押し続け操作」、あるいはＯＮエッジから一定時間ＯＦＦエッジが検出されない場合に、ＯＦＦエッジが検出されるまでそのスイッチが一定時間の間隔で複数回押された時と同じ動作の繰り返しを指示する「リピート操作」が知られている。また、こうした「リピート操作」をロータリーエンコーダの回転操作にて代用する操作も知られている。
【０００３】
なお、この種の技術として、例えば特許文献１には、２つのスイッチの同時押下に応じてビープ音の設定又は設定解除を行うものが開示されている。さらに、特許文献２には、マイクロコンピュータの複数端子にそれぞれスイッチが複数接続され、キー２つ以上の同時押しが多数存在する場合に発生するキーコードのサイズを減縮する方法が開示されている。
【０００４】
【特許文献１】
特許公開平７−４４１６６号公報
【特許文献２】
特許公開２０００−２４９７６０号公報
【０００５】
【発明が解決しようとする課題】
ところで、上述した「同時押し操作」では、例えば２つのスイッチＡ、Ｂの同時押しに機能Ｃを割り当てる場合に、スイッチＡのＯＮエッジでは何も行わず、スイッチＡのＯＦＦエッジでスイッチＢがオフ状態にあると、スイッチＡに割り当てられた機能の実行を指示し、スイッチＡのＯＦＦエッジでスイッチＢがオン状態にあれば、機能Ｃの実行を指示するようにしている。
つまり、「同時押し操作」であるか否かを判定するタイミングにスイッチＡのＯＮエッジを用いると、スイッチＡを押した直後にスイッチＢが押された場合も誤って「同時押し操作」と見做してしまう虞がある為、スイッチＡのＯＦＦエッジを「同時押し操作」であるか否かを判定するタイミングにしている。
【０００６】
ところが、このようにＯＦＦエッジを「同時押し操作」の判定タイミングにすると、ＯＮエッジからＯＦＦエッジまでの時間が長くゆっくりとしたスイッチ操作が行われた場合、スイッチの反応が遅い印象となり、違和感が生じるという弊害がある。
また、ＯＦＦエッジを「同時押し操作」の判定タイミングにすると、その「同時押し操作」が割り当てられたスイッチに、上述した「押し続け操作」や「リピート操作」を割り当てることが出来なくなる、という問題がある。
さらに、上述した「リピート操作」に、処理に要する時間が長い機能を割り当てると、その機能をリピート回数分処理し終える迄、次の操作が待たされてしまい、操作性が悪化するという問題もある。
【０００７】
加えて、スイッチの「リピート操作」と同等の機能をロータリーエンコーダを用いて実現させる場合、例えば１回転操作が２４クリックのロータリーエンコーダを用いて０〜２５５を指定させるためには１０回転以上操作しなければならず、極めて煩雑な操作になる。
【０００８】
本発明は、このような事情に鑑みてなされたもので、第１の目的は「同時押し操作」した時の違和感を解消でき、しかも「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てることができる操作子制御装置、操作子制御方法および操作子制御プログラムを提供することを目的としている。
また、本発明の第２の目的は、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応することができる操作子制御装置、操作子制御方法および操作子制御プログラムを提供することを目的としている。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、請求項１に記載の発明では、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定手段と、この設定手段により設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示手段とを具備することを特徴とする。
【００１０】
請求項２に記載の発明では、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定過程と、この設定過程にて設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示過程とを具備することを特徴とする。
【００１１】
請求項３に記載の発明では、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定する設定ステップと、この設定ステップにて設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示する指示ステップとをコンピュータで実行させることを特徴とする。
【００１２】
請求項４に記載の発明では、２つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第１の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第２の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当て手段と、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第１の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第１の指示手段と、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第２の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第２の指示手段とを具備することを特徴とする。
【００１３】
請求項５に記載の発明では、２つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第１の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第２の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当て過程と、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第１の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第１の指示過程と、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第２の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第２の指示過程とを具備することを特徴とする。
【００１４】
請求項６に記載の発明では、２つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第１の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第２の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てる割当てステップと、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第１の待ち時間が経過するまでオン操作を持続させた場合に前記リピート機能の実行を指示する第１の指示ステップと、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第２の待ち時間が経過するまでオン操作を持続させた場合に前記押し続け機能の実行を指示する第２の指示ステップとをコンピュータで実行させることを特徴とする。
【００１５】
請求項７に記載の発明では、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御手段と、このスイッチ制御手段が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行手段とを有し、前記スイッチ制御手段が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行手段の動作を制限するマルチタスク制御を行うことを特徴とする。
【００１６】
請求項８に記載の発明では、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御過程と、このスイッチ制御過程が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行過程とを有し、前記スイッチ制御過程が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行過程の動作を制限するマルチタスク制御を行うことを特徴とする。
【００１７】
請求項９に記載の発明では、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御処理と、このスイッチ制御処理が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行処理とを有し、前記スイッチ制御処理が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行処理の動作を制限するマルチタスク制御を行うことを特徴とする。
【００１８】
本発明では、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定し、設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示するので、ＯＮエッジからＯＦＦエッジまでの時間が長くゆっくりとしたスイッチ操作を行ったとしても、スイッチの反応が遅くなることは無く、従来の違和感を解消し得る。
【００１９】
また、本発明では、２つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第１の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第２の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てておき、この所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第１の待ち時間が経過するまでオン操作を持続させた場合にはリピート機能の実行を指示し、一方、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第２の待ち時間が経過するまでオン操作を持続させた場合に押し続け機能の実行を指示するようにしたので、「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てることが可能になる。
【００２０】
さらに、本発明では、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御処理と、このスイッチ制御処理が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行処理とを有し、前記スイッチ制御処理が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行処理の動作を制限するマルチタスク制御を行うので、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応することができる。
【００２１】
【発明の実施の形態】
以下、本発明の実施の一形態による操作子制御装置を備えた電子楽器を実施例とし、これについて図面を参照して説明する。
Ａ．構成
（１）全体構成
図１は実施例の全体構成を示すブロック図である。この図において、１はコンソールパネルに配設され、各種操作スイッチから構成されるパネルスイッチである。パネルスイッチ１では、前述した「同時押し操作」、「押し続け操作」あるいは「リピート操作」が所定のスイッチに割り当てられる。
本実施例では、このパネルスイッチ１において、「同時押し操作」した時の違和感を解消し、しかも「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てたり、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応し得るようにしたことを特徴としている。なお、こうした特徴を具現するＣＰＵ７（操作子制御装置に相当）の処理動作については追って詳述する。
【００２２】
２はスイッチ操作検出回路であり、上記パネルスイッチ１でのスイッチ操作（ＯＮエッジあるいはＯＦＦエッジ）を検出し、操作されたスイッチに対応したスイッチイベントを発生する。３はＬＣＤパネルを備える表示装置３ａと、表示装置３ａを表示駆動するドライバ等を備える表示回路３ｂとから構成される表示部であり、後述するＣＰＵから供給される表示制御信号に応じて、装置各部の設定状態や動作状態を画面表示する。画面表示の一例を図２に図示する。
【００２３】
図２（ａ）は、設定画面中に他の設定画面へ遷移可能であることを示すガイダンス表示ＧＤ（矢印）を文字表示で行う状態を図示している。こうしたガイダンス表示ＧＤによって、専用のセグメントを配置した場合と比較して、文字表示する領域を相対的に大きくとれる利点が生じる。また、ガイダンス表示ＧＤは所定時間毎に本来表示すべき文字と交互に表示され、こうすることで文字表示する領域に表示できる文字数を減らさずにガイダンス表示し得るようになっている。さらに、所定時間おきにガイダンス表示ＧＤと本来表示すべき文字とを交互に表示する場合に、本来表示すべき文字を表示する時間を長くし、ガイダンス表示ＧＤする時間を短くして本来表示すべき文字を視認し易くすることを特徴としている。こうした特徴を具現する処理動作については追って詳述する。
【００２４】
図２（ｂ）は、本実施例による電子楽器がマルチパートを備えるのに対応し、例えば各パートの発音音量レベルを示すレベル表示を、文字表示する領域ＣＤＥを使用する態様を図示している。このようにすることで、従来、レベル表示専用のセグメントを配置した場合と比較して、文字表示する領域ＣＤＥを相対的に大きくとれることを特徴としている。この特徴を具現する処理動作については追って詳述する。
【００２５】
次に、再び図１を参照して実施例の構成について説明を進める。図１において、４は鍵盤装置４ａおよび鍵盤操作検出回路４ｂから構成される鍵盤部であり、押離鍵操作（演奏操作）に応じたキーオン／キーオフイベント、キーナンバおよびベロシティ等からなる演奏情報を発生する。５は図示されていない外部ＭＩＤＩ楽器から供給されるＭＩＤＩデータを、ＣＰＵの指示に応じて取り込んでＲＡＭのバッファエリアへ転送したり、あるいは当該バッファエリアに格納されるＭＩＤＩデータを外部にシリアル出力するＭＩＤＩインタフェースである。６は回転操作に対応した操作データを発生するロータリーエンコーダである。ロータリーエンコーダ６は、回転レート（回転操作速度）に応じて実際のクリック数を変倍させて操作性を向上することを特徴としており、実際のクリック数に回転レートを乗算する処理は後述するＣＰＵ７（操作子制御装置に相当）にて行われる。
【００２６】
ＣＰＵ７は本発明の操作子制御装置に相当し、上述した各特徴を具現する各種処理を実行しながら楽器各部を制御する。具体的には、図３に示すように、公知のマルチタスク制御ＭＴＣ環境下において、ハードウェア割込みにて最優先順位で起動される割込み処理および優先順位に従って割込み実行される優先順位１〜４の各タスク処理を実行する。
本実施例では、ＣＰＵ７が実行するこれら各処理の内、割込み処理に含まれる「スイッチ制御処理」と、優先順位３タスク処理に含まれる「タイマスイッチ実行処理」、「ロータリーエンコーダ制御処理」、「タイマＲＥ処理」と、優先順位４タスク処理に含まれる「表示制御／表示変更処理」とについて後述する。
【００２７】
再び図１に戻り、実施例の構成を説明する。図１において、８はＲＯＭであり、ＣＰＵ７にてマルチタスク制御ＭＴＣされる割込み処理および優先順位１〜４の各タスク処理にそれぞれ対応した各種制御プログラムや制御データを記憶する。このＲＯＭ８に記憶される主要なデータの構成については追って説明する。９は各種レジスタ・フラグデータを一時記憶するワークエリアの他、データエリアおよびバッファエリアを備えるＲＡＭである。ＲＡＭ７のデータエリアには、上述した「スイッチ制御処理」、「タイマスイッチ実行処理」、「ロータリーエンコーダ制御処理」、「タイマＲＥ処理」および「表示制御処理」に用いる制御データが一時記憶されるようになっており、これら制御データの構成については追って説明する。１０は周知の波形メモリ読み出し方式により構成される音源装置であり、ＣＰＵ７の指示の下、鍵盤部３が発生する演奏情報あるいはＭＩＤＩインタフェース５を介して入力されるＭＩＤＩデータに従った楽音データを発生する。１１は音源１０装置が発生する楽音データをアナログ形式の楽音信号にＤ／Ａ変換した後、それを増幅してスピーカより放音させるサウンドシステムである。
【００２８】
（２）ＲＯＭ８のデータ構成
次に、図４を参照してＲＯＭ８に記憶される主要なデータの構成について説明する。図４はスイッチ制御に係わる制御データおよび制御プログラムの構成を説明するための図である。この図において、スイッチ機能テーブルＴＢＬ１は、パネルスイッチ１に配設される各種スイッチ毎に割り当てられるスイッチ機能を登録したテーブルであり、スイッチ番号ｎに対応したスイッチ機能［ｎ］を読み出す。スイッチ機能［ｎ］は、ＯＮエッジ機能、同時押し機能、ＳｈｏｒｔＷａｉｔ機能、リピート機能、押し続け機能、キャンセル可能ＯＦＦエッジ機能およびＯＦＦエッジ機能の有無を表す。
【００２９】
ＯＮエッジ機能とは、ＯＮエッジで割り当てられた処理の実行を指示する機能である。同時押し機能とは、同時押し操作される２つのスイッチに対応付けられるスイッチ機能を指し、そのスイッチ機能は後述の同時押しスイッチ変換テーブルＴＢＬ２にて定義される。ＳｈｏｒｔＷａｉｔ機能とは、ＯＮエッジ検出時点から一定時間待機してタイマスタートさせる機能を指す。リピート機能とは、ＯＮエッジから一定時間ＯＦＦエッジが検出されない場合にＯＦＦエッジが検出されるまで、そのスイッチが一定時間の間隔で複数回押された時と同じ動作の繰り返し機能である。押し続け機能とは、ＯＮエッジからＯＦＦエッジに至る期間が一定時間を超えた場合に割り当てられた処理の実行を指示する機能である。キャンセル可能ＯＦＦエッジ機能とは、スイッチ状態がキャンセル又はオン以外の場合に割り当てられた処理の停止を指示する機能である。ＯＦＦエッジ機能とは、ＯＦＦエッジで割り当てられた処理の停止を指示する機能である。
【００３０】
同時押しスイッチ変換テーブルＴＢＬ２は、同時押し操作されるスイッチｉ，ｊの組合せと、その組合せの同時押しが成立した場合に割り当てられる機能スイッチｋとを対応付けるテーブルである。押し続けスイッチ変換テーブルＴＢＬ３は、押し続け操作されるスイッチｌと、そのスイッチｌの押し続けが成立した場合に割り当てられる機能スイッチｍとを対応付けたテーブルである。
ＲＯＭ８には、上記各テーブルＴＢＬ１〜ＴＢＬ３の他、前述した「スイッチ制御処理」、「タイマスイッチ実行処理」、「ロータリーエンコーダ制御処理」、「タイマＲＥ処理」、「表示制御処理」および「表示変更処理」に対応した各種制御プログラム群ＰＲＧが記憶される。
【００３１】
（３）ＲＡＭ９のデータ構成
次に、図５〜図９を参照してＲＡＭ９に格納されるスイッチ制御データ、ロータリーエンコーダ制御データおよび表示制御データの構成について説明する。
ａ．スイッチ制御データの構成
図５はＲＡＭ９に格納されるスイッチ制御データの構成を説明するための図である。この図に示すスイッチ状態テーブルＳＴＬ１は、パネルスイッチ１に配設される各種スイッチの状態が登録されるテーブルであり、スイッチ番号ｎに対応したスイッチ状態［ｎ］を記憶する。スイッチ状態［ｎ］は、通常ＯＮ状態、キャンセル状態、ＳｈｏｒｔＷａｉｔ確定待ち状態、押し続け確定待ち状態、リピート確定待ち状態、リピート中およびＯＦＦ状態のいずれかの状態を表す。
タイマスイッチ情報ＴＳＤは、上述したＳｈｏｒｔＷａｉｔ確定待ち状態、押し続け確定待ち状態、リピート確定待ち状態およびリピート中のいずれかの状態にあるスイッチに関するタイマ処理の状況、すなわち、現在時間、タイマスタート時間、タイマ処理発生時間およびタイマスイッチ番号を表す。
【００３２】
ｂ．ロータリーエンコーダ制御データの構成
図６はＲＡＭ９に格納されるロータリーエンコーダ制御データの構成を説明するための図である。この図において、ＲＥカウンタは、ロータリーエンコーダ６の回転操作に従ってクリックが発生する毎に、回転方向に応じてインクリメント（＋１）あるいはデクリメント（−１）されるカウンタである。タイマＲＥ情報ＴＲＤは、ロータリーエンコーダ６が回転操作されてクリックが発生する毎の現在時間および前回ＲＥ処理時間を表す。
【００３３】
ｃ．表示制御データの構成
図７は、図２（ａ）に図示したガイダンス表示ＧＤを行う際に参照される表示制御データを示す図であり、ガイダンス表示状態、文字・セグメント表示データ、表示すべき文字情報、表示すべきセグメント情報、現在表示している文字情報および現在表示しているセグメント情報から構成される。さらに、所定時間おきにガイダンス表示ＧＤと本来表示すべき文字とを交互に表示する場合には、図８に図示するように、上記各表示制御データに加えて表示時間カウンタを用いる。次に、図９は図２（ｂ）に図示した表示形態、すなわち文字表示する領域ＣＤＥを使用してレベル表示を行う際に参照される表示制御データを示す図であり、レベルメータ表示状態、文字・セグメント表示データ、表示すべき文字情報、表示すべきセグメント情報、現在表示している文字情報、現在表示しているセグメント情報およびレベルメータ情報から構成される。
【００３４】
Ｂ．動作
次に、図１０〜図３３を参照して、実施例において実行される「スイッチ制御処理」と、優先順位３タスク処理に含まれる「タイマスイッチ実行処理」、「ロータリーエンコーダ制御処理」、「タイマＲＥ処理」と、優先順位４タスク処理に含まれる「表示制御／表示変更処理」との各動作について説明する。
【００３５】
（１）スイッチ制御処理の動作
図１０〜図１７を参照してスイッチ制御処理の動作を説明する。パネルスイッチ１にてスイッチ操作が行われ、それに応じてスイッチ操作検出回路２がＯＮエッジあるいはＯＦＦエッジを検出してスイッチイベントを発生すると、ＣＰＵ７はハードウェア割込みにて最優先順位のスイッチ制御処理を実行する。本処理が実行されると、ＣＰＵ７は図１０のステップＳＡ１に処理を進め、タイマ処理（ＳｈｏｒｔＷａｉｔ待ち）のスイッチが存在する場合、その処理を停止させるタイマキャンセル処理を実行する。
【００３６】
タイマキャンセル処理が実行されると、ＣＰＵ７は図１２のステップＳＢ１に処理を進め、前述のタイマスイッチ情報ＴＳＤに含まれるタイマスイッチ番号を引数として、スイッチ状態テーブルＳＴＬ１からスイッチ状態を読み出し、読み出したスイッチ状態がＳｈｏｒｔＷａｉｔ確定待ち状態にあるか否かを判断する。ＳｈｏｒｔＷａｉｔ確定待ち状態でなければ、判断結果は「ＮＯ」になり、ステップＳＢ２に進む。ステップＳＢ２では、タイマスイッチ番号に対応したスイッチ状態テーブルＳＴＬ１中のスイッチ状態を、イベント無しを表す「キャンセル状態」にセットして後述するステップＳＢ５に処理を進める。
【００３７】
一方、ＳｈｏｒｔＷａｉｔ確定待ち状態であると、上記ステップＳＢ１の判断結果は「ＹＥＳ」になり、ステップＳＢ３に進む。ステップＳＢ３では、タイマスイッチ番号に対応したスイッチ状態テーブルＳＴＬ１中のスイッチ状態を「ＯＦＦ状態」にセットする。続いて、ステップＳＢ４に進み、タイマスイッチ番号のスイッチＯＮ実行処理を行う。そして、ステップＳＢ５では、タイマストップ処理を実行する。タイマストップ処理が実行されると、ＣＰＵ７は図１３に示すステップＳＣ１に進み、タイマスイッチ情報ＴＳＤ中のタイマスタート時間をリセットし、続くステップＳＣ２ではタイマスイッチ情報ＴＳＤ中のタイマスイッチ番号をリセットする。
【００３８】
タイマストップ処理が完了すると、ＣＰＵ７は図１０に示すステップＳＡ２に処理を進め、検出したスイッチ操作がＯＮエッジであるか否か、つまりスイッチが押されたかどうかを判断する。スイッチが押されたＯＮエッジであると、判断結果は「ＹＥＳ」になり、ステップＳＡ３以降に処理を進め、そのスイッチに「同時押し機能」、「ＳｈｏｒｔＷａｉｔ機能」、「リピート機能」、「押し続け機能」および「ＯＮエッジ機能」のいずれが割り当てられているのかを前述したスイッチ機能テーブルＴＢＬ１（図４参照）を参照して判別し、判別した機能に対応した処理を実行する。
一方、スイッチが離されたＯＦＦエッジであれば、上記ステップＳＡ２の判断結果は「ＮＯ」となり、ステップＳＡ１７以降に処理を進め、そのスイッチに「ＯＦＦエッジ機能」あるいは「キャンセル可能ＯＦＦエッジ機能」のいずれが割り当てられているのかをスイッチ機能テーブルＴＢＬ１を参照して判別し、判別した機能に対応した処理を実行する。
【００３９】
以下では、「同時押し機能」、「ＳｈｏｒｔＷａｉｔ機能」、「リピート機能」、「押し続け機能」および「ＯＮエッジ機能」のいずれかが割り当てられたＯＮエッジの場合と、「ＯＦＦエッジ機能」あるいは「キャンセル可能ＯＦＦエッジ機能」のいずれかが割り当てられたＯＦＦエッジの場合とに分けて動作説明する。
【００４０】
ａ．「同時押し機能」が割り当てられたＯＮエッジの場合
「同時押し機能」が割り当てられたスイッチが押されると、ステップＳＡ３の判断結果が「ＹＥＳ」になり、ステップＳＡ４に進む。ステップＳＡ４では、前述した同時押しスイッチ変換テーブルＴＢＬ２（図４参照）を参照して、対応定義されるスイッチを検索する。次いで、ステップＳＡ５では検索したスイッチとの同時押しが成立しているか否かを判断する。同時押しが成立していなければ、判断結果が「ＮＯ」になり、ステップＳＡ８に進み、現在操作されているスイッチのスイッチ番号に対応したスイッチ状態テーブルＳＴＬ１のスイッチ状態を「通常ＯＮ状態」に更新した後、後述するステップＳＡ９（図１１参照）に処理を進める。
一方、同時押しが成立した場合には、上記ステップＳＡ５の判断結果が「ＹＥＳ」になり、ステップＳＡ６に進む。ステップＳＡ６では、成立した同時押し機能スイッチｋに割り当てられた処理を実行させる。そして、次のステップＳＡ７に進み、スイッチ状態テーブルＳＴＬ１において同時押しされた各スイッチのスイッチ状態を「キャンセル状態」にセットして本処理を完了させる。
【００４１】
ｂ．「ＳｈｏｒｔＷａｉｔ機能」が割り当てられたＯＮエッジの場合
「ＳｈｏｒｔＷａｉｔ機能」が割り当てられたスイッチが押されると、図１１に示すステップＳＡ９の判断結果が「ＹＥＳ」になり、ステップＳＡ１０に進み、ＳｈｏｒｔＷａｉｔ確定待ちセット処理を実行する。ＳｈｏｒｔＷａｉｔ確定待ちセット処理が実行されると、ＣＰＵ７は図１４に示すステップＳＤ１に進み、操作されたスイッチのスイッチ番号に対応したスイッチ状態テーブルＳＴＬ１のスイッチ状態を「ＳｈｏｒｔＷａｉｔ確定待ち状態」にセットする。
【００４２】
次いで、ステップＳＤ２では、操作されたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップＳＤ３では、待ち時間としてＳｈｏｒｔＷａｉｔ待ち時間Ｔｗを設定する。そして、ステップＳＤ４を介してタイマスタート処理を実行すると、ＣＰＵ７は図１５に示すステップＳＥ１に進み、タイマスイッチ情報ＴＳＤ（図５参照）中の現在時間をタイマスタート時間にセットし、続くステップＳＥ２では、上記ステップＳＤ３にて待ち時間として設定されたＳｈｏｒｔＷａｉｔ待ち時間Ｔｗをタイマスイッチ情報ＴＳＤ中のタイマ処理発生時間にセットした後、本処理を完了させる。
【００４３】
ｃ．「リピート機能」が割り当てられたＯＮエッジの場合
「リピート機能」が割り当てられたスイッチが押されると、図１１に示すステップＳＡ１１の判断結果が「ＹＥＳ」になり、ステップＳＡ１２に進み、リピート確定待ちセット処理を実行する。リピート確定待ちセット処理が実行されると、ＣＰＵ７は図１６に示すステップＳＦ１に進み、操作されたスイッチのスイッチ番号に対応したスイッチ状態テーブルＳＴＬ１のスイッチ状態を「リピート確定待ち状態」にセットする。
【００４４】
次いで、ステップＳＦ２では、操作されたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップＳＦ３では、待ち時間としてリピート待ち時間Ｔｒを設定する。そして、ステップＳＦ４を介してタイマスタート処理を実行すると、ＣＰＵ７は図１５に示すステップＳＥ１に進み、タイマスイッチ情報ＴＳＤ（図５参照）中の現在時間をタイマスタート時間にセットし、続くステップＳＥ２では、上記ステップＳＦ３にて待ち時間として設定されたリピート待ち時間Ｔｒをタイマスイッチ情報ＴＳＤ中のタイマ処理発生時間にセットした後、本処理を完了させる。
【００４５】
ｄ．「押し続け機能」が割り当てられたＯＮエッジの場合
「押し続け機能」が割り当てられたスイッチが押されると、図１１に示すステップＳＡ１３の判断結果が「ＹＥＳ」になり、ステップＳＡ１４に進み、押し続け確定待ちセット処理を実行する。押し続け確定待ちセット処理が実行されると、ＣＰＵ７は図１７に示すステップＳＧ１に進み、操作されたスイッチのスイッチ番号に対応したスイッチ状態テーブルＳＴＬ１のスイッチ状態を「押し続け確定待ち状態」にセットする。
【００４６】
次いで、ステップＳＧ２では、操作されたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップＳＧ３では、待ち時間として押し続け待ち時間Ｔｋを設定する。そして、ステップＳＧ４を介してタイマスタート処理を実行すると、ＣＰＵ７は図１５に示すステップＳＥ１に進み、タイマスイッチ情報ＴＳＤ（図５参照）中の現在時間をタイマスタート時間にセットし、続くステップＳＥ２では、上記ステップＳＧ３にて待ち時間として設定された押し続け待ち時間Ｔｋをタイマスイッチ情報ＴＳＤ中のタイマ処理発生時間にセットした後、本処理を完了させる。
【００４７】
ｅ．「ＯＮエッジ機能」が割り当てられたＯＮエッジの場合
「ＯＮエッジ機能」が割り当てられたスイッチが押されると、図１１に示すステップＳＡ１５の判断結果が「ＹＥＳ」になり、ステップＳＡ１６に進む。ステップＳＡ１６では、操作されたスイッチのスイッチ番号に対応付けられたスイッチＯＮ実行処理を行った後、本処理を完了させる。
【００４８】
ｆ．「ＯＦＦエッジ機能」が割り当てられたＯＦＦエッジの場合
「ＯＦＦエッジ機能」が割り当てられたスイッチが離されると、図１０に示すステップＳＡ１７の判断結果が「ＹＥＳ」になり、ステップＳＡ２０に進む。ステップＳＡ２０では、操作されたスイッチのスイッチ番号に対応付けられたスイッチＯＦＦ実行処理を行った後、本処理を完了させる。
【００４９】
ｇ．「キャンセル可能ＯＦＦエッジ機能」が割り当てられたＯＦＦエッジの場合「キャンセル可能ＯＦＦエッジ機能」が割り当てられたスイッチが離されると、図１０に示すステップＳＡ１８の判断結果が「ＹＥＳ」になり、ステップＳＡ１９に進む。ステップＳＡ１９では、操作されたスイッチのスイッチ番号に対応したスイッチ状態テーブルＳＴＬ１のスイッチ状態が「キャンセル状態」あるいは「通常ＯＮ状態」以外であるか否かを判断する。そして、「キャンセル状態」あるいは「通常ＯＮ状態」であると、判断結果は「ＮＯ」となり、何も処理せずに本処理を完了させる。
これに対し、「キャンセル状態」あるいは「通常ＯＮ状態」以外であれば、判断結果が「ＹＥＳ」になり、ステップＳＡ２０に進み、操作されたスイッチのスイッチ番号に対応付けられたスイッチＯＦＦ実行処理を行った後、本処理を完了させる。
【００５０】
（２）タイマスイッチ実行処理の動作
次に、図１８〜図２５を参照してタイマスイッチ実行処理の動作を説明する。優先順位３タスク処理に含まれるタイマスイッチ実行処理は、一定周期毎のタイマ割込みにて実行される。実行タイミングになると、ＣＰＵ７は図１８のステップＳＨ１、ＳＨ２において、タイマスイッチ情報ＴＳＤのタイマスイッチ番号およびタイマスタート時間がそれぞれセット済みであるか否かを判断する。
すなわち、スイッチ操作に応じて、上述した「ＳｈｏｒｔＷａｉｔ確定待ちセット処理（図１４参照）」、「リピート確定待ちセット処理（図１６参照）」および「押し続け確認待ちセット処理（図１７参照）」のいずれかの実行に伴いタイマスタート処理（図１５参照）が起動しているかどうかを判断する。
【００５１】
タイマスタート処理が起動していなければ、上記ステップＳＨ１，ＳＨ２の各判断結果はいずれも「ＮＯ」になり、本処理を完了させる。一方、タイマスタート処理が起動されていると、各判断結果はいずれも「ＹＥＳ」になり、次のステップＳＨ３に処理を進める。ステップＳＨ３では、タイマスイッチ情報ＴＳＤの現在時間からタイマスタート時間を減算した結果がタイマ処理発生時間以上であるか、つまり待ち時間が経過したかどうかを判断する。待ち時間が経過していなければ、判断結果は「ＮＯ」となり、本処理を完了させるが、待ち時間が経過していると、判断結果が「ＹＥＳ」になり、ステップＳＨ４に進む。
【００５２】
ステップＳＨ４では、タイマスイッチ情報ＴＳＤのタイマスイッチ番号を引数として、スイッチ状態テーブルＳＴＬ１からスイッチ状態を読み出す。そして、ステップＳＨ５以降では、スイッチ状態が「ＳｈｏｒｔＷａｉｔ確定待ち状態」、「押し続け確定待ち状態」、「リピート確定待ち状態」および「リピート中」のいずれであるかを判別し、判別した状態に対応した処理を行う。以下、各状態別に分けて説明を進める。
【００５３】
ａ．「ＳｈｏｒｔＷａｉｔ確定待ち状態」の場合
この場合、ステップＳＨ５の判断結果が「ＹＥＳ」となり、ステップＳＨ６に進み、タイマスイッチ番号に対応したスイッチ状態テーブルＳＴＬ１中のスイッチ状態を「通常ＯＮ状態」にセットする。続いて、ステップＳＨ７では、タイマスイッチ番号のスイッチＯＮ実行処理を行う。そして、ステップＳＨ８に進み、タイマストップ処理を実行する。タイマストップ処理が実行されると、ＣＰＵ７は図１３に示すステップＳＣ１に進み、タイマスイッチ情報ＴＳＤ中のタイマスタート時間をリセットし、続くステップＳＣ２ではタイマスイッチ情報ＴＳＤ中のタイマスイッチ番号をリセットする。
【００５４】
この後、図１９に図示するステップＳＨ９に進み、スイッチ機能テーブルＴＢＬ１を参照して、スイッチＯＮ実行処理（上述のステップＳＨ７）が行われたスイッチに「リピート機能」が割り当てられているか否かを判別する。「リピート機能」が割り当てられていた場合、判断結果は「ＹＥＳ」となり、ステップＳＨ１０に進み、前述したリピート確認待ちセット処理を実行する。リピート確定待ちセット処理が実行されると、ＣＰＵ７は図１６に示すステップＳＦ１に進み、スイッチＯＮ実行処理（上述のステップＳＨ７）が行われたスイッチのスイッチ番号に対応したスイッチ状態テーブルＳＴＬ１のスイッチ状態を「リセット確定待ち状態」にセットする。
【００５５】
次いで、ステップＳＦ２では、スイッチＯＮ実行処理が行われたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップＳＦ３では、待ち時間としてリピート待ち時間Ｔｒを設定する。そして、ステップＳＦ４を介してタイマスタート処理を実行すると、ＣＰＵ７は図１５に示すステップＳＥ１に進み、タイマスイッチ情報ＴＳＤ（図５参照）中の現在時間をタイマスタート時間にセットし、続くステップＳＥ２では、上記ステップＳＦ３にて待ち時間として設定されたリピート待ち時間Ｔｒをタイマスイッチ情報ＴＳＤ中のタイマ処理発生時間にセットした後、本処理を完了させる。
【００５６】
これに対し、「リピート機能」が割り当てられていない場合には、判断結果が「ＮＯ」となり、図１９に示すステップＳＨ１１に進む。ステップＳＨ１１では、スイッチ機能テーブルＴＢＬ１を参照して、上述のステップＳＨ７にてスイッチＯＮ実行処理が行われたスイッチに「押し続け機能」が割り当てられているか否かを判別する。「押し続け機能」が割り当てられていなければ、判断結果は「ＮＯ」になり、本処理を完了させるが、割り当てられていると、判断結果が「ＹＥＳ」となり、ステップＳＨ１２に進み、押し続け確定待ちセット処理を実行する。押し続け確定待ちセット処理が実行されると、ＣＰＵ７は図１７に示すステップＳＧ１に進み、スイッチＯＮ実行処理が行われたスイッチのスイッチ番号に対応したスイッチ状態テーブルＳＴＬ１のスイッチ状態を「押し続け確定待ち状態」にセットする。
【００５７】
次いで、ステップＳＧ２では、スイッチＯＮ実行処理が行われたスイッチのスイッチ番号をタイマスイッチ番号に設定し、続くステップＳＧ３では、待ち時間として押し続け待ち時間Ｔｋを設定する。そして、ステップＳＧ４を介してタイマスタート処理を実行すると、ＣＰＵ７は図１５に示すステップＳＥ１に進み、タイマスイッチ情報ＴＳＤ（図５参照）中の現在時間をタイマスタート時間にセットし、続くステップＳＥ２では、上記ステップＳＧ３にて待ち時間として設定された押し続け待ち時間Ｔｋをタイマスイッチ情報ＴＳＤ中のタイマ処理発生時間にセットした後、本処理を完了させる。
【００５８】
ｂ．「押し続け確定待ち状態」の場合
この場合、図２０に図示するステップＳＨ１３の判断結果が「ＹＥＳ」となり、ステップＳＨ１４に進み、押し続け機能スイッチ処理を実行する。押し続け機能スイッチ処理が実行されると、ＣＰＵ７は図２１に示すステップＳＪ１に進み、押し続けスイッチ変換テーブルＴＢＬ３（図４参照）を参照して、タイマスイッチ番号に対応する押し続け機能スイッチｍを検出する。次いで、ステップＳＪ２では、検出した押し続け機能スイッチｍを実行する。そして、ステップＳＪ３を介してタイマストップ処理を実行する。タイマストップ処理が実行されると、ＣＰＵ７は図１３に示すステップＳＣ１に進み、タイマスイッチ情報ＴＳＤ中のタイマスタート時間をリセットし、続くステップＳＣ２ではタイマスイッチ情報ＴＳＤ中のタイマスイッチ番号をリセットする。
【００５９】
ｃ．「リピート確定待ち状態」の場合
この場合、図２０に図示するステップＳＨ１５の判断結果が「ＹＥＳ」となり、ステップＳＨ１６に進み、リピート確定処理を実行する。リピート確定処理が実行されると、ＣＰＵ７は図２２に示すステップＳＫ１に進み、タイマスイッチ番号に対応したスイッチ状態テーブルＳＴＬ１中のスイッチ状態を「リピート中」にセットする。次いで、ステップＳＫ２では、待ち時間としてリピート中時間Ｔａを設定する。この後、ステップＳＫ３を介してタイマスタート処理を実行すると、ＣＰＵ７は図１５に示すステップＳＥ１に進み、タイマスイッチ情報ＴＳＤ中の現在時間をタイマスタート時間にセットし、続くステップＳＥ２では、上記ステップＳＫ２にて待ち時間として設定されたリピート中時間Ｔａをタイマスイッチ情報ＴＳＤ中のタイマ処理発生時間にセットした後、本処理を完了させる。
【００６０】
ｄ．「リピート中」の場合
この場合、図２０に図示するステップＳＨ１７の判断結果が「ＹＥＳ」となり、ステップＳＨ１８に進み、リピート機能スイッチ処理を実行する。リピート機能スイッチ処理が実行されると、ＣＰＵ７は図２３に示すステップＳＬ１に進み、スイッチＯＮ実行処理を行う。次いで、ステップＳＬ２では、待ち時間としてリピート中時間Ｔａを設定する。この後、ステップＳＬ３を介してタイマスタート処理を実行すると、ＣＰＵ７は図１５に示すステップＳＥ１に進み、タイマスイッチ情報ＴＳＤ中の現在時間をタイマスタート時間にセットし、続くステップＳＥ２では、上記ステップＳＬ２にて待ち時間として設定されたリピート中時間Ｔａをタイマスイッチ情報ＴＳＤ中のタイマ処理発生時間にセットした後、本処理を完了させる。
【００６１】
次に、図２４〜図２５を参照して、上述したスイッチ制御に係わる各種処理を要約して説明する。図２４は「同時押し機能」、「ＳｈｏｒｔＷａｉｔ機能」および「リピート機能」が割り当てられたスイッチｎの動作タイミングを示す図である。この図に示すように、先ずタイミングＡでスイッチｎが押されてＯＮエッジが発生したとする。そうすると、
（イ）このタイミングＡからＳｈｏｒｔＷａｉｔ確定待ち時間Ｔｗが経過する迄の間、通常のスイッチＯＮ実行処理は行われず、スイッチｎと対に同時押し機能が割り当てられるスイッチが押された場合にのみ、同時押し機能スイッチｋが実行される。
（ロ）また、ＳｈｏｒｔＷａｉｔ確定待ち時間Ｔｗが経過する迄の間に、スイッチｎが離された場合には、ＳｈｏｒｔＷａｉｔ確定待ち状態を即座に終了して通常のスイッチＯＮ実行処理が行われる。
（ハ）ＳｈｏｒｔＷａｉｔ確定待ち時間Ｔｗが経過したタイミングＢにおいてスイッチｎの通常のスイッチＯＮ実行処理が行われる。つまり、ＳｈｏｒｔＷａｉｔ確定待ち時間Ｔｗは同時押し機能スイッチ処理と通常のスイッチＯＮ実行処理とを判別するための待ち時間であり、その時間長を適切に調整することによって、ゆっくりとしたスイッチ操作が為された場合でも違和感が少ない操作性を実現し得るようになっている。
（ニ）スイッチｎを押し続け、ＳｈｏｒｔＷａｉｔ確定待ち時間Ｔｗおよびリピート待ち時間Ｔｒを経てリピート待ちが確定するタイミングＣに達すると、スイッチｎに割り当てられたリピート機能スイッチ処理が開始され、以後、スイッチｎが離されるタイミングＧに達するまでの間、リピート中時間Ｔａが経過するタイミングＤ、Ｅ、Ｆ毎にリピート機能のスイッチＯＮ実行処理が繰り返し行われる。
【００６２】
次に、図２５は「同時押し機能」、「押し続け機能」および「キャンセル可能ＯＦＦエッジ機能」が割り当てられたスイッチｎの動作タイミングを示す図である。この図に示すように、先ずタイミングＡでスイッチｎが押されてＯＮエッジが発生したとする。そうすると、
（ホ）このタイミングＡから押し続け待ち時間Ｔｋが経過する迄の間、通常のスイッチＯＮ実行処理は行われず、スイッチｎと対に同時押し機能が割り当てられるスイッチが押された場合にのみ、同時押し機能スイッチｋが実行される。
（へ）また、押し続け待ち時間Ｔｋが経過する迄の間に、スイッチｎが離された場合には、押し続け確定待ち状態を即座に終了して通常のスイッチＯＮ実行処理が行われる。
（ト）押し続け待ち時間Ｔｋが経過するタイミングＢまでスイッチｎを押し続け、しかも同時押しが成立しない場合には、そのスイッチｎに割り当てられた押し続け機能スイッチｍの処理が実行される。
（チ）スイッチｎが離されるタイミングＣまでの間に、同時押し機能スイッチｋまたは押し続け機能スイッチｍのいずれかの処理が発生しなければ、タイミングＣにてスイッチＯＦＦ実行処理が行われる。
【００６３】
以上のように、本実施例では、スイッチｎが押されてＯＮエッジが発生してからＳｈｏｒｔＷａｉｔ確定待ち時間Ｔｗが経過する迄の間に、スイッチｎと対に同時押し機能が割り当てられるスイッチが押された場合にのみ、同時押し機能スイッチｋが実行されるので、ＯＮエッジからＯＦＦエッジまでの時間が長くゆっくりとしたスイッチ操作を行ったとしても、スイッチの反応が遅くなることは無く、従来の違和感を解消し得るようになっている。
【００６４】
また、本実施例では、同時押し機能が割り当てられたスイッチにリピート機能および押し続け機能をアサインしておき、そのスイッチを押し続けてＳｈｏｒｔＷａｉｔ確定待ち時間Ｔｗおよびリピート待ち時間Ｔｒを経てリピート待ちが確定した場合にはスイッチｎに割り当てられたリピート機能スイッチ処理が開始され、さらに押し続け待ち時間Ｔｋが経過するまでスイッチを押し続け、同時押しが成立しなければ、そのスイッチｎに割り当てられた押し続け機能スイッチ処理が開始されるので、「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てることが可能になる。
【００６５】
加えて、本実施例では、最優先順位のスイッチ制御処理が実行されている場合、それより優先順位の低いタイマスイッチ実行処理の実行を制限するマルチタスク制御を行うので、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応し得るようになっている。
【００６６】
（３）ロータリーエンコーダ制御処理の動作
次に、図２６を参照してロータリーエンコーダ制御処理の動作を説明する。優先順位３タスク処理に含まれるロータリーエンコーダ制御処理は、ロータリーエンコーダ６の回転操作に応じてクリックが発生する毎に実行される。ロータリーエンコーダ制御処理が実行されると、ＣＰＵ７は図２６のステップＳＭ１に処理を進め、回転方向が＋側（例えば時計回り方向）であるか否かを判断する。回転方向が＋側であると、判断結果は「ＹＥＳ」になり、ステップＳＭ２に進み、ロータリーエンコーダ制御データ（図６参照）のＲＥカウンタＲＣの値をインクリメントして本処理を完了させる。一方、回転方向が−側（例えば反時計回り方向）であれば、上記ステップＳＭ１の判断結果は「ＮＯ」になり、ステップＳＭ３に進み、ロータリーエンコーダ制御データのＲＥカウンタＲＣの値をデクリメントして本処理を完了させる。
【００６７】
（４）タイマＲＥ処理の動作
次に、図２７を参照してタイマＲＥ処理の動作を説明する。優先順位３タスク処理に含まれるタイマＲＥ処理は、一定周期毎のタイマ割込みにて実行される。実行タイミングになると、ＣＰＵ７は図２７のステップＳＮ１に進み、ＲＥカウンタＲＣの値が「０」以外であるかどうかを判断する。ＲＥカウンタＲＣの値が「０」であると、判断結果は「ＮＯ」になって本処理を完了させるが、ＲＥカウンタＲＣの値が「０」以外であれば、判断結果が「ＹＥＳ」になり、ステップＳＮ２に進む。
ステップＳＮ２では、タイマＲＥ情報ＴＲＤ（図６参照）の現在時間から前回ＲＥ処理時間を減算して経過時間を算出する。続いて、ステップＳＮ３では、ＲＥカウンタＲＣの値／（１回転のクリック数×経過時間）により回転レートｎを算出する。例えば、１回転で２４クリックのロータリーエンコーダ６を０．２秒間（経過時間）に１２クリックされた時の回転レートｎは「２．５（ｒｅｖ／ｓｅｃ）」となる。
【００６８】
次いで、ステップＳＮ４では、上記ステップＳＮ３にて算出された回転レートｎが「２」以上であるか否かを判断する。回転レートｎが「２」未満であれば、判断結果は「ＮＯ」になり、後述するステップＳＮ６に進む。一方、回転レートｎが「２」以上であると、判断結果は「ＹＥＳ」になり、ステップＳＮ５に進み、ＲＥカウンタＲＣの値に回転レートｎを乗算し、その値をＲＥカウンタＲＣの値にセットする。そして、ステップＳＮ６では、ＲＥカウンタＲＣの値分、スイッチが押された時と同様の処理を実行する。この後、ステップＳＮ７に進み、ＲＥカウンタＲＣをゼロリセットし、続くステップＳＮ８では、前回ＲＥ処理時間を現在時間に更新してから本処理を完了させる。
このように、タイマＲＥ処理では、２回転以上の回転レートｎでロータリーエンコーダ６を操作すると、ＲＥカウンタＲＣの値が回転レートｎ倍されるから、設定値を大きく変更するような場合、より少ない回転操作で対応できる結果、ロータリーエンコーダの操作性を向上させることが可能になる。
【００６９】
（５）表示制御／表示変更処理
次に、図２８〜図３３を参照して表示制御処理および表示変更処理の動作を説明する。以下では、図２（ａ）に図示したように、設定画面中に他の設定画面へ遷移可能であることを示す矢印のガイダンス表示ＧＤを文字表示で行う第１の表示制御／表示変更処理と、図２（ｂ）に図示したように、各パートの発音音量レベルを示すレベル表示を、文字表示する領域ＣＤＥで行う第２の表示制御／表示変更処理とに分けてそれらの動作を説明する。
【００７０】
ａ．第１の表示制御／表示変更処理の動作
ａ−１．表示制御（１）処理の動作
優先順位４タスク処理に含まれる表示制御（１）処理は、一定周期毎のタイマ割込みにて実行される。実行タイミングになると、ＣＰＵ７は図２８のステップＳＯ１に処理を進める。ステップＳＯ１では、ＲＡＭ９に格納される表示制御データ（図７参照）のガイダンス表示状態を参照し、続くステップＳＯ２では、そのガイダンス表示状態がガイダンス表示有りの状態を表すものであるか否かを判断する。
【００７１】
ガイダンス表示有りの場合、判断結果は「ＹＥＳ」になり、ステップＳＯ３を介して図２９に図示するガイダンス付表示更新（１）処理のステップＳＯ３−１に進み、表示制御データ中の文字・セグメント表示データにガイダンス表示が付加された、表示すべき文字情報およびセグメント情報を生成する。
一方、ガイダンス表示無しの場合には、上記ステップＳＯ２の判断結果が「ＮＯ」となり、ステップＳＯ４に進み、表示制御データ中の文字・セグメント表示データから表示すべき文字情報およびセグメント情報を生成する。
【００７２】
この後、ステップＳＯ５に進み、現在表示している情報と表示すべき情報とを比較し、続くステップＳＯ６ではその比較の結果が不一致であるか否かを判断する。そして、現在表示している情報と表示すべき情報とが一致していれば、判断結果が「ＮＯ」となり、この場合、表示を更新する必要が無いので、何も処理せずに本処理を完了させる。
一方、現在表示している情報と表示すべき情報とが不一致になると、上記ステップＳＯ６の判断結果が「ＹＥＳ」になり、ステップＳＯ７に進み、現在表示している情報から表示すべき情報に表示更新してから本処理を完了させる。
これにより、図２（ａ）に図示したように、設定画面中に他の設定画面へ遷移可能であることを示すガイダンス表示ＧＤ（矢印）が行われ、こうしたガイダンス表示ＧＤを行うことによって、専用のセグメントを配置した場合と比較して、文字表示する領域を相対的に大きくとれる利点が生じる。
【００７３】
ａ−２．変形例
次に、図３０を参照して変形例によるガイダンス付表示更新（２）処理の動作について述べる。上述したガイダンス付表示更新（１）処理において、表示すべき文字数が多いと、ガイダンス表示用の表示桁が文字表示領域を超える場合も起こり得る。変形例によるガイダンス付表示更新（２）処理では、そうした場合に対応する処理である。
すなわち、上述した表示制御（１）処理のステップＳＯ３（図２８参照）を介してガイダンス付表示更新（２）処理が実行されると、ＣＰＵ７は図３０に示すステップＳＰ１に進み、図８に図示した表示制御データ中の表示時間カウンタの値が、ガイダンス表示時間Ｔ１以上であるか否かを判断する。表示時間カウンタの値がガイダンス表示時間Ｔ１未満であると、判断結果は「ＮＯ」になり、表示制御データ中の文字・セグメント表示データから表示すべき文字情報およびセグメント情報を生成してステップＳＰ４に進む。
【００７４】
これに対し、表示時間カウンタの値がガイダンス表示時間Ｔ１以上であると、判断結果が「ＹＥＳ」となり、ステップＳＰ３を介して図２９に図示するガイダンス付表示更新（１）処理のステップＳＯ３−１に進み、表示制御データ中の文字・セグメント表示データにガイダンス表示が付加された、表示すべき文字情報およびセグメント情報を生成してから図３０のステップＳＰ４に進む。
ステップＳＰ４では、上述した表示制御（１）処理のタイマ割込み周期Ｔ０を表示時間カウンタに加算する。次いで、ステップＳＰ５では、タイマ割込み周期Ｔ０を加算した表示時間カウンタの値が、ガイダンス表示時間Ｔ１と文字表示時間Ｔ２との和以上であるか否かを判断する。そうであれば、判断結果は「ＹＥＳ」になり、ステップＳＰ６にて表示時間カウンタをリセットして本処理を終え、そうでなければ、判断結果が「ＮＯ」になり、本処理を完了させる。
【００７５】
このように、変形例によれば、表示時間カウンタの値がＴ１未満ではガイダンス表示が行われ、Ｔ１以上（Ｔ１＋Ｔ２）未満では本来表示すべき文字情報のみが表示される期間となり、そしてタイマ割込み周期Ｔ０を加算した表示時間カウンタの値が（Ｔ１＋Ｔ２）以上になると、表示時間カウンタをゼロリセットする動作を繰り返すので、ガイダンス表示と本来表示すべき文字とが交互に表示される。
このようにすることで文字表示する領域に表示できる文字数を減らさずにガイダンス表示し得るようになっている。なお、ガイダンス表示期間と本来表示すべき文字のみ表示する期間とは同期間でなくとも構わず、本来表示すべき文字のみ表示する期間をガイダンス表示期間より長くして視認性を向上させる態様としてもよい。
【００７６】
ａ−３．表示変更（１）処理の動作
次に、図３１を参照して表示変更（１）処理の動作を説明する。表示変更指示するスイッチが操作されると、本処理が実行され、ステップＳＱ１に進む。ステップＳＱ１では、表示変更指示に応じて文字・セグメント表示データを変更する。次いで、ステップＳＱ２では、表示変更指示に対応して表示すべき画面が他の設定画面に遷移可能であるか否かを判断する。他の設定画面に遷移可能であれば、判断結果は「ＹＥＳ」になり、ステップＳＱ３に進み、表示制御データ中のガイダンス表示状態を「有り」に設定して本処理を完了させる。一方、他の設定画面に遷移出来ない場合には、判断結果が「ＮＯ」となり、ステップＳＱ４に進み、表示制御データ中のガイダンス表示状態を「無し」に設定して本処理を完了させる。
【００７７】
ｂ．第２の表示制御／表示変更処理の動作
ｂ−１．表示制御（２）処理の動作
優先順位４タスク処理に含まれる表示制御（２）処理は、一定周期毎のタイマ割込みにて実行される。実行タイミングになると、ＣＰＵ７は図３２のステップＳＲ１に処理を進める。ステップＳＲ１では、ＲＡＭ９に格納される表示制御データ（図９参照）のレベルメータ表示状態を参照し、続くステップＳＲ２では、そのレベルメータ表示状態がレベルメータ表示有りの状態を表すものであるか否かを判断する。レベルメータ表示有りの場合、判断結果は「ＹＥＳ」になり、ステップＳＲ３に進み、表示制御データ中のレベルメータ情報からレベルメータを表示させる文字・セグメント表示データを生成し、それに基づき表示すべき文字情報およびセグメント情報を生成する。
一方、レベルメータ表示無しの場合には、上記ステップＳＲ２の判断結果が「ＮＯ」となり、ステップＳＲ４に進み、表示制御データ中の文字・セグメント表示データから表示すべき文字情報およびセグメント情報を生成する。
【００７８】
この後、ステップＳＲ５に進み、現在表示している情報と表示すべき情報とを比較し、続くステップＳＲ６ではその比較の結果が不一致であるか否かを判断する。そして、現在表示している情報と表示すべき情報とが一致していれば、判断結果が「ＮＯ」となり、この場合、表示を更新する必要が無いので、何も処理せずに本処理を完了させる。一方、現在表示している情報と表示すべき情報とが不一致になると、上記ステップＳＲ６の判断結果が「ＹＥＳ」になり、ステップＳＲ７に進み、現在表示している情報から表示すべき情報に表示更新してから本処理を完了させる。
これにより、図２（ｂ）に図示したように、文字表示する領域ＣＤＥを使用してレベル表示することが可能になり、そうすることで、従来、レベル表示専用のセグメントを配置した場合と比較して、文字表示する領域ＣＤＥを相対的に大きくとれる利点が生じる。
【００７９】
ｂ−２．表示変更（２）処理の動作
次に、図３３を参照して表示変更（２）処理の動作を説明する。表示変更指示するスイッチが操作されると、本処理が実行され、ステップＳＳ１に進む。ステップＳＳ１では、表示変更指示に対応した表示内容変更の有無を判断する。表示内容を変更しない場合には、判断結果が「ＮＯ」になり、後述のステップＳＳ３に進む。一方、表示内容を変更する場合には、判断結果が「ＹＥＳ」となり、次のステップＳＳ２に進む。
ステップＳＳ２では、表示変更指示に応じて、表示制御データの文字・セグメント表示データおよびレベルメータ情報を変更する。次いで、ステップＳＳ３では、表示変更指示がレベルメータ表示指示であるか否かを判断する。レベルメータ表示指示であると、判断結果は「ＹＥＳ」になり、ステップＳＳ４に進み、表示制御データ中のレベルメータ表示状態を「有り」に設定して本処理を完了させる。一方、レベルメータ表示指示でなければ、上記ステップＳＳ３の判断結果が「ＮＯ」となり、ステップＳＳ５に進み、表示制御データ中のレベルメータ表示状態を「無し」に設定して本処理を完了させる。
【００８０】
以上のように、表示制御／表示変更処理によれば、ガイダンスを表示する部分に本来の表示すべき文字とガイダンス表示とを交互に表示するようにした為、表示できる情報を減らさずにガイダンス表示を行うことが可能になっている。また、本来の表示すべき文字とガイダンス表示とを交互に表示する期間を非対称とし、本来の表示すべき文字を表示する期間を長くすることで視認性を向上させることができる。加えて、文字表示する領域ＣＤＥを使用してレベル表示するようにした為、従来、レベル表示専用のセグメントを配置した場合と比較して、文字表示する領域ＣＤＥを相対的に大きくとれる利点がある。
【００８１】
【発明の効果】
請求項１〜３に記載の発明によれば、スイッチのオン操作に応じて、他のスイッチとの同時押しか否かを判定する待ち時間を設定し、設定された待ち時間が経過するまでの間に、前記オン操作されたスイッチと対に同時押し機能が割り当てられるスイッチがオン操作された場合にのみ、前記同時押し機能の実行を指示するので、ＯＮエッジからＯＦＦエッジまでの時間が長くゆっくりとしたスイッチ操作を行ったとしても、スイッチの反応が遅くなることは無く、従来の違和感を解消することができる。
請求項４〜６に記載の発明によれば、２つの異なるスイッチが同時にオン操作された場合にある機能の実行を指示する同時押し機能と、第１の待ち時間オン操作を持続させた場合にオフ操作されるまで一定時間の間隔で複数回オン操作された時と同じ動作の繰り返しを指示するリピート機能と、オン操作から第２の待ち時間を超えた場合にある機能の実行を指示する押し続け機能とを所定スイッチに割り当てておき、この所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第１の待ち時間が経過するまでオン操作を持続させた場合にはリピート機能の実行を指示し、一方、前記所定スイッチと対に同時押し機能が割り当てられるスイッチがオン操作されず同時押しが成立しない状態で、その所定スイッチを第２の待ち時間が経過するまでオン操作を持続させた場合に押し続け機能の実行を指示するようにしたので、「同時押し操作」を割り当てたスイッチに「押し続け操作」や「リピート操作」も同時に割り当てることができる。
請求項７〜９に記載の発明によれば、スイッチ操作に応じて、そのスイッチに対応付けられた機能の実行を最優先順位で指示するスイッチ制御処理と、このスイッチ制御処理が実行を指示した機能の実行状態を一定時間毎に制御するタイマスイッチ実行処理とを有し、前記スイッチ制御処理が機能の実行を最優先順位で指示した場合、それより優先順位の低いタイマスイッチ実行処理の動作を制限するマルチタスク制御を行うので、「リピート操作」が実行中であっても、その完了を待たずに即座に通常のスイッチ操作に対応することができる。
【図面の簡単な説明】
【図１】本発明による一実施例の全体構成を示すブロック図である。
【図２】表示装置３ａに表示される表示画面の一例を示す図である。
【図３】ＣＰＵ７が実行するマルチタスクの構成を示す図である。
【図４】ＲＯＭ８に記憶される主要なデータの構成を示す図である。
【図５】ＲＡＭ９に格納されるスイッチ制御データの構成を説明するための図である。
【図６】ＲＡＭ９に格納されるロータリーエンコーダ制御データの構成を説明するための図である。
【図７】ＲＡＭ９に格納される表示制御データの一例を示す図である。
【図８】ＲＡＭ９に格納される表示制御データの一例を示す図である。
【図９】ＲＡＭ９に格納される表示制御データの一例を示す図である。
【図１０】スイッチ制御処理の動作を示すフローチャートである。
【図１１】スイッチ制御処理の動作を示すフローチャートである。
【図１２】タイマキャンセル処理の動作を示すフローチャートである。
【図１３】タイマストップ処理の動作を示すフローチャートである。
【図１４】ＳｈｏｒｔＷａｉｔ確定待ちセット処理の動作を示すフローチャートである。
【図１５】タイマスタート処理の動作を示すフローチャートである。
【図１６】リピート確定待ちセット処理の動作を示すフローチャートである。
【図１７】押し続け確定待ちセット処理の動作を示すフローチャートである。
【図１８】タイマスイッチ実行処理の動作を示すフローチャートである。
【図１９】タイマスイッチ実行処理の動作を示すフローチャートである。
【図２０】タイマスイッチ実行処理の動作を示すフローチャートである。
【図２１】押し続け機能スイッチ処理の動作を示すフローチャートである。
【図２２】リピート確定動作を示すフローチャートである。
【図２３】リピート機能スイッチ処理の動作を示すフローチャートである。
【図２４】「同時押し機能」、「ＳｈｏｒｔＷａｉｔ機能」および「リピート機能」が割り当てられたスイッチｎの動作タイミングを示す図である。
【図２５】「同時押し機能」、「押し続け機能」および「キャンセル可能ＯＦＦエッジ機能」が割り当てられたスイッチｎの動作タイミングを示す図である。
【図２６】ロータリーエンコーダ制御処理の動作を示すフローチャートである。
【図２７】タイマＲＥ処理の動作を示すフローチャートである。
【図２８】表示制御（１）処理の動作を示すフローチャートである。
【図２９】ガイダンス付表示更新（１）処理の動作を示すフローチャートである。
【図３０】ガイダンス付表示更新（２）処理の動作を示すフローチャートである。
【図３１】表示変更（１）処理の動作を示すフローチャートである。
【図３２】表示制御（２）処理の動作を示すフローチャートである。
【図３３】表示変更（２）処理の動作を示すフローチャートである。
【符号の説明】
１  パネルスイッチ
２  スイッチ操作検出回路
３  表示部
４  鍵盤部
５  ＭＩＤＩインタフェース
６  ロータリーエンコーダ
７  ＣＰＵ
８  ＲＯＭ
９  ＲＡＭ
１０  音源装置
１１  サウンドシステム
【図１】
2004151410.tif 000003
【図２】
2004151410.tif 000004
【図３】
2004151410.tif 000005
【図４】
2004151410.tif 000006
【図５】
2004151410.tif 000007
【図６】
2004151410.tif 000008
【図７】
2004151410.tif 000009
【図８】
2004151410.tif 000010
【図９】
2004151410.tif 000011
【図１０】
2004151410.tif 000012
【図１１】
2004151410.tif 000013
【図１２】
2004151410.tif 000014
【図１３】
2004151410.tif 000015
【図１４】
2004151410.tif 000016
【図１５】
2004151410.tif 000017
【図１６】
2004151410.tif 000018
【図１７】
2004151410.tif 000019
【図１８】
2004151410.tif 000020
【図１９】
2004151410.tif 000021
【図２０】
2004151410.tif 000022
【図２１】
2004151410.tif 000023
【図２２】
2004151410.tif 000024
【図２３】
2004151410.tif 000025
【図２４】
2004151410.tif 000026
【図２５】
2004151410.tif 000027
【図２６】
2004151410.tif 000028
【図２７】
2004151410.tif 000029
【図２８】
2004151410.tif 000030
【図２９】
2004151410.tif 000031
【図３０】
2004151410.tif 000032
【図３１】
2004151410.tif 000033
【図３２】
2004151410.tif 000034
【図３３】
2004151410.tif 000035