(57)【特許請求の範囲】
【請求項１】
キースイッチ部にキーボードコントローラが出力するキーマトリックススキャンのスキャン値を入力し、
前記キースイッチ部からの前記キーマトリックススキャンのスキャン値に対する応答を受け、
前記キーマトリックススキャンのスキャン値および前記キースイッチ部からの応答から、前記キースイッチ部におけるキーの押し下げ状態を検出するキーボードにおいて、
入力キーを擬似して入力を行う疑似入力モードの場合、
前記キースイッチ部で、所定キーが押し下げられた状態に設定し、
前記キーマトリックススキャンのスキャン値と、擬似するキーのスキャン値と、を比較し、
前記キーマトリックススキャンのスキャン値と前記擬似するキーのスキャン値とが一致した時に、前記キーマトリックススキャンのスキャン値を前記所定キーのスキャン値に変換し、
前記キーマトリックススキャンのスキャン値と前記擬似するキーのスキャン値とが一致しない時に、前記キーマトリックススキャンのスキャン値を、前記所定キーのスキャン値以外になるように変換し、
前記キースイッチ部は、前記所定キーのスキャン値を受けたときに、前記キーボードコントローラに一致信号を出力し、
前記キースイッチ部は、前記所定キーのスキャン値以外のスキャン値を受けた時に、前記キーボードコントローラに不一致信号を出力することを特徴とするキーボード入力擬制方法。
【請求項２】
前記キーボードコントローラは、前記キースイッチ部から前記一致信号を受けた時に、前記キーマトリックススキャンのスキャン値に対応するキーが押し下げられていると判定する請求項１に記載のキーボード入力擬制方法。
【請求項３】
前記キーマトリックススキャンのスキャン値は、前記キースイッチ部の全てのキーをスキャンする請求項１または２に記載のキーボード入力擬制方法。
【請求項４】
前記キースイッチ部のキーマトリックスは、複数の行と複数の列でキーの位置が規定され、
前記キーマトリックススキャンのスキャン値は、前記キーマトリックスの前記複数の行をスキャンし、
前記キーマトリックススキャンのスキャン値による行番と、前記擬似するキーのスキャン値による行番と、を比較し、
前記キーマトリックススキャンのスキャン値による行番と前記擬似するキーのスキャン値による行番とが一致した時に、前記キーマトリックススキャンのスキャン値による行番を前記所定キーのスキャン値による行番に変換し、
前記キーマトリックススキャンのスキャン値による行番と前記擬似するキーのスキャン値による行番とが一致しない時に、前記キーマトリックススキャンのスキャン値による行番を、前記所定キーのスキャン値による行番以外になるように維持または変換し、
前記キースイッチ部が前記所定キーの列番を出力した時に、前記擬似するキーのスキャン値による列番に変換する請求項１または２に記載のキーボード入力擬制方法。
【請求項５】
前記擬似するキーのスキャン値は、当該キーボードの外部から供給される請求項１から４のいずれか１項に記載のキーボード入力擬制方法。
【請求項６】
前記擬似するキーのスキャン値は、当該キーボード内の記憶部から供給される請求項１から４のいずれか１項に記載のキーボード入力擬制方法。
【請求項７】
複数のキーを配列したキーマトリックスを有するキースイッチ部と、
前記キースイッチ部にキーマトリックススキャンのスキャン値を出力するキーボードコントローラと、
入力キーを擬似して入力を行う疑似入力モードの場合、前記キースイッチ部で、所定キーが押し下げられた状態に設定し、前記キーマトリックススキャンのスキャン値と、擬似するキーのスキャン値と、を比較し、前記キーマトリックススキャンのスキャン値と前記擬似するキーのスキャン値とが一致した時に、前記キーマトリックススキャンのスキャン値を所定キーのスキャン値に変換し、前記キーマトリックススキャンのスキャン値と前記擬似するキーのスキャン値とが一致しない時に、前記キーマトリックススキャンのスキャン値を、前記所定キーのスキャン値以外になるように変換する変換回路と、を有し、
前記キースイッチ部は、前記所定キーのスキャン値を受けたときに、前記キーボードコントローラに一致信号を出力し、
前記キースイッチ部は、前記所定キーのスキャン値以外のスキャン値を受けた時に、前記キーボードコントローラに不一致信号を出力することを特徴とするキーボード。
【請求項８】
前記キーボードコントローラは、前記キースイッチ部から前記一致信号を受けた時に、前記キーマトリックススキャンのスキャン値に対応するキーが押し下げられていると判定する請求項７に記載のキーボード。
【請求項９】
前記変換回路は、非入力擬制時に、前記キーマトリックススキャンのスキャン値を変換せずに出力する請求項７または８に記載のキーボード。
【請求項１０】
前記キーマトリックススキャンのスキャン値は、前記キースイッチ部の全てのキーをスキャンする請求項７または８に記載のキーボード。
【請求項１１】
前記キースイッチ部のキーマトリックスは、複数の行と複数の列でキーの位置が規定され、
前記キーマトリックススキャンのスキャン値は、前記キーマトリックスの前記複数の行をスキャンし、
前記変換回路は、前記キーマトリックススキャンのスキャン値による行番と、前記擬似するキーのスキャン値による行番と、を比較し、前記キーマトリックススキャンのスキャン値による行番と前記擬似するキーのスキャン値による行番とが一致した時に、前記キーマトリックススキャンのスキャン値による行番を前記所定キーのスキャン値による行番に変換し、前記キーマトリックススキャンのスキャン値による行番と前記擬似するキーのスキャン値による行番とが一致しない時に、前記キーマトリックススキャンのスキャン値による行番を、前記所定キーのスキャン値による行番以外になるように維持または変換し、前記キースイッチ部が前記所定キーの列番を出力した時に、前記擬似するキーのスキャン値による列番に変換する請求項７または８に記載のキーボード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーボード入力擬制方法およびキーボードに関する。
【背景技術】
【０００２】
コンピュータの入力装置としてキーボードが広く使用されている。特に、企業等においては、キーボードが主たる入力装置として使用されている。銀行等のコンピュータシステムでは、一般的なパーソナルコンピュータ（以下、パソコンと略称する）を端末として使用するのが一般的であり、パソコンの入力装置としてキーボードが使用される。
【０００３】
銀行等のコンピュータシステムでは、その動作保証のため、端末であるパソコンのキーボードの操作を繰り返し、一連のキー入力を繰り返し実行する状況があり、このような状況で、キーボードのドライバを含めた検証が必要な場合が起こり得る。この状況で、コンピュータシステムを形成している製品の機能への影響が生じないようにするため、製品へ自動化ソフトをインストールできない場合、また組み込みシステムのようにソフトを追加できない場合も起こり得る。このような場合において、動作補償のための入力を行うには、実際にキーボードからの入力を手作業で繰り返す必要があり、多大な作業が必要となる。
【０００４】
そこで入力を疑似し、自動化することが考えられる。入力を擬似する場合、パソコン内で入力に相当するデータ信号を発生することが考えられるが、動作保証する上では、できるだけ実際の入力に近い状態を擬似することが望まれる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−７０８８９号公報
【特許文献２】特開平７−２６１９０１号公報
【特許文献３】特開平６−１４９４４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
実施形態によれば、キーボードからの入力を疑似して所望の入力を自動的に行うキーボード入力擬似方法およびキーボードが実現される。
【課題を解決するための手段】
【０００７】
本発明の第１の態様のキーボード入力擬制方法によれば、入力キーを擬似して入力を行う疑似入力モードの場合、キーボードのキースイッチ部を、所定キーが押し下げられた状態に設定する。次に、キーボードコントローラが出力するキーマトリックススキャンのスキャン値と、擬似するキーのスキャン値と、を比較する。キーマトリックススキャンのスキャン値と擬似するキーのスキャン値とが一致した時に、キーマトリックススキャンのスキャン値を所定キーのスキャン値に変換する。キーマトリックススキャンのスキャン値と擬似するキーのスキャン値とが一致しない時に、キーマトリックススキャンのスキャン値を、所定キーのスキャン値以外になるように変換する。キースイッチ部は、所定キーのスキャン値を受けた時に、キーボードコントローラに一致信号を出力し、所定キーのスキャン値以外のスキャン値を受けた時に、キーボードコントローラに不一致信号を出力する。
【０００８】
本発明の第２の態様のキーボードは、キーボードコントローラと、変換回路と、キースイッチ部と、を有する。キーボードコントローラは、キーマトリックススキャンのスキャン値を出力する。変換回路は、入力キーを擬似して入力を行う疑似入力モードの場合、キースイッチ部で、所定キーが押し下げられた状態に設定し、キーマトリックススキャンのスキャン値と、擬似するキーのスキャン値と、を比較する。変換回路は、キーマトリックススキャンのスキャン値と擬似するキーのスキャン値とが一致した時に、キーマトリックススキャンのスキャン値を所定キーのスキャン値に変換する。変換回路は、キーマトリックススキャンのスキャン値と擬似するキーのスキャン値とが一致しない時に、キーマトリックススキャンのスキャン値を、所定キーのスキャン値以外になるように変換する。キースイッチ部は、所定キーのスキャン値を受けた時に、キーボードコントローラに一致信号を出力し、所定キーのスキャン値以外のスキャン値を受けた時に、キーボードコントローラに不一致信号を出力する。
【発明の効果】
【０００９】
実施形態によれば、キーボードからの入力を疑似した所望の入力の自動化が実現される。
【図面の簡単な説明】
【００１０】
【図１】図１は、パーソナルコンピュータ（パソコン）と、パソコンに入力装置として接続されたキーボードと、を有するコンピュータ装置の概略構成を示す図である。
【図２】図２は、キーマトリックスを説明する図である。
【図３】図３は、キーボードの構成を示す図である。
【図４】図４は、キーボードの別の構成を示す図である。
【図５】図５は、キーボードのキー接点の方式例を示す図であり、（Ａ）が機械式の接点方式を、（Ｂ）が静電容量方式を示す。
【図６】図６は、図３のキーボードを使用してキー入力を擬似する場合の構成を示す図である。
【図７】図７は、図４のキーボードを使用してキー入力を擬似する場合の構成を示す図である。
【図８】図８は、第１実施形態のキーボードおよびキー入力を擬似する場合の構成を示す図である。
【図９】図９は、キーコードストリームで、擬似するキー入力が変化した時の、キーマトリックススキャン信号のスキャン値（キースキャン値）、変換キースキャン値および一致信号の変化例を示す図、およびその変化を示すタイムチャートである。
【図１０】図１０は、擬似するキー入力が、人間によるキー入力と同様に数１００ｍｓ続くキーコードストリームで、擬似するキー入力が変化した時の、キースキャン値、変換キースキャン値および一致信号の変化例を示す図である。
【図１１】図１１は、制御装置に搭載するキーコードストリームのプログラムを作成する手順を示すフローチャートである。
【図１２】図１２は、第２実施形態のキーボードおよびキー入力を擬似する場合の構成を示す図である。
【図１３】図１３は、第２実施形態で、キーコードストリームで、擬似するキー入力が変化した時の、キーマトリックススキャン信号のスキャン値（キースキャン値）、変換キースキャン値および一致信号の変化例を示す図である。
【図１４】図１４は、第３実施形態のキーボードの構成を示す図である。
【図１５】図１５は、キーコードストリームを生成して記憶する記憶モードにおける動作を示すフローチャートである。
【図１６】図１６は、記憶したキーコードストリームにしたがって擬似するキー入力を実行するモードにおけるＣＰＵの動作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
実施形態の受信回路について説明する前に、キーボードについて説明する。
図１は、パーソナルコンピュータ（パソコン）と、パソコンに入力装置として接続されたキーボードと、を有するコンピュータ装置の概略構成を示す図である。
【００１２】
図１のコンピュータ装置を端末として利用する場合には、パソコンをＬＡＮ等の通信回線を介してホストコンピュータに接続する。
【００１３】
コンピュータ装置は、パソコン１０と、キーボード２０と、を有する。パソコン１０は、ＣＰＵ１１と、キーボードインターフェース（ＩＦ）部１２と、を有する。実際には、パソコン１０は、ＲＡＭ、ＲＯＭ、ディスク装置等をさらに有するが、ここでは図示を省略している。
【００１４】
キーボード２０は、キーボードコントローラ２１と、キースイッチ部２２と、を有する。キーボードコントローラ２１は、汎用のプロセッサ、ＲＯＭおよびＲＡＭ等で形成されるか、それらを含むマイクロコンピュータ等で形成される。キースイッチ部２２は、複数の行ラインと複数の列ラインとで形成された二次元マトリックスと、複数の行ラインと複数の列ラインの交差部に対応して設けられた複数のキーを、を有する。ここでは、二次元マトリックスと複数のキーとで形成される部分をキーマトリックスと称する。キースイッチ部２２は、キーボードコントローラ２１からの要求に応じて、押し下げられているキーに関する情報を、キーボードコントローラ２１に出力する。キーボードコントローラ２１は、押し下げられているキーの情報をキーコードに変換し、パソコン１０のキーボードＩＦ部１２を介してＣＰＵ１１に送る。これにより、ＣＰＵ１１は、入力されたキーコードのデータを取得する。
【００１５】
キーボードＩＦ部１２とキーボードコントローラ２１の間のインターフェースは、ＲＳ２３２−Ｃ、ＵＳＢ、ＵＤＰ等に準拠した方式やＰＳ／２方式などが知られており、実施形態に記載するキーボードは、いずれの方式でもよい。
【００１６】
図２は、キーマトリックスを説明する図である。
キーマトリックスは、複数の行ライン（ここでは５行）Ｓ０−Ｓ４と複数の列ライン（ここでは５列）Ｋ０−Ｋ４とで形成された二次元マトリックスを有し、複数の交差部にキーが配置される。したがって、ここでは、２５個のキーが存在する。行ラインの位置をＸ座標（０から４の整数）で列ラインの位置をＹ座標（０から４の整数）で表す。ＸＹのアドレスにより、キーを特定できる。
【００１７】
図２において、交点Ｃのキーが押されて、行ラインＳ２と列ラインＫ２が接続した状態で、行ラインＳ０−Ｓ４に順に電圧パルスを印加すると、交点Ｃの行ラインＳ２に電圧パルスが印加される時、交点Ｃの列ラインＫ２に電圧パルスが出現する。一般に、行ラインＳ０−Ｓ４に順に電圧パルスを印加することをスキャンと称する。他の行ラインＳ０、Ｓ１、Ｓ３およびＳ４に電圧パルスを印加されても、列ラインＫ０−Ｋ４に電圧パルスが出現することはなく、行ラインＳ２電圧パルスを印加されても、列ラインＫ０、Ｋ１、Ｋ３およびＫ４に電圧パルスが出現することはない。したがって、列ラインＫ０−Ｋ４の何れかに電圧パルスが出現した時に、行ラインＳ０−Ｓ４のどれに電圧パルスが印加されたかが判明すれば、２５個のキーのいずれが押し下げられたか判明する。なお、いずれのキーも押し下げられていない場合には、列ラインＫ０−Ｋ４に電圧パルスが出現することはない。
【００１８】
実用されるキーボードでは、複数キーの同時押しを検出することも行われる。複数キーが同時に押された場合には、１回のスキャンで、複数キーが押し下げられていることを検出することになる。また、スキャンは常時行われる場合もあるが、消費電力低減のため、いずれのキーが押し下げられたことを検出する回路を設け、その検出信号に応じてスキャンを開始することが行われる。また、キーボードの１回のスキャンに要する時間は、人間が実際に行う入力動作より高速であり、１秒当たり多数回のスキャンが行われる。そのため、キーボード操作で誤ってキーに触れた場合にもキー入力が行われたと判定する誤判定を防止するため、連続した複数回のスキャンで同じキーが押し下げられていることを検出した時にキー入力と判定する処理などが行われる。これらの技術は一般に行われており、実施形態においてもこれらの技術を採用することが可能であるが、説明は省略するものとする。
【００１９】
次に、キースイッチ部の構成およびキーボードコントローラからのキーマトリックススキャン信号について説明する。
図３は、キーボードの構成を示す図である。
【００２０】
図１で説明したように、キーボード２０は、キーボードコントローラ２１と、キースイッチ部２２と、を有する。図３に示すように、キーボードコントローラ２１は、キーコードエンコーダ２３と、Ｘキースキャン信号生成部２４と、を有する。前述のように、キーボードコントローラ２１は、ＲＯＭ／ＲＡＭ等を有するが、ここでは図を省略している。
【００２１】
キースイッチ部２２は、Ｘデコーダ＋Ｘドライバ２５と、キーマトリックス２６と、押下位置検出回路２７と、エンコーダ２８と、を有する。前述のように、キーマトリックス２６は、複数の行ライン（Ｘ座標）と複数の列ライン（Ｙ座標）からなる二次元マトリックスと、複数の行ラインと複数の列ラインの交差部に対応して配置された複数のキーと、を有する。
【００２２】
Ｘキースキャン信号生成部２４は、スキャン用の電圧信号を印加するキーマトリックス２６の行番（Ｘ座標）を示すキーマトリックススキャン信号のスキャン値を順次生成し、キーコードエンコーダ２３およびキースイッチ部２２に出力する。Ｘデコーダ＋Ｘドライバ２５は、キーマトリックススキャン信号のスキャン値をデコードして、スキャン値で指示された行番の行ラインにスキャン用の電圧信号を印加する。したがって、複数の行ラインに、スキャン用の電圧信号が順次印加されることになる。押下位置検出回路２７は、キーマトリックス２６の複数の列ラインの電圧変化を閾値と比較することにより検出する。言い換えれば、押下位置検出回路２７は、押し下げられたキーの行ラインにスキャン用の電圧信号が印加され、キーマトリックス２６の複数の列ラインのうち押し下げられたキーの列ラインに出現する電圧変化を検出する。エンコーダ２８は、押下位置検出回路２７の出力する信号をエンコードし、複数の列ラインのうち押し下げられたキーの列ライン、すなわちＹ座標を示すデータ信号生成し、キーボードコントローラ２１のキーコードエンコーダ２３に出力する。キーコードエンコーダ２３は、Ｙ座標を示すデータ信号を受信した時のＸ座標を示すキーマトリックススキャン信号のスキャン値およびＹ座標を示すデータから、キーマトリックス２６で押し下げられたキーのキーコードを生成し、パソコンに出力する。
【００２３】
図４は、キーボードの別の構成を示す図である。
図４のキーボードは、キーボードコントローラが、Ｘ座標を示すキーマトリックススキャン信号のスキャン値と共に、Ｙ座標を示すキーマトリックススキャン信号のスキャン値をキースイッチ部に出力することが、図３のキーボードと異なる。キースイッチ部は、キーマトリックススキャン信号のＸ座標およびＹ座標のスキャン値が、押し下げたキーのＸ座標およびＹ座標と一致する時に、一致信号を出力し、それ以外の時には不一致信号を出力する。
【００２４】
具体的には、キーボードコントローラ３１は、キーコードエンコーダ３３と、Ｘキースキャン信号生成部３４と、Ｙキースキャン信号生成部３５と、を有する。キースイッチ部３２は、Ｘデコーダ＋Ｘドライバ３６と、キーマトリックス３７と、押下位置検出回路３８と、エンコーダ３９と、一致検出回路４０と、を有する。Ｘキースキャン信号生成部３４、Ｘデコーダ＋Ｘドライバ３６、キーマトリックス３７、押下位置検出回路３８およびエンコード３９は、図３の対応する部分と同じである。Ｙキースキャン信号生成部３５は、Ｘキースキャン信号生成部３４におけるＸ座標を示すキーマトリックススキャン信号のスキャン値の生成に同期して、Ｙ座標を示すキーマトリックススキャン信号のスキャン値を生成する。具体的には、Ｙキースキャン信号生成部３５は、Ｘキースキャン信号生成部３４がＸ座標を示すキーマトリックススキャン信号のスキャン値を１回生成する間に、列ラインの列数に対応する回数だけＹ座標のスキャン値を生成する。
【００２５】
一致検出回路４０は、エンコーダ３９の出力が、Ｙ座標を示すキーマトリックススキャン信号のスキャン値と一致するか検出し、一致する時には一致信号を出力し、一致しない時には不一致信号を出力する。したがって、１つのキーが押し下げられた場合に、一致信号が出力されるのは、１回のスキャンで、Ｙ座標を示すキーマトリックススキャン信号のスキャン値が出力される１期間のみである。
【００２６】
キーコードエンコーダ３３は、一致信号を受信した時のＸ座標を示すキーマトリックススキャン信号のスキャン値およびＹ座標を示すキーマトリックススキャン信号のスキャン値から、キーマトリックス２６で押し下げられたキーのキーコードを生成する。
【００２７】
図４のキーボードは、後述する静電容量方式のキーボードに多く使われ、銀行端末等に広く使われている。
【００２８】
図５は、キーボードのキー接点の方式例を示す図であり、（Ａ）が機械式の接点方式を、（Ｂ）が静電容量方式を示す。
【００２９】
図５の（Ａ）の機械式の接点方式では、行ラインＳ０，Ｓ１と列ラインＫ０，Ｋ１の交差部に、行ラインと列ラインを接続するスイッチＳＷ００−ＳＷ１１を設け、対応するキーの操作によりスイッチがオン・オフする。具体的には、キーを押し下げることにより、スイッチが接続状態になり、行ラインの電圧信号が列ラインに出現する。
【００３０】
図５の（Ｂ）の静電容量方式では、行ラインＳ０，Ｓ１と列ラインＫ０，Ｋ１の交差部に、行ラインと列ラインに接続される容量Ｃ００−Ｃ１１を設け、対応するキーの操作により容量の容量値が変化する。これに応じて、行ラインに電圧信号を印加した時の列ラインの電圧信号が変化する。容量値の変化は、キーボードの構成に応じて変化するため、押下位置検出回路３８における閾値の設定等は、キーボードメーカーが独自に行っており、公開されることはない。
【００３１】
次に、キー入力を擬似して所望の入力を自動的に行う手法について説明する。
図６は、図３のキーボードを使用してキー入力を擬似する場合の構成を示す図である。
【００３２】
図６に示すように、キーボード２０の外部に、パソコン等の制御装置１０１と、キーコードアドレス変換回路１０２と、擬似信号発生回路１０３と、を設ける。擬似信号発生回路１０３は、一致検出回路１０４と、ゲート１０５と、を有する。キーボード２０の筐体に外部端子４１を設ける。キーボードコントローラ２１からキースイッチ部２２へのＸ座標を示すキーマトリックススキャン信号の信号線、およびキースイッチ部２２からキーボードコントローラ２１へのＹ座標を示す信号の信号線から外部に信号線を引き出す。信号線の外部への引き出しは、外部端子４１を介して行う。引き出したＸ座標を示すキーマトリックススキャン信号の信号線は、一致検出回路１０４に接続し、Ｙ座標を示す信号の信号線は、ゲート１０５に接続する。
【００３３】
制御装置１０１は、あらかじめ作成されて搭載されたプログラムにより、擬似して入力したいキー入力の列（キーコードストリーム）を、キーコードアドレス変換回路１０２に出力する。この時、人間によるキー操作に近い形でキー入力を擬似するように、出力するキーコードが数１００ｍｓ続き、キーコードが変化する時には、いずれのキーも押されない状態に対応するオープン状態を設けることが望ましい。
【００３４】
キーコードアドレス変換回路１０２は、キーコードストリームの各キーコードを、キーボード２０のキーマトリックスに対応するアドレス、すなわち行番（Ｘ）と列番（Ｙ）に変換し、擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’を出力する。オープン状態については、Ｘ座標を示すキーマトリックススキャン信号がとることないスキャン値を割り当てる。
【００３５】
一致検出回路１０４は、随時変化するＸ座標を示すキーマトリックススキャン信号のスキャン値と、擬似Ｘ座標Ｘ’とが一致するか検出し、一致した時に、ゲート１０５にＸ座標一致信号を出力する。ゲート１０５への信号は、一致しない時には不一致を示す非アクティブ状態になる。キーマトリックススキャン信号のスキャン値はオープン状態を示すスキャン値に一致することは無いので、オープン状態の時には、ゲート１０５への信号は、非アクティブになる。
【００３６】
ゲート１０５は、Ｘ座標一致信号を受信すると、キーコードアドレス変換回路１０２から供給されている擬似Ｙ座標Ｙ’を示す信号を、キースイッチ部２２からキーボードコントローラ２１への信号線に出力する。
【００３７】
上記の入力擬似動作を行う場合、キースイッチ部２２のキーは操作されず、いずれのキーも押し下げていない状態に維持する。したがって、この状態で、キースイッチ部２２からＹ座標を示すデータ信号が出力されることはない。
【００３８】
制御装置１０１からキーコードストリームの出力が開始され、それに応じて擬似Ｘ座標Ｘ’が一致検出回路１０４に入力する。キーボードコントローラ２１は、キーマトリックススキャン信号のスキャン値を順次変化させるスキャン動作を繰り返し行う。ここで、スキャン値が擬似Ｘ座標Ｘ’と一致すると、ゲート１０５は、擬似Ｙ座標Ｙ’を示す信号を、キースイッチ部２２からキーボードコントローラ２１への信号線に出力する。上記のように、キースイッチ部２２からＹ座標を示すデータ信号が出力されることはないので、この擬似Ｙ座標Ｙ’を示す信号は、そのままキーボードコントローラ２１に入力する。
【００３９】
前述のように、キーボードコントローラ２１は、Ｙ座標を示すデータ信号を受信した時のＸ座標を示すキーマトリックススキャン信号のスキャン値およびＹ座標を示すデータ信号から、押し下げられているキーに対応するキーコードを生成する。
【００４０】
以上のようにして、キーコードストリームが擬似したいキー入力にしたがって変化すれば、キーボードコントローラ２１は、擬似したいキー入力に応じた入力が行われたと判定してキーコードを生成する。この際、キーボード２０のキー操作は行わず、自動的にキーコードストリームに対応するキー入力が行われる。
【００４１】
キー入力を擬似して所望の入力を自動的に行う手法は、図４のキーボードを使用して行うこともできる。
図７は、図４のキーボードを使用してキー入力を擬似する場合の構成を示す図である。
【００４２】
図７に示すように、キーボードコントローラ２１からキースイッチ部２２へのＸ座標およびＹ座標を示すキーマトリックススキャン信号の信号線、および一致信号の信号線から外部に信号線を引き出し、擬似信号発生回路１０６の一致検出回路１０７に接続する。一致検出回路１０７は、Ｘ座標およびＹ座標を示すキーマトリックススキャン信号のスキャン値と、擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’とが一致するか検出し、一致した時にキーボードコントローラ２１への一致信号線に一致信号を出力する。
【００４３】
図６および図７に示した構成により、キー入力を擬似して所望の入力を自動的に行うことができる。しかし、図６および図７に示した構成では、擬似するキー入力の生成および検出に、キースイッチ部２２（デコーダ＋ドライバ、キーマトリックス、押下位置検出回路、エンコーダ）は一切関係しない。そのため、キーボードを介した入力を十分に擬似しているとは言えないという問題がある。以下に説明する実施形態では、キーボードのキースイッチ部における信号処理も関係する形でキー入力を擬似することにより、より動作状態に近い形でキー入力を擬似することを可能にする。
【００４４】
図８は、第１実施形態のキーボードおよびキー入力を擬似する場合の構成を示す図である。
第１実施形態のキーボード２０は、キーボードコントローラ３１と、キースイッチ部３２と、外部端子５０と、一致検出変換回路５１と、Ｘセレクタ５２と、Ｙセレクタ５３と、を有する。言い換えれば、第１実施形態のキーボード２０は、図４のキーボードに、外部端子５０と、一致検出変換回路５１と、Ｘセレクタ５２と、Ｙセレクタ５３と、を追加した構成を有する。一致検出変換回路５１、Ｘセレクタ５２およびＹセレクタ５３は、合わせて変換回路を形成する。
【００４５】
一致検出変換回路５１は、キー入力を擬似する擬似入力モード信号がアクティブの時に動作し、通常時は動作を停止する。一致検出変換回路５１は、キーボードコントローラ３１の出力するＸ座標およびＹ座標を示すキーマトリックススキャン信号のスキャン値と、外部から入力される擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’と、を受ける。一致検出変換回路５１は、キーマトリックススキャン信号のＸ座標およびＹ座標のスキャン値と、外部からの擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’とが一致するか検出する。一致検出変換回路５１は、一致した時に、Ｘ座標およびＹ座標のスキャン値を所定キーコードのスキャン値（アドレス）に変換する。所定キーは、例えばキーコード“０”であり、“０”のキーのアドレスに変換する。以下、所定キーがキーコード“０”であるとして説明する。なお、擬似するキー入力が所定キーのキーコードの場合は、実質的には変換は行われないことになる。
【００４６】
一致検出変換回路５１は、一致しない時には、Ｘ座標およびＹ座標のスキャン値を維持するが、所定キーのＸ座標およびＹ座標のスキャン値の場合は、所定キー以外のキーの座標のスキャン値に変換する。なお、一致しない時には、Ｘ座標およびＹ座標のスキャン値を維持せず、所定キー以外の任意のキーの座標のスキャン値に変換してもよい。ここでは、一致しない時には、維持する場合を含めて所定キー以外に変換すると称し、一致検出変換回路５１の出力するＸ座標およびＹ座標のスキャン値を変換Ｘ座標および変換Ｙ座標と称する。
【００４７】
Ｘセレクタ５２およびＹセレクタ５３は、通常時には、キーボードコントローラ３１の出力するＸ座標およびＹ座標を示すキーマトリックススキャン信号のスキャン値を選択してキースイッチ部３２に出力する。これにより、第１実施形態のキーボードは、通常時には、図４のキーボードと同じ動作を行う。
【００４８】
Ｘセレクタ５２およびＹセレクタ５３は、キー入力を擬似する時には、一致検出変換回路５１の出力する変換Ｘ座標および変換Ｙ座標のスキャン値を選択してキースイッチ部３２に出力する。Ｘセレクタ５２およびＹセレクタ５３は、外部端子５０を介して入力される擬似入力モード信号がアクティブの時には、キー入力を擬似するように動作し、擬似入力モード信号が非アクティブの時には、通常時の動作を行う。
【００４９】
一致検出変換回路５１、Ｘセレクタ５２およびＹセレクタ５３は、一体の回路として形成してもよい。
【００５０】
第１実施形態のキーボード２０を使用してキー入力を擬似する場合、図８に示すように、キーボード２０の外部に、パソコン等の制御装置１０１と、キーコードアドレス変換回路１０２と、を設ける。
【００５１】
制御装置１０１は、あらかじめ作成されて搭載されたプログラムにより、擬似して入力したいキー入力の列（キーコードストリーム）を、キーコードアドレス変換回路１０２に出力する。前述のように、出力するキーコードは数１００ｍｓ続き、キーコードが変化する時には、いずれのキーも押されない状態に対応するオープン状態を設ける。
【００５２】
キーコードアドレス変換回路１０２は、キーコードストリームの各キーコードを、キーボード２０のキーマトリックスに対応するアドレス、すなわち行番（Ｘ）と列番（Ｙ）に変換し、擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’を出力する。オープン状態については、Ｘ座標を示すキーマトリックススキャン信号がとることないスキャン値を割り当てる。さらに、キーコードアドレス変換回路１０２は、アクティブである擬似入力モード信号を出力する。
【００５３】
キーコードアドレス変換回路１０２の出力する擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’は、外部端子５０を介して、一致検出回路５１に送られる。また、キーコードアドレス変換回路１０２の出力する擬似入力モード信号は、外部端子５０を介して、一致検出回路５１、Ｘセレクタ５２およびＹセレクタ５３に送られる。
【００５４】
通常動作時には、制御装置１０１およびキーコードアドレス変換回路１０２は取り外されるため、一致検出変換回路５１、Ｘセレクタ５２およびＹセレクタ５３に入力する擬似入力モード信号は非アクティブとなる。これにより、一致検出変換回路５１は動作を停止し、Ｘセレクタ５２およびＹセレクタ５３は、キーボードコントローラ３１の出力するＸ座標およびＹ座標を示すキーマトリックススキャン信号のスキャン値を選択する。これにより、第１実施形態のキーボードは、通常時には、図４のキーボードと同じ動作を行う。
【００５５】
入力キーを擬似して入力を行う場合には、制御装置１０１およびキーコードアドレス変換回路１０２を外部端子５０に接続する。これにより、一致検出変換回路５１、Ｘセレクタ５２およびＹセレクタ５３に入力する擬似入力モード信号はアクティブとなり、一致検出変換回路５１は動作状態になり、Ｘセレクタ５２およびＹセレクタ５３は、擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’を選択する。
【００５６】
次に、キーボード２０のキースイッチ部３２における所定キー（ここではキーコード“０”）を押し下げた状態にする。そして、制御装置１０１からキーコードストリームの出力を開始し、キーコードアドレス変換回路１０２は、キーコードストリームに対応する擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’を出力する。
【００５７】
キーボードコントローラ３１は、キーマトリックススキャン信号のＸ座標およびＹ座標のスキャン値を順次変化させるスキャン動作を繰り返し行う。ここで、一致検出変換回路５１は、スキャン値が擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’と一致すると、Ｘ座標およびＹ座標のスキャン値を所定キー（ここではキーコード“０”）の座標のスキャン値に変換する。なお、スキャン値が擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’と一致しない時には、一致検出変換回路５１は、所定キー以外の座標の変換Ｘ座標および変換Ｙ座標を出力する。
【００５８】
キースイッチ部３２は、所定キーの座標のスキャン値に変換された変換Ｘ座標および変換Ｙ座標を受けると、変換Ｘ座標をデコードして所定キーの行ラインに電圧信号を印加する。所定キーが押し下げられているため、所定キーの列ラインに電圧信号が出現し、押下検出回路が所定キーの列ラインでの電圧信号を検出し、エンコーダが所定キーの列ラインのＹ座標を出力する。このＹ座標は変換Ｙ座標と一致するので、キースイッチ部３２は、一致信号をキーボードコントローラ３１に出力する。
【００５９】
一致信号を受信した時にキーボードコントローラ３１が出力しているＸ座標およびＹ座標は、擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’と一致した値である。したがって、キーボードコントローラ３１は、擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’のキーが押し下げられているとして、対応するキーコードを生成する。
【００６０】
キーコードストリームの変化にしたがって入力したいキー入力（擬似するキー入力）が変化すると、それに応じて擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’が変化し、所望のキーコードストリームが入力されることになる。
【００６１】
図９は、キーコードストリームで、擬似するキー入力が変化した時の、キーマトリックススキャン信号のスキャン値（キースキャン値）、変換キースキャン値および一致信号の変化例を示す図、およびその変化を示すタイムチャートである。
【００６２】
図９は、行ラインが５本で、列ラインが２本で、Ｘ座標は０から４まで、Ｙ座標は０から１まで変化するものとし、Ｘ座標およびＹ座標は、（０，０）、（０，１）、（１，０）、…、（４，１）、（０，０）…の変化を繰り返すものとする。したがって、キーマトリックスは、１０アドレスを有し、１スキャン中に（Ｘ，Ｙ）は、１０回変化する。ここでは、１０アドレスが「０」から「９」に対応する、言い換えれば１０キーであるとする。擬似するキー入力は、「２」、「５」、「８」と変化し、「２」が１スキャンの３／１０の期間、「５」が１スキャンの３／１０の期間、「８」が１スキャンの４／１０の期間維持される。
【００６３】
図９の（Ａ）に示すように、１スキャンの１番目の変化でキースキャン値（Ｘ，Ｙ）が（０，０）になると、これは所定キー「０」の座標と一致するので、キースキャン値（Ｘ，Ｙ）を（０，０）からそれ以外のキーの座標に変換する。ここでは、（０，０）から（３，０）に変換するものとする。なお、所定キーの座標以外の座標であればどの座標でもよく、例えば、Ｙ座標を０から１に変換しても、Ｘ座標とＹ座標の両方を変換してもよい。
【００６４】
２番目の変化で、キースキャン値（Ｘ，Ｙ）が（０，１）になった場合、そのままキースキャン値（Ｘ，Ｙ）を（０，１）に維持する。なお、この場合も、所定キーの座標以外の座標であればどの座標に変換してもよい。
【００６５】
３番目の変化で、キースキャン値（Ｘ，Ｙ）が（１，０）になった場合、これは擬似する「２」のキースキャン値（座標）と一致するので、キースキャン値（Ｘ，Ｙ）が所定キーの座標（０，０）になるように変換する。これに応じて、キースイッチ部３２は一致信号を出力する。ここでは、一致信号は発生する場合を丸印で、不一致信号の場合を×印で表す。
【００６６】
４番目の変化で、擬似するキー入力が「５」に変化し、キースキャン値（Ｘ，Ｙ）が（１，１）になった場合、そのままキースキャン値（Ｘ，Ｙ）を（１，１）に維持する。さらに次の５番目の変化で、キースキャン値（Ｘ，Ｙ）が（２，０）になった場合、そのままキースキャン値（Ｘ，Ｙ）を（２，０）に維持する。
【００６７】
６番目の変化で、キースキャン値（Ｘ，Ｙ）が（２，１）になった場合、これは擬似する「５」のキースキャン値（座標）と一致するので、キースキャン値（Ｘ，Ｙ）が所定キーの座標（０，０）になるように変換する。これに応じて、キースイッチ部３２は一致信号を出力する。
【００６８】
７番目の変化で、擬似するキー入力が「８」に変化する。７番目と８番目の変化で、キースキャン値（Ｘ，Ｙ）が（３，０）（３，１）になった場合、そのままキースキャン値（Ｘ，Ｙ）を維持する。
【００６９】
９番目の変化で、キースキャン値（Ｘ，Ｙ）が（４，０）になった場合、これは擬似する「８」のキースキャン値（座標）と一致するので、キースキャン値（Ｘ，Ｙ）が所定キーの座標（０，０）になるように変換する。これに応じて、キースイッチ部３２は一致信号を出力する。
【００７０】
１０番目の変化で、キースキャン値（Ｘ，Ｙ）が（４，１）になった場合、そのままキースキャン値（Ｘ，Ｙ）を維持する。
【００７１】
図９の（Ｂ）のタイムチャートは、上記の変化例の場合の各信号の変化を示す。
【００７２】
図９では、擬似するキー入力が、１スキャン内に３回変化する短時間で変化する例を示した。しかし、人間によるキーボードからの入力を擬似するので、人間によるキーボードからの入力と同程度で、擬似するキー入力が変化するようにキーコードストリームを作成することが望ましい。
【００７３】
図１０は、擬似するキー入力が、人間によるキー入力と同様に数１００ｍｓ続くキーコードストリームで、擬似するキー入力が変化した時の、キースキャン値、変換キースキャン値および一致信号の変化例を示す図である。擬似するキー入力が長時間続く以外は、図９と同じである。
【００７４】
図１０では、キー入力「２」が数１００ｍｓの間入力されるので、キー入力「２」について一致信号が多数回発生する。
【００７５】
図１１は、制御装置１０１に搭載するキーコードストリームのプログラムを作成する手順を示すフローチャートである。
ステップＳ１１で、擬似する入力キーを選択する。
ステップＳ１２で、選択した擬似入力キーの入力時間、すなわちキーを押し下げている時間を選択する。
【００７６】
ステップＳ１３で、擬似入力キーの後にオープン状態を設けるか決定し、設ける場合にはステップＳ１４に、設けない場合にはステップＳ１５に進む。
ステップＳ１４で、オープン状態の時間を選択する。
【００７７】
ステップＳ１５で、さらに別の入力キーの擬似を続けるかを決定し、続ける場合にはステップＳ１１に戻り、終了する時には、ステップＳ１６に進む。Ｓ１１からＳ１５を繰り返すことにより、一連の擬似するキーコードストリームが作成される。
【００７８】
ステップＳ１６で、上記のキーコードストリームを繰り返す回数を入力する。
ステップＳ１７で、さらに別の入力キーの擬似を続けるかを決定し、続ける場合にはステップＳ１１に戻り、続けない場合には終了する。
制御装置１０１は、動作の単位時間にしたがってプログラムを実行し、擬似する入力キーの列（キーコードストリーム）を、キーコードアドレス変換回路１０２に出力する。
【００７９】
第１実施形態によれば、あらかじめ擬似する入力キーの列を記憶したプログラムを作成しておき、制御装置１０１およびキーコードアドレス変換回路１０２をキーボード２０に接続した状態で、キーボード２０で所定キーを押し下げた状態にする。その上で、制御装置１０１を実行すれば、所望のキー入力を自動的に行うことが可能である。しかもこの自動キー入力は、キースイッチ部２２における信号処理を通して行われるので、より実際の入力動作に近い形でキー入力を擬似するという効果を奏する。
【００８０】
第１実施形態は、図４の構成を有するキーボードをベースにしているが、図３の構成を有するキーボードをベースにすることも可能である。次に説明する第２実施形態は、図３の構成を有するキーボードをベースにするものである。
【００８１】
図１２は、第２実施形態のキーボードおよびキー入力を擬似する場合の構成を示す図である。
図１２において、制御装置１０１およびキーコードアドレス変換回路１０２は、第１実施形態と同じものが使用される。
【００８２】
第２実施形態のキーボード２０は、キーボードコントローラ２１と、キースイッチ部２２と、外部端子６０と、Ｘ一致検出変換回路６１と、Ｘセレクタ６２と、Ｙ変換セレクタ６３と、を有する。言い換えれば、第２実施形態のキーボード２０は、図３のキーボードに、外部端子６０と、Ｘ一致検出変換回路６１と、Ｘセレクタ６２と、Ｙ変換セレクタ６３と、を追加した構成を有する。
【００８３】
Ｘ一致検出変換回路６１は、キー入力を擬似する擬似入力モード信号がアクティブの時に動作し、通常時は動作を停止する。Ｘ一致検出変換回路６１は、キーボードコントローラ２１の出力するＸ座標を示すキーマトリックススキャン信号のスキャン値と、外部から入力される擬似Ｘ座標Ｘ’と、を受ける。Ｘ一致検出変換回路６１は、キーマトリックススキャン信号のＸ座標のスキャン値と、外部からの擬似Ｘ座標Ｘ’とが一致するか検出する。Ｘ一致検出変換回路６１は、一致した時に、Ｘ座標のスキャン値を所定キーのキーコードのスキャン値（行ラインの行番）に変換する。所定キーは、例えばキーコード“０”であり、“０”のキーの行ラインの行番に変換する。以下、所定キーがキーコード“０”であるとして説明する。Ｘ一致検出変換回路６１は、一致しない時には、Ｘ座標のスキャン値を維持するが、所定キーのＸ座標のスキャン値の場合は、所定キー以外のキーの行のスキャン値に変換する。なお、一致しない時には、Ｘ座標のスキャン値を維持せず、所定キー以外の任意のキーの行のスキャン値に変換してもよい。
【００８４】
Ｘセレクタ６２は、通常時には、キーボードコントローラ２１の出力するＸ座標を示すキーマトリックススキャン信号のスキャン値を選択してキースイッチ部２２に出力する。
【００８５】
Ｘセレクタ６２は、キー入力を擬似する時には、Ｘ一致検出変換回路６１の出力する変換Ｘ座標のスキャン値を選択してキースイッチ部２２に出力する。Ｘセレクタ６２は、外部端子６０を介して入力される擬似入力モード信号がアクティブの時には、キー入力を擬似するように動作し、擬似入力モード信号が非アクティブの時には、通常時の動作を行う。
【００８６】
Ｙ変換セレクタ６３は、通常時には、キースイッチ部２２の出力するＹ座標を示すデータ信号を選択してキーボードコントローラ２１に出力する。これにより、Ｘセレクタ６２の動作と合わせて、第２実施形態のキーボードは、通常時には、図３のキーボードと同じ動作を行う。
【００８７】
Ｙ変換セレクタ６３は、キー入力を擬似する時には、キースイッチ部２２から所定キーのＹ座標のデータを受けた時に、そのＹ座標を、キーコードアドレス変換回路１０２から供給される擬似Ｙ座標Ｙ’に変換して出力する。
【００８８】
Ｙ変換セレクタ６３から変換した擬似Ｙ座標Ｙ’を受信した時にキーボードコントローラ２１が出力しているＸ座標は、擬似Ｘ座標Ｘ’と一致した値である。したがって、キーボードコントローラ２１は、擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’のキーが押し下げられているとして、対応するキーコードを生成する。
【００８９】
図１３は、第２実施形態で、キーコードストリームで、擬似するキー入力が変化した時の、キーマトリックススキャン信号のスキャン値（キースキャン値）、変換キースキャン値および一致信号の変化例を示す図である。
【００９０】
図１３は、行ラインが５本で、列ラインが２本で、Ｘ座標は０から４まで、Ｙ座標は０から１までとし、Ｘ座標は０から４の変化を繰り返すものとする。押し下げられたキーがある場合には、キースイッチ部２２が、そのＸ座標のスキャン値の時にＹ座標を出力する。ここでは、テンキー「０」、「１」、「２」、…「９」が、座標（０，０）、（１，０）、（２，０）、…（４，１）に対応する。
【００９１】
１スキャンの１番目の変化でキースキャン値（Ｘ）が（０）になると、これは所定キー「０」のＸ座標と一致するので、キースキャン値（Ｘ）を（０）以外のキーのＸ座標に変換する。なお、所定キーのＸ座標以外の座標であればどのＸ座標でもよい。この時、キースイッチ部２２はＹ座標を出力しない。
【００９２】
２番目の変化で、キースキャン値（Ｘ）が（１）になった場合、そのままキースキャン値（Ｘ）を（１）に維持する。なお、この場合も、所定キーの座標以外の座標であればどの座標に変換してもよく、キースイッチ部２２はＹ座標を出力しない。
【００９３】
３番目の変化で、キースキャン値（Ｘ）が（２）になった場合、これは擬似する「２」のキースキャン値（Ｘ座標）と一致するので、キースキャン値（Ｘ）が所定キーのＸ座標（０）になるように変換する。これに応じて、キースイッチ部２２は所定キーのＹ座標（０）を出力し、Ｙ変換セレクタ６３は、Ｙ座標（０）を擬似Ｙ座標Ｙ’（０）に変換してキーボードコントローラ２１に出力する。キーボードコントローラ２１は、その時に擬似Ｘ座標Ｘ’に一致するＸ座標を出力しており、擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’（２，０）のキーが押し下げられていると判定する。
【００９４】
４番目の変化時に、擬似するキー入力が「５」に変化し、キースキャン値（Ｘ）が（３）になった場合、そのままキースキャン値（３）を維持する。さらに次の５番目の変化で、キースキャン値（Ｘ）が（４）になった場合、そのままキースキャン値（４）を維持する。
【００９５】
６番目の変化で、キースキャン値（Ｘ）が（０）に戻った場合、これは擬似する「５」のキースキャン値（Ｘ座標）と一致するので、キースキャン値（Ｘ）が所定キーの座標（０）になるように変換する。これに応じて、キースイッチ部２２は所定キーのＹ座標（０）を出力し、Ｙ変換セレクタ６３は、Ｙ座標（０）を擬似Ｙ座標Ｙ’（０）に変換してキーボードコントローラ２１に出力する。キーボードコントローラ２１は、その時に擬似Ｘ座標Ｘ’に一致するＸ座標を出力しており、擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’（０，１）のキーが押し下げられていると判定する。
【００９６】
７番目の変化時に、擬似するキー入力が「８」に変化する。７番目と８番目の変化で、キースキャン値（Ｘ）が（１）、（２）になった場合、そのままキースキャン値を維持する。
【００９７】
９番目の変化で、キースキャン値（Ｘ）が（３）になった場合、これは擬似する「８」のキースキャン値（座標）と一致するので、キースキャン値（Ｘ）が所定キーの座標（０）になるように変換する。これに応じて、キースイッチ部２２は所定キーのＹ座標（０）を出力し、Ｙ変換セレクタ６３は、Ｙ座標（０）を擬似Ｙ座標Ｙ’（１）に変換してキーボードコントローラ２１に出力する。キーボードコントローラ２１は、その時に擬似Ｘ座標Ｘ’に一致するＸ座標を出力しており、擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’（３，１）のキーが押し下げられていると判定する。
【００９８】
制御装置１０１およびキーコードアドレス変換回路１０２を使用した動作・処理は第１実施形態と同じである。
以上の通り、第２実施形態では、外部から入力される擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’のキーが押し下げられているとした擬似キー入力が、キースイッチ部２２における信号処理を通して行える。これにより、より実際の入力動作に近い形でキー入力を擬似するという効果を奏する。
【００９９】
第１および第２実施形態では、制御装置およびキーコードアドレス変換回路を、外部端子を介してキーボードに接続した状態で、キー入力を擬似する。しかし、キーボードに外部端子を設けず、制御装置およびキーコードアドレス変換回路を準備せずにキー入力を擬似できることが望ましい。次に説明する第３実施形態では、キーボードに制御装置およびキーコードアドレス変換回路を接続せずにキー入力を擬似する。
【０１００】
図１４は、第３実施形態のキーボードの構成を示す図である。
第３実施形態のキーボードは、キーボードコントローラ３１と、キースイッチ部３２と、一致検出変換回路５１と、セレクタ５４と、を有する。キースイッチ部３２および一致検出変換回路５１は、図８の第１実施形態のキーボードの対応部分と同じであり、セレクタ５４は、Ｘセレクタ５２とＹセレクタ５３を合わせたものである。
【０１０１】
前述のように、キーボードコントローラは、汎用のプロセッサ、ＲＯＭおよびＲＡＭ等で形成されるか、それらを含むマイクロコンピュータ等で形成されており、ＲＡＭや書き換え可能な不揮発性メモリ等を有している。そこで、第３実施形態では、キーコードストリームを、キーボードコントローラの有するメモリに記憶する。また、キーコードストリームの生成を、キーボードのキースイッチ部を利用して行う。
【０１０２】
図１４に示すように、一般的なキーボードコントローラは、キーボードコントローラ用ＣＰＵ７１と、ＲＡＭ／フラッシュメモリ等のメモリ７２と、Ｉ／Ｏポート７３と、スキャンアドレスポート７４と、バス７５と、を有する。ＣＰＵ７１は、バス７５を介して、メモリ７２、Ｉ／Ｏポート７３およびスキャンアドレスポート７４にアクセスする。ＣＰＵ７１の動作プログラムは、フラッシュメモリに記憶されるが、フラッシュメモリが搭載されていない場合には、図示していないＲＯＭに記憶される。
【０１０３】
スキャンアドレスポート７４は、Ｉ／Ｏポートの一部であるが、ここでは特別なポートとして別に示している。ＣＰＵ７１は、内部で生成したキーマトリックススキャン信号のスキャン値（Ｘ，Ｙ座標）を、スキャンアドレスポート７４に出力する。また、キースイッチ部３２から出力された一致信号は、ＣＰＵ７１の割り込み信号端子ＩＲＱに入力する。ＣＰＵ７１は、メモリ７２に記憶されたキーコードストリームから擬似するキー入力の情報を読み出し、擬似Ｘ座標Ｘ’および擬似Ｙ座標Ｙ’を生成して、Ｉ／Ｏ７３に出力する。Ｉ／Ｏ７３の出力には、さらに擬似入力モードを示すビットが含まれる。マイクロコンピュータ等に関する構成は、広く知られているので、これ以上の説明は省略する。
【０１０４】
第３実施形態では、キースイッチ部からのキー入力にしたがってキーコードストリームを生成し、メモリ７２に記憶する記憶モードと、記憶したキーコードストリームを出力する実行モードを行うためのプログラムを、動作プログラムに搭載する。
【０１０５】
図１５は、キーコードストリームを生成して記憶する記憶モードにおける動作を示すフローチャートである。
ステップＳ２１では、キーコードストリーム記憶モードが指示されたか判定し、指示されるまで待機する。記憶モードは、ファンクションキー、キーの組み合わせで指示される。記憶モードを指示するファンクションキー、キーの組み合わせは、通常動作で使用するファンクションキー、キーの組み合わせ以外であるように決められる。キーコードストリーム記憶モードが指示されると、ステップＳ２２に進む。
【０１０６】
ステップＳ２２で、キースイッチ部３２におけるキー入力により、図１１に示した操作にしたがって、キーコードストリームを生成し、メモリ７２に記憶する。なお、プログラムに、実際のキー入力動作を計時する機能を設け、実際の入力動作を模したキーコードストリームを作成するようにしてもよい。擬似するすべてのキー入力が終了すると、終了を指示するキー入力を行い、終了する。
【０１０７】
図１６は、記憶したキーコードストリームにしたがって擬似するキー入力を実行するモードにおけるＣＰＵの動作を示すフローチャートである。
【０１０８】
ステップＳ３１で、キーコードストリーム実行モードが指示されたか判定し、指示されるまで待機する。実行モードも、通常動作で使用するファンクションキー、キーの組み合わせ以外のファンクションキー、キーの組み合わせで指示される。キーコードストリーム実行モードが指示されると、ステップＳ３２に進む。
【０１０９】
ステップＳ３２で、キーコードストリーム出力状態を設定する。具体的には、Ｉ／Ｏ７３から出力する擬似入力モードを示すビットをアクティブにする。これにより、一致検出変換回路５１およびセレクタ５４が、擬似入力を行う状態に設定される。
【０１１０】
ステップＳ３３で、実行するキーコードストリームを記憶したメモリの読み出し開始位置（アドレス）を設定する。
ステップＳ３４で、キーコードストリームを読み出し、キー入力の擬似Ｘ座標および擬似Ｙ座標を生成する。
【０１１１】
ステップＳ３５で、擬似Ｘ座標および擬似Ｙ座標をＩ／Ｏ７３に出力する。これにより、第１実施形態で説明した擬似キー入力が行われる。
ステップＳ３６で、擬似しているキー入力を行う時間が経過するまで待つ。これにより、実際のキー入力動作に近い形でキー入力が行われる。時間経過後ステップＳ３７に進む。
【０１１２】
ステップＳ３７で、読み出し位置（アドレス）を次のキーコードのアドレスに変更する。
ステップＳ３８で、入力するキーコードが無いか判定し、有ればステップＳ３４に戻る。ステップＳ３４からＳ３８を繰り返すことにより、記憶されたキーコードストリームに対応するキー入力が行われる。これ以上入力するキーコードが無い場合は、終了する。
【０１１３】
以上の実施形態に関し、更に以下の付記を開示する。
［付記１］
キースイッチ部にキーマトリックススキャンのスキャン値を入力し、
前記キースイッチ部からの前記キーマトリックススキャンのスキャン値に対する応答を受け、
前記キーマトリックススキャンのスキャン値および前記キースイッチ部からの応答から、前記キースイッチ部におけるキーの押し下げ状態を検出するキーボードにおいて、
前記キースイッチ部で、所定キーが押し下げられた状態に設定し、
前記キーマトリックススキャンのスキャン値と、擬似するキーのスキャン値と、を比較し、
前記キーマトリックススキャンのスキャン値と前記擬似するキーのスキャン値とが一致した時に、前記キーマトリックススキャンのスキャン値を前記所定キーのスキャン値に変換し、
前記キーマトリックススキャンのスキャン値と前記擬似するキーのスキャン値とが一致しない時に、前記キーマトリックススキャンのスキャン値を、前記所定キーのスキャン値以外になるように変換し、
前記キーマトリックススキャンのスキャン値、前記擬似するキーのスキャン値および前記キースイッチ部からの応答から、前記キースイッチ部における押し下げキーを判定することを特徴とするキーボード入力擬制方法。
［付記２］
前記キーマトリックススキャンのスキャン値は、前記キースイッチ部の全てのキーをスキャンし、
前記キースイッチ部は、前記所定キーのスキャン値に変換したスキャン値を受けた時に一致信号を出力し、
前記キースイッチ部は、前記所定キーのスキャン値以外のスキャン値を受けた時に不一致信号を出力する付記１に記載のキーボード入力擬制方法。
［付記３］
前記キースイッチ部のキーマトリックスは、複数の行と複数の列でキーの位置が規定され、
前記キーマトリックススキャンのスキャン値は、前記キーマトリックスの前記複数の行をスキャンし、
前記キーマトリックススキャンのスキャン値と、擬似するキーの行番と、を比較し、
前記キーマトリックススキャンのスキャン値と前記擬似するキーの行番とが一致した時に、前記キーマトリックススキャンのスキャン値を前記所定キーの行番に変換し、
前記キーマトリックススキャンのスキャン値と前記擬似するキーの行番とが一致しない時に、前記キーマトリックススキャンのスキャン値を、前記所定キーの行番以外になるように維持または変換し、
前記キースイッチ部が前記所定キーの列番を出力した時に、前記擬似するキーの列番に変換する付記１に記載のキーボード入力擬制方法。
［付記４］
前記擬似するキーのスキャン値は、当該キーボードの外部から供給される付記１から３のいずれか１つに記載のキーボード入力擬制方法。
［付記５］
前記擬似するキーのスキャン値は、当該キーボード内の記憶部から供給される付記１から３のいずれか１つに記載のキーボード入力擬制方法。
［付記６］
複数のキーを配列したキーマトリックスを有するキースイッチ部と、
前記キースイッチ部にキーマトリックススキャンのスキャン値を出力するキーボードコントローラと、
入力擬制時に、前記キーマトリックススキャンのスキャン値と、擬似するキーのスキャン値と、を比較し、前記キーマトリックススキャンのスキャン値と前記擬似するキーのスキャン値とが一致した時に、前記キーマトリックススキャンのスキャン値を所定キーのスキャン値に変換し、前記キーマトリックススキャンのスキャン値と前記擬似するキーのスキャン値とが一致しない時に、前記キーマトリックススキャンのスキャン値を、前記所定キーのスキャン値以外になるように変換する変換回路と、を有し、
前記キースイッチ部は、前記キーマトリックススキャンのスキャン値に対する応答を出力し、
前記キーボードコントローラは、前記キースイッチ部からの前記キーマトリックススキャンのスキャン値に対する前記応答を受け、前記キーマトリックススキャンのスキャン値、前記擬似するキーのスキャン値および前記キースイッチ部からの応答から、前記キースイッチ部におけるキーの押し下げ状態を判定することを特徴とするキーボード。
［付記７］
前記変換回路は、非入力擬制時に、前記キーマトリックススキャンのスキャン値を変換せずに出力する付記６に記載のキーボード。
［付記８］
前記キーマトリックススキャンのスキャン値は、前記キースイッチ部の全てのキーをスキャンし、
前記キースイッチ部は、前記所定キーのスキャン値を受けた時に一致信号を出力し、
前記キースイッチ部は、前記所定キーのスキャン値以外のスキャン値を受けた時に不一致信号を出力する付記６に記載のキーボード。
［付記９］
前記キースイッチ部のキーマトリックスは、複数の行と複数の列でキーの位置が規定され、
前記キーマトリックススキャンのスキャン値は、前記キーマトリックスの前記複数の行をスキャンし、
前記変換回路は、前記キーマトリックススキャンのスキャン値と、擬似するキーの行番と、を比較し、前記キーマトリックススキャンのスキャン値と前記擬似するキーの行番とが一致した時に、前記キーマトリックススキャンのスキャン値を前記所定キーの行番に変換し、前記キーマトリックススキャンのスキャン値と前記擬似するキーの行番とが一致しない時に、前記キーマトリックススキャンのスキャン値を、前記所定キーの行番以外になるように変換し、前記キースイッチ部が前記所定キーの列番を出力した時に、前記擬似するキーの列番に変換する付記６に記載のキーボード。
［付記１０］
外部から供給される前記所定キーのスキャン値を受ける外部端子を有する付記６から９のいずれか１つに記載のキーボード。
［付記１１］
前記擬似するキーに関する情報を記憶する記憶部を有する付記６から９のいずれか１つに記載のキーボード。
［付記１２］
前記記憶部に記憶する前記擬似するキーに関する情報は、前記キーボードコントローラにより、前記キースイッチ部からのキー入力に基づいて記憶される付記１１に記載のキーボード。
［付記１３］
キーボードのキースイッチ部を、所定キーが押し下げられた状態に設定し、
キーボードコントローラが出力するキーマトリックススキャンのスキャン値と、擬似するキーのスキャン値と、を比較し、
前記キーマトリックススキャンのスキャン値と前記擬似するキーのスキャン値とが一致した時に、前記キーマトリックススキャンのスキャン値を前記所定キーのスキャン値に変換し、
前記キーマトリックススキャンのスキャン値と前記擬似するキーのスキャン値とが一致しない時に、前記キーマトリックススキャンのスキャン値を、前記所定キーのスキャン値以外になるように変換し、
前記キースイッチ部は、前記所定キーのスキャン値を受けた時に、前記キーボードコントローラに一致信号を出力し、
前記キースイッチ部は、前記所定キーのスキャン値以外のスキャン値を受けた時に、前記キーボードコントローラに不一致信号を出力する、ことを特徴とするキーボード入力擬制方法。
［付記１４］
前記擬似するキーのスキャン値は、当該キーボードの外部から供給される付記１３に記載のキーボード入力擬制方法。
［付記１５］
前記擬似するキーのスキャン値は、当該キーボード内の記憶部から供給される付記１３に記載のキーボード入力擬制方法。
［付記１６］
キーマトリックススキャンのスキャン値を出力するキーボードコントローラと、
入力擬制時に、前記キーマトリックススキャンのスキャン値と、擬似するキーのスキャン値と、を比較し、前記キーマトリックススキャンのスキャン値と前記擬似するキーのスキャン値とが一致した時に、前記キーマトリックススキャンのスキャン値を所定キーのスキャン値に変換し、前記キーマトリックススキャンのスキャン値と前記擬似するキーのスキャン値とが一致しない時に、前記キーマトリックススキャンのスキャン値を、前記所定キーのスキャン値以外になるように変換する変換回路と、
複数のキーを配列したキーマトリックスを有し、前記変換回路から前記キーマトリックススキャンのスキャン値を受けるキースイッチ部と、を有し、
前記キースイッチ部は、前記所定キーのスキャン値を受けた時に一致信号を出力し、前記所定キーのスキャン値以外のスキャン値を受けた時に不一致信号を出力し、
前記キーボードコントローラは、前記キースイッチ部から前記一致信号を受けた時に、前記キーマトリックススキャンのスキャン値に対応するキーが押し下げられていると判定することを特徴とするキーボード。
［付記１７］
前記変換回路は、非入力擬制時に、前記キーマトリックススキャンのスキャン値を変換せずに出力する付記１６に記載のキーボード。
【０１１４】
以上、実施形態を説明したが、ここに記載したすべての例や条件は、発明および技術に適用する発明の概念の理解を助ける目的で記載されたものである。特に記載された例や条件は発明の範囲を制限することを意図するものではなく、明細書のそのような例の構成は発明の利点および欠点を示すものではない。発明の実施形態を詳細に記載したが、各種の変更、置き換え、変形が発明の精神および範囲を逸脱することなく行えることが理解されるべきである。
【符号の説明】
【０１１５】
１０    パーソナルコンピュータ（パソコン）
２０    キーボード
２１，３１    キーボードコントローラ
２２，３２    キースイッチ部
５１    一致検出変換回路
５２    Ｘセレクタ
５３    Ｙセレクタ
６１    Ｘ一致検出変換回路
６２    Ｘセレクタ
６３    Ｙ変換セレクタ
１０１    制御装置
１０２    キーコードアドレス変換回路
【図１】
0006540148.tif 000002
【図２】
0006540148.tif 000003
【図３】
0006540148.tif 000004
【図４】
0006540148.tif 000005
【図５】
0006540148.tif 000006
【図６】
0006540148.tif 000007
【図７】
0006540148.tif 000008
【図８】
0006540148.tif 000009
【図９】
0006540148.tif 000010
【図１０】
0006540148.tif 000011
【図１１】
0006540148.tif 000012
【図１２】
0006540148.tif 000013
【図１３】
0006540148.tif 000014
【図１４】
0006540148.tif 000015
【図１５】
0006540148.tif 000016
【図１６】
0006540148.tif 000017