(57)【要約】【課題】ＰＣ７と周辺装置５がＫＢインタフェース４にて接続されるシステムにおいて、ＯＳ（２）が提供するＫＢドライバ３を変更することなく、異なった周辺装置５を制御できるようにする。【解決手段】上位装置であるＰＣに、周辺装置を制御するコマンドデータをＫＢファンクションのパラメータデータまでに分解し、分解したときは所定のコードを付加してＫＢファンクションデータとして送信するコマンド送信部と、当該周辺装置からＫＢファンクションデータに分解されたレスポンスデータを復元するレスポンス受信部を設け、前記周辺装置に、前記上位装置からＫＢファンクションデータとして送信されたコマンドデータを復元するコマンド受信部と、前記レスポンスデータをＫＢファンクションのパラメータデータまでに分解し、分解したときは所定のコードを付加してＫＢファンクションのデータとして返信するレスポンス送信部を設けた。【選択図】図１
2008262508.tif 000002
【特許請求の範囲】
【請求項１】
上位装置と周辺装置をキーボードインタフェースにて接続して制御するキーボードインタフェース制御方法であって、
キーボードファンクションのパラメータデータとして定義されないコマンドデータまたはレスポンスデータを送信するときに、キーボードファンクションのパラメータデータとして定義されたデータまでに分解するとともに分解したときは所定のコードを付加し、送信するようにしたことを特徴とするキーボードインタフェース制御方法。
【請求項２】
上位装置と周辺装置をキーボードインタフェースにて接続して制御するキーボードインタフェース制御方法であって、
コマンドデータまたはレスポンスデータを送信するときに、キーボードインタフェース上定義されたキーボードのキーコードまでに分割して送信するようにしたことを特徴とするキーボードインタフェース制御方法。
【請求項３】
キーボードインタフェースにて上位装置と周辺装置が接続されるキーボードインタフェースシステムであって、
前記上位装置に、前記周辺装置を制御するコマンドデータをキーボードファンクションのパラメータデータまでに分解し、分解したときは所定のコードを付加してキーボードファンクションのパラメータデータとして送信するコマンド送信部と、当該周辺装置からの前記所定のコードが付加されたデータを含むキーボードファンクションのパラメータデータをレスポンスデータに復元するレスポンス受信部を設け、
前記周辺装置に、前記上位装置からの前記所定のコードが付加されたデータを含むキーボードファンクションのパラメータデータを復元するコマンド受信部と、前記レスポンスデータをキーボードファンクションのパラメータデータまでに分解し、分解したときは所定のコードを付加してキーボードファンクションのパラメータデータとして返信するレスポンス送信部を設けたことを特徴とするキーボードインタフェースシステム。
【請求項４】
キーボードインタフェースにて上位装置と周辺装置が接続されるキーボードインタフェースシステムであって、
前記周辺装置に、レスポンスデータを分割してキーコードに変換し前記上位装置に送信するレスポンス送信部を設け、
前記上位装置に、前記周辺装置からの前記キーコードを復元するレスポンス受信部を設けたことを特徴とするキーボードインタフェースシステム。
【請求項５】
キーボードインタフェースにて接続する上位装置であって、
コマンドデータをキーボードファンクションのパラメータデータまでに分解し、分解したときは所定のコードを付加して送信するコマンド送信部と、
前記所定のコードが付加されたデータを含むキーボードファンクションのパラメータデータをレスポンスデータに復元するレスポンス受信部を設けた上位装置。
【請求項６】
キーボードインタフェースにて接続する周辺装置であって、
レスポンスデータをキーボードファンクションのパラメータデータまでに分解し、分解したときは所定のコードを付加して送信するレスポンス送信部と、
前記所定のコードが付加されたデータを含むキーボードファンクションのパラメータデータをコマンドデータに復元するコマンド受信部を設けた周辺装置。
【請求項７】
キーボードインタフェースにて接続する周辺装置であって、
レスポンスデータを分割してキーコードに変換し送信するレスポンス送信部を設けた周辺装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置であるパーソナルコンピュータ（以下「ＰＣ」という）のキーボードインタフェースを用いて接続されたキーボード（以下「ＫＢ」という）等の周辺装置をＰＣより制御する技術に関する。
【背景技術】
【０００２】
従来、ＰＣのＫＢインタフェースに接続されるＫＢ等の周辺装置の制御は、ＫＢ通信プロトコルにそれぞれの周辺装置特有の制御コマンドを追加して制御するようにしている。このため、ＫＢインタフェースに接続する周辺装置の開発のほかに、ＰＣのオペレーティングシステム（以下、「ＯＳ」という）が提供するＫＢドライバもコマンドの拡張等の変更をする必要があった。（例えば、特許文献１参照）。
【特許文献１】特開２００２−１４０１５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来のＫＢ通信プロトコルにおけるコマンドを拡張する方法では、ＰＣのＯＳが提供するドライバを変更するスキル等も必要となり、当該システム構築を容易に行うことができなかった。
【課題を解決するための手段】
【０００４】
本発明は、前述の課題を解決するため次の方法を採用する。すなわち、上位装置と周辺装置をキーボードインタフェースにて接続して制御するキーボードインタフェース制御方法であって、キーボードファンクションのパラメータデータとして定義されないコマンドデータまたはレスポンスデータを送信するときに、キーボードファンクションのパラメータデータとして定義されたデータまでに分解するとともに分解したときは所定のコードを付加し、キーボードファンクションのデータとして送信するようにした。
【発明の効果】
【０００５】
本発明のＫＢインタフェースシステムによれば、キーボードファンクションのパラメータデータとして定義されないコマンドデータまたはレスポンスデータを送信するときに、キーボードファンクションのパラメータデータとして定義されたデータまでに分解するとともに分解したときは所定のコードを付加し、キーボードファンクションのデータとして送信するようにしたので、オペレーティングシステムが提供するキーボードドライバを変更することなく、上位装置にてキーボードインタフェースに接続された異なった周辺装置を制御することができる。
【発明を実施するための最良の形態】
【０００６】
以下、本発明に係わる実施の形態例を、図面を用いて説明する。図面に共通する要素には同一の符号を付す。
【実施例１】
【０００７】
（構成）
図２は実施例１のＫＢインタフェースシステムのブロック図である。同図に示したように、ＫＢインタフェースシステムは、制御部１、周辺装置制御プログラム８、ＯＳ（２）およびＫＢドライバ３から構成された上位装置であるＰＣ７と、通信処理部９、ＫＢ通信プロトコル処理部６、コマンド受信部１８およびレスポンス送信部１９から構成された周辺装置５がＫＢインタフェース４によって接続された構成となっている。
【０００８】
ＰＣ７を構成する制御部１は、周辺装置制御プログラム８にてＫＢインタフェース４に接続された周辺装置５および各部の制御を行うものであり、周辺装置制御プログラム８はＫＢインタフェース４に接続された周辺装置５とコマンド／レスポンスの送受信を制御するためのプログラムである。
【０００９】
同様に、ＰＣ７を構成するＯＳ（２）は制御部１のＰＣ上で稼動するＷｉｎｄｏｗｓ（登録商標）などのオペレーティングシステムであり、ＫＢドライバ３は、ＯＳ（２）が提供するＫＢ通信プロトコルを実装しＫＢインタフェース４に接続された周辺装置５とデータの送受信を行うものである。
【００１０】
一方、周辺装置５を構成する通信処理部９はＰＣ７を制御する制御部１との通信処理を行う機能を有し、ＫＢ通信プロトコル処理部６は制御部１のＫＢドライバ３との間でデータの送受信を行う周辺装置５のＫＢ通信プロトコルの処理を行う機能を有するものである。
【００１１】
次に、図１のさらに詳細なＫＢインタフェースシステムの構成図を用いて、各構成を説明する。同図において、前述の周辺装置制御プログラム８は、コマンド送信部１０とレスポンス受信部１１から構成される。
【００１２】
（ＰＣ側の構成）
同図左側のコマンド送信部１０は、ＯＳ（２）が提供するＫＢドライバ３がサポートするＫＢ制御用ＫＢファンクションのパラメータデータを使用して、周辺装置５に分解および変換したコマンドデータを送る機能を有するものである。
【００１３】
このコマンド送信部１０は、同図に示したように、前記パラメータデータのサイズに合わせて前記コマンドデータを分解するためのコマンド分解処理部１２と、コマンド分解処理部１２にて分解されたコマンドデータ（以下、「分解コマンドデータ」という）において、ＫＢ通信プロトコル仕様として送信不可能な分解コマンドデータを送信可能な分解コマンドデータにするためにデータの追加と分解および変換するＥＳＣＡＰＥ処理を施すＥＳＣＡＰＥ処理部１３と、ＥＳＣＡＰＥ処理を施した分解コマンドデータ「以下、「ＥＳＣＡＰＥコマンドデータ」という」とＫＢファンクションコードをセットしてＫＢドライバ３に引き渡すためのＫＢファンクション処理部１４から構成される。
【００１４】
ここで、前記送信不可能な分解コマンドデータとは、制御部１から周辺装置５に送信するコマンドのデータ列のうちＫＢファンクションのパラメータデータとして定義されていないデータのことをいう。
【００１５】
そして、例えば、制御部１から周辺装置５に送信する分解コマンドのデータ列として、０１、３４、２３、５６、３５、５５が送信される場合で、ＫＢインタフェース４で５６という値が定義されていない場合では、５６という値を送信するときに、コマンド分解処理部１２にて０５と０６に分解および変換し、さらに、通常の０５、０６とを識別するためにＥＳＣＡＰＥ処理部１３により所定のコード（ＥＳＣ）を先頭につけて送信する。すなわち、ＥＳＣを９９とすると、５６のデータは９９、０５、０６というデータとして送信するように処理される。
【００１６】
そして、ＫＢファンクション処理部１４にて、ＫＢを制御することを表すファンクションコードＦｕｎｃＸとして例えば７７をそれぞれのデータの先頭につけ、７７、９９、７７、０５、７７、０６として周辺装置５の１つであるＫＢに送信することになる。
【００１７】
一方、右側のレスポンス受信部１１は、後述する周辺装置５のレスポンス送信部１９にて生成された、ＫＢドライバ３がサポートするＫＢ制御用ＫＢファンクションのレスポンスのパラメータデータを受け取るための機能を有するものである。
【００１８】
このレスポンス受信部１１は、前記レスポンスのパラメータデータを受信しＫＢファンクションコードを取り除くためのＫＢファンクション処理部１７と、後述する周辺装置５のＥＳＣＡＰＥ処理部２４にてＫＢインタフェースとして送信不可能なデータを送るためにＥＳＣＡＰＥ処理を施されたレスポンスデータを復元するためのＥＳＣＡＰＥ復元処理部１６と、ＥＳＣＡＰＥ復元処理部１６で復元したデータからレスポンスデータを復元するレスポンス復元処理部１５とから構成される。
【００１９】
レスポンス受信部１１では、例えば、後述する周辺装置５からレスポンスデータの例として８８、９９、８８、０５、８８、０６が送信されてきた場合、ＫＢファンクション処理部１７にて各先頭のＫＢファンクションデータＲｓｐＹである８８をＫＢファンクションコードとして認識してこれを取り除き、９９、０５、０６のデータとし、ＥＳＣＡＰＥ復元処理部１６にてＥＳＣコードである９９を識別して、レスポンス復元処理部１５にて５６というデータに合成して復元する処理を行う。
【００２０】
（周辺装置の構成）
周辺装置５を構成する通信処理部９は、前述のように、ＫＢインタフェース４にて周辺装置５を制御するＰＣ７の制御部１とＫＢ通信プロトコル仕様に従ったコマンド／レスポンスの送受信を行うＫＢ通信プロトコル処理部６と、ＫＢ通信プロトコル処理部６を介してコマンド送信部１０より送信されたＫＢファンクションのパラメータデータを受信する同図左側のコマンド受信部１８と、ＫＢ制御用ＫＢファンクションのレスポンスデータのパラメータデータを使用してＰＣ７の制御部１にレスポンスデータを返信する同図右側のレスポンス送信部１９とからなる。
【００２１】
同図左側のコマンド受信部１８は、前記パラメータデータを受信しＫＢファンクションコードを取り除くためのＫＢファンクション処理部２０と、制御部１のＥＳＣＡＰＥ処理部１３にて生成されたＥＳＣＡＰＥコマンドデータを復元するためのＥＳＣＡＰＥ復元処理部２１と、ＥＳＣＡＰＥコマンドデータからコマンドデータを復元するコマンド復元処理部２２とから構成される。
【００２２】
コマンド受信部１８では、例えば、前述のＰＣ７からコマンドデータ列の例として、７７、９９、７７、０５、７７、０６が送信されてきた場合、ＫＢファンクション処理部２０にて各先頭のＫＢファンクションデータＦｕｎｃＸである７７をＫＢファンクションコードとして識別してこれを取り除き、９９、０５、０６のデータとし、ＥＳＣＡＰＥ復元処理部２１にて、ＥＳＣコードである９９を識別して、コマンド復元処理部２２にて、５６というデータに合成して復元する処理を行う。
【００２３】
一方、同図右側のレスポンス送信部１９は、前記パラメータデータのサイズに合わせてレスポンスデータを分解するためのレスポンス分解処理部２５と、レスポンス分解処理部２５にて分解されたレスポンスデータ（以下、「分解レスポンスデータ」という）において、ＫＢ通信プロトコル仕様で送信不可能な分解レスポンスデータを送信可能な分解レスポンスデータにデータの追加と分解および変換するＥＳＣＡＰＥ処理を施すＥＳＣＡＰＥ処理部２４と、ＥＳＣＡＰＥ処理を施した分解レスポンスデータ（以下「ＥＳＣＡＰＥレスポンスデータ」という）を送信に使用するＫＢファンクションコードをセットしてＫＢ通信プロトコル処理部６に引き渡すためのＫＢファンクション処理部２３とから構成される。
【００２４】
ここで、前記送信不可能な分解レスポンスデータとは、周辺装置５から制御部１に送信するレスポンスのデータ列のうちＫＢファンクションのパラメータデータとして定義されていないデータのことをいう。
【００２５】
そして、例えば、周辺装置５から制御部１に送信するレスポンスデータの例として０１、３４、２３、５６、３５、５５が送信される場合で、ＫＢインタフェース４で５６という値が定義されていない場合では、５６という値を送信するときに、レスポンス分解処理部２５にて０５と０６に分解および変換し、さらに、通常の０５、０６とを識別するためにＥＳＣＡＰＥ処理部２４により所定のコード（ＥＳＣ）を先頭につけて送信する。すなわち、ＥＳＣを９９とすると、５６のデータは９９、０５、０６というデータとして送信するように処理される。
【００２６】
そして、ＫＢファンクション処理部２３にて、ＫＢを制御することを表すファンクションコードＲｓｐＹとして例えば８８をそれぞれのデータの先頭につけ、８８、９９、８８、０５、８８、０６として周辺装置５の１つであるＫＢに送信することになる。
【００２７】
（動作）
以上の構成により、実施例１のＫＢインタフェースを用いた周辺装置制御通信プロトコルは、以下のように動作する。本動作を図３ないし図１０を用いて以下詳細に説明する。
【００２８】
（ＰＣ側の送信動作）
まず、制御部１から周辺装置５へ、コマンドデータを送信する処理の一例を図３の処理フローを用いて説明する。
【００２９】
所望とされるコマンドデータが、周辺装置制御プログラム８のコマンド送信部１０に引き渡され、コマンドデータの送信処理が開始されると、コマンド分解処理部１２で送信に使用するコマンドデータをＫＢファンクションのパラメータデータのサイズに合わせて分解する（ステップＳ１）。
【００３０】
次に、ＥＳＣＡＰＥ処理部１３にて、ＫＢ通信プロトコル仕様上送信可能なデータか否かを判断し（ステップＳ２）、送信不可能な分解コマンドデータの場合にはＥＳＣＡＰＥ処理部１３にてＥＳＣＡＰＥ処理を実施する（ステップＳ３）。
【００３１】
そして、ＥＳＣＡＰＥ処理部１３にてＥＳＣデータの追加と分解および変換するＥＳＣＡＰＥ処理を施した分解コマンドデータ（すなわちＥＳＣＡＰＥコマンドデータ）とＥＳＣＡＰＥ処理を施していない分解コマンドデータに対し、ＫＢファンクションコードをセットして、ＫＢファンクション処理部１４にてＫＢファンクションのパラメータデータとして周辺装置５に送信する（ステップＳ４）。
【００３２】
そして、分解したコマンドデータ全てについて、未処理の分解コマンドデータが無くなるまで以上のステップＳ２ないしステップＳ４を繰り返す（ステップＳ５）。
【００３３】
図４は、コマンド送信部１０におけるコマンドデータの変換の一例を示した図である。２６はＫＢ通信プロトコル仕様上送信不可能な分解コマンドデータ（２６ａ）と送信可能な分解コマンドデータを示し、２７はＥＳＣＡＰＥコマンドデータ（２７ａ）と、ＥＳＣＡＰＥ処理を施していない分解コマンドデータを示し、２８はＫＢファンクション処理部１４にてＥＳＣＡＰＥコマンドデータ（２８ａないし２８ｃ）とＥＳＣＡＰＥ処理を施していない分解コマンドデータ２８にＫＢファンクションコードをセットして送信する際のデータを示している。
【００３４】
すなわち、同図の矢印のように、周辺装置５に送信しようとする分解コマンドデータ２６が、ＥＳＣＡＰＥコマンドデータ（２７ａ）とＥＳＣＡＰＥ処理を施していない分解コマンドデータ２７に変換され、ＫＢファンクションコードをセットしたコマンドデータ２８の順に処理される。
【００３５】
ここで、コマンド分解処理部１２にて分解されたコマンドデータの１つであるＣ３（２６ａ）はそのままでは送信できないので、ＥＳＣＡＰＥ処理部１３にてＥＳＣデータの追加とＣ３をさらにＣ３ａとＣ３ｂに分解および変換した３つのデータＥＳＣ＋Ｃ３ａ＋Ｃ３ｂ（２７ａ）をＫＢファンクション処理部１４に引き渡す。
【００３６】
そして、ＫＢファンクション処理部１４では、ＫＢファンクションのパラメータデータとして送信する際のデータであるＥＳＣＡＰＥコマンドデータにＫＢファンクションコードをセットした、ＦｕｎｃＸ＋ＥＳＣ（２８ａ）、ＦｕｎｃＸ＋Ｃ３ａ（２８ｂ）、ＦｕｎｃＸ＋Ｃ３ｂ（２８ｃ）として、ＫＢインタフェース４を介して周辺装置５に送信する。
【００３７】
（周辺装置の受信動作）
次に、制御部１から送信されてきたパラメータデータを受信する周辺装置５のコマンドデータ受信処理の一例を図５の処理フローを用いて説明する。
【００３８】
まず、周辺装置５は、ＰＣ７から前述のコマンドデータ列２８を受信すると、ＫＢファンクション処理部２０にて当該コマンドデータを取り出し（ステップＳ１１）、ＥＳＣＡＰＥ復元処理部２１に引き渡す。
【００３９】
ＥＳＣＡＰＥ復元処理部２１では、ＥＳＣデータの有無をチェックし（ステップＳ１２）、ＥＳＣデータ有の場合には、制御部１にてＫＢ通信プロトコルの仕様上送信不可能なデータを送信するためにＥＳＣＡＰＥ処理が施されたデータと判断し、ＥＳＣＡＰＥコマンドデータを復元する（ステップＳ１３）。
【００４０】
そして、コマンド復元処理部２２にてＥＳＣデータのその後の２つの分解および変換されたコマンドデータから本来のデータを復元し、復元したデータをコマンドデータとして保存する（ステップＳ１４）。
【００４１】
ＥＳＣＡＰＥコマンドデータでない場合には、そのデータはＫＢ通信プロトコルの仕様上送信可能なコマンドデータであるため、そのままコマンドデータとして保存する（ステップＳ１５）。コマンド受信部１８は、コマンドの全データの受信を完了するまでステップＳ１１ないしステップＳ１５の処理を繰り返す。
【００４２】
図６は、周辺装置５のコマンド受信部１８にて処理されるコマンドデータの変換の一例である。
【００４３】
２９は、図４のＫＢファンクションのパラメータデータ２８に相当し、ＫＢファンクション処理部２０が受信するデータであり、３０は、ＫＢファンクション処理部２０にてＫＢファンクションコードＦｕｎｃＸを取り除いた分解コマンドデータを示し、３１は、ＥＳＣＡＰＥ復元処理部２１にてＥＳＣＡＰＥ復元処理が施され、さらにコマンド復元処理部２２で復元されたコマンドデータを示し、２９、３０、３１の順に処理される。
【００４４】
すなわち、ＫＢ通信プロトコルの仕様上送信不可能な分解コマンドデータＣ３（２６ａ）は、周辺装置５が受信するＦｕｎｃＸ＋ＥＳＣ（２９ａ）、ＦｕｎｃＸ＋Ｃ３ａ（２９ｂ）、ＦｕｎｃＸ＋Ｃ３ｂ（２９ｃ）として受信し、ＫＢファンクション処理部２０にてＫＢファンクションコードを取り除かれて、ＥＳＣ・Ｃ３ａ・Ｃ３ｂ（３０ａ）に復元処理され、ＥＳＣＡＰＥ処復元処理部２１およびコマンド復元処理部２２にて分解コマンドデータＣ３（３１ａ）に復元された後、元のコマンドデータに復元される。その他のコマンドデータも同図に示したように同様に復元される。
【００４５】
（周辺装置の返信動作）
次に、周辺装置５から制御部１へレスポンスデータを返信する返信処理の一例を、図７の動作フローチャートを用いて説明する。
【００４６】
通信処理部９のレスポンス送信部１９から所望とするレスポンスデータの送信処理が開始されると、まず、レスポンス分解処理部２５にてデータ送信に使用するＫＢファンクションのレスポンスデータをパラメータデータのサイズに合わせて分解する（ステップＳ２１）。
【００４７】
そして、ＥＳＣＡＰＥ処理部２４にてＫＢ通信プロトコル仕様上送信可能なデータか否かを判断し（ステップＳ２２）、送信不可能な分解レスポンスデータの場合はＥＳＣＡＰＥ処理部２４にてＥＳＣデータの追加と分解および変換を行うＥＳＣＡＰＥ処理を施した後、ＫＢファンクション処理部２３に引き渡す（ステップＳ２３）。
【００４８】
ＫＢファンクション処理部２３では、ＫＢ通信プロトコル処理部６から送信されてくるレスポンスデータ返却用のＫＢファンクションを待ち（ステップＳ２４）、ＫＢファンクションを受信するとＥＳＣＡＰＥレスポンスデータとＥＳＣＡＰＥ処理を施していないデータに対し、ＫＢファンクションコードをセットし制御部１に送信する（ステップＳ２５）。
【００４９】
分解したレスポンスデータ全てについて、未処理の分解レスポンスデータが無くなるまで以上のステップＳ２２ないしステップＳ２５を繰り返す（ステップＳ２６）。
【００５０】
図８は、周辺装置５のレスポンス送信部１９にて処理されるレスポンスデータの変換の一例である。
【００５１】
３２は分解レスポンスデータを示し、３３は送信不可能な分解レスポンスデータをＥＳＣＡＰＥ処理部２４にてＥＳＣデータの追加と分解および変換するＥＳＣＡＰＥ処理を施したレスポンスデータ、すなわちＥＳＣＡＰＥレスポンスデータ（３３ａ）とＥＳＣＡＰＥ処理を施していない分解レスポンスデータを示し、３４はＫＢファンクション処理部２３にてＥＳＣＡＰＥレスポンスデータおよびＥＳＣＡＰＥ処理を施されていない分解レスポンスデータに、ＫＢファンクションコードをセットして送信する際のデータを示しており、矢印で示したように３２、３３、３４の順で処理される。
【００５２】
同図において、レスポンス分解処理部２５にて分解レスポンスデータであるＲ２（３２ａ）は送信不可能なデータであるためそのままでは送信できず、ＥＳＣＡＰＥ処理部２４にてＥＳＣデータの追加とＲ２をさらにＲ２ａとＲ２ｂに分解および変換した３つのデータＥＳＣ＋Ｒ２ａ＋Ｒ２ｂ（３３ａ）をＫＢファンクション処理部２３に引き渡す。
【００５３】
そして、ＫＢファンクション処理部２３でＫＢファンクションのパラメータデータとして送信する際のデータであるＥＳＣＡＰＥレスポンスデータにＫＢファンクションコードをセットした、ＲｓｐＹ＋ＥＳＣ（３４ａ）、ＲｓｐＹ＋Ｒ２ａ（３４ｂ）、ＲｓｐＹ＋Ｒ２ｂ（３４ｃ）としてＫＢインタフェース４を介して制御部１に送信する。
【００５４】
（ＰＣ側の受信動作）
次に、周辺装置５から送信されたパラメータデータを受信する制御部１のレスポンスデータ受信処理の一例を、図９の処理フローを用いて説明する。
【００５５】
レスポンス受信部１１のＫＢファンクション処理部１７にて、周辺装置５から前述のレスポンスデータ３４列を受信すると、パラメータデータとして設定されたＥＳＣＡＰＥレスポンスデータを取り出し（ステップＳ３１）、ＥＳＣＡＰＥ復元処理部１６に引き渡す。
【００５６】
ＥＳＣＡＰＥ復元処理１６では、ＥＳＣデータの有無をチェックし（ステップＳ３２）、ＥＳＣデータ有の場合には、周辺装置５にてＫＢ通信プロトコル仕様で送信不可能なデータを送信するためにＥＳＣＡＰＥ処理が施されたＥＳＣＡＰＥレスポンスデータを復元する（ステップＳ３３）。
【００５７】
そして、レスポンス復元処理部１５にてＥＳＣデータのその後の２つの分解および変換されたレスポンスデータから本来のデータを復元し、復元したデータをレスポンスデータとして保存する（ステップＳ３４）。
【００５８】
ＥＳＣＡＰＥデータではない場合には、そのデータはレスポンスデータであるため、そのままレスポンスデータとして保存する（ステップＳ３５）。レスポンス受信部１１はレスポンスの全データの受信を完了するまで、ステップＳ３１ないしステップＳ３５の処理を繰り返す。
【００５９】
図１０は、制御部１のレスポンス受信部１１にて処理されるレスポンスデータの変換の一例である。
【００６０】
３５は、図８のＫＢファンクションのパラメータデータ３４に相当しＫＢファンクション処理部１７が受信するデータであり、３６はＫＢファンクション処理部１７にてＫＢファンクションコードＲｓｐＹを取り除いた分解レスポンスデータを示し、３７はＥＳＣＡＰＥ復元処理部１６にてＥＳＣＡＰＥ復元処理が施され、さらにレスポンス復元処理部１５で復元されたレスポンスデータを示し、３５、３６、３７の順に処理される。
【００６１】
すなわち、ＫＢファンクション処理部１７が受け取った、ＲｓｐＹ＋ＥＳＣ（３５ａ）、ＲｓｐＹ＋Ｒ２ａ（３５ｂ）、ＲｓｐＹ＋Ｒ２ｂ（３５ｃ）が、ＫＢファンクション処理部１７にてＫＢファンクションコードＲｓｐＹを取り除かれ、ＥＳＣ・Ｒ２ａ・Ｒ２ｂ（３６ａ）に復元され、ＥＳＣＡＰＥ処復元処理部１６およびレスポンス復元処理部１５にて分解レスポンスデータＲ２（３７ａ）に復元された後、元のレスポンスデータに復元される。
【００６２】
（実施例１の効果）
以上詳細に述べたように、実施例１のＫＢインタフェースシステムによれば、上位装置に、周辺装置を制御するコマンドデータをＫＢファンクションのパラメータデータに分解し所定のコードを付加してＫＢファンクションのデータとして送信するコマンド送信部と、当該周辺装置からＫＢファンクションのデータに分解されたレスポンスデータを復元するレスポンス受信部を設け、前記周辺装置に、前記上位装置からＫＢファンクションデータとして送信されたコマンドデータを復元するコマンド受信部と、前記レスポンスデータをＫＢファンクションのパラメータデータに分解し所定のコードを付加してＫＢファンクションデータとして返信するレスポンス送信部を設けたので、ＯＳが提供するＫＢドライバを変更することなく、当該上位装置にてＫＢインタフェースに接続された異なった当該周辺装置を制御することができる。
【実施例２】
【００６３】
（構成）
図１１は、実施例２のＫＢインタフェースシステムのブロック図である。同図に示したように、実施例２のＫＢインタフェースシステムにおけるＰＣ７側のレスポンス受信部１１は、周辺装置５よりＫＢインタフェース４を介してキーコードに分割および変換され通知されてくるレスポンスデータを、キーコードとして受信するキーコードＨＯＯＫ処理部３９と、受信したキーコードから分割レスポンスデータを復元するためのデータ復元処理部３８と、復元した分割レスポンスデータから元のレスポンスデータを復元するレスポンス復元処理部１５ａから構成される。
【００６４】
例えば、レスポンス受信部１１では、周辺装置５がレスポンスデータとして後述する２３、５６、７４、８０、９１を送信する場合、存在する２、３、５、６、７、４、８、０、９、１の刻印されたキーが押下され、キーコードに変換されたものとして送信されてくるデータ列から、元のデータである２３、５６、７４、８０、９１を復元する復元処理を行う。
【００６５】
また、周辺装置５側のレスポンス送信部１９は、レスポンスデータをキーコードに分割して制御部１の周辺装置制御プログラム８に送信するために、レスポンスデータをキーコードとして送信可能なサイズに分割するレスポンス分割処理部２５ａと、分割したレスポンスデータ（以後「分割レスポンスデータ」という）をキーコードに変換するためのキーコード変換処理部４１と、変換したキーコードを送信するためのキーコード送出処理部４０とから構成される。
【００６６】
例えば、レスポンス送信部１９では、前述したように周辺装置５にてＫＢのキーを押下したときの分割レスポンスデータとして２３、５６、７４、８０、９１を送信する場合、物理的なキーコードとして２３、５６、７４、８０、９１は存在せずそのままでは送信できないので、存在する２、３、５、６、７、４、８、０、９、１の刻印されたキーが押下されたものとして送信データを生成し、キーコードに変換して送信する処理を行う。
【００６７】
その他の構成については、実施例１のＫＢインタフェースシステムと同様であるので簡略化のためにその詳細な説明を省略する。
【００６８】
（動作）
以上の構成により、実施例２のＫＢインタフェースシステムは、以下のように動作する。本動作を図１２ないし図１５を用いて以下説明する。
【００６９】
ＰＣ７における制御部１から周辺装置５へ送信されるコマンドデータの処理および周辺装置５における当該コマンドデータの受信処理については、実施例１と同様であるので簡略化のためにその詳細な説明を省略する。
【００７０】
（周辺装置からの返信動作）
まず、周辺装置５から制御部１へのレスポンスデータの送信処理の一例を図１２の処理フローを用いて説明する。
【００７１】
レスポンスデータが周辺装置５の通信処理部９のレスポンス送信部１９に渡され、レスポンスデータの送信処理が開始されると、まず、レスポンス分割処理部２５ａにてレスポンスデータをキーコードとして送信可能なサイズに分割する（ステップＳ４１）。
【００７２】
続いて、キーコード変換処理部４１で、分割レスポンスデータをキーコードに変換し（ステップＳ４２）、変換されたキーコードをキーコード送出処理部４０に引き渡し（ステップＳ４３）、キーコードを制御部１に送信する。
【００７３】
分割したレスポンスデータ全てについて、未処理の分割レスポンスデータが無くなるまで以上のステップＳ４２およびステップＳ４３を繰り返す（ステップＳ４４）。
【００７４】
図１３は、周辺装置５のレスポンス送信部１９にて処理されるレスポンスデータの変換の一例である。
【００７５】
４２は、ＰＣ７に返信するためにレスポンス分割処理部２５ａにて分割された分割レスポンスデータを示し、４３はキーコードとして送信可能なサイズにさらに分割された分割レスポンスデータを示し、４４はキーコード変換処理部４１にてキーコードに変換処理され、キーコード送出処理部４０にてパラメータデータとして送信する際のレスポンスデータを示し、矢印のように、４２、４３、４４の順で処理される。
【００７６】
ここで、Ｒ１（４２ａ）は、レスポンス分割処理部２５ａにてＲ１ａ・Ｒ１ｂ（４３ａ）の２つのレスポンスデータに分割され、キーコード変換処理部４１にてＲｋ１ａ（４４ａ）、Ｒｋ１ｂ（４４ｂ）にキーコード変換され、キーコード送出処理部４０より制御部１の周辺装置制御プログラム８に送信される。その他の分割レスポンスデータも同様に処理される。
【００７７】
（ＰＣ側の受信動作）
次に、周辺装置５から送信されたレスポンスデータを受け取る制御部１のレスポンス受信処理の一例を図１４の処理フローを用いて説明する。
【００７８】
まず、ＰＣ７のレスポンス受信部１５が周辺装置５から前述のキーコード列４４を受信すると、キーコードＨＯＯＫ処理部３９がキーコードデータを受け取り（ステップＳ５１）、そのキーコードデータをデータ復元処理部３８に引き渡す。
【００７９】
データ復元処理部３８では、キーコード２つに対して１つの分割レスポンスデータに復元するため、最初に２つキーコードを受け取ったか否かチェックする（ステップＳ５２）。
【００８０】
２つキーコードを受け取った場合には、データ復元処理部３８にて当該２つのキーコードから１つの分割レスポンスデータを復元し（ステップＳ５３）、その復元した分割レスポンスデータをレスポンス復元処理部１５ａにてレスポンスデータに復元して保存する（ステップＳ５４）。
【００８１】
２つキーコード受け取っていない場合には、そのキーコードデータを一時保存し（ステップＳ５５）、もう１つキーコードを受信した後に復元処理を実施する。
【００８２】
図１５は、ＰＣ７の制御部１のレスポンス受信部１１にて処理されるレスポンスデータの変換の一例である。
【００８３】
４５は図１３のキーコードデータ４４に相当しキーコードＨＯＯＫ処理部３９が受信したキーコードデータを示し、４６はデータ復元処理部３８で２つのキーコードから１つの分割レスポンスデータに復元したデータを示し、４７はレスポンス復元処理部１５で復元された分割レスポンスデータを示し、４５、４６、４７の順に変換処理される。
【００８４】
同図において、Ｒｋ１ａ（４５ａ）とＲｋ１ｂ（４５ｂ）とはレスポンスの分割データＲ１（４２ａ）から分割および変換された２つのキーコードであり、その分割および変換されたキーコードがデータ復元処理部３８にてＲ１ａ＋Ｒ１ｂ（４６ａ）の分割レスポンスデータに復元され、レスポンス復元処理部１５ａにて分割レスポンスデータＲ１（４７ａ）に復元された後、元のレスポンスデータに復元される。他のレスポンスデータも同様に処理される。
【００８５】
なお、実施例２においては２つのキーコードに分割・復元するようにしたが、分割・復元サイズは３つ以上のコードとしてもよい。
【００８６】
（実施例２の効果）
以上詳細に述べたように、実施例２のＫＢインタフェースシステムによれば、周辺装置に、レスポンスデータを分割してキーコードに変換しキーコードとして上位装置に送信するレスポンス送信部を設け、前記上位装置に、前記周辺装置からの前記レスポンスデータを復元するレスポンス受信部を設けたので、ＯＳが提供するＫＢドライバを変更することなく、上位装置にてＫＢインタフェースに接続された異なった周辺装置を制御することができる。
【産業上の利用可能性】
【００８７】
以上述べたように、本発明は、ＫＢインタフェースを介して接続されたＰＣ等の上位装置と周辺装置等からなるＫＢインタフェースシステムに広く用いることができる。
【図面の簡単な説明】
【００８８】
【図１】実施例１のＫＢインタフェースを介して接続されたＰＣと周辺装置の通信制御処理のブロック図である。
【図２】実施例１のＫＢインタフェースに周辺装置を接続したシステムのブロック図である。
【図３】実施例１のコマンド送信部のコマンドデータ送信処理フロー図である。
【図４】実施例１のコマンド送信部のコマンドデータ処理によるデータの変換図である。
【図５】実施例１のコマンド受信部のコマンドデータ受信処理フロー図である。
【図６】実施例１のコマンド受信部のコマンドデータ処理によるデータの変換図である。
【図７】実施例１の実施例１のレスポンス送信部のレスポンスデータ送信処理フロー図である。
【図８】実施例１のレスポンス送信部のレスポンスデータ処理によるデータの変換図である。
【図９】実施例１のレスポンス受信部のレスポンスデータ受信処理フロー図である。
【図１０】実施例１のレスポンス受信部のレスポンスデータ処理によるデータの変換図である。
【図１１】実施例２のＫＢインタフェースを介して接続されたＰＣと周辺装置の通信制御処理のブロック図である。
【図１２】実施例２のレスポンス送信部のレスポンスデータ送信処理フロー図である。
【図１３】実施例２のレスポンス送信部のレスポンスデータ処理によるデータの変換図である。
【図１４】実施例２のレスポンス受信部のレスポンスデータ受信処理フロー図である。
【図１５】実施例２のレスポンス受信部のレスポンスデータ処理によるデータの変換図である。
【符号の説明】
【００８９】
１    制御部
２    ＯＳ
３    ＫＢドライバ
４    ＫＢインタフェース
５    周辺装置
７    ＰＣ
１０  コマンド送信部
１１  レスポンス受信部
１８  コマンド受信部
１９  レスポンス送信部
【図１】
2008262508.tif 000003
【図２】
2008262508.tif 000004
【図３】
2008262508.tif 000005
【図４】
2008262508.tif 000006
【図５】
2008262508.tif 000007
【図６】
2008262508.tif 000008
【図７】
2008262508.tif 000009
【図８】
2008262508.tif 000010
【図９】
2008262508.tif 000011
【図１０】
2008262508.tif 000012
【図１１】
2008262508.tif 000013
【図１２】
2008262508.tif 000014
【図１３】
2008262508.tif 000015
【図１４】
2008262508.tif 000016
【図１５】
2008262508.tif 000017