(57)【特許請求の範囲】
【請求項１】
キーボードに設けられ、
該キーボードのいずれのキーにおいても、押したときから離すまで、或いは押したときから次のキーが押されるまでは、その押したキーを特定するキーコードを含む第５のデータと該キーコードに識別コードを付加した第６のデータとを周期的に作成して送信する第４のキーコード作成手段と、
押したキーが離されたときは、その離されたキーを特定するキーコードを含む第７のデータと該キーコードに識別コードを付加した第８のデータとを作成して送信する第５のキーコード作成手段と、
該キーボードの１つ或いは複数のキーが押され続ける間は、キーが押されていることを特定するキーコードを含む第９のデータと該キーコードに識別コードを付加した第１０のデータとを周期的に作成して送信する第６のキーコード作成手段と、
前記１つ或いは複数のキーが全て離されたときはキーが離されたことを特定するキーコードを含む第１１のデータと該キーコードに識別コードを付加した第１２のデータとを作成して送信する第７のキーコード作成手段と、
前記第５及び前記第６のデータ、或いは前記第７及び前記第８のデータ、或いは前記第９及び前記第１０のデータ、或いは前記第１１及び前記第１２のデータを受信し、それらのデータに含まれる前記キーコードを相互に照合して前記キーコードの適否を判定する第２の判定手段と、
前記第５及び前記第６のデータ、或いは前記第７及び前記第８のデータ、或いは前記第９及び前記第１０のデータ、或いは前記第１１及び前記第１２のデータを受信し、それらのデータを受信した時系列に従いキーコードに戻すことにより、いずれのキーが押され続けているか／いないかを判断する判断手段と、
を備えることを特徴とするキーボードを用いた入力装置。
【請求項２】
請求項１に記載のキーボードを用いた入力装置において、
前記キーボードの特殊キー、或いは非特殊キー、或いは特殊キー及び非特殊キーの組合せを、前記キーボード上に専用キーとして設けた専用キーにキーコードを割り付ける手段と、
割り付けられた該専用キーが押されている間は、その他のキーの入力を無視する受信手段と
を備えることを特徴とするキーボードを用いた入力装置。
【請求項３】
キーボードの任意のキーが押されたときに、その押されたキーを特定するキーコードを含む第５のデータと該キーコードに識別コードを付加した第６のデータとを作成して送信し、
押され続けている間は、前記第５及び前記第６のデータを周期的に作成して送信し、
該キーボードの他のキーが押されたとき、或いは押しているキーが離されたときはその離されたキーを特定するキーコードを含む第７のデータと該キーコードに識別コードを付加した第８のデータとを作成して送信し、
前記任意のキー或いは前記他のキーが押され続ける間は、キーが押されていることを特定するキーコードを含む第９のデータと該キーコードに識別コードを付加した第１０のデータとを周期的に作成して送信し、キーが全て離されたときはキーが離されたことを特定するキーコードを含む第１１のデータと該キーコードに識別コードを付加した第１２のデータとを作成して送信し、
前記第５及び前記第６のデータ、或いは前記第７及び前記第８のデータ、或いは前記第９及び前記第１０のデータ、或いは前記第１１及び前記第１２のデータを受信し、それらのデータに含まれる前記キーコードを相互に照合して前記キーコードの適否を判定し、判定結果に基づいて受信したデータを、時系列に従いキーコードに戻すことにより、いずれのキーが押され続けているか／いないかを判断すること
を特徴とするキーボードを用いた入力方法。
【請求項４】
請求項３に記載のキーボードを用いた入力方法において、
前記キーボードの特殊キー、或いは非特殊キー、或いは特殊キー及び非特殊キーの組合せを、前記キーボード上に専用キーとして設けた専用キーにキーコードを割り付け、割り付けられた該専用キーが押されている間は、その他のキーの入力を無視すること
を特徴とするキーボードを用いた入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はキーボードを用いた入力装置及び入力方法に関し、特に継続してキーを押し続ける間は定周期で任意の処理を実行させる動作（以下、アナログ操作と呼ぶ）の動作応答を向上させた入力装置及び入力方法に関する。
【背景技術】
【０００２】
プラント監視制御システムなどの分散制御システム（ＤＣＳ：distributed control system）では、オペレータが監視及び操作を行うためのＨＭＩ（human machine interface）手段として、専用キーボードが使用される。このようなシステムに用いられる専用キーボードは、ノイズ等によるキー入力データの変化が事故の発生につながることもあるため、送受信間でのデータに高い信頼性が要求される。
【０００３】
近年、ＤＣＳにおいてはパソコンを用いてシステムを構築することが多く、上記専用キーボードのインターフェースとしてＰＳ／２インターフェースが使用されるようになってきた。しかし、ＰＳ／２インターフェースは、通信伝文中に巡回冗長検査やチェックサム等の伝送データを保障するためのデータを有していないので、特に、専用キーボードがパソコン本体から離れた位置に設置されて、それら相互を接続するケーブルが長くなるときは、パソコン本体において信頼性の高いキーコードを得られなくなるおそれがある。
【０００４】
そこで、キーの押圧時にキーコードをコンピュータに伝送するとともに、キーの押圧解除時にキーコードに関する認証データをコンピュータに伝送し、コンピュータ側でこのキーコードのデータと認証データとを照合するという技術が提案されている（例えば、特許文献１参照）。この技術によれば、例えば、ノイズによりキーコードが変化したときに、そのキー入力データの誤りをコンピュータ側で判定することが可能になる。
【特許文献１】特開２００４−１９２６０５号広報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来の技術方法では、キーの押圧解除時点がキーコードの入力時点になるので、オペレータがキー操作時に違和感やストレスを感じることがある。また、アナログ操作中であるかどうかの判定処理に対応できない。
【０００６】
本発明は、上記問題点を鑑み、キーコードの伝送品質を確保しつつ、アナログ操作を可能にしたキーボードを用いた入力装置及び入力方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記の課題を解決する手段として、本発明は以下のように構成する。
【０００９】
第１に、キーボードに設け、該キーボードのいずれのキーにおいても、押したときから離すまで、或いは押したときから次のキーが押されるまでは、その押したキーを特定するキーコードを含む第５のデータと該キーコードに識別コードを付加した第６のデータとを周期的に作成して送信する第４のキーコード作成手段と、押したキーが離されたときは、その離されたキーを特定するキーコードを含む第７のデータと該キーコードに識別コードを付加した第８のデータとを作成して送信する第５のキーコード作成手段と、該キーボードの１つ或いは複数のキーが押され続ける間は、キーが押されていることを特定するキー
コードを含む第９のデータと該キーコードに識別コードを付加した第１０のデータとを周期的に作成して送信する第６のキーコード作成手段と、前記１つ或いは複数のキーが全て離されたときはキーが離されたことを特定するキーコードを含む第１１のデータと該キーコードに識別コードを付加した第１２のデータとを作成して送信するする第７のキーコード作成手段と、前記第５及び前記第６のデータ、或いは前記第７及び前記第８のデータ、或いは前記第９及び前記第１０のデータ、或いは前記第１１及び前記第１２のデータを受信し、それらのデータに含まれる前記キーコードを相互に照合して前記キーコードの適否
を判定する第２の判定手段と、前記第５及び前記第６のデータ、或いは前記第７及び前記第８のデータ、或いは前記第９及び前記第１０のデータ、或いは前記第１１及び前記第１２のデータを受信し、それらのデータを受信した時系列に従いキーコードに戻すことにより、いずれのキーが押され続けているか／いないかを判断する判断手段と、を機能させるように構成する。
【００１０】
第２に、上記の第１に加えて、前記キーボードの特殊キー、或いは非特殊キー、或いは特殊キー及び非特殊キーの組合せを、前記キーボード上に専用キーとして設けた専用キーにキーコードを割り付ける手段と、割り付けられた該専用キーが押されている間は、その他のキーの入力を無視する受信手段と、を機能させるように構成する。
【００１２】
第３に、キーボードの任意のキーが押されたときに、その押されたキーを特定するキーコードを含む第５のデータと該キーコードに識別コードを付加した第６のデータとを作成して送信し、押され続けている間は、前記第５及び前記第６のデータを周期的に作成して送信し、該キーボードの他のキーが押されたとき、或いは押しているキーが離されたときはその離されたキーを特定するキーコードを含む第７のデータと該キーコードに識別コードを付加した第８のデータとを作成して送信し、前記任意のキー或いは前記他のキーが押され続ける間は、キーが押されていることを特定するキーコードを含む第９のデータと該
キーコードに識別コードを付加した第１０のデータとを周期的に作成して送信し、キーが全て離されたときはキーが離されたことを特定するキーコードを含む第１１のデータと該キーコードに識別コードを付加した第１２のデータとを作成して送信し、前記第５及び前記第６のデータ、或いは前記第７及び前記第８のデータ、或いは前記第９及び前記第１０のデータ、或いは前記第１１及び前記第１２のデータを受信し、それらのデータに含まれる前記キーコードを相互に照合して前記キーコードの適否を判定し、判定結果に基づいて受信したデータを、時系列に従いキーコードに戻すことにより、いずれのキーが押され続
けているか／いないかを判断する。
【００１３】
第４に、上記の第３に加えて、前記キーボードの特殊キー、或いは非特殊キー、或いは特殊キー及び非特殊キーの組合せを、前記キーボード上に専用キーとして設けた専用キーにキーコードを割り付け、割り付けられた該専用キーが押されている間は、その他のキーの入力を無視する。
【発明の効果】
【００１４】
本発明によれば、キーの押圧操作と同時に、キー入力データの適否を判定することができるので、キーデータの入力遅れに伴う違和感やストレスを受けることがない。また、キーの押圧時、押圧中、押圧解除の各時点でキー入力データの適否を判定するので信頼性が高くなる。加えて、アナログ操作中は、周期的にキー入力データを送信するのでアナログ操作中かどうかが判別可能になる。
【００１５】
更に、複数のキーにおいてアナログ操作中のときは、全てのアナログ操作中のキー入力データを周期的に送信するのではなく、必要なキー入力データのみを送信することにしたので、システムの負荷量も少なくて済む。また、アナログ操作中は、通常のキー操作を受けつけなくし、誤った操作を回避している。
【発明を実施するための最良の形態】
【００１６】
図３は、本発明における入力装置に適用されたＨＭＩ、つまり、監視対象設備とオペレータとの間におけるインターフェース装置を示している。
【００１７】
このＨＭＩ３０は、監視用モニタ３２、専用キーボード３４、ＨＭＩ本体としてのコンピュータ３６、専用キーボード３４とコンピュータ３６とを接続するＰＳ／２インターフェースケーブル３８、および制御用ＬＡＮ４０を備えている。監視用モニタ３２では、専用キーボード３４で入力したデータや制御ＬＡＮ４０を経由して収集した監視対象機器の動作状態を示すデータ等が表示される。
【００１８】
図４は、本発明における入力装置が有するキーコードの発生機構の一例を示している。任意のキー４２では、押されたり離されたりすると、該キー４２に付設された図示していないスイッチがそれぞれオン／オフされることにより信号を送信し、この信号に応じて、キーコード発生器４４よりキーコードを含むデータを生成する。
【００１９】
図５は、本発明における入力装置におけるキーの名称とキーコードの割り付けの一例を示している。また、図６は、キーコードと本発明で作成するデータの関係の一例を示している。ここでは、一定時間キーを押し続けることにより計器の値を上昇させる事を目的としたUP-1、UP-2、UP-3、UP-4、…の専用キー群、同じく計器の値を降下させる事を目的としたDOWN-1、DOWN-2、DOWN-3、DOWN-4、…の専用キー群を設ける。専用キーボード３４上において、例えば、これらの専用キーを上下に組として設置することにより、オペレータにアナログ操作を意識させることができる。これらの専用キーには、既存のキーコードを割り付ける。ここで言うキーコードとは、通常はキーボード上の全てのキーに割り当てられており、“Shift”、“Ctrl”、“Alt”等の他のキーとの組み合わせての使用を主とする特殊キーのキーコードと、その他の非特殊キー（例えば、英数字キーやファンクションキーＦ１〜Ｆ１２）のキーコードからなる。図５の割り付け例では、例えば、専用キーUP-1には、押したときのキーコードとして特殊キー“Ctrl”と非特殊キー“1”を、離したときのキーコードとして特殊キー“Ctrl”と非特殊キー“Q”を割り付けている。なお、ここではアナログ操作用として専用キーを用意したが、従来のキーボードの任意のキーをアナログ操作に用いても構わない。
【００２０】
ところでキーボードのインターフェースにおいては、キーボードの信号を送受信するコードセットとして、コードセット“Scan Code Set 1”、“Scan Code Set 2”、“Scan Code Set 3”の３種類がある。ここでは、ＰＣ／ＡＴ互換機において一般的に使用されている“Scan Code Set 2”を使用する。“Scan Code Set 2”では、第１のデータに１バイトのときは、第２のデータに２バイトを使用する。具体的には、例えば、オペレータがキー４２として“1”を押したときは、図６（ａ）に示すように、１バイトのキーコード１６が第１のデータとして作成され、さらに、このキーコード１６に１バイトの識別コードＦ０を付加した２バイトのキーコードＦ０・１６が第２のデータとして作成される。図６（ｂ）、（ｃ）は特殊キー及び非特殊キーが組み合わされたときの一例になる。“Ctrl”と“1”を押したときは、キーコード１４とキーコード１６が第１のデータとして作成され、それぞれに識別コードＦ０を付加したキーコードＦ０・１４とキーコードＦ０・１６が第２のデータとして作成される。そこで、第１のデータに２バイト、第２のデータに４バイトを使用する。以降、図６（ｄ）、（ｅ）、（ｆ）、（ｇ）も同様にしてデータを作成する。ここで、第１のデータ１４・１６に対して、第２のデータＦ０・１６・Ｆ０・１４では、キーコード１４、１６の順が入れ替わっているが、後述の判定手順におけるフローにおける処理量を軽減させることを配慮してのことだが、正順でも構わなく、これは発明を限定するものでは無い。
【実施例１】
【００２１】
本発明の実施例１を、機能で大別すると、キーコードの作成・送信部と受信部に分かれる。ここでは一例として、任意の専用キーをアナログ操作した場合について説明する。
（１）始めにキーコードの作成・送信部を説明する。
【００２２】
図２は、専用キーのアナログ操作とキーコードに対応したデータの発生タイミングの関係の一例を説明した図である。ここでは、時刻T1において専用キーUP-1を押し、時刻T2に離している。専用キーUP-1には、押したときのキーコードとして“Ctrl”と“1”、離したときのキーコードとして“Ctrl”と“Q”が割り付けられている（図５参照）。
【００２３】
専用キーUP-1が押された後に、キーコード発生器４４は、専用キーUP-1に割り付けられたキーを押したときのキーコードを含むデータを作成し送信する。ここで、押したときのキーコードである“Ctrl”と“1”を特定することのできるデータは１４・１６とし、識別コードを付加したデータはＦ０・１６・Ｆ０・１４とする（図６（ｂ）参照）。これらのデータは、公用技術のMAKE／BREAKを拡張したものであり、組で送信するものなので、以後、１４・１６／Ｆ０・１６・Ｆ０・１４と記述する。
【００２４】
図２の塗りつぶしの上矢印は、上記データが送信されるタイミングを示している。これらのデータは時刻T2でキーが離されるまで周期的に送信される。この周期は任意に設定が可能であり、例えば、1msecで等間隔にして良いし、10msec・100msec・10msec・・・のような一定のルールに従い設定しても良い。時刻T2でキーが離された後に、キーコード発生器４４は、専用UP-1に割り付けられたキーを離したときのキーコードを含むデータを作成し送信する。ここで、離したときのキーコードである“Ctrl”と“Q”を特定することのできるデータは１４・１５とし、識別コードを付加したデータはＦ０・１５・Ｆ０・１４とする（図６（ｃ）参照）。
【００２５】
以上のステップにより、コードはデータとして送信される。
（２）次にキーコードの受信部を説明する。
【００２６】
前述の作成・送信部から、１４・１６／Ｆ０・１６・Ｆ０・１４、或いは１４・１５／Ｆ０・１５・Ｆ０・１４が送信されてくるので、受信部ではこれらのデータからキーコードを抽出する。
【００２７】
図７は、受信部におけるキーコードを抽出するフローを説明した図である。また図９は、記憶領域内の記憶データを説明した図である。図９のShiftフラグ、Ctrlフラグ、Altフラグは、それぞれ“Shift”、“Ctrl”、“Alt”キーが押されているか否かを判別する情報が入力されるものであり、一方で、キーコード記憶領域には、キーコードの値が入力される。初期化したときには、例えば0が代入される。
【００２８】
ところで、図３に示すケーブル３８等で伝送路上の送信中にデータの変化がないときは、前述の１４・１６／Ｆ０・１６・Ｆ０・１４、或いは１４・１５／Ｆ０・１５・Ｆ０・１４を受け取る。両者のフローは同じになるので、ここでは１４・１６／Ｆ０・１６・Ｆ０・１４が送られてきたときの処理を説明する。
【００２９】
まず初期動作として、コンピュータ３６に設けられた、図９に示す記憶領域６０を初期化し（ステップ５０２）、その後、最初の１バイトのコードを受けとるとともに、その受けとったコードが識別コードであるか否かを判断する（ステップ５０４、５０６）。最初の１バイトのコードは、１４である。ここで１４は識別コードではないので、ステップ５０６の判断結果がＮＯになる。そこで、次に１４が特殊キー（Shift、Ctrl、Alt等）に係るものであるか否かを判断する（ステップ５１８）。１４は、特殊キーに係るものではないため、ステップ５１８の判断結果はＮＯである。そこで、当該キーコード１４が記憶領域６０のキーコード記憶領域に記憶される（ステップ５２２）。ステップ５２２の処理が終了すると、次のコードがあるか否かを判定する（ステップ５１２）。ここでは１６が続くのでステップ５１２の判断結果はＹＥＳであり、処理を続ける。
【００３０】
手順が前記ステップ５０４に戻されて、次の１バイトのコードを受けとるとともに、その受けとったコードが識別コードであるか否かを判断する（ステップ５０４、５０６）。次の１バイトのコードは、１６である。ここで１６は識別コードではないので、ステップ５０６の判断結果がＮＯになる。そこで、次に１６が特殊キー（Shift、Ctrl、Alt等）に係るものであるか否かを判断する（ステップ５１８）。キーコード１６は、特殊キーに係るものなので、ステップ５１８の判断結果はＹＥＳである。そこで、記憶領域６０において、キーコード１６は“Ctrl”なので、Ctrlフラグを１にする（ステップ５２０）。ステップ５２０の処理が終了すると、次のコードがあるか否かを判定する（ステップ５１２）。ここではＦ０が続くのでステップ５１２の判断結果はＹＥＳであり、処理を続ける。
【００３１】
手順が前記ステップ５０４に戻されて、次の１バイトのコードを受けとるとともに、その受けとったコードが識別コードであるか否かを判断する（ステップ５０４、５０６）。次の１バイトのコードは、Ｆ０である。ここでＦ０は識別コードなので、ステップ５０６の判断結果がＹＥＳになる。そこで、さらに次の１バイトのキーコードを受けとる（ステップ５０８）。受けとった１バイトのコードは、１６である。そこで、次に１６が特殊キー（Shift、Ctrl、Alt等）に係るものであるか否かを判断する（ステップ５１０）。ここで１６は特殊キーに係るものではないため、ステップ５１０の判断結果がＮＯになる。そこで、受けとったキーコード１６が前記ステップ５２２で記憶領域６０のキーコード記憶領域に記憶されたキーコードと同一か否かを判断する（ステップ５１４）。記憶領域に記憶されたキーコードは１６、受けとったキーコードも１６で同一なので、ステップ５１４の判断結果はＹＥＳになる。そこで、１６をキーコードとして受信する。また、記憶領域６０の各フラグにおいて、その値が1のフラグの特殊キーは押されていると判断する（ステップ５１６）。
【００３２】
以上のステップにより、データは照合され、受信側でも“Ctrl”と“1”が特定される。
（３）キーコードの受信部の他の一例を説明する。
【００３３】
図８は、受信部におけるキーコードを抽出するフローを説明した図である。図７との相違点は、特殊キーを全て受信するまで処理を継続することにより、信頼性を向上させている点にある。この図８のフローチャートにおいて、ステップ７０２〜７１０は、図７のステップ５０２〜５１０にそれぞれ対応し、ステップ７３０と７３２は、図７のステップ５１８と５２２にそれぞれ対応、ステップ７２０と７２６は、図７のステップ５１４と５１６にそれぞれ対応している。また図１０は、記憶領域内の記憶データを説明した図であり、図９にキーフラグを追加している。キーフラグでは、非特殊キーが押されているかを判別する情報が入力されるものであり、初期化したときには、例えば0が代入される。
【００３４】
ここでは１４・１６／Ｆ０・１６・Ｆ０・１４が送られてきたときの処理を説明する。
【００３５】
まず初期動作として、コンピュータ３６に設けられた、図１０に示す記憶領域８０を初期化し（ステップ７０２）、そののち、最初の１バイトのコードを受けとるとともに、その受けとったコードが識別コードであるか否かを判断する（ステップ７０４、７０６）。最初の１バイトのコードは、１４である。ここで１４は識別コードではないので、ステップ７０６の判断結果がＮＯになる。そこで、記憶領域８０において、該当するフラグであるキーフラグを１にする（ステップ７２８）。次に１４が特殊キー（Shift、Ctrl、Alt等）に係るものであるか否を判断する（ステップ７３０）。キーコード１４は、特殊キーに係るものではないため、ステップ７３０の判断結果はＮＯである。そこで、当該キーコード１４が記憶領域８０のキーコード記憶領域に記憶される（ステップ７３２）。ステップ７３２の処理が終了すると、次のコードがあるか否かを判定する（ステップ７３４）。ここでは１６が続くのでステップ７３４の判断結果はＹＥＳであり、処理を続ける。
【００３６】
手順が前記ステップ７０４に戻されて、次の１バイトのコードを受けとるとともに、その受けとったコードが識別コードであるか否かを判断する（ステップ７０４、７０６）。次の１バイトのコードは、１６である。ここで１６は識別コードではないので、ステップ７０６の判断結果がＮＯになる。そこで、記憶領域８０において、該当するフラグであるCtrlフラグを１にする（ステップ７２８）。次に１６が特殊キー（Shift、Ctrl、Alt等）に係るものであるか否かを判断する（ステップ７３０）。キーコード１６は、特殊キーに係るものなので、ステップ７３０の判断結果はＹＥＳである。そこで、次のコードがあるか否かを判定する（ステップ７３４）。ここではＦ０が続くのでステップ７３４の判断結果はＹＥＳであり、処理を続ける。
【００３７】
手順が前記ステップ７０４に戻されて、次の１バイトのコードを受けとるとともに、その受けとったコードが識別コードであるか否かを判断する（ステップ７０４、７０６）。次の１バイトのコードは、Ｆ０である。ここでＦ０は識別コードなので、ステップ７０６の判断結果がＹＥＳになる。そこで、さらに次の１バイトのキーコードを受けとる（ステップ７０８）。受けとった１バイトのコードが特殊キー（Shift、Ctrl、Alt等）に係るものであるか否かを判断する（ステップ７１０）。受けとったキーコード１６は特殊キー係るものではないので、ステップ７１０の判断結果がＮＯになる。そこで、受けとった１６が前記ステップ７３２で記憶領域８０のキーコード記憶領域に記憶されたキーコードと同一か否かを判断する（ステップ７２０）。記憶領域に記憶されたキーコードは１６、受けとったキーコードも１６で同一なので、ステップ７２０の判断結果はＹＥＳになる。そこで、記憶領域８０において、該当するフラグであるキーフラグを2にする（ステップ７２２）。次に全ての特殊キーのフラグが0か否かを判断する（ステップ７２４）。ここで、記憶領域８０のキーコード記憶領域に記憶された全ての特殊キーのフラグが0ではないので、ステップ７２４の判断結果がＮＯになる。そこで、次のコードがあるか否かを判定する（ステップ７３４）。ここではＦ０が続くのでステップ７３４の判断結果はＹＥＳであり、処理を続ける。
【００３８】
手順が前記ステップ７０４に戻されて、次の１バイトのコードを受けとるとともに、その受けとったコードが識別コードであるか否かを判断する（ステップ７０４、７０６）。次の１バイトのコードは、Ｆ０である。ここでＦ０は識別コードなので、ステップ７０６の判断結果がＹＥＳになる。そこで、さらに次の１バイトのキーコードを受けとる（ステップ７０８）。受けとった１バイトのコードが特殊キー（Shift、Ctrl、Alt等）に係るものであるか否かを判断する（ステップ７１０）。受けとったキーコード１４は特殊キーに係るものなので、ステップ７１０の判断結果がＹＥＳになる。そこで、該当するフラグが0か否かを判断する（ステップ７１２）。ここで、記憶領域８０において、該当するフラグであるCtrlフラグは１なので、ステップ７１２の判断結果がＮＯになる。次に最後のコードか否かを判断する（ステップ７１４）。これは最後のコードなので、ステップ７１４の判断結果がＹＥＳになる。そこで、受信処理を行う。まず、記憶領域８０のキーコード記憶領域に記憶されている１６をキーコードとして受信する。また、記憶領域８０の各フラグにおいて、その値が1以上のフラグの特殊キーは押されていると判断する（ステップ７１６）。その後、次のコードがあるか否かを判定する（ステップ７３４）。続くコードは無いのでステップ７３４の判断結果はＮＯであり、処理を終了する。
【００３９】
以上のステップにより、データは照合され、受信側でも“Ctrl”と“1”が特定される。
【実施例２】
【００４０】
本発明の実施例２を、機能で大別すると、キーコードの作成・送信部と受信部に分かれる。また受信部はキーコードを正常に受信したかの判定部を有する。ここでは一例として、任意の専用キーをアナログ操作した場合について説明する。
（１）始めにキーコードの作成・送信部を説明する。
【００４１】
図１は、専用キーのアナログ操作とキーコードに対応したデータの発生タイミングの関係の一例を説明した図である。時刻T1において専用キーUP-1を押し、更に時刻T2において専用キーUP-2を押し、時刻T3において専用キーUP-2離して、最後に時刻T4において専用キーUP-1を離している。専用キーUP-1には、押したときのキーコードとして“Ctrl”と“1”、離したときのキーコードとして“Ctrl”と“Q”が割り付けられており、専用キーUP-2には、押したときのキーコードとして“Ctrl”と“2”、離したときのキーコードとして“Ctrl”と“W”が割り付けられている（図５参照）。また、アナログ操作特有のキーが押されて続けている事を判別する内部キーをRepeatキーと呼称することにする。このRepeatキーは、特定のキーに付随するものではなく、いずれかのキーが一つでも押され続けるときを対象とする。Repeatキーには、押したときのキーコードとして“Ctrl”と“P”、離したときのキーコードとして“Ctrl”と“L”が割り付けられている（図５参照）。
【００４２】
実施例１と同様に、各キーの操作に対応して図６（ｂ）、（ｃ）、（ｄ）、（ｅ）、（ｆ）、（ｇ）のデータが作成される。図１１は、キーコードからデータを作成・送信するフローを説明した図である。フローで示すアナログキーとは、アナログ操作するキーを対象としており、ここでは専用キーを指すが、前述した通り、従来のキーボードの任意のキーをアナログキーとして用いても構わない。以下、図１で示すようなアナログ操作について、図１１のフローの処理を説明する。
・時刻T1
まず時刻T1になり専用キーUP-1が押される。ここでキーが押されているので、ステップ２０２の判断結果がＹＥＳになる（ステップ２０２）。また、ここではアナログキーが押されているので、ステップ２０４の判断結果がＹＥＳになる（ステップ２０４）。専用キーUP-1は新たに押されたキーなので、ステップ２０６の判断結果がＹＥＳになる（ステップ２０６）。ここでキーコード発生器４４は、新しいアナログキーとして、専用キーUP-1を押したときのキーコードである１４・１６／Ｆ０・１６・Ｆ０・１４を送信する（ステップ２０８）。次にRepeatキーの開始として、押したときのコードである１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４を送信する（ステップ２１０）。ここで、一定時間として前述の周期（例えば、1msecで等間隔にして良いし、10msec・100msec・10msec・・・のような一定のルールに従い設定しても良い。）が経過するまで待機する（ステップ２３２）。
・時刻T1〜時刻T2
前記周期の時間が経過後、手順が前記ステップ２０２に戻される。この時点の時刻が、時刻T1〜時刻T2の間であるとする。ここでキーが押されているので、ステップ２０２の判断結果がＹＥＳになる（ステップ２０２）。また、ここではアナログキーが押されているので、ステップ２０４の判断結果がＹＥＳになる（ステップ２０４）。専用キーUP-1以降は新たに押されたわけではないので、ステップ２０６の判断結果がＮＯになる（ステップ２０６）。専用キーUP-1は前回送信から押され続けているので、ステップ２１２の判断結果がＹＥＳになる（ステップ２１２）。ここでキーコード発生器４４は、アナログキーとして、専用キーUP-1を押したときのキーコードである１４・１６／Ｆ０・１６・Ｆ０・１４を送信する（ステップ２１４）。専用キーは離されていないので、ステップ２１６の判断結果がＮＯになる（ステップ２１６）。次にRepeatキーとして、押したときのコードである１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４を送信する（ステップ２１０）。ここで、一定時間経過するまで待機する（ステップ２３２）。
・時刻T2
前記周期の時間が経過後、手順が前記ステップ２０２に戻される。この時点の時刻が、時刻T2だとする。ここでは、新たに専用キーUP-2が押される。ここでキーが押されているので、ステップ２０２の判断結果がＹＥＳになる（ステップ２０２）。また、ここではアナログキーが押されているので、ステップ２０４の判断結果がＹＥＳになる（ステップ２０４）。専用キーUP-2は新たに押されたキーなので、ステップ２０６の判断結果がＹＥＳになる（ステップ２０６）。ここでキーコード発生器４４は、新しいアナログキーとして、専用キーUP-2を押したときのキーコードである１４・２６／Ｆ０・２６・Ｆ０・１４を送信する（ステップ２０８）。次にRepeatキーとして、押したときのコードである１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４を送信する（ステップ２１０）。ここで、一定時間経過するまで待機する（ステップ２３２）。
・時刻T2〜T3
前記周期の時間が経過後、手順が前記ステップ２０２に戻される。この時点の時刻が、時刻T2〜時刻T3の間だとする。ここでキーが押されているので、ステップ２０２の判断結果がＹＥＳになる（ステップ２０２）。また、ここではアナログキーが押されているので、ステップ２０４の判断結果がＹＥＳになる（ステップ２０４）。専用キーUP-2以降は新たに押されたわけではないので、ステップ２０６の判断結果がＮＯになる（ステップ２０６）。専用キーUP-2は前回送信から押され続けているので、ステップ２１２の判断結果がＹＥＳになる（ステップ２１２）。ここでキーコード発生器４４は、アナログキーとして、専用キーUP-2を押したときのキーコードである１４・２６／Ｆ０・２６・Ｆ０・１４を送信する（ステップ２１４）。専用キーは離されていないので、ステップ２１６の判断結果がＮＯになる（ステップ２１６）。次にRepeatキーとして、押したときのコードである１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４を送信する（ステップ２１０）。ここで、一定時間経過するまで待機する（ステップ２３２）。
・時刻T3
前記周期の時間が経過後、手順が前記ステップ２０２に戻される。この時点の時刻が、時刻T3だとする。ここでは、専用キーUP-2が離される。ここでキーが押されているので、ステップ２０２の判断結果がＹＥＳになる（ステップ２０２）。また、ここではアナログキーが押されているので、ステップ２０４の判断結果がＹＥＳになる（ステップ２０４）。専用キーUP-2以降は新たに押されたわけではないので、ステップ２０６の判断結果がＮＯになる（ステップ２０６）。専用キーUP-2は前回送信から離されたので、ステップ２１２の判断結果がＮＯになる（ステップ２１２）。専用キーUP-2が離されてたので、ステップ２１６の判断結果がＹＥＳになる（ステップ２１６）。ここでキーコード発生器４４は、、アナログキーとして、専用キーUP-2を離したときのキーコードである１４・１Ｄ／Ｆ０・１Ｄ・Ｆ０・１４を送信する（ステップ２１８）。次にRepeatキーとして、押したときのコードである１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４を送信する（ステップ２１０）。ここで、一定時間経過するまで待機する（ステップ２３２）。
・時刻T3〜T4
前記周期の時間が経過後、手順が前記ステップ２０２に戻される。この時点の時刻が、時刻T3〜時刻T4の間だとする。ここでキーが押されているので、ステップ２０２の判断結果がＹＥＳになる（ステップ２０２）。また、ここではアナログキーが押されているので、ステップ２０４の判断結果がＹＥＳになる（ステップ２０４）。専用キーUP-2以降は新たに押されたわけではないので、ステップ２０６の判断結果がＮＯになる（ステップ２０６）。専用キーUP-2は前回送信から離されたので、ステップ２１２の判断結果がＮＯになる（ステップ２１２）。専用キーは離されていないので、ステップ２１６の判断結果がＮＯになる（ステップ２１６）。次にRepeatキーとして、押したときのコードである１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４を送信する（ステップ２１０）。ここで、一定時間経過するまで待機する（ステップ２３２）。
・時刻T4
前記周期の時間が経過後、手順が前記ステップ２０２に戻される。この時点の時刻が、時刻T4だとする。ここでは、専用キーUP-1が離される。ここでキーは何も押されていないので、ステップ２０２の判断結果がＮＯになる（ステップ２０２）。専用キーUP-1が離されてたので、ステップ２２４の判断結果がＹＥＳになる（ステップ２２４）。ここでキーコード発生器４４は、、アナログキーとして、専用キーUP-1を離したときのキーコードである１４・１５／Ｆ０・１５・Ｆ０・１４を送信する（ステップ２２６）。ここで前回は専用キーUP-1が押されていたので、ステップ２２８の判断結果がＹＥＳになる（ステップ２２８）。次にRepeatキーの終了として、離したときのコードである１４・４Ｂ／Ｆ０・４Ｂ・Ｆ０・１４を送信する（ステップ２３０）。ここで、一定時間経過するまで待機する（ステップ２３２）。
【００４３】
以上のステップにより、コードはデータとして送信される。
（２）次にキーコードの受信部を説明する。
【００４４】
前述の作成・送信部から、キーコードを含んだデータが送られてくる。これらにデータは、実質上、対をなすデータで送られてくる。これらのデータを相互に照合することにより、送信中にエラーが生じていないか確認する方法は、前述した実施例１の受信部で説明したものと同様である。エラーがなく正常と判定されたデータからキーコードをどのように受信処理するかを説明する。
【００４５】
前述の作成・送信部から、専用キーUP-1を押したときのデータ、離したときのデータ、専用キーUP-2を押したときのデータ、離したときのデータ、Repeatキーを押したときのデータ、離したときのデータ、のいずれかのデータが送信される。それぞれ、
１４・１６／Ｆ０・１６・Ｆ０・１４
１４・１５／Ｆ０・１５・Ｆ０・１４
１４・２６／Ｆ０・２６・Ｆ０・１４
１４・１Ｄ／Ｆ０・１Ｄ・Ｆ０・１４
１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４
１４・４Ｂ／Ｆ０・４Ｂ・Ｆ０・１４
が相当する。受信部ではこれらからキーコードを抽出し、どのキーが押されている状態か判断する。
【００４６】
図１２は、キーコードを抽出するフローを説明した図である。また図１３は、専用キーの受信状況フラグの一例を説明した図である。ここで、専用キーの受信状況フラグ９０は、例えば、記憶領域にあるビット情報を格納するアドレス番号であり、アドレス番号4〜7には専用キーUP-1〜4を、アドレス番号12〜15には専用キーDOWN-1〜4を割り付けられている。いずれのアドレスもビット情報を格納し、TはTrue(真)、FはFalse(偽)を表し、初期の状態、或いは初期化した段階で全てのアドレスにFが格納されるものとする。そこで図１３の受信状況フラグ９０の状態は、専用キーUP-1を押したときのコードと専用キーUP-2を押したときのコードを受信中であることを意味する。
・時刻T1
まず時刻T1になり専用キーUP-1が押される。ここで送信中にエラーが無いときは、専用キーUP-1を押したときの送信部で送信したデータである１４・１６／Ｆ０・１６・Ｆ０・１４を受信する（ステップ１０２）。１４・１６／Ｆ０・１６・Ｆ０・１４は前述の判定部で“Ctrl”と“1”を正常に受信したと処理されるので、ステップ１０４の判断結果がＹＥＳになる（ステップ１０４）。キー操作が初めて処理されたときは、受信状況フラグ９０は初期状態であり、これは初期化されている状態なのでステップ１０６の判断結果がＮＯになる（ステップ１０６）。ここでは図５のように専用キーとキーコードの割り付けを設定しており、“Ctrl”と“1”は専用キーUP-1におけるアナログ操作なので、ステップ１１２の判断結果がＹＥＳになる（ステップ１１２）。ここで、受信したキーコードにより処理するが、“Ctrl”と“1”は専用キーUP-1を押したときのキーコードなので、ステップ１１６に分岐する（ステップ１１４）。これは専用キーUP-1を押したときのキーコードを受信したことになるので、受信状況フラグ９０のアドレス番号4をTにする（ステップ１１６）。その後、手順が前記ステップ１０２に戻される。
【００４７】
続けて、Repeatキーを押したときの送信部で送信したデータである１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４を受信する（ステップ１０２）。１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４は前述の判定部で“Ctrl”と“P”を正常に受信したと処理されるので、ステップ１０４の判断結果がＹＥＳになる（ステップ１０４）。受信状況フラグ９０は少なくともアドレス番号4がTなので初期状態ではない。そこでステップ１０６の判断結果がＹＥＳになる（ステップ１０６）。ここでは最後にキーが押されてから経過時間として、キーを押したときのキーコードを受信してからn秒経過したかを確認する。経過時間は、例えば、図示しない内部カウンタ等により測定する。押したときのキーコードが、最後にステップ１０４をＹＥＳで通過してからの経過時間を測定しているものとする。また、閾値としてn秒を任意に設定可能とし、通常は送信エラー等でリセットしても構わないと判断される値、例えばn=3を設定する。ここでは、n秒経過しなかったものとし、ステップ１０８の判断結果がＮＯになる（ステップ１０８）。“Ctrl”と“P”はRepeatキーによるアナログ操作の一つなので、ステップ１１２の判断結果がＹＥＳになる（ステップ１１２）。ここで、受信したキーコードにより処理するが、“Ctrl”と“P”はRepeatキーを押したときのキーコードなので、ステップ１２０に分岐する（ステップ１１４）。ここで、受信状況フラグ９０において、押したときのキーのアドレス番号がTになっているキー全てが押されている状態と判定する。アドレス番号4だけがTなので、専用キーUP-1が押されていると判定する。（ステップ１２０）。その後、手順が前記ステップ１０２に戻される。
・時刻T1〜T2
次に時刻T1〜時刻T2の間だとする。ここで１４・１６／Ｆ０・１６・Ｆ０・１４を受信すると（ステップ１０２）、前述と同様に、ステップ１０４はＹＥＳ、ステップ１０６はＹＥＳ、ステップ１０８はＮＯ、ステップ１１２はＹＥＳ、ステップ１１４は押したときのキーコードとなり、専用キーUP-1を押したときのキーコードを受信したので、対象である、受信状況フラグ９０のアドレス番号4をTで維持する（ステップ１１６）。その後、手順が前記ステップ１０２に戻される。
【００４８】
続けて、１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４を受信すると（ステップ１０２）、前述と同様に、ステップ１０４はＹＥＳ、ステップ１０６はＹＥＳ、ステップ１０８はＮＯ、ステップ１１２はＹＥＳ、ステップ１１４は押したときのキーコード(Repeat)となり、ここで、受信状況フラグ９０において、押したときのキーのアドレス番号がTになっているキー全てが押されている状態と判定する。アドレス番号4だけがTなので、専用キーUP-1が押されていると判定する（ステップ１２０）。その後、手順が前記ステップ１０２に戻される。
・時刻T2
次に時刻T2になり、１４・２６／Ｆ０・２６・Ｆ０・１４を受信すると（ステップ１０２）、前述と同様に、ステップ１０４はＹＥＳ、ステップ１０６はＹＥＳ、ステップ１０８はＮＯ、ステップ１１２はＹＥＳ、ステップ１１４は押したときのキーコードとなり、専用キーUP-2を押したときのキーコードを受信したので、対象である、受信状況フラグ９０のアドレス番号5をTにする（ステップ１１６）。その後、手順が前記ステップ１０２に戻される。
【００４９】
続けて、１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４を受信すると（ステップ１０２）、前述と同様に、ステップ１０４はＹＥＳ、ステップ１０６はＹＥＳ、ステップ１０８はＮＯ、ステップ１１２はＹＥＳ、ステップ１１４は押したときのキーコード(Repeat)となり、ここで、受信状況フラグ９０において、押したときのキーのアドレス番号がTになっているキー全てが押されている状態と判定する。アドレス番号4と5がTなので、専用キーUP-1と専用キーUP-2が押されていると判定する（ステップ１２０）。その後、手順が前記ステップ１０２に戻される。
・時刻T2〜T3
次に時刻T2〜時刻T3の間だとする。ここで１４・２６／Ｆ０・２６・Ｆ０・１４を受信すると（ステップ１０２）、前述と同様に、ステップ１０４はＹＥＳ、ステップ１０６はＹＥＳ、ステップ１０８はＮＯ、ステップ１１２はＹＥＳ、ステップ１１４は押したときのキーコードとなり、専用キーUP-2を押したときのキーコードを受信したので、対象である、受信状況フラグ９０のアドレス番号5をTで維持する（ステップ１１６）。その後、手順が前記ステップ１０２に戻される。
【００５０】
続けて、１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４を受信すると（ステップ１０２）、前述と同様に、ステップ１０４はＹＥＳ、ステップ１０６はＹＥＳ、ステップ１０８はＮＯ、ステップ１１２はＹＥＳ、ステップ１１４は押したときのキーコード(Repeat)となり、ここで、受信状況フラグ９０において、押したときのキーのアドレス番号がTになっているキー全てが押されている状態と判定する。アドレス番号4と5がTなので、専用キーUP-1と専用キーUP-2が押されていると判定する（ステップ１２０）。その後、手順が前記ステップ１０２に戻される。
・時刻T3
次に時刻T3になり、１４・１Ｄ／Ｆ０・１Ｄ・Ｆ０・１４を受信すると（ステップ１０２）、前述と同様に、ステップ１０４はＹＥＳ、ステップ１０６はＹＥＳ、ステップ１０８はＮＯ、ステップ１１２はＹＥＳ、ステップ１１４は離したときのキーコードとなり、専用キーUP-2を離したときのキーコードを受信したので、対象である、受信状況フラグ９０のアドレス番号5をFにする（ステップ１１８）。その後、手順が前記ステップ１０２に戻される。
【００５１】
続けて、１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４を受信すると（ステップ１０２）、前述と同様に、ステップ１０４はＹＥＳ、ステップ１０６はＹＥＳ、ステップ１０８はＮＯ、ステップ１１２はＹＥＳ、ステップ１１４は押したときのキーコード(Repeat)となり、ここで、受信状況フラグ９０において、押したときのキーのアドレス番号がTになっているキー全てが押されている状態と判定する。アドレス番号4だけがTなので、専用キーUP-1が押されていると判定する（ステップ１２０）。その後、手順が前記ステップ１０２に戻される。
・時刻T3〜T4
次に時刻T3〜時刻T4の間だとする。ここで１４・４Ｄ／Ｆ０・４Ｄ・Ｆ０・１４を受信すると（ステップ１０２）、前述と同様に、ステップ１０４はＹＥＳ、ステップ１０６はＹＥＳ、ステップ１０８はＮＯ、ステップ１１２はＹＥＳ、ステップ１１４は押したときのキーコード(Repeat)となり、ここで、受信状況フラグ９０において、押したときのキーのアドレス番号がTになっているキー全てが押されている状態と判定する。アドレス番号4だけがTなので、専用キーUP-1が押されていると判定する（ステップ１２０）。その後、手順が前記ステップ１０２に戻される。
・時刻T4
次に時刻T4になり、１４・１５／Ｆ０・１５・Ｆ０・１４を受信すると（ステップ１０２）、前述と同様に、ステップ１０４はＹＥＳ、ステップ１０６はＹＥＳ、ステップ１０８はＮＯ、ステップ１１２はＹＥＳ、ステップ１１４は離したときのキーコードとなり、専用キーUP-1を離したときのキーコードを受信したので、対象である、受信状況フラグ９０のアドレス番号4をFにする（ステップ１１８）。その後、手順が前記ステップ１０２に戻される。
【００５２】
続けて、１４・４Ｂ／Ｆ０・４Ｂ・Ｆ０・１４を受信すると（ステップ１０２）、前述と同様に、ステップ１０４はＹＥＳ、ステップ１０６はＹＥＳ、ステップ１０８はＮＯ、ステップ１１２はＹＥＳ、ステップ１１４は離したときのキーコード(Repeat)となり、ここで、受信状況フラグ９０を初期化する（ステップ１２６）。その後、手順が前記ステップ１０２に戻される。
【００５３】
以上のステップにより、データはキーコードとして受信され、受信側でもデータを受信した時点におけるアナログ操作の状態が特定される。
【００５４】
以上の記載から明らかなように、実施例１において、受信した第１のデータに含まれるキーコードが受信した第２のデータを照合し、両者に一致したキーコードが確認され場合のみキーコードを最終的に受信処理するようにしている。
【００５５】
またキーボードのキーが押された時点でキーコードが入力されるので、オペレータに対してキーデータの入力遅れに伴う違和感やストレスを与えないという効果を奏する。加えて、キーを押している間はキーコードを周期的に作成して送信することにより、アナログ操作を可能にしている。
【００５６】
実施例２は、上記に加えて、複数のアナログ操作を実現可能にしている。この際に、キーを押されていること自体をRepeatキーと言うキーコードで共有することにより、押されているキー全てのキーコードを周期的に作成して送信するような負荷の高い処理を回避するという効果を奏する。
【００５７】
また、図１１の送信処理ステップ２０４以降の処理により、アナログキーが押されている間は、通常キーの操作を受けつけなくし、誤った操作を回避するという効果を奏する。
【図面の簡単な説明】
【００５８】
【図１】複数のキー操作に対するデータの発生タイミングを示す概略図
【図２】キー操作に対するデータの発生タイミングを示す概略図
【図３】本発明における入力インターフェースの実施形態を示すブロック図
【図４】キーとキーコード発信器との接続形態を示す概略図
【図５】キーの名称とキーコード割り付けとの関係を示す図
【図６】キーコードと本発明で作成するデータとの関係を示す図
【図７】本発明の受信部におけるキーコードを抽出するフローを説明した図
【図８】本発明の受信部におけるキーコードを抽出するフローを説明した図
【図９】記憶領域内の記憶データを示す概略図
【図１０】記憶領域内の記憶データを示す概略図
【図１１】本発明の送信部におけるキーコードからデータを作成・送信するフローを説明した図
【図１２】本発明の受信部におけるキーコードを抽出するフローを説明した図
【図１３】記憶領域内の受信状況フラグを説明した図
【符号の説明】
【００５９】
Ｎ…ネットワーク
３０…ＨＭＩ
３２…監視用モニタ
３４…専用キーボード
３６…コンピュータ
３８…ＰＳ／２インターフェースケーブル
４０…制御用ＬＡＮ
４２…キー
４４…キーコード発生部
６０、８０…記憶領域
９０…受信状況フラグ
【図１】
0004706526.tif 000002
【図２】
0004706526.tif 000003
【図３】
0004706526.tif 000004
【図４】
0004706526.tif 000005
【図５】
0004706526.tif 000006
【図６】
0004706526.tif 000007
【図７】
0004706526.tif 000008
【図８】
0004706526.tif 000009
【図９】
0004706526.tif 000010
【図１０】
0004706526.tif 000011
【図１１】
0004706526.tif 000012
【図１２】
0004706526.tif 000013
【図１３】
0004706526.tif 000014