(57)【特許請求の範囲】
【請求項１】
複数のキーと、
前記複数のキーの各々に加えられた力の強さを検出する検出部と、
前記複数のキーの各々についての閾値を設定する際に、第１のキーが押された後に前記第１のキーに続けて押されると予測される第２のキーの閾値を、前記第２のキー以外のキーの閾値よりも低く設定する設定部と、
前記複数のキーの各々についての前記閾値と、前記検出部により検出された前記力の強さとを比較する比較部と、
前記比較部による比較の結果に基づいて、前記複数のキーの中で押された１個のキーを認識する制御部とを含む
ことを特徴とする入力装置。
【請求項２】
前記設定部は、前記第２のキーに隣接するキーである第３のキーの閾値を、前記第２のキー及び第３のキー以外のキーの閾値よりも高く設定する
ことを特徴とする請求項１に記載の入力装置。
【請求項３】
前記設定部は、前記第２のキー及び第３のキー以外のキーの閾値を、前記第２のキーの閾値と前記第３のキーの閾値との中間の値に設定する
ことを特徴とする請求項２に記載の入力装置。
【請求項４】
前記設定部は、前記入力装置からの入力の開始前に、前記複数のキーの各々の閾値を、前記第２のキーの閾値と前記第３のキーの閾値との中間の値に設定する
ことを特徴とする請求項２に記載の入力装置。
【請求項５】
前記設定部は、前記複数のキーの各々についての閾値を設定した閾値テーブルと、前記複数のキー毎に、前記複数のキーの各々が前記第２のキーであると想定した場合における、前記第２のキーの閾値及び前記第３のキーの閾値を設定した複数の部分閾値テーブルとを含み、実際に予測された前記第２のキーに対応する前記部分閾値テーブルを用いて前記閾値テーブルを部分的に変更することにより、前記閾値テーブルを更新し、
前記比較部は、前記閾値テーブルに格納された閾値と、前記検出部により検出された前記力の強さとを比較する
ことを特徴とする請求項２に記載の入力装置。
【請求項６】
前記検出部は、前記複数のキーの各々に対応して設けられ、前記複数のキーの各々に加えられた力の強さを検出する感圧性ゴムを含む
ことを特徴とする請求項１に記載の入力装置。
【請求項７】
複数のキーの各々に加えられた力の強さを検出し、
前記複数のキーの各々について閾値を設定する際に、第１のキーが押された後に前記第１のキーに続けて押されると予測される第２のキーの閾値を、前記第２のキー以外のキーの閾値よりも低く設定し、
前記複数のキーの各々についての前記閾値と、検出された前記力の強さとを比較し、
前記比較の結果に基づいて、前記複数のキーの中で押された１個のキーを認識する
ことを特徴とする入力制御方法。
【請求項８】
コンピュータと、
前記コンピュータに接続された入力装置とを含み、
前記コンピュータが、
前記入力装置の第１のキーが押された後に前記第１のキーに続けて押されるキーである第２のキーを予測する予測部を含み、
前記入力装置が、
複数のキーと、
前記複数のキーの各々に加えられた力の強さを検出する検出部と、
前記複数のキーの各々について閾値を設定する際に、前記予測部により予測された前記第２のキーの閾値を、前記第２のキー以外のキーの閾値よりも低く設定する設定部と、
前記複数のキーの各々についての前記閾値と、前記検出部により検出された前記力の強さとを比較する比較部と、
前記比較部による比較の結果に基づいて、前記複数のキーの中で押された１個のキーを認識して、前記予測部に通知する制御部とを含む
ことを特徴とする情報処理装置。
【請求項９】
複数のキーの各々に加えられた力の強さを検出するステップと、
前記複数のキーの各々について閾値を設定する際に、第１のキーが押された後に前記第１のキーに続けて押されると予測される第２のキーの閾値を、前記第２のキー以外のキーの閾値よりも低く設定するステップと、
前記複数のキーの各々についての前記閾値と、検出された前記力の強さとを比較するステップと、
前記比較の結果に基づいて、前記複数のキーの中で押された１個のキーを認識するステップとを、コンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力装置、入力制御方法、情報処理装置、プログラムに関する。
【背景技術】
【０００２】
情報処理装置において用いられる入力デバイスとして、キーボードなどに代表されるキー入力装置が用いられる。例えば、キーボードにおいては、キーボードのキーを押下げすると、キーボードのコントローラがキー入力を認識し、対応する文字が液晶表示装置などの表示デバイスに表示される。キーボードにおいては、キー接点がオンかオフかにより、キーの状態を判定している。従って、キーボードにおいては、オペレータの操作を、スイッチのオンかオフかだけにより検出する、換言すれば、キーの出力を２値信号としてのみ判断する構造が採用されている。
【０００３】
なお、押下げされたキースイッチと接触されたキースイッチを出力する入力部と、キースイッチへの押し込みが検出された際に、押し込まれたキースイッチと接触されたキースイッチとの対応関係に基づくデータベース構築データを出力するデータベース作成手段と、データベース構築データを蓄積データとして保管、蓄積するデータベースと、キースイッチへの接触が検出された際に、蓄積データに基づいて複数のキースイッチのうちの一つを有効なキースイッチを出力する有効キー特定手段と、有効とされたキースイッチに割り当てられた所定の記号やデータを表示する情報提示手段とを備える、ことが提案されている。
【０００４】
また、キーはキーボード内のそれらの位置に従う所定順位に関連し、使用時、キーはそれらの順位に従って優先的に選択され、また、キー由来の信号は、それらの位置に関連する重み付け係数によって、スケーリングされ、その重み付け信号に従って、キーが選択され得る、ことが提案されている。
【０００５】
また、キーに圧力が加えられると、圧力センサーはその圧力の大きさに応じた値を持つ圧力信号に変換し、そして変換部において、圧力センサーから圧力信号を受け取り、一方書換可能なしきい値保存用メモリからしきい値設定部で設定したしきい値を読み出し、これらの値を比較した結果によってキーのＯＮ／ＯＦＦの信号を出力する、ことが提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−２１７６４３号公報
【特許文献２】特開２００７−３１７２０１号公報
【特許文献３】特開平６−０９５７７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一般に、キーボードに代表されるキー入力装置には、多数のキーが設けられる。このため、オペレータが目的とするキーだけを、正しく押下げるとは限らない。例えば、１回の操作で２以上のキーが同時に押されることがある。この場合、オペレータの意に反して、押下げることを意図していなかったキーが認識されたり、複数のキーがまとめて入力されたと認識されたりすることがある。このような誤入力の結果、入力の修正に手間がかかり、また、キー入力の進捗の妨げになる。
【０００８】
本発明は、誤入力を防止して高い精度での入力が可能な入力装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
開示される入力装置は、複数のキーと、複数のキーの各々に加えられた力の強さを検出する検出部と、複数のキーの各々についての閾値を設定する際に、第１のキーが押された後に第１のキーに続けて押されると予測される第２のキーの閾値を、第２のキー以外のキーの閾値よりも低く設定する設定部と、複数のキーの各々についての閾値と、検出部により検出された力の強さとを比較する比較部と、比較部による比較の結果に基づいて、複数のキーの中で押された１個のキーを認識する制御部とを含む。
【発明の効果】
【００１０】
開示される入力装置によれば、オペレータが１回の操作で２以上のキーを同時に押す等の誤った操作をしても、キーを正しく認識する可能性を高くすることができ、誤入力を防止して高い精度で入力を実行し、誤入力の訂正作業を排除することができる。
【図面の簡単な説明】
【００１１】
【図１】入力装置を含む情報処理装置の一例を示す図である。
【図２】キーボードコントローラの一例を示す図である。
【図３】キーボードコントローラの一例を示す図である。
【図４】キーボードマトリクスの一例を示す図である。
【図５】キーボードマトリクスの一例を示す図である。
【図６】キーボードマトリクスの一例を示す図である。
【図７】キーボードマトリクスの一例を示す図である。
【図８】キーボードマトリクスの一例を示す図である。
【図９】キーボードマトリクスの一例を示す図である。
【図１０】キーボードマトリクスの一例を示す図である。
【図１１】キーの検出の説明図である。
【図１２】キーの検出の説明図である。
【図１３】キーの検出の説明図である。
【図１４】キーの検出の説明図である。
【図１５】キーの検出の説明図である。
【図１６】キーの検出の説明図である。
【図１７】キーの検出の説明図である。
【図１８】キーの検出の説明図である。
【図１９】キーの検出の説明図である。
【図２０】キーの検出処理フローである。
【図２１】本発明者が検討したキーボードの一例を示す図である。
【図２２】本発明者が検討したキーボードの一例を示す図である。
【発明を実施するための形態】
【００１２】
図２１及び図２２は、本発明者が検討したキーボードの一例を示す図である。
【００１３】
情報処理装置の小型化が進んだために、入力のキーの物理的な大きさが小型化している。このため、誤入力の機会が増えている。
【００１４】
図２１及び図２２は、オペレータが、キー「Ｋ」を押そうとしたが、誤って隣接するキー「Ｌ」も押してしまった場合における、キー「Ｋ」及びキー「Ｌ」に加えられた力の強さの一例を示す。
【００１５】
図２１において、キーボードは、キー「Ｋ」及びキー「Ｌ」に加えられた力の強さに拘わりなく、キー「Ｋ」及びキー「Ｌ」が押されたと認識する。この結果、表示装置には、文字「Ｋ」及び文字「Ｌ」の双方が表示されてしまう。
【００１６】
図２２において、キーボードには、キーに加えられた力の強さを検出するための閾値が設定されている。これにより、キーボードは、閾値より大きい力で押されたキー「Ｋ」のみが押されたと認識し、閾値より小さい力で押されたキー「Ｌ」は押されないと認識する。この結果、表示装置には、文字「Ｋ」が表示される。従って、オペレータが、キー「Ｋ」を押そうとしたが、誤って隣接するキー「Ｌ」も押してしまったにも拘わらず、キー「Ｋ」が押されたと正しく認識される。
【００１７】
しかし、この場合でも、キー「Ｋ」及びキー「Ｌ」の間に明確な力の差がなければ、誤入力を防止することはできない。例えば、キー「Ｌ」を押す力の強さが、図２２に点線で示すように、キー「Ｋ」を押す力の強さに近い値である場合、換言すれば、キー「Ｌ」を押す力の強さが閾値よりも大きい場合には、キー「Ｋ」及びキー「Ｌ」が押されたと認識され、文字「Ｋ」及び文字「Ｌ」の双方が表示されてしまう。
【００１８】
図１は、入力装置を含む情報処理装置の一例を示す図である。
【００１９】
情報処理装置は、ホストコンピュータ１と、ディスプレイ２と、キーボード部３とを含む。ホストコンピュータ１は、ＣＰＵ（中央処理装置）１１と、ＭＣＨ（メモリコントロールハブ）１２と、ＩＣＨ（インタフェースコントロールハブ）１３と、ＲＡＭ（ランダムアクセスメモリ）１４と、ＲＯＭ（リードオンリメモリ）１６と、ＨＤＤ（ハードディスクドライブ）１７とを含む。ＲＡＭ１４は、アプリケーションプログラム（以下、アプリケーションという）１５を含む。ＨＤＤ１７は、知識情報格納部１８を含む。ディスプレイ２は、アプリケーション画面２１を含む。
【００２０】
キーボード部３は、ホストコンピュータ１に接続されたキー入力装置であって、ＫＢＣ（キーボードコントローラ）３０と、ＫＢ（キーボード）マトリクス３１とを含む。ＫＢマトリクス３１は、複数のキーを含む。
【００２１】
ＭＣＨ１２は、メモリコントローラであり、ＲＡＭ１４のようなメモリ、ディスプレイ２とのインタフェースである。ＩＣＨ１３は、インタフェースコントローラであり、キーボード部３のＫＢＣ３０、ＲＯＭ１６、ＨＤＤ１７、周辺回路Ｉ／Ｆで代表的に示す種々の周辺機器とのインタフェースである。ＭＣＨ１２及びＩＣＨ１３は一体に形成されても良い。ＣＰＵ１１は、ＭＣＨ１２及びＩＣＨ１３を介して、ＲＡＭ１４、ディスプレイ２、キーボード部３、ＲＯＭ１６、ＨＤＤ１７との間で通信を行い、ＲＡＭ１４、ディスプレイ２、キーボード部３、ＲＯＭ１６、ＨＤＤ１７を制御する。
【００２２】
例えば、ＲＡＭ１４に格納されたアプリケーション１５は、例えば、文字入力処理プログラムである。ＣＰＵ１１は、ＲＡＭ１４上に存在するアプリケーション１５を起動することにより、文字入力処理を実行する。具体的には、起動されたアプリケーション１５は、キーボード部３から入力されたキーを認識して、認識した結果に従って、ディスプレイ２のアプリケーション画面２１上に、入力された文字を表示する。
【００２３】
アプリケーション１５は、設定部であり、文字入力処理において、複数のキー５０１（図５参照）の各々について、キー５０１が押された力Ｆの検出における、閾値Ｖｔｈを設定する。キー５０１は、自己の閾値Ｖｔｈに相当する力Ｆ（Ｖｔｈ）より大きい力で押された場合には、押されたと判定される。キー５０１は、自己の閾値Ｖｔｈに相当する力Ｆ（Ｖｔｈ）より小さい力で押された場合には、押されたと判定されない。
【００２４】
アプリケーション１５は、入力装置からの入力の開始前に、複数のキー５０１の各々の閾値を、初期値に設定する。初期値は、例えば、第１のキーが押された後に第１のキーに続けて押されると予測される第２のキーの閾値と、第２のキーに隣接するキーである第３のキーの閾値との中間の値である。これにより、例えば、第２のキーの閾値が後述する感度「１０」に相当する閾値とされ、第３のキーの閾値が後述する感度「１」に相当する閾値とされた場合において、初期値は後述する感度「５」に相当する値とされる。
【００２５】
また、アプリケーション１５は、入力装置からの入力が開始されると、複数のキー５０１の各々の閾値を、第２のキーの予測に基づいて、動的に変更する。具体的には、アプリケーション１５は、第２のキーの閾値を、第２のキー以外のキーの閾値よりも低く設定し、第３のキーの閾値を、第２のキー及び第３のキー以外のキーの閾値よりも高く設定し、第２のキー及び第３のキー以外のキーの閾値を、第２のキーの閾値と第３のキーの閾値との中間の値に設定する。これにより、例えば、第２のキーの閾値が後述する感度「１０」に相当する閾値とされ、第３のキーの閾値が後述する感度「１」に相当する閾値とされた場合において、第２のキー及び第３のキー以外のキーの閾値は後述する感度「５」に相当する値とされる。換言すれば、第２のキー及び第３のキー以外のキーの閾値は、初期値と等しい値とされる。
【００２６】
アプリケーション１５は、複数のキーの各々についての閾値を設定した閾値テーブルと、複数のキー毎に、複数のキーの各々が第２のキーであると想定した場合における、第２のキーの閾値及び第３のキーの閾値を設定した複数の部分閾値テーブルとを含む。アプリケーション１５は、実際に予測された第２のキーに対応する部分閾値テーブルを用いて、部分的に閾値テーブルを変更することにより、閾値テーブルを更新する。換言すれば、閾値テーブルの一部は、キー５０１の入力の都度に、第２のキーに対応する部分閾値テーブルにより、第２のキーに対応する部分閾値テーブルに対応する部分のみを、部分的に上書きされる。閾値テーブル、部分閾値テーブルについては、図１４〜図１５を参照して後述する。
【００２７】
図２及び図３は、キーボードコントローラの一例を示す図である。
【００２８】
ＫＢＣ３０は、ＣＰＵコア３２と、ＲＯＭ３３と、ＡＤ変換器（Ａ／Ｄ）３４と、出力ポート３５と、ホストＩ／Ｆ３６と、ＲＡＭ３７と、これらの間を接続するバス３９とを含む。ＲＡＭ３７はテーブル格納部３８を含む。
【００２９】
ＣＰＵコア３２は、ＲＯＭ３３に格納された制御プログラムを実行することにより、Ｘ選択信号及びＹ選択信号を、出力ポート３５からＫＢマトリクス３１に出力する。Ｘ選択信号及びＹ選択信号は、予め定められた順でサイクリックに変化する。Ｘ選択信号及びＹ選択信号の入力に応じて、Ｘ選択信号及びＹ選択信号に対応して定まるキーからのアナログ信号が、ＫＢマトリクス３１から、ＡＤ変換器３４に入力される。ＡＤ変換器３４は、入力されたアナログ信号をデジタル信号に変換して、ＣＰＵコア３２へ送る。
【００３０】
ＲＯＭ３３に格納された制御プログラムを実行するＣＰＵコア３２は、ＡＤ変換器３４からのデジタル信号と、後述する閾値とを比較して、押されたキーを判定する。そして、ＣＰＵコア３２は、押されたキーのキーコードを、割り込み信号ＩＲＱと共に、ホストＩ／Ｆ３６からホストコンピュータ１へ送信する。
【００３１】
換言すれば、ＲＯＭ３３に格納された制御プログラムを実行するＣＰＵコア３２は、比較部であって、図１４を参照して後述する閾値テーブル３８２に格納された複数のキー５０１の各々についての閾値と、感圧性ゴム５０５により検出された力Ｆの強さとを比較する。また、ＲＯＭ３３に格納された制御プログラムを実行するＣＰＵコア３２は、制御部であって、比較の結果に基づいて、複数のキー５０１の中で、押された１個のキー５０１を認識する。
【００３２】
キー５０１による入力に先立って、キーの閾値を格納する閾値テーブル３８２（図１４参照）が、テーブル格納部３８に格納される。キーの閾値は、ホストコンピュータ１から送信された、Ｖｔｈ設定コマンドに従って、設定される。
【００３３】
図４及び図５は、キーボードマトリクスの一例を示す図である。
【００３４】
図４は、ＫＢマトリクス３１のマトリクス部の斜視図である。キーボード部３のＫＢマトリクス３１は、図４に示すように、シート型（メンブレン式）構造のマトリクス部を有する。ＫＢマトリクス３１は、構造物３０１と、シート３０２と、絶縁シート３０３と、シート３０４とを含む。
【００３５】
マトリクス部は、上から順に、構造物３０１と、シート３０２と、絶縁シート３０３と、シート３０４とを重ねた構造とされる。構造物３０１は、キートップ３１０と、キー５０１を含む。なお、キートップ３１０は、実際には、突起状を有するが、図４においては、平面で表している。
【００３６】
シート３０２には、ＫＢマトリクス３１のマトリクス部の一方の配線３１１が印刷されている。シート３０４には、ＫＢマトリクス３１のマトリクス部の他方の配線３１３が印刷されている。絶縁シート３０３は、シート３０２とシート３０４とを絶縁する。配線３１１は接続部３１４に接続され、配線３１３は接続部３１５に接続される。
【００３７】
マトリクス部の一方の配線３１１と、マトリクス部の他方の配線３１３とは、相互に直行する方向に延びる。絶縁シート３０３において、マトリクス部の一方の配線３１１とマトリクス部の他方の配線３１３との交点に対応する位置に、各々、開口３１２が形成される。交点が、各々、キー５０１に対応する。
【００３８】
図５は、図４のＫＢマトリクス３１のマトリクス部における、配線３１１と配線３１３との交点近傍の断面図である。構造物３０１には、図５（Ａ）に示すように、キー５０１が埋め込まれている。キー５０１と構造物３０１との間には、コイルバネ５０２が嵌め込まれる。これにより、キーボード部３において、例えば５０グラムの押下圧を確保することができる。一方、キー５０１は、力Ｆにより押される。
【００３９】
キー５０１の中心からは、シャフト５０３が下方に延びており、構造物３０１とでスライダ構造を形成する。キー５０１の天面（キートップ）に対して力Ｆが加わることにより、図５に矢印で示すように、シャフト５０３が、構造物３０１の下方に押し出される。この結果、キー５０１直下の位置のシート３０２にたわみが生じ、シート３０２上の配線３１１とシート３０４上の配線３１３とが、開口３１２において、感圧性ゴム５０５を介して、相互に接触する。
【００４０】
感圧性ゴム５０５は、図５（Ｂ）に示すように、シート３０２上の配線３１１とシート３０４上の配線３１３との交点に対応する位置、換言すれば、接点部に、印刷により形成されるか、又は、導電性接着剤で貼り付けられる。感圧性ゴム５０５は、導電性を有する可変抵抗である。接点部は、図５（Ｂ）に示すように、円形状に形成される。配線３１３の接点部も同様である。
【００４１】
感圧性ゴム５０５は、複数のキー５０１の各々に加えられた力の強さＦを検出する検出部である。換言すれば、感圧性ゴム５０５は、複数のキー５０１の各々に対応して設けられ、複数のキー５０１の各々に加えられた力Ｆの強さを検出する。
【００４２】
前述したように、キー５０１が力Ｆで押されると、シート３０２上の配線３１１とシート３０４上の配線３１３とが、開口３１２において、感圧性ゴム５０５を介して、相互に接触する。この時、感圧性ゴム５０５に、力Ｆに比例した力が加わる。従って、力Ｆに比例して、押された感圧性ゴム５０５の抵抗が変化する。換言すれば、配線３１１の接点部と配線３１３の接点部との間に、変化後の抵抗値を有する抵抗が挿入される。これにより、変化した抵抗値により定まる電流が、配線３１１と配線３１３との間に流れる。以上から、キー５０１が押されたか否かは、後述するように、キー５０１が押される力Ｆに基づいて定まる電流に基づいて判定される。なお、実際は、後述するように、抵抗Ｒ２を用いることにより、キー５０１が押される力Ｆに基づいて定まる電流を電圧に変換した値が、判定に用いられる。
【００４３】
キー５０１が押されたか否かの判定は、力Ｆに基づく方法以外に、種々の方法によることができる。例えば、キー５０１が押された深さ（距離）に基づいて、キー５０１が押されたか否かを判定するようにしても良い。キー５０１が押された深さは、感圧性ゴム５０５を用いて距離を電流値に変換することにより、判定することができる。例えば、押される強さの検出を行う場合には、伸縮性の低い感圧性ゴム５０５を用い、深さの検出を行う場合には伸縮性の高い感圧性ゴム５０５を用いるようにすれば良い。
【００４４】
図６〜図１０は、キーボードマトリクスの一例を示す図である。
【００４５】
図６は、ＫＢマトリクス３１の構成を示す。ＫＢマトリクス３１は、図６（Ａ）に示すように、Ｘ選択回路ＳＥＬと、Ｙ選択回路Ｙ−ＤＥＣと、複数の信号線Ｘ０〜Ｘ３と、複数の信号線Ｙ０〜Ｙ３とを含む。Ｘ選択回路ＳＥＬは抵抗Ｒ２を含む。なお、信号線Ｘ０〜Ｘ３の数は４本に限られず、信号線Ｙ０〜Ｙ３の数は４本に限られない。
【００４６】
Ｙ選択回路Ｙ−ＤＥＣの出力は、信号線Ｙ０〜Ｙ３に接続される。信号線Ｙ０〜Ｙ３は、シート３０２に形成された配線３１１である。Ｘ選択回路ＳＥＬの入力は、信号線Ｘ０〜Ｘ３に接続される。信号線Ｘ０〜Ｘ３は、シート３０４に形成された配線３１３である。信号線Ｙ０〜Ｙ３の各々と信号線Ｘ０〜Ｘ３の各々との間に、交点毎に、抵抗Ｒ１が、等価的に挿入される。抵抗Ｒ１は、交点に設けられる感圧性ゴム５０５により得られ、従って、可変である。
【００４７】
例えば、図６（Ｂ）に示すように、オペレータが、ｂの位置のキーを押そうとして、両側の隣接するａの位置のキー及びｃの位置のキーを押してしまうことがある。この場合、ｂの位置のキーは強い力で押され、ａの位置のキー及びｃの位置のキーは弱い力で押される。
【００４８】
この時、位置ａが、図６（Ａ）に示すような位置であるとすると、抵抗Ｒ１ａが信号線Ｙ２と信号Ｘ１との間に挿入される。位置ｂ及び位置ｃについても、同様に、抵抗Ｒ１ｂ及び抵抗Ｒ１ｃが挿入される。
【００４９】
図７は、Ｙ選択回路Ｙ−ＤＥＣの構成を示す。図８は、主として、Ｙ選択回路Ｙ−ＤＥＣの出力のタイムチャートを示す。
【００５０】
Ｙ選択回路Ｙ−ＤＥＣは、図７に示すように、デコーダＤＥＣ＃１と、トランジスタＱ１１〜Ｑ１４とを含む。トランジスタＱ１１〜Ｑ１４は、ＰチャネルＭＯＳＦＥＴである。Ｙ選択回路Ｙ−ＤＥＣは、入力されたＹ選択信号ＹＢ０〜ＹＢ１をデコードして、図８（Ｂ）に示す真理値表に従う出力信号を、出力端子ｂ０〜ｂ３に出力する。Ｙ選択信号ＹＢ０〜ＹＢ１は、前述したように、ＫＢＣ３０の出力ポート３５から供給される。Ｙ選択信号ＹＢ０〜ＹＢ１は、図８（Ａ）に示すように、予め定められた順でサイクリックに変化する。これにより、信号線Ｙ０〜Ｙ３のいずれか１本が、予め定められた順でサイクリックに選択される。なお、前述したように、Ｙ選択信号の数は２個に限られず、出力端子の数も４本に限られない。
【００５１】
具体的には、出力信号がＬレベルである場合に、図８（Ａ）に示すように、対応するトランジスタＱ１１〜Ｑ１４のいずれかがオンして、対応する信号線Ｙ０〜Ｙ３のいずれかに、電源電圧＋３．３Ｖが出力される。出力信号がＨレベルである場合に、図８（Ａ）に示すように、対応する信号線Ｙ０〜Ｙ３は、高インピーダンスの状態とされる。
【００５２】
図９は、Ｘ選択回路ＳＥＬの構成を示す。図１０は、主として、Ｘ選択回路ＳＥＬの出力のタイムチャートを示す。
【００５３】
Ｘ選択回路ＳＥＬは、図９に示すように、デコーダＤＥＣ＃２と、トランジスタＱ２１〜Ｑ２４とを含む。トランジスタＱ２１〜Ｑ２４は、ＮチャネルＭＯＳＦＥＴである。Ｘ選択回路ＳＥＬは、入力されたＸ選択信号ＸＢ０〜ＸＢ１をデコードして、図１０（Ｂ）に示す真理値表に従う出力信号を、出力端子ｂ０〜ｂ３に出力する。Ｘ選択信号ＸＢ０〜ＸＢ１は、前述したように、ＫＢＣ３０の出力ポート３５から供給される。Ｘ選択信号は、図１０（Ａ）に示すように、予め定められた順でサイクリックに変化する。これにより、信号線Ｘ０〜Ｘ３のいずれか１本が、予め定められた順でサイクリックに選択される。なお、前述したように、Ｘ選択信号の数は２個に限られず、出力端子の数も４本に限られない。
【００５４】
具体的には、出力信号がＨレベルである場合に、図１０（Ａ）に示すように、対応するトランジスタＱ２１〜Ｑ２４のいずれかがオンして、対応する信号線ＸＢ０〜ＸＢ１のいずれかからのアナログ信号が、アナログ出力として出力される。出力信号がＨレベルである場合に、図１０（Ａ）に示すように、対応する信号線ＸＢ０〜ＸＢ１は、高インピーダンスの状態とされる。
【００５５】
図１１及び図１２は、キー検出の説明図であり、特に、図１１は、ＫＢマトリクス３１の出力の概念を示し、図１２は、ＫＢマトリクス３１の出力のタイムチャートを示す。
【００５６】
図６（Ａ）に示すＫＢマトリクス３１は、概念的には、図１１に示すように、Ｙ選択回路Ｙ−ＤＥＣ及びＸ選択回路ＳＥＬの各々を等価的なスイッチと考え、感圧性ゴム５０５の抵抗Ｒ１と考えることができる。あるキー５０１が押されていると、当該交点の感圧性ゴム５０５の抵抗Ｒ１と抵抗Ｒ２とで、Ｙ選択回路Ｙ−ＤＥＣから出力された電圧＋３．３Ｖを分圧することになる。
【００５７】
抵抗Ｒ１の値は、前述したように、固定では無く、力Ｆに応じて抵抗値が変化する。従って、Ｘ選択回路ＳＥＬのアナログ出力の電圧は、力Ｆに応じて変化する。感圧性ゴム５０５を抵抗Ｒ１は、例えば、図１１（Ｂ）に示すように変化する。例えば、５０グラムの力Ｆで強く押されている図６（Ｂ）の位置ｂのキー５０１の抵抗値は、１００オームとなる。また、例えば、５グラムの力Ｆで弱く押されている位置ａのキー５０１及び位置ｃのキー５０１の抵抗値は、１キロオームとなる。
【００５８】
例えば、抵抗Ｒ２の値を１００オームとする。この場合、位置ｂのキー５０１が押された場合のアナログ出力の値は、１．６５Ｖとなる。一方、位置ａのキー５０１及び位置ｃのキー５０１が押された場合における、Ｘ選択回路ＳＥＬのアナログ出力の値は、０．３Ｖとなる。従って、キー５０１を押す力Ｆに応じて、アナログ出力の値は、大きく変化することがわかる。
【００５９】
以上により、図１２に示すように、Ｙ選択回路Ｙ−ＤＥＣの１本の信号線、例えば、信号線Ｙ２の選択の期間中に、Ｘ選択回路ＳＥＬの４本の信号線Ｘ０〜Ｘ３が順に選択される。これにより、図６（Ａ）に示すように、位置ａのキー５０１が押されたことに応じて、信号線Ｘ０から０．３Ｖの電圧信号が出力される。次に、位置ｂのキー５０１が押されたことに応じて、信号線Ｘ１から１．６５Ｖの電圧信号が出力される。次に、位置ｃのキー５０１が押されたことに応じて、信号線Ｘ２から０．３Ｖの電圧信号が出力される。
【００６０】
そこで、例えば、閾値Ｖｔｈを１．６５Ｖと０．３Ｖとの間の値に設定すれば、強い力Ｆで押された位置ｂのキー５０１と、弱い力Ｆで押された位置ａのキー５０１及び位置ｃのキー５０１とを判別することができる。
【００６１】
図１３〜図２０は、キーの検出の説明図である。
【００６２】
図１３は、オペレータにより押されたキー５０１の検出のシーケンスを示す。
【００６３】
ＫＢマトリクス３１において、位置３ｂのキー５０１が押されたとする。位置３ｂのキー５０１は、図１３において、黒丸で示される。
【００６４】
ＫＢＣ３０からＫＢマトリクス３１に、スキャンコードが入力される。スキャンコードにおいて、Ｘ選択信号ＸＢ０〜ＸＢ１と、Ｙ選択信号ＹＢ０〜ＹＢ１とが指定される。
【００６５】
この結果、位置３ｂのキー５０１が押されたことに基づいて、ＫＢマトリクス３１のＸ選択回路ＳＥＬは、位置３ｂのキー５０１が押された力Ｆに対応する電圧値のアナログ信号ＡＰを出力する。アナログ出力ＡＰは、ＡＤ変換器３４により、デジタル信号に変換され、ＣＰＵコア３２に送られる。
【００６６】
そこで、ＣＰＵコア３２は、アナログ出力ＡＰを変換したデジタル値と、閾値テーブルに格納された位置３ｂのキー５０１の閾値Ｖｔｈとを比較する。そして、ＣＰＵコア３２は、比較の結果、アナログ出力ＡＰを変換したデジタル値が閾値Ｖｔｈよりも大きい場合には、位置３ｂのキー５０１が押されたことを示すキーコードを含むスキャンコードを生成し、割り込み信号ＩＲＱを生成してキー入力のあったことをホストコンピュータ１に通知し、ホストＩ／Ｆ３６のキーバッファを介して、位置３ｂのキー５０１が押されたことを示すキーコードを、ホストコンピュータ１に送信する。
【００６７】
図１４（Ａ）は、感度テーブルの一例を示す。
【００６８】
感度テーブル３８１は、ＫＢマトリクス３１における感度と閾値Ｖｔｈとの関係を定める。具体的には、感度テーブル３８１は、感度の設定値に対応して、閾値としての電圧値を格納する。感度が大きいと、閾値Ｖｔｈは低い。これにより、弱い力でキー５０１を押しても、キー５０１が押されたことを検出することができる。感度が小さいと、閾値Ｖｔｈは高い。これにより、強い力でキー５０１を押さなければ、キー５０１が押されたことを検出することができない。
【００６９】
感度テーブル３８１は、例えばホストコンピュータ１において、ＲＡＭ１４に格納されたアプリケーション１５が、予め備える。文字入力処理プログラムであるアプリケーション１５は、感度テーブル３８１を参照して、感度を閾値Ｖｔｈに変換する。
【００７０】
値は「１」から「１０」までとされる。大きい値は、感度が大きいこと、換言すれば、閾値Ｖｔｈが小さいことを示す。小さい値は、感度が小さいこと、換言すれば、閾値Ｖｔｈが大きいことを示す。感度の値と閾値Ｖｔｈとの対応が、アプリケーション画面２１の下部に表示される。例えば、最大感度である値「１０」は、閾値「０．２Ｖ」に対応し、最低感度である値「１」は、閾値「２Ｖ」に対応するというように表示される。値「１」は、閾値の０．２Ｖに対応する。
【００７１】
なお、感度テーブル３８１が、「１」から「１０」までの値以外の値を持つようにしても良い。例えば、感度を「高」「中」「低」の３段階に設定するようにしても良い。従って、この場合、続けて押されると予測されるキーの閾値は「低」とされ、続けて押されると予測されるキーに隣接するキーの閾値は「高」とされ、これら以外のキーの閾値は「中」とされる。
【００７２】
図１４（Ｂ）は、閾値テーブルの一例を示す。
【００７３】
閾値テーブル３８２は、キーボード部３の全てのキー５０１の各々について、閾値Ｖｔｈを設定する。なお、実際には、閾値テーブル３８２は、閾値Ｖｔｈに対応する感度を設定する。また、図１４（Ｂ）の閾値テーブル３８２は、１個の感度のみを示すが、実際には、キーボード部３の全てのキー５０１の各々についての感度を格納する。また、キーボード部３の全てのキー５０１ではなく、予め定められた複数のキー５０１の各々について、閾値Ｖｔｈを設定するようにしても良い。
【００７４】
例えば、閾値テーブル３８２に感度の初期値「５」が設定されると、アプリケーション１５は、感度テーブル３８１を参照して、感度の初期値「５」を閾値Ｖｔｈの初期値「１．２Ｖ」に変換する。
【００７５】
閾値テーブル３８２は、入力装置からの入力の開始前に、図１６に示すように、アプリケーション画面２１１から入力される。例えば、アプリケーション１５を起動すると、図１６に示すアプリケーション画面２１１がディスプレイ２に表示される。アプリケーション画面２１１は、予め値「１」のセットされたテキストボックス２１２と、値を選択するための上下方向の矢印タブ２１３及び２１４と、テキストボックス２１２の値「１」の感度に対応する閾値を示す矢印２１５と、閾値の感度「１」〜「１０」に対応する閾値を示す閾値バー２１６とを含む。値を大きくしたい場合には、上矢印のタブ２１３をクリックする。クリックする毎に、値は大きくなる。値を小さくしたい場合には、下矢印のタブ２１４をクリックする。クリックする毎に、値は小さくなる。値の調節は、テキストボックス２１２に直接数値を入力することにより行うようにしても良い。また、値の調節は、閾値の大小を視覚的に表現した矢印２１５をマウスでドラッグすること等により行うようにしても良い。
【００７６】
図１６のアプリケーション画面２１１を見たオペレータは、アプリケーション画面２１１を用いて、例えば値「５」を設定する。これにより、感度の初期値「５」が設定され、閾値Ｖｔｈの初期値「１．２Ｖ」に変換される。この結果、キーボード部３の全てのキー５０１の閾値Ｖｔｈの初期値が「１．２Ｖ」とされる。なお、オペレータが、感度の初期値として、値「５」以外の値を設定するようにしても良い。
【００７７】
図１５（Ａ）は、検出出力テーブルの一例を示す。
【００７８】
検出出力テーブル３８３は、キーボード部３の全てのキー５０１の各々について、ＫＢマトリクス３１をスキャンコードによりスキャンした結果に基づいて、スキャンの都度に生成される。検出出力テーブル３８３は、スキャンの都度、そのスキャンによって検出された全てのキー５０１についてのアナログ出力を格納する。アナログ出力は、前述したように、電圧値である。ＫＢＣ３０は、スキャンの都度、検出出力テーブル３８３を生成、換言すれば、更新する。
【００７９】
検出出力テーブル３８３は、キー５０１の座標毎に、キー５０１の名前と、検出出力とを格納する。キー５０１の座標が定まれば、キー５０１の名前が一意に定まり、信号線Ｘ０〜Ｘ３及び信号線Ｙ０〜Ｙ３が一意に定まる。なお、ｘは、検出出力テーブル３８３の行であり、キー５０１の数だけ存在する。
【００８０】
例えば、キー「Ａ」を入力しようとして、誤ってキー「Ｓ」にも弱く触れてしまったとする。この場合、図１５（Ａ）に示すように、検出出力テーブル３８３には、例えば、キー「Ａ」の検出出力が「１．８Ｖ」と格納され、キー「Ｓ」の検出出力が「０．２Ｖ」と格納される。
【００８１】
図１５（Ｂ）は、知識情報の一例を示す。
【００８２】
知識情報１８１は、次に入力されるキー５０１を予測するための辞書であり、ＨＤＤ１７の知識情報格納部１８に格納される。例えば、知識情報１８１は、ある入力された文字列を含む単語であって、過去に入力された単語を、優先順位に従って格納する。優先順位は、例えば、入力からの経過時間の短い順、入力された頻度等に依存して定まる。
【００８３】
アプリケーション１５は、ある文字列が入力されると、変換候補リストである知識情報１８１を読み出して、変換候補リストから選択されるであろうと予測される単語を選択し、表示する。キー入力において、入力されたキーが文字キーであれば、アプリケーション１５は、その文字で始まる変換候補、又は、それまでに入力された文字列に一致する変換候補を、読み出して表示する。入力されたキーが変換キーであれば、アプリケーション１５は、その時点の押下回数を控え、新たな単語が選択されたことを表示する。例えば、単語の明暗を反転させるなどの表示を実行する。入力されたキーが改行キーであれば、アプリケーション１５は、その時点で選択されている単語を決定し、変換候補リストを更新する。
【００８４】
アプリケーション１５は、単語が入力される都度に、以上の処理を実行し、選択される可能性の高い単語を表示し、決定された単語に基づいて、変換候補リストである知識情報１８１を更新する。
【００８５】
例えば、図１５（Ｂ）に示すように、単語「ＫＡＢＵＳＨＩＫＩ」が知識情報１８１に存在するとする。アプリケーション１５は、「ＫＡＢＵＳＨＩ」まで入力した後に、文字列「ＫＡＢＵＳＨＩ」と知識情報１８１と照合する。なお、文字列「ＫＡＢＵ」まででは、知識情報１８１内の複数の候補と一致して１個に絞り切れないため、知識情報１８１に基づく閾値変動は行わないものとする。
【００８６】
例えば、文字列「ＫＡＢＵＳＨＩ」と知識情報１８１との照合の結果、アプリケーション１５は、文字列「ＫＡＢＵＳＨＩ」が単語「ＫＡＢＵＳＨＩＫＩ」とマッチすると判断することができる。アプリケーション１５は、この判断に基づいて、次に入力されるキー５０１が「Ｋ」であると判断する。
【００８７】
図１５（Ｃ）は、部分閾値テーブルの一例を示す。
【００８８】
部分閾値テーブル３８４は、複数のキー毎に、複数のキーの各々が第２のキーであると想定した場合における、第２のキーの閾値及び第３のキーの閾値を設定する。部分閾値テーブル３８４は、ＲＡＭ１４に格納される。
【００８９】
例えば、図１５（Ｃ）の部分閾値テーブル３８４は、キー「Ｋ」について、キー「Ｋ」が次に押されるキー５０１であると想定した場合における、キー「Ｋ」の閾値を設定し、キー「Ｋ」に隣接するキー「Ｉ」「Ｏ」「Ｊ」「Ｌ」「Ｍ」「＜」の閾値を設定する。具体的には、キー「Ｋ」の感度は「１０」と高くされる。これは、閾値０．２Ｖに相当する。キー「Ｉ」「Ｏ」「Ｊ」「Ｌ」「Ｍ」「＜」の感度は「１」と低くされる。これは、閾値２．０Ｖに相当する。
【００９０】
この場合は、オペレータが、キー「Ｋ」を押そうとしたが、誤って隣接するキー「Ｌ」も押してしまった場合における、キー「Ｋ」及びキー「Ｌ」に加えられた力の強さの一例を示す。
【００９１】
これにより、オペレータが、キー「Ｋ」を押そうとしたが、誤って隣接するキー「Ｌ」も押してしまったにも拘わらず、ＫＢＣ３０は、閾値より大きい力で押されたキー「Ｋ」のみが押されたと認識し、閾値より小さい力で押されたキー「Ｌ」は押されないと認識する。この結果、キー「Ｋ」が押されたと正しく認識することができ、誤入力を防止することができる。
【００９２】
なお、キー「Ｋ」「Ｉ」「Ｏ」「Ｊ」「Ｌ」「Ｍ」「＜」以外のキー５０１の閾値は、部分閾値テーブル３８４により上書きされないので、感度「５」に相当する初期値１．２Ｖのままとされる。
【００９３】
図１７は、閾値の設定について示す。
【００９４】
ＫＢＣ３０は、図１７（Ｂ）に示すように、アプリケーション１５から、手順＃１における、「セットスレッショルド」のコマンドを受信する。ＫＢＣ３０は、受信したコマンドに従って、図１７（Ａ）に示すように、ＲＡＭ３７のテーブル格納部３８に閾値テーブル３８２を生成する。この後、ＫＢＣ３０は、アプリケーション１５から、手順＃２において、スキャンコードを受信し、更に、手順＃３において、「スレッショルドレベル」を受信する。ＫＢＣ３０は、受信したスキャンコードに含まれるＸ座標及びＹ座標に基づいて、キーの位置を求め、求めた位置に、受信した「スレッショルドレベル」を設定する。
【００９５】
例えば、閾値テーブル３８２に初期値を設定する場合、アプリケーション１５は、キーボード部３の全てのキー５０１について、手順＃１〜手順＃３を実行する。これにより、全てのキー５０１について、１．２Ｖの閾値が設定される。
【００９６】
一方、閾値テーブル３８２を更新する場合、アプリケーション１５は、読み出した部分閾値テーブル３８４に格納されている１又は複数のキー５０１について、手順＃１〜手順＃３を実行する。これにより、読み出した部分閾値テーブル３８４に格納されている１又は複数のキー５０１について、部分閾値テーブル３８４に従う閾値が設定される。
【００９７】
図１８及び図１９は、キーの検出の説明図である。
【００９８】
キーボード部３のＫＢＣ３０には、キーに加えられた力の強さを検出するための閾値が設定されている。例えば、入力「ＫＡＢＵＳＨＩ」における最後のキー（第１のキー）「Ｉ」が押された後に、第１のキー「Ｉ」に続けて、第２のキー「Ｋ」が押されると予測されたとする。
【００９９】
この場合、図１８に示すように、続けて押されると予測されるキー「Ｋ」の閾値は、キー「Ｋ」以外のキーの閾値よりも低く設定される。例えば、キー「Ｋ」の閾値は、感度１０に相当する０．２Ｖに設定される。また、図１８に斜線で示す、キー「Ｋ」以外のキーの閾値は、感度５に相当する１．２Ｖに設定される。
【０１００】
更に、キー「Ｋ」に隣接するキーであるキー「Ｉ」「Ｏ」「Ｊ」「Ｌ」「Ｍ」「＜」の閾値は、キー「Ｋ」及びキー「Ｉ」「Ｏ」「Ｊ」「Ｌ」「Ｍ」「＜」以外のキーの閾値よりも高く設定されている。例えば、キー「Ｉ」「Ｏ」「Ｊ」「Ｌ」「Ｍ」「＜」の閾値は、感度１に相当する２Ｖに設定される。
【０１０１】
図１９は、図２１及び図２２と同様に、オペレータが、キー「Ｋ」を押そうとしたが、誤って隣接するキー「Ｌ」も押してしまった場合における、キー「Ｋ」及びキー「Ｌ」に加えられた力の強さの一例を示す。
【０１０２】
これにより、ＫＢＣ３０は、閾値より大きい力で押されたキー「Ｋ」のみが押されたと認識し、閾値より小さい力で押されたキー「Ｌ」は押されないと認識する。この結果、表示装置には、文字「Ｋ」のみが表示される。
【０１０３】
更に、キー「Ｌ」を押す力の強さが、図１９に点線で示すように、キー「Ｋ」を押す力の強さに近い値であっても、キー「Ｋ」のみが押されたと認識され、文字「Ｋ」のみ表示される。従って、オペレータが、キー「Ｋ」を押そうとしたが、誤って隣接するキー「Ｌ」も押してしまったにも拘わらず、キー「Ｋ」が押されたと正しく認識され、誤入力を防止することができる。
【０１０４】
図２０は、キーの検出処理フローである。
【０１０５】
ホストコンピュータ１において、アプリケーション１５が起動されると、アプリケーション１５は、図１６のアプリケーション画面２１１をディスプレイ２に表示する。これを見たオペレータがアプリケーション画面２１１から閾値Ｖｔｈの初期値を入力する（ステップＳ２１）。
【０１０６】
アプリケーション１５は、アプリケーション画面２１１に値が入力されると、入力された値を閾値テーブル３８２に設定し、感度テーブル３８１を参照して、感度の初期値を閾値Ｖｔｈの初期値ＶｔｈＢ（ｘ）に変換する（ステップＳ２２）。
【０１０７】
次に、アプリケーション１５は、ＲＡＭ３７のテーブル格納部３８を参照して、閾値Ｖｔｈの閾値テーブル３８２を読み出す（ステップＳ２３）。アプリケーション１５は、読み出した閾値テーブル３８２を照合して、データＶｔｈＥ（ｘ）が格納されている場合には、データＶｔｈＥ（ｘ）が格納された閾値テーブル３８２を用いることとし、データＶｔｈＥ（ｘ）が格納されていない場合には、閾値テーブル３８２に初期値ＶｔｈＢ（ｘ）を格納して、これを用いる（ステップＳ２４）。なお、実際には、アプリケーション１５の起動直後であるので、データＶｔｈＥ（ｘ）が格納されていることはない。
【０１０８】
この後、アプリケーション１５は、決定した閾値テーブル３８２をＫＢＣ３０に送信した後、キー５０１の入力待ちの状態となる（ステップＳ２５）。ＫＢＣ３０は、受信した閾値テーブル３８２をテーブル格納部３８に格納する。
【０１０９】
アプリケーション１５は、キー５０１の入力があると（ステップＳ２６）、この入力に基づいて検出出力テーブル３８３を生成し、生成した検出出力テーブル３８３から、検出出力ＶＡ（ｘ）を取得し、閾値テーブル３８２から、閾値Ｖｔｈ（ｘ）を取得する（ステップＳ２７）。閾値Ｖｔｈ（ｘ）は、検出出力ＶＡ（ｘ）が取得されたキー５０１についての閾値である。ｘの初期値は「１」とされる。
【０１１０】
アプリケーション１５は、検出出力ＶＡ（ｘ）と閾値Ｖｔｈ（ｘ）とを比較して、検出出力ＶＡ（ｘ）が閾値Ｖｔｈ（ｘ）より大きいか否かを判断する（ステップＳ２８）。検出出力ＶＡ（ｘ）が閾値Ｖｔｈ（ｘ）より大きい場合、検出出力テーブル３８３の行数ｘに相当するキー５０１を、ホストＩ／Ｆ３６のキーバッファ（出力バッファ）に格納する（ステップＳ２９）。検出出力ＶＡ（ｘ）が閾値Ｖｔｈ（ｘ）より大きくない場合、ステップＳ２８は省略される。
【０１１１】
アプリケーション１５は、検出出力テーブル３８３にｘの次の行が存在するか否かを判断する（ステップＳ２１０）。次の行が存在する場合、アプリケーション１５は、ｘの値を＋１だけインクリメントして（ステップＳ２１１）、ステップＳ２８を繰り返す。次の行が存在しない場合、アプリケーション１５は、ホストＩ／Ｆ３６のキーバッファに格納した結果を、ディスプレイ２上に表示する（ステップＳ２１２）。
【０１１２】
アプリケーション１５は、表示した文字列と知識情報１８１とを照合して（ステップＳ２１３）、表示した文字列とマッチする単語が知識情報１８１に存在するか否かを判断する（ステップＳ２１４）。
【０１１３】
表示した文字列とマッチする単語が知識情報１８１に存在する場合、アプリケーション１５は、表示した文字列とマッチする単語に基づいて、次に押されるキー５０１を予測する。具体的には、表示した文字列とマッチする単語において、表示した文字列の次に入力された文字を表すキー５０１を、次に押されるキー５０１であると予測する。この予測に基づいて、アプリケーション１５は、予測したきー５０１に対応する部分閾値テーブル３８４を、ＲＡＭ１４から読み出して（ステップＳ２１５）、閾値テーブル３８２を一旦全てのキー５０１について初期値ＶｔｈＢ（ｘ）の状態に戻した上で、更に、読み出した部分閾値テーブル３８４を用いて、閾値テーブル３８２を更新する（ステップＳ２１６）。具体的には、アプリケーション１５は、閾値テーブル３８２の一部を、読み出した部分閾値テーブル３８４に対応する部分のみを、部分的に上書きされる。表示した文字列とマッチする単語が知識情報１８１に存在しない場合、又は、表示した文字列とマッチする複数の単語が知識情報１８１に存在する場合、アプリケーション１５は、ステップＳ２１４及びＳ２１５を省略して、ステップＳ２６を繰り返す。
【０１１４】
例えば、閾値テーブル３８２に初期値ＶｔｈＢ（ｘ）＝１．２Ｖが格納されているとする。この場合、図１５（Ａ）の検出出力テーブル３８３において、キー「Ａ」の検出出力は１．８Ｖであるので、キー「Ａ」が、ホストＩ／Ｆ３６のキーバッファに格納される。次の行において、キー「Ｓ」の検出出力は０．２Ｖであるので、キー「Ａ」は、ホストＩ／Ｆ３６のキーバッファに格納されない。これにより、正しいキー「Ａ」のみが、ＫＢＣ３０から出力され、ディスプレイ２に表示される。
【０１１５】
また、例えば、前述したように、「ＫＡＢＵＳＨＩ」まで入力した後に、文字列「ＫＡＢＵＳＨＩ」と知識情報１８１の単語「ＫＡＢＵＳＨＩＫＩ」との照合の結果、次に入力されるキー５０１が「Ｋ」であると判断されたとする。この場合、アプリケーション１５は、図１５（Ｃ）に示すように、キー「Ｋ」に対応する部分閾値テーブル３８４をＲＡＭ１４から読み出して、読み出した部分閾値テーブル３８４を用いて、閾値テーブル３８２を更新する。この場合、図１９に示すように、検出出力テーブル３８３において、キー「Ｋ」の検出出力が０．２Ｖより大きければ、キー「Ｋ」は、ホストＩ／Ｆ３６のキーバッファに格納される。また、キー「Ｌ」の検出出力は１．８Ｖよりも大きくなければ、キー「Ｌ」は、ホストＩ／Ｆ３６のキーバッファに格納されない。これにより、正しいキー「Ｋ」のみが、ＫＢＣ３０から出力され、ディスプレイ２に表示される。
【符号の説明】
【０１１６】
１    ホストコンピュータ
２    ディスプレイ
３    キーボード部
１１    ＣＰＵ
１２    ＭＣＨ
１３    ＩＣＨ
１４    ＲＡＭ
１５    アプリケーション
１６    ＲＯＭ
１７    ＨＤＤ
１８    知識情報格納部
２１    アプリケーション画面
３０    ＫＢＣ
３１    ＫＢ（キーボード）マトリクス
３２    ＣＰＵコア
３３    ＲＯＭ
３４    ＡＤ変換器
３５    出力ポート
３６    ホストＩ／Ｆ
３７    ＲＡＭ
３８    テーブル格納部
１８１    知識情報
２１２    テキストボックス
２１３、２１４    矢印タブ
２１５    矢印
２１６    閾値バー
３０１    構造物
３０２、３０４    シート
３０３    絶縁シート
３１１、３１３    配線
３１２    開口
３８１    感度テーブル
３８２    閾値テーブル
３８３    検出出力テーブル
３８４    部分閾値テーブル
５０１    キー
５０２    コイルバネ
５０３    シャフト
５０５    感圧性ゴム
【図１】
0005673301.tif 000002
【図２】
0005673301.tif 000003
【図３】
0005673301.tif 000004
【図４】
0005673301.tif 000005
【図５】
0005673301.tif 000006
【図６】
0005673301.tif 000007
【図７】
0005673301.tif 000008
【図８】
0005673301.tif 000009
【図９】
0005673301.tif 000010
【図１０】
0005673301.tif 000011
【図１１】
0005673301.tif 000012
【図１２】
0005673301.tif 000013
【図１３】
0005673301.tif 000014
【図１４】
0005673301.tif 000015
【図１５】
0005673301.tif 000016
【図１６】
0005673301.tif 000017
【図１７】
0005673301.tif 000018
【図１８】
0005673301.tif 000019
【図１９】
0005673301.tif 000020
【図２０】
0005673301.tif 000021
【図２１】
0005673301.tif 000022
【図２２】
0005673301.tif 000023