(57)【特許請求の範囲】
【請求項１】
キーボード専用のインタフェースを共用して、上記キーボード以外の入力手段のデータをシステム側に設けられたキーボードコントローラに転送するためのデータ転送方法であって、
上記キーボードに設けられた制御部において、上記入力手段のデータを所定のデータ転送フォーマットに従って変換すると共に当該データのビット構成をブレークコードとし、
上記変換後のデータの先頭に第１および第２のスタートコードを連続して付加すると共に、そのデータの最後にエンドコードを付加して上記キーボードコントローラに転送することにより、
上記第１のスタートコードにて上記キーボードコントローラとの間の同期を取り、上記第２のスタートコードにて上記入力手段のデータの開始、上記エンドコードにて上記入力手段のデータの終了を上記システム側に認識させることを特徴とするデータ転送方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばパーソナルコンピュータ等のデータ処理装置に設けられるデータ入力装置に係り、特にキーボード以外の入力手段のデータを共通のインターフェースを介してシステム側に転送するデータ転送方法に関する。
【０００２】
【従来の技術】
例えばパーソナルコンピュータ等のデータ処理装置では、データ入力装置として、キーボード以外に磁気カードリーダを用いるものがある。この磁気カードリーダは、例えば銀行カードや従業員カードとして利用される磁気カードのデータを読み込むものであり、キーボードに実装される。
【０００３】
ここで、キーボードのデータ（キーインデータ）はＰＳ２インタフェースを使用してシステム側のキーボードコントローラに転送されるが、磁気カードリーダのデータを転送する場合には、従来、以下のような方式が用いられていた。
【０００４】
（１）ＰＳ２インタフェースとは別に、例えばＲＳ−２３２Ｃ等の標準インタフェースを用意しておき、このインタフェースを使用して磁気カードリーダのデータを転送する。
【０００５】
（２）磁気カードリーダのデータをキーボードのデータと区別しないでＰＳ２インタフェースで転送する。
前者のデータ転送方式は、キーボードに磁気カードリーダを実装するが、磁気カードリーダのデータとキーボードのデータを個別のインタフェースでデータ転送することになる。これに対し、後者のデータ転送方式は、キーボードと同じインタフェースを使用するが、磁気カードリーダのデータを転送する場合にキーボードデータのメークコードとブレークコードの組み合わせに変換し、キーボードデータと同じ形式でデータ転送することになる。
【０００６】
なお、メークコードとはキーを押下したときに発生されるコードデータ、ブレークコードとはキーを離したときに発生されるコードデータであり、キーボード上の各キーに対応して両コードの種類が予め決められている。
【０００７】
【発明が解決しようとする課題】
キーボード以外に磁気カードリーダを備えたデータ入力装置において、従来の方式で、磁気カードリーダのデータをキーボードと同じインタフェースを使用してデータ転送すると、磁気カードリーダからのデータか、キーインしたときのキーボードのデータかの区別ができないため、磁気カードリーダのデータが正しくシステム側に伝わらない等の問題があった。
【０００８】
また、磁気カードリーダのデータをキーボードと同じメークコードとブレークコードの組み合わせで転送すると、メークコードとブレークコードを組み合わる分、データ転送量が非常に多くなる等の問題があった。
【０００９】
本発明は上記の課題を解決するためになされたもので、キーボードと同じインタフェースを使用してキーボード以外の入力手段のデータをキーボードデータと区別して確実に転送することのできるデータ転送方法を提供することを目的とする。
【００１２】
本願明のデータ転送方法は、キーボード専用のインタフェースを共用して、上記キーボード以外の入力手段のデータをシステム側に設けられたキーボードコントローラに転送するためのデータ転送方法であって、上記キーボードに設けられた制御部において、上記入力手段のデータを所定のデータ転送フォーマットに従って変換すると共に当該データのビット構成をブレークコードとし、上記変換後のデータの先頭に第１および第２のスタートコードを連続して付加すると共に、そのデータの最後にエンドコードを付加して上記キーボードコントローラに転送することにより、上記第１のスタートコードにて上記キーボードコントローラとの間の同期を取り、上記第２のスタートコードにて上記入力手段のデータの開始、上記エンドコードにて上記入力手段のデータの終了を上記システム側に認識させることを特徴とする。
【００１３】
このようなデータ転送方法によれば、例えばキーボード以外に磁気カードリーダのデータを転送する場合に、その磁気カードリーダのデータを所定のデータ転送フォーマットにまとめて転送することができる。したがって、磁気カードリーダのデータ転送中にキーインデータが入らないようにして正しく転送することができる。
【００１４】
また、キーボードのデータはメークコードとブレークコードの組み合わせで転送されるため、データ転送量が多くなるが、磁気カードリーダのデータをブレークコードのみを使用して転送することで、データ転送量を１／２にすることができ、システム性能を向上させることができる。
【００１６】
また、上記変換後のデータの先頭に第１および第２のスタートコードを付加すると共に、そのデータの最後にエンドコードを付加しておくことで、システム側では、第１のスタートコードを受信することにより、磁気カードリーダのデータ転送途中にキーボードコントローラからコマンドを出さないように制御することができる。
また、システム側では、第２のスタートコードを受信することにより、キーボート以外のデータであることを認識できると共に、そのデータの最後に付加されたエンドコードを受信することにより、当該データの終了を認識することができる。
【００１９】
【発明の実施の形態】
以下、図面を参照して本発明の一実施形態を説明する。
図１は本発明の一実施形態に係るデータ入力装置のシステム構成を示すブロック図である。
【００２０】
図１のシステム構成において、１０はシステム全体を制御するパーソナルコンピュータである。このパーソナルコンピュータ１０は、ＣＰＵ、ＲＯＭ、ＲＡＭ等を有する汎用のコンピュータであって、入力指示に従ったプログラムの起動で各種の処理を実行する。
【００２１】
また、２０はキーボード、３０は磁気カードリーダである。キーボード２０は、キー入力操作によってパーソナルコンピュータ１０に文字や数字等のデータを直接入力する装置であって、所定のキー配列に従って各種のキーが設けられている。磁気カードリーダ３０は、例えば銀行カードや従業員カードとして利用される磁気カードを読取り対象とし、その磁気カードに記録されたデータを読み取るものである。
【００２２】
ここで、本実施形態において、磁気カードリーダ３０はキーボード２０に実装されており、キーボード２０と同じＰＳ２インタフェース４０を介してデータ転送される構成となっている。
【００２３】
図２はパーソナルコンピュータ１０とキーボード２０の機能構成を示すブロック図である。
パーソナルコンピュータ１０には、キーボードドライバ１０１とキーボードコントローラ１０２が設けられている。キーボードドライバ１０１は、システム側とキーボードコントローラ１０２との間の制御を行う。キーボードコントローラ１０２は、キーボードドライバ１０１とキーボード２０との間のデータの送受信を行う。
【００２４】
キーボード２０には、キーボード制御部２０１、キーボード部２０２、磁気カードリーダ部３０１が設けられている。キーボード制御部２０１は、パーソナルコンピュータ１０側のキーボードコントローラ１０２とのインタフェース制御と、キーボード部２０２および磁気カードリーダ部３０１の制御を行う。キーボード部２０２は、キーボード２０の制御を行う。磁気カードリーダ部３０１は、磁気カードリーダ３０の制御を行う。
【００２５】
図３はデータ処理ルーチンを示すフローチャートである。
磁気カードのリード動作時において、キーボード制御部２０１は磁気カードリーダ３０からのデータを最後までリードした後、それらのデータをパーソナルコンピュータ１０側にキーボード２０のデータと区別して転送するためのコード変換処理を行う。
【００２６】
図４は磁気カードデータの転送フォーマットの構成を示す図である。
上記図２のステップＡ１３のコード変換処理ルーチンで、磁気カードリーダ３０のデータを図４に示すようなフォーマットに変換して転送する。この場合、最初のｎバイト（ここでは２バイトとする）は、磁気カードデータであることを示すスタートコード１、２とする。このスタートコード１、２の後に、全データ数、データサイズと転送データ（磁気カードリーダ３０から読み込んだ元のデータ）、エラーチェックコード、エンドコードを付加してデータ転送フォーマットを作成する。
【００２７】
図５は磁気カードデータのビット構成を示す図である。
本来、磁気カードリーダ３０のデータは７ビット構成であり、最上位のビット＜７＞は使用していない。ＯＡＤＧ（PC Open Architecture Developers Group ：ＰＣオープン・アーキテクチャー推進協議会）、テクニカル・リファレンス（ハードウェア）のキーボードの走査コード・セット１では、ビット＜７＞が“０”のときにメークコード、ビット＜７＞が“１”のときにブレークコードであることが定義されている。メークコードはキーを押下したときに発生されるコードデータ、ブレークコードはキーを離したときに発生されるコードデータである。
【００２８】
ここで、メークコード“０”を連続して転送すると、システム側で、その転送データをコード“Ａｌｔ”、“Ｃｔｒｌ”、“Ｄｅｌｅｔｅ”として認識することがある。そこで、本実施形態では、上記図２のステップＡ１３のコード変換処理ルーチンで、磁気カードデータのビット＜７＞を“１”にしてブレークコードにしている。
【００２９】
図６はデータ転送ルーチンを示すフローチャートである。
キーボード２０のデータまたは磁気カードリーダ３０のデータをパーソナルコンピュータ１０側に転送する場合において、キーボード２０のデータ（メークコードとブレークコードを組み合わせたデータ）についてはステップＢ１１〜Ｂ１３の処理ルーチンで転送する。磁気カードデータ（上記ステップＡ１３のコード変換ルーチンでコード変換したデータ）についてはステップＢ１１、ステップＢ１４〜Ｂ２０の処理ルーチンで転送する。
【００３０】
次に、同実施形態の動作を説明する。
パーソナルコンピュータ１０とキーボード２０はＰＳ２インタフェース４０を介して接続されている。磁気カードリーダ３０はキーボード２０に実装されており、このカードリーダ３０に磁気カードをセットしてリード動作を行うと、図３に示すデータ処理ルーチンにて、以下のような処理が実行される。
【００３１】
まず、磁気カードリーダ３０によって磁気カード上のデータがリードされる（ステップＡ１１）。この場合、磁気カードとしては、例えば銀行カードや従業員カードなどがあり、そこに記録されたデータがキーボード２０内の磁気カードリーダ部３０１を通じてキーボード制御部２０１に送られることになる。
【００３２】
磁気カードデータが最後までリードされると（ステップＡ１２のＹｅｓ）、キーボード制御部２０１はコード変換処理を実行し、当該データを図５に示すようなビット構成にすると共に、図４に示すようなデータ転送フォーマットにまとめる（ステップＡ１３）。
【００３３】
すなわち、磁気カードリーダ３０のデータ７ビットのうち、先頭のビット＜７＞を“１”にしてブレークコードにする。これは、メークコード“０”が連続転送されることにより、システム側で当該データをコード“Ａｌｔ”、“Ｃｔｒｌ”、“Ｄｅｌｅｔｅ”として認識してしまうことを防ぐためである。
【００３４】
また、データ転送フォーマットに従って、先頭２バイトをスタートコード１、２とし、データの最後にエンドコードを設ける。スタートコード１、２は、当該データが磁気カードリーダ３０であることを示すためのものである。エンドコードは、当該データの最後であることを示すものである。このようなスタートコード１、２とエンドコードを設けて転送することで、磁気カードリーダ３０からのデータであることをシステム側で判断することができ、また、そのデータの最後を認識することができる。
【００３５】
コード変換後、図６に示すデータ転送ルーチンが実行される。
データ転送時において、磁気カードリーダ３０からのデータはＰＳ２インタフェース４０を介してパーソナルコンピュータ１０内のキーボードコントローラ１０２に転送され、キーボードドライバ１０１に送られる（ステップＢ１１、ステップＢ１４〜Ｂ２０）。
【００３６】
ここで、磁気カードリーダ３０のデータを転送する際に、初めに２バイトのスタートコード１、２を設けているのは、キーボードコントローラ１０２との同期を取ることにより、磁気カードデータの転送途中でキーボードコントローラ１０２がコマンドを出さないようにするためである。
【００３７】
すなわち、キーボードコントローラ１０２はｎバイト（ここでは１バイト）のデータをバッファリング可能であるため、磁気カードデータの転送途中に、そのバッファリングされたデータに対するコマンドが出される可能性がある。
【００３８】
そこで、キーボード制御部２０１は、まず、磁気カードデータであることを示すスタートコード１をキーボードコントローラ１０２に転送する（ステップＢ１４、Ｂ１５）。このスタートコード１はキーボードコントローラ１０２を介してキーボードドライバ１０１に送られる。キーボードドライバ１０１はこのスタートコード１を認識すると、キーボードコントローラ１０２に対して、現在、何らかのコマンドを出していれば、そのコマンドの処理が終了した後は、磁気カードデータのエンドコードを受信するまで、次のコマンドを出さないように制御する。
【００３９】
キーボード制御部２０１側では、上記スタートコード１を転送後に、キーボードコントローラ１０２から何らかのコマンドが来たら、そのコマンドの処理を行う。この処理が終了すると、キーボードコントローラ１０２とキーボード制御部２０１との間の同期化がなされる。この間、キーボード制御部２０１が磁気カードデータを転送し終えるまで、キーボードコントローラ１０２から次のコマンドが来るようなことはない。
【００４０】
キーボードコントローラ１０２との同期が取れると、キーボード制御部２０１は次のスタートコード２を転送する（ステップＢ１６、Ｂ１７）。このスタートコード２により、キーボードコントローラ１０２は磁気カードデータが送られてくることを認識することができる。したがって、以後、キーボード制御部２０１は磁気カードリーダ３０からのデータをＰＳ２インタフェース４０を介して連続して転送することができる（ステップＢ１８〜Ｂ２０）。
【００４１】
このように、磁気カードリーダ３０のデータをキーボード２０と同じＰＳ２インタフェース４０を使用してパーソナルコンピュータ１０に転送する場合において、磁気カードデータをキーボードデータと区別して転送することができる。これにより、パーソナルコンピュータ１０側では、受信したデータの種類に応じた処理を正確に実行することができる。つまり、キーボードデータであれば、図２のキーボードドライバ１０１から通常の入力処理ルーチンに渡して処理を行うことができ、磁気カードデータであれば、それ専用のアプリケーションに渡して処理を行うことができるようになる。
【００４２】
また、磁気カードリーダ３０のデータを転送する際に、そのデータのビット構成をブレークコードに変換して転送しているため、キーボードデータのようにメイクコードとブレイクコードの組み合わせで転送する方式に比べて、データ転送量を１／２にすることができる。これにより、データ転送量を減らしてシステム性能を向上させることができる。
【００４３】
なお、上記実施形態では、キーボード以外の入力手段として磁気カードリーダを想定して説明したが、例えばバーコードリーダであっても、本発明の方式を適用することができる。この場合、バーコードリーダのデータを図４および図５で説明したような方式でコード変換して転送することになる。これにより、キーボードデータと区別して転送することができ、また、メイクコードとブレイクコードの組み合わせで転送する方式に比べてデータ転送量を抑えることができるなど、上記同様の効果を得ることができる。
【００４４】
また、上記実施形態では、インタフェース手段としてＰＳ２インタフェースを使用したが、本発明はこれに限るものではなく、例えばＵＳＢ（Universal Serial Bus）など、ＰＳ２インタフェース以外の他のインタフェースを用いた場合でも上記同様の手法にて実現することができる。
【００４５】
【発明の効果】
以上詳記したように本発明によれば、例えばキーボード以外に磁気カードリーダを備えているような場合に、その磁気カードリーダのデータをキーボードのデータと区別して転送することができるため、システム側では各入力データの種類を正しく認識して、それぞれに応じた処理を正確に実行することができ、システムの自由度が向上する。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るデータ入力装置のシステム構成を示すブロック図。
【図２】同実施形態におけるパーソナルコンピュータとキーボードの機能構成を示すブロック図。
【図３】同実施形態におけるデータ処理ルーチンを示すフローチャート。
【図４】同実施形態における磁気カードデータの転送フォーマットの構成を示す図。
【図５】同実施形態における磁気カードデータのビット構成を示す図。
【図６】同実施形態におけるデータ転送ルーチンを示すフローチャート。
【符号の説明】
１０…パーソナルコンピュータ
２０…キーボード
３０…磁気カードリーダ
４０…ＰＳ２インタフェース
１０１…キーボードドライバ
１０２…キーボードコントローラ
２０１…キーボード制御部
２０２…キーボード部
３０１…磁気カードリーダ部
【図１】
0004170446.tif 000002
【図２】
0004170446.tif 000003
【図３】
0004170446.tif 000004
【図４】
0004170446.tif 000005
【図５】
0004170446.tif 000006
【図６】
0004170446.tif 000007