(57)【要約】 【課題】  ユーザが誤ったホームポジションキーを基準として文字列を入力した場合であっても、ユーザがそのまま文字入力を継続できるようにする。【解決手段】  ソフトウエアキーボードから入力される文字列の誤入力に基づいて、ユーザ固有のホームポジションを検出する。検出されたユーザ固有のホームポジションに応じてソフトウエアキーボード上に各キーを再配置する。【選択図】  図２
2006086934.tif 000002
【特許請求の範囲】
【請求項１】
複数のキーが配置されたキーボードからキーコード信号を入力する入力手段と、
入力され複数のキーコード信号に対応する文字列が、意味を有する有意味文字列であるかまたは意味を有しない無意味文字列であるかを判定する意味判定手段と、
無意味文字列と判定された前記文字列に含まれる各文字を、それぞれ前記キーボード上で所定のシフト量だけずらして得られる１以上の修正候補文字列を作成する修正候補作成手段と、
前記修正候補文字列が有意味文字列となるときの前記シフト量に応じて、前記キーボード上の各キーに割り当てられている各文字を割り当て直すキー割り当て変更手段と
を含むキー入力装置。
【請求項２】
前記キー割り当て変更手段は、
前記シフト量に応じて、前記キーボード上の各キーの配列位置を変更する位置変更手段である
ことを特徴とする請求項１に記載のキー入力装置。
【請求項３】
前記キー割り当て変更手段は、
前記キーボード上におけるユーザの左手位置と右手位置を検出する位置検出手段と、
検出された前記左手位置と前記右手位置とに応じて、それぞれ左手シフト量と右手シフト量を決定するシフト量決定手段と、
決定された前記左手シフト量に応じて、前記キーボード上のキーのうち左手により操作されるキーの割り当てを変更し、決定された前記右手シフト量に応じて、前記キーボード上のキーのうち右手により操作されるキーの割り当てを変更する個別変更手段と
を含むことを特徴とする請求項１または２に記載のキー入力装置。
【請求項４】
前記キーボードは、
ユーザ打鍵位置を検出するタッチパネルと、
前記タッチパネルに対応して設けられた表示装置と
検出された前記ユーザ打鍵位置の近傍にキーを表示する表示制御インタフェースと
により構成されるソフトウエアキーボードであることを特徴とする請求項３に記載のキー入力装置。
【請求項５】
前記個別変更手段は、
決定された前記左手シフト量と前記左手の打鍵位置とに応じて、前記ソフトウエアキーボード上のキーのうち左手により操作されるキーの表示位置を変更し、決定された前記右手シフト量と前記右手の打鍵位置に応じて、前記ソフトウエアキーボード上のキーのうち右手により操作されるキーの表示位置を変更する表示位置変更手段を含む
ことを特徴とする請求項４に記載のキー入力装置。
【請求項６】
前記左手の打鍵位置と前記右手の打鍵位置に応じて、前記左手により操作されるキーと、前記右手により操作されるキーとの表示態様を異ならしめて表示する表示態様変更手段をさらに含むことを特徴とする請求項４または５に記載のキー入力装置。
【請求項７】
前記表示態様変更手段は、前記左手により操作されるキーと、前記右手により操作されるキーとについて、それぞれの表示色、およびキーの外形を表す線種の少なくとも一方を異ならしめて表示することを特徴とする請求項６に記載のキー入力装置。
【請求項８】
所定時間内に入力される複数の打鍵指示を検出するタッチパネルと、
前記タッチパネル上における前記複数の打鍵指示が入力された入力位置と、該打鍵指示の数とを認識する認識手段と、
前記打鍵指示の数が所定数である場合に、前記打鍵指示の入力位置に基づいて、それぞれの前記打鍵指示がユーザの左手または左手のいずれにより入力されたものであるかを識別する識別手段と
を含むことを特徴とするキー入力装置。
【請求項９】
前記打鍵指示の数が、７以下または１１以上である場合に、警告情報を出力する出力手段をさらに含む請求項８に記載のキー入力装置。
【請求項１０】
前記推定手段は、
前記打鍵指示の数が、９または１０である場合に、相対的に前記タッチパネル上の情報に位置する８つの打鍵指示を選択し、選択された８つの前記打鍵指示のうち、相対的に左側に位置する打鍵指示を左手により入力されたものとして推定し、相対的に左側に位置する打鍵指示を左手により入力されたものとして推定することを特徴とする請求項９に記載のキー入力装置。
【請求項１１】
複数のキーが配置されたキーボードからキーコード信号を入力する入力工程と、
入力され複数のキーコード信号に対応する文字列が、意味を有する有意味文字列であるかまたは意味を有しない無意味文字列であるかを判定する意味判定工程と、
無意味文字列と判定された前記文字列に含まれる各文字を、それぞれ前記キーボード上で所定のシフト量だけずらして１以上の修正候補文字列を作成する修正候補作成工程と、
前記修正候補文字列が有意味文字列となるときの前記シフト量に応じて、前記キーボード上の各キーに割り当てられている各文字を割り当て直すキー割り当て変更工程と
を含むキー入力装置。
【請求項１２】
タッチパネルから所定時間内に入力される複数の打鍵指示を検出する検出工程と、
前記タッチパネル上における前記複数の打鍵指示が入力された入力位置と、該打鍵指示の数とを認識する認識工程と、
前記打鍵指示の数が所定のしきい値以上である場合に、前記打鍵指示の入力位置に基づいて、それぞれの前記打鍵指示がユーザの左手または左手のいずれにより入力されたものであるかを識別する識別工程と
を含むことを特徴とする操作手の判別方法。
【請求項１３】
複数のキーが配置されたキーボードを有するコンピュータに対し、
前記キーボードからキーコード信号を入力する入力工程と、
入力され複数のキーコード信号に対応する文字列が、意味を有する有意味文字列であるかまたは意味を有しない無意味文字列であるかを判定する意味判定工程と、
無意味文字列と判定された前記文字列に含まれる各文字を、それぞれ前記キーボード上で所定のシフト量だけずらして１以上の修正候補文字列を作成する修正候補作成工程と、
前記修正候補文字列が有意味文字列となるときの前記シフト量に応じて、前記キーボード上の各キーに割り当てられている各文字を割り当て直すキー割り当て変更工程と
を実行させるキー入力制御プログラム。
【請求項１４】
タッチパネルを有するコンピュータに対し、
前記タッチパネルから所定時間内に入力される複数の打鍵指示を検出する検出工程と、
前記タッチパネル上における前記複数の打鍵指示が入力された入力位置と、該打鍵指示の数とを認識する認識工程と、
前記打鍵指示の数が所定のしきい値以上である場合に、前記打鍵指示の入力位置に基づいて、それぞれの前記打鍵指示がユーザの左手または左手のいずれにより入力されたものであるかを識別する識別工程と
を実行させるコンピュータプログラム。
【請求項１５】
ソフトウエアキーボードから入力される文字列の誤入力に基づいてユーザ固有のホームポジションを検出する検出手段と、
検出された前記ユーザ固有のホームポジションに応じて前記ソフトウエアキーボード上に各キーを再配置する再配置手段と
を含むキー入力装置。
【請求項１６】
ソフトウエアキーボードから入力される文字列の誤入力に基づいてユーザ固有のホームポジションを検出する検出工程と、
検出された前記ユーザ固有のホームポジションに応じて前記ソフトウエアキーボード上に各キーを再配置する再配置工程と
を含むキー入力装置の制御方法。
【請求項１７】
表示装置に表示されるソフトウエアキーボードから文字列を入力するコンピュータに対し、
前記ソフトウエアキーボードから入力される文字列の誤入力に基づいてユーザ固有のホームポジションを検出する工程と、
検出された前記ユーザ固有のホームポジションに応じて前記ソフトウエアキーボード上に各キーを再配置し、再配置後の各キーを前記表示装置に表示するする工程と
を含むコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ装置に対するテキストの入力技術に係り、とりわけソフトウエアキーボードに好適なテキスト入力技術に関する。
【背景技術】
【０００２】
パーソナルコンピュータやワードプロセッサ等では、一般に、ユーザがテキストを入力するためのキーボードを備えている。操作に慣れたユーザは、キーボード上に２つのホームポジション（一般に、左手の人差し指の場合はＦキー、右手の人差し指の場合はＪキー）にそれぞれ両手の人差し指を置き、キーボードを見ることなく各キーを入力できる。いわゆる「タッチ・タイピング」である。
【０００３】
タッチ・タイピングでは、ユーザが常にディスプレイを見ていられるので、誤入力に気付きやすく、視線の移動距離が小さいため目が疲れにくいなど、各種の利点がある。また、テキスト入力の効率も飛躍的に向上する。
【０００４】
しかしながら、タッチ・タイピングを習得するには、特別な訓練が必要となるため、一般のユーザがその利点を享受するのは困難である。また、一般的なキーボードでは、ホームポジションとなる「Ｆ」キーと「Ｊ」キーに突起を設けることで、他のキーと区別しているが、ソフトウエアキーボードのように画面上に表示される仮想的なキーボードではこのような突起を設けることは困難である。
【０００５】
したがって、たとえタッチ・タイピングを習得したユーザであっても、突起のないソフトウエアキーボードではタッチ・タイピングを実践するのは難しかった。
【０００６】
特許文献１によれば、誤った入力文字を、キーボード上で１つ隣にあるの周辺文字と置換することにより、入力文字列を補正する仮名漢字変換装置が開示されている。また、特許文献２によれば、ユーザが誤ったホームポジションキーを基準として文字列を入力した場合であっても、正しいホームポジションキーからどの位ずれているかをユーザが入力するだけで、間違えて入力した文字列を正しい文字列に置換できる文字入力装置が開示されている。
【特許文献１】特開昭６２−２４５３６４号公報
【特許文献２】特開平９−９７１３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載の発明によれば、複数の文字からなるある文字列が入力された場合に、誤入力が１文字だけで他の文字が正しく入力されていれば、誤入力文字を１つ隣の文字に置換することで修正できる。しかしながら、ホームポジションがずれている場合など、入力された文字の全てが誤入力である場合は十分に修正できない欠点がある。すなわち、ユーザの指位置に対するキー配置などを補正することはできず、「タッチ・タイピング」などの連続した文字入力において適切に入力文字を補正することができない。
【０００８】
また、特許文献２に記載の発明によれば、誤ったホームポジションキーを基準として文字列を入力したことにユーザが気付くことを前提としている。さらに、矢印キーなどを操作するなどして誤入力を手動で修正する必要がある。また、それ以上誤入力を続けないように指位置を正しいホームポジションキーへと移動する必要もある。よって、本来の「タッチ・タイピング」が目的とする入力効率が低下してしまう。
【０００９】
そこで、本発明は、このような課題および他の課題の少なくとも一つを解決することを目的とする。なお、他の課題については明細書の全体を通して理解できよう。
【課題を解決するための手段】
【００１０】
本発明によれば、たとえば、ソフトウエアキーボードから入力される文字列の誤入力に基づいてユーザ固有のホームポジションを検出し、検出された前記ユーザ固有のホームポジションに応じて前記ソフトウエアキーボード上に各キーを再配置するキー入力装置の制御技術が提供される。
【００１１】
本発明に係るキー入力装置は、たとえば、複数のキーが配置されたキーボードからキーコード信号を入力する入力手段と、入力され複数のキーコード信号に対応する文字列が、意味を有する有意味文字列であるかまたは意味を有しない無意味文字列であるかを判定する意味判定手段と、無意味文字列と判定された前記文字列に含まれる各文字を、それぞれ前記キーボード上で所定のシフト量だけずらし、１以上の修正候補文字列を作成する修正候補作成手段と、前記修正候補文字列が有意味文字列となるときの前記シフト量に応じて、前記キーボード上の各キーに割り当てられている各文字を割り当て直すキー割り当て変更手段とを含む。
【発明の効果】
【００１２】
本発明によれば、ユーザが誤ったホームポジションキーを基準として文字列を入力した場合であっても、ユーザが自己のホームポジションを修正することなく、そのまま文字入力を継続できるようになる。したがって、ユーザはタッチ・タイピングを実践しやすくなる。
【発明を実施するための最良の形態】
【００１３】
以下に本発明の上位概念、中位概念および下位概念の理解に役立つ一実施形態を示す。なお、以下の実施形態に含まれる概念について、そのすべてが特許請求の範囲に記載されているとは限らない。ただし、これは特許発明の技術的範囲から意識的に除外したのではなく、特許発明と均等の関係にあるため特許請求の範囲には記載していない場合があることを理解していただきたい。
【００１４】
［第１の実施形態］
図１は、実施形態に係るキー入力措置の例示的なブロック図である。ＣＰＵ１０１は、ＲＯＭ１０３に記憶されている制御プログラムに応じてキー入力装置の全体を統括的に制御する中央演算処理装置である。ＲＡＭ１０２は、各種のデータが一時的に記憶されたり、バッファとして利用されたりする記憶手段である。各種データには、文字列の修正候補を登録したテーブル１１２が含まれてもよい。ＲＯＭ１０３は、キー入力制御プログラム１０８や、有意味文字列を登録した辞書データ１０９、およびキーボード上の各キーの配置位置を管理するキーは位置情報１１１などを記憶する記憶手段である。
【００１５】
表示インタフェース（ＩＦ）１０４は、表示装置１０５に表示するための表示信号を出力する制御手段である。表示装置１０５は、液晶表示装置、ＣＲＴなどの色覚的な出力手段である。入力ＩＦ１０６は、入力装置１０７から入力される入力信号（キーコード信号など）をＣＰＵ１０１に伝達したり、ＣＰＵ１０１からの指示に応じて入力装置１０７を制御したりする制御手段である。入力装置１０７は、キーボード、ポインティングデバイス、およびタッチパネルなどの入力手段である。なお、入力装置１０７から入力されたキーコード（文字コードともいう。）はＲＡＭ１０２内の入力文字バッファ１１０に格納される。バッファ１１０に格納されている複数のキーコードによって、何らかの文字列が形成される。
【００１６】
図２は、実施形態に係るキー入力装置の例示的な機能を示したブロック図である。キーボード２０１は、複数のキーが配置されており、打鍵されたキーに応じたキーコード信号を出力する。キーボード２０１は、入力装置１０１に相当するハードウエアキーボードであってもよいし、あるいはタッチパネルなどの入力装置１０７と表示装置１０５とによって実現されるソフトウエアキーボードであってもよい。キーコード信号は入力手段２０２に入力される。入力手段２０２は、ＣＰＵ１０１や入力バッファ１１０などによって実現できる。
【００１７】
意味判定手段２０３は、入力された複数のキーコード信号に対応する文字列が、意味を有する有意味文字列であるかまたは意味を有しない無意味文字列であるかを判定する。これは、ＣＰＵ１０１が、辞書データ１０９を参照することにより実現できる。
【００１８】
修正候補作成手段２０４は、無意味文字列と判定された前記文字列に含まれる各文字を、それぞれ前記キーボード上で所定のシフト量だけずらし、１以上の修正候補文字列を作成する。これは、ＣＰＵ１０１がキー配置情報１１１を参照することによって実現できる。すなわち、キー配置情報１１１には、各キーごとに他のキーがどの方向にどれだけずれた位置にあるかを表す情報（シフト量）が含まれている。たとえば、「Ｆ」キーについて、シフト量が「１文字右」であれば、修正候補は「Ｇ」キーとなる。
【００１９】
キー割り当て変更手段２０５は、修正候補文字列が有意味文字列となるときのシフト量に応じて、キーボード２０１上の各キーに割り当てられている各文字を割り当て直す。これは、ＣＰＵ１０１によって実現できる。なお、キー割り当て変更手段２０５は、シフト量に応じて、キーボード上の各キーの配列位置を変更する位置変更手段を含んでもよい。これにより、たとえば、ソフトウエアキーボードであれば、ユーザの誤入力（癖を含む。）に合わせて、各キーの表示位置を変更することができ、その後の誤入力を削減できよう。もちろん、ユーザ固有のホームポジションを検出して、検出されたユーザ固有のホームポジションに応じてキーを再配置してもよい。これによって、ユーザごとに個別のキーボードを提供することができる。
【００２０】
図３は、実施形態に係るキー入力制御方法の例示的なフローチャートである。ステップＳ３０１において、ＣＰＵ１０１は、入力ＩＦ１０６を通じ、入力装置１０７（キーボード２０１）の打鍵を検出する。打鍵を検出すると、ステップＳ３０２において、ＣＰＵ１０１は、打鍵により入力されたキーコードが、仮名漢字変換キーであるか否かを判定する。仮名漢字変換キーでなければ、ステップＳ３０３に進み、入力されたキーコードをバッファ１１０に格納する。
【００２１】
仮名漢字変換キーであればステップＳ３０４において、ＣＰＵ１０１は、バッファ１１０に記憶されている文字列を読み出し、当該文字列が無意味文字列か否かを判定する。たとえば、当該文字列が、辞書データ１０９に含まれているかどうかを検索し、抽出の有無により無意味文字列（有意味文字列）判定を実行する。一例を説明すると、ローマ字入力に設定されているときに、“ｋｏｎｎｎｉｔｉｈａ”と入力されたとする。すると、辞書データ１０９に登録されている「こんにちは」にマッチするため、ＣＰＵ１０１は、有意味文字列と判定する。“ｌｐｍｍｍｏｙｏｊｓ”などと入力された場合には、辞書登録されているどの語ともマッチしないため、ＣＰＵ１０１は、無意味文字列と判定する。そもそもローマ字入力の場合には、入力されたアルファベット三文字までの組み合わせが、どの「かな」にも変換できないものであれば、無意味と判定することができる。有意味文字列であればステップＳ３０９に進み、仮名漢字変換を実行する。
【００２２】
一方、無意味文字列であれば、ステップＳ３０５に進み、ＣＰＵ１０１は、入力された文字列を、キーボード上のキー配列にしたがって所定のシフト量だけずらし、修正候補文字列を作成する。ＣＰＵ１０１は、処理対象となる文字の修正候補を上述のキー配置情報１１１を参照して決定する。キー配置情報１１１には、各キーの修正候補が、シフト量ごとに登録されている。シフト量は、１文字右、１文字左、１文字左下、１文字右下、１文字左上、１文字右上、２文字右、…、ｎ文字右などである。修正候補文字列は、一旦、ＲＡＭ１０２に記憶される。
【００２３】
ステップＳ３０６において、ＣＰＵ１０１は、作成した修正候補文字列が有意味文字列か否かを判定する。有意味文字列でなければ、ステップＳ３０５に戻り、次の修正候補文字列を作成する。
【００２４】
なお、ステップＳ３０５において、予め複数の修正候補文字列を作成し、作成された修正候補文字列を修正候補テーブルに登録してもよい。当該テーブルは、ＲＡＭ１０２に記憶しておくことができる。ＣＰＵ１０１は、当該テーブルに登録されている各候補文字列について、上述の有意味文字列判定を実行する。
【００２５】
有意味文字列が見つかると、ステップＳ３０７に進み、ＣＰＵ１０１は、有意味文字列となるときのシフト量を決定し、ＲＡＭ１０２に記憶する。ステップＳ３０８において、ＣＰＵ１０１は、決定されたシフト量をＲＡＭ１０２から読み出し、このシフト量に応じてキー割り当てを変更する。
【００２６】
ハードウエアキーボードについて、シフト量が１文字右であれば、たとえば、「Ｆ」キーが押されたときに「Ｇ」キーのキーコードが出力されるように、キーとキーコード（文字）との対応関係を変更する。他のキーについても同様に変更する。あるいは、キーコードの変換テーブルをＲＡＭ１０２に記憶しておき、Ｆキーのキーコードが検出されると、変換テーブルに基づいて文字Ｇに変換してもよい。
【００２７】
ソフトウエアキーボードについてもハードウエアキーボードと同様に処理してもよいが、キー配置を自由に変更できる利点を生かして、次のようにキー割り当てを変更してもよい。ＣＰＵ１０１は、上述のシフト量に応じて、ソフトウエアキーボード上における各キーの表示位置と検出位置とを変更する。たとえば、ＣＰＵ１０１は、今までタッチパネル上でＦキーに割り当てられていた検出領域を、Ｇキー用の検出領域に変更する。具体的には、各キーについて、タッチパネル上での座標データを管理するキー割り当てテーブルを変更し、ＲＡＭ１０２に記憶する。また、ＣＰＵ１０１は、キー割り当てテーブルを参照し、Ｆキーが表示されていた表示領域にＧキーを表示させる。
【００２８】
ステップＳ３０９において、ＣＰＵ１０１は、仮名漢字変換処理を実行する。たとえば、有意味文字列を仮名漢字変換処理して変換文字候補を表示装置１０５に表示する。ユーザにより「次候補」が指示された場合、ＣＰＵ１０１は、次候補を表示装置１０５に表示する。ユーザにより「確定」が指示された場合、ＣＰＵ１０１は、文字入力を確定する。
【００２９】
上述の説明を、具体例を用いて補足する。ここでは、ローマ字入力モードで「こんにちは」と入力する場合を例にする。ユーザがキーボード１０１を操作してテキスト入力するとき、ユーザの指位置がホームポジションから１キー分だけ右にずれていたとする。正しくホームポジションに両手が置かれていれば、ローマ字で“ｋｏｎｎｎｉｔｉｈａ”と入力されるべきところを、指位置が１キー分右にずれていたために“ｌｐｍｍｍｏｙｏｊｓ”と入力される。ＣＰＵ１０１は、ユーザによりキーが打鍵されるごとに、入力された文字コードをバッファリング（一時蓄積）する（Ｓ３０３）。ここでは“ｌ” “ｐ” “ｍ” “ｍ” “ｍ” “ｏ” “ｙ” “ｏ” “ｊ” “ｓ”が、この順番どおりにバッファリングされる。
【００３０】
ユーザにより変換キーが打鍵されるなどして変換が指示されると（Ｓ３０２）、意味判定手段２０３は、無意味文字列“ｌｐｍｍｍｏｙｏｊｓ”を検出する（Ｓ３０４）。本実施形態のキー入力装置によれば、この無意味文字列“ｌｐｍｍｍｏｙｏｊｓ”について、文字コードをキー配列にしたがって所定量だけシフトさせることにより修正候補テーブルを作成する。
【００３１】
図４は、実施形態に係る修正候補テーブルの一例を示す図である。修正候補文字列について、辞書登録語（有意味文字列）とのマッチングをとる。「シフト量」が「１文字右」の文字列“ｋｏｎｎｎｉｔｉｈａ”についてマッチング量が最大となるので、ＣＰＵ１０１は、修正文字列“ｋｏｎｎｎｉｔｉｈａ” を取得し、そのときの「シフト量」として「１文字右」を取得する。キー割り当て変更手段２０５は、各キーに対して「シフト量」分ずらして各文字コードを割り当て、ユーザによる指位置のずれ（すなわちホームポジションのずれ）を解消する。
【００３２】
以上説明したように、本実施形態によれば、キーボードから入力される文字列の誤入力に基づいて有意味文字列となるときのシフト量を決定し、決定されたシフト量に応じて各キーの割り当てを変更するようにした。したがって、ユーザが誤ったホームポジションキーを基準として文字列を入力した場合であっても、キー配置（配列、位置および間隔など）が自動的に修正されるので、ユーザが自己のホームポジションを修正することなくそのまま文字入力を継続できるようになる。また、ユーザはタッチ・タイピングを実践しやすくなる。
【００３３】
上述の実施形態について切り口を変えてみると、本発明は、ソフトウエアキーボードから入力される文字列の誤入力に基づいてユーザ固有のホームポジションを検出し、検出された前記ユーザ固有のホームポジションに応じてソフトウエアキーボード上に各キーを再配置する技術であることが理解できよう。
【００３４】
［第２の実施形態］
第１の実施形態では、右手と左手のシフト量が同一であるものとして説明した。しかしながら、右手については正しいホームポジションにありながら、左手だけが誤ったホームポジションにあるような事態も、現実には発生しうる。
【００３５】
たとえば「こんにちは」とローマ字入力でデータ入力する際に、ユーザの右手がホームポジションから１キー分だけ右にずれていたとする。正しくホームポジションに両手が置かれていれば、ローマ字で“ｋｏｎｎｎｉｔｉｈａ”と入力されるべきところを、右手が１キー分右にずれていたために“ｌｐｍｍｏｔｏｊａ”と入力されてしまう。
【００３６】
そこで、第２の実施形態では、左右別々にシフト量を検出してキー割り当てを変更する方法を説明する。
【００３７】
図５は、第２の実施形態に係るキー入力制御方法の例示的なフローチャートである。なお、既に説明した個所については同一の参照符号を付すことにより説明を簡略化する。ステップＳ３０１において打鍵が検出されると、ステップＳ５０１に進み、ＣＰＵ１０１は、キーの打鍵に使用された手を識別する。なお、本発明は、左右どちらかの手の指によって打鍵されたかを検知する具体的な手段・方法に限定されることはないが、そのような手段の一例について第３の実施形態で説明する。
【００３８】
ステップＳ３０２において変換指示が検出されない場合は、ステップＳ５０３に進み、入力されたキーコードとともに、打鍵に使用された手の識別情報をＲＡＭ１０２のバッファ１１０に記憶する。
【００３９】
このように本実施形態では、ユーザにより一つ一つのキーが打鍵されるごとに、それが左右どちらの手の指によって打鍵されたかを検出し、その検出結果を、その入力されたキーコードとともＲＡＭ１０２に記憶する。上述の例であれば、“ｌ（右）” “ｐ（右）” “ｍ（右）” “ｍ（右）” “ｍ（右）” “ｏ（右）” “ｔ（左）” “ｏ（右）” “ｊ（右）” “ａ（左）”が、この順番でＲＡＭ１０２にバッファされる。
【００４０】
仮名漢字変換が指示されると、ステップＳ３０４において無意味文字判定を実行する。文字列“ｌｐｍｍｏｔｏｊａ”は無意味な文字列なので、ステップＳ５０５に進む。
【００４１】
ステップＳ５０５において、ＣＰＵ１０１は、右手と左手とで個別のシフト量を適用して修正候補文字列を作成する。ステップＳ３０６において、候補文字列が有意味文字列でないと判定されると、シフト量を変更して他の候補文字列を作成し、有意味文字列判定を実行する。
【００４２】
なお、上述のように修正候補テーブルを作成してもよい。たとえば、入力文字列“ｌｐｍｍｏｔｏｊａ”について、文字コードをキー配列にしたがって左右それぞれにずらすことにより修正候補テーブルを作成する。
【００４３】
図６は、第２の実施形態に係る修正候補テーブルの一例を示す図である。図４のテーブルと比較すると、右手のシフト量と左手のシフト量とが設けられ、それぞれのシフト量に応じて対応する修正候補が登録されていることがわかる。この例では、「左手のシフト量」が「なし」で、「右手のシフト量」が「１文字右」となる文字列“ｋｏｎｎｎｉｔｉｈａ”についてマッチング量が最大となる。よって、ＣＰＵ１０１は、修正文字列“ｋｏｎｎｎｉｔｉｈａ” を取得し、ステップＳ５０７に進む。
【００４４】
ステップＳ５０７において、ＣＰＵ１０１は、有意味文字列が取得されたときの「左手のシフト量」と、「右手のシフト量」とをＲＡＭ１０２に記憶する。各シフト量は、修正文字列“ｋｏｎｎｎｉｔｉｈａ”を検索キーとして、修正候補テーブルを検索することにより抽出してもよいし、上述のＳ５０５において、現在の各シフト量をＲＡＭ１０２に予め記憶しおいてもよい。後者の場合は、Ｓ５０７を省略することができる。
【００４５】
ステップＳ５０８において、ＣＰＵ１０１は、右手のシフト量と、左手のシフト量をＲＡＭ１０２から読み出し、各シフト量に応じてキー割り当てを変更する。具体的な変更方法は、ステップＳ３０８で説明した通りである。たとえば、キー割り当て変更２０５は、左手により操作される各キーについては、キーの配置をずらさず、右手で打鍵される各キーについては「１文字右」にずらして文字コードを割り当て、ユーザによる指位置のずれを補正できる。
【００４６】
このように第２の実施形態によれば、キーボード上におけるユーザの左手位置と右手位置を検出し、検出された左手位置と右手位置とに応じて、それぞれ左手シフト量と右手シフト量を決定する。そして、決定された左手シフト量に応じて、キーボード上のキーのうち左手により操作されるキーの割り当てを変更し、決定された右手シフト量に応じて、キーボード上のキーのうち右手により操作されるキーの割り当てを変更する。これにより、右手と左手でシフト量が異なる場合であっても適切にキーの割り当てを変更することができるとともに、第１の実施形態と同様の優れた効果を奏する。
【００４７】
［第３の実施形態］
本実施形態では、ユーザにより左右どちらの手でキーが打鍵されたかを検出する方法について説明する。この例のハードウエア構成は、図１に示したものを採用できるが、説明の便宜上、入力装置１０７と表示装置１０５が一体となったタッチパネル付きディスプレイを採用するものとする。
【００４８】
図７は、実施形態に係る右手左手識別方法の例示的なフローチャートである。なお、既に説明した個所は簡潔に説明する。ステップＳ７０１において、ＣＰＵ１０１は、入力装置（タッチパネル）１０７から打鍵指示があったかどうかを判定する。打鍵指示は、タッチパネル上にユーザの指が乗ると、その押圧力がタッチパネルの感圧センサーによって検知され、押圧位置の座標データが、入力ＩＦ１０６からＣＰＵ１０１に伝達される。
【００４９】
ステップＳ７０２において、ＣＰＵ１０１は、所定時間内に入力された打鍵指示の数と、その打鍵位置をＲＡＭ１０２に記憶する。所定時間は、非常に短い時間である。なぜなら、実質的に同時に入力された打鍵指示を検出するための時間だからである。
【００５０】
ステップＳ７０３に進み、ＣＰＵ１０１は、打鍵指示数を読み出し、その値に応じて処理を分岐する。打鍵指示数が８であれば、ステップＳ７０６に進む。打鍵指示数が、７以下または１１以上であれば、ステップＳ７０４に進み、ＣＰＵ１０１は、警告指示を表示装置１０５から出力する。この警告表示は、たとえば、「手をパネルに正しく置いて下さい」というような教示メッセージであってもよい。もちろん、視覚的な情報の出力に代えて、音声出力、警告音の出力としてもよい。
【００５１】
打鍵指示数が９ないし１０であれば、ステップＳ７０５に進み、ＣＰＵ１０１は、８つの打鍵指示を選定する。
【００５２】
図８は、実施形態に係る打鍵指示の選定を説明するための図である。この例では、タッチパネル８００において、ユーザが１０本の指を置いた様子を示している。１０の打鍵指示８０１は、それぞれ１０本の指に対応している。ＣＰＵ１０１は、すべての打鍵指示の各座標位置を読み出し、それに基づいてすべての打鍵指示を囲むことのできる最小の矩形８０２を算出する。つづいて、矩形８０２の短辺方向において、相対的に上方にある８箇所を識別対象として選定する。図８では、矩形８０３により囲まれている８つの打鍵指示８０１が、右手・左手の識別対象となる。このように四角形８０２を用いるのは、ユーザの親指による打鍵はスペースキーのみであることを仮定しているからであり、識別の対象から除外するためである。
【００５３】
ステップＳ７０６において、ＣＰＵ１０１は、選定された８つの打鍵指示について、相対的に右手にある４つの打鍵指示を右手による打鍵指示と認識し、それ以外（すなわち相対的に左側にある４つの打鍵指示）を左手による打鍵指示であると認識する。図８の例では、矩形８０５によって囲まれている４つの打鍵指示が、左手による打鍵指示として認識され、矩形８０４によって囲まれている４つの打鍵指示が、右手による打鍵指示として認識される。
【００５４】
ステップＳ７０７において、ＣＰＵ１０１は、各打鍵指示のトレース（入力追跡処理）を開始する。ステップＳ７０８において、新規の打鍵指示が検出されると、ステップＳ７０９に進み、その打鍵指示が左右どちらの手で操作されたかを識別する。すなわち、最初に検出された右手の打鍵指示の位置と、左手の打鍵指示の位置に応じて、それぞれの手または指の位置を推定することで、トレースを行なう。
【００５５】
なお、指紋認識を行い、認識された指紋が左右どちらの手の指紋かを判断する事によって左右どちらの手で操作されたか識別する方式を採用してもよい。タッチパネルにタッチされた指紋を認識する技術は特開平１１−３２７７２７号公報に開示がある。
また、タッチパネルにおいて複数の打鍵指示を検出する手段としては、たとえば、特開平０８−１４７０９１号公報に開示されているもの、特開平０８−３２８７２５号公報に開示されているものなどがあるが、本発明はこれら以外の手段を採用してもよい。
【００５６】
以上説明したように本実施形態によれば、ＣＰＵ１０１は、タッチパネルによって所定時間内（または実質的に同時）に入力される複数の打鍵指示を検出する。ＣＰＵ１０１は、複数の打鍵指示が入力された入力位置と、該打鍵指示の数とを認識する。打鍵指示の数が所定数（たとえば、８ないし１０）であれば、打鍵指示の入力位置に基づいて、それぞれの前記打鍵指示がユーザの右手または左手のいずれにより入力されたものであるかを推定もしくは識別することができる。すなわち、８つの打鍵指示のうち、相対的に左側に位置する打鍵指示を左手により入力されたものとして識別し、相対的に左側に位置する打鍵指示を左手により入力されたものとして識別することができる。
【００５７】
このように本実施形態では、タッチパネル上における打鍵指示がどちらの手により入力されたものであるかを識別できる利点がある。また、どちらの手による打鍵指示かを識別できるので、上述の第２の実施形態を実現できるメリットがある。
【００５８】
また、打鍵指示の数が、７以下または１１以上である場合に、警告情報を出力するようにしたので、ユーザは、指の載せ方の誤りに気付きやすくなる。
【００５９】
［第４の実施形態］
図９は、実施形態に係るキー入力装置の応用例を示す図である。この図のキー入力装置は、ディスプレイシステムとして実現したものであり、画面９００およびタッチパネル９０１を含む本体部は、支持機構９０２によって支持されている。
【００６０】
画面９００には、実施形態に係るソフトウエアキーボード９０３が表示される。ソフトウエアキーボードは、上述のＣＰＵ１０１、ＲＡＭ１０２およびＲＯＭ１０３などにより構成される制御装置により入出力処理を制御される。
【００６１】
図１０は、実施形態に係るソフトウエアキーボードの一例を示す図である。画面９００に表示されるソフトウエアキーボード９０３には、それぞれユーザのユーザの左手により操作されるキー群１００１と、右手により操作されるキー群１００２とが表示されている。ＣＰＵ１０１は、右手用キー群１００１と左手用キー群１００２とを、青色（図の実線）、赤色（図の点線）などそれぞれ異なる表示色を用いて表示させる。本実施形態では、ユーザにより左手が操作されるときには青色のキーボードのキーが、右手が操作されるときには赤色のキーボードのキーが打鍵されたものとして認識する。
【００６２】
なお、ＣＰＵ１０１は、タッチパネル上の最初に入力された打鍵指示の位置の近傍にソフトウエアキーボード９０３を表示させる。近傍とは、打鍵指示の位置から手を大幅に動かすことなくキー入力できる位置を意味する。可能であれば手を移動させることなく、そのままキー入力できるほうが、ユーザには便利だからである。
【００６３】
図１１は、実施形態に係るキー入力装置において文字入力されたときの画面遷移の一例を示す図である。図において、ウインドウ１１００は、表示装置１０５にメモを表示する「付箋アプリケーション」のメモ編集画面を示している。付箋アプリケーションは、ＲＯＭ１０３または不図示のハードディスクドライブ装置に記憶されているものとする。付箋アプリケーションが起動すると、ＣＰＵ１０１は、ソフトウエアキーボード１１０１を含むメモ編集画面１１００を表示装置１０５に表示させる。ユーザによりソフトウエアキーボード１１０１が打鍵され文字入力が実行されると、図１１（ａ）から（ｂ）へと状態が遷移する。
【００６４】
ＣＰＵ１０１は、入力された文字をテキストエリア１１０２に表示する。またキーボード１１０１は、実施形態に係る発明の作用によって、右手用のキー群が右にずれて表示される。すなわち、右手用のキー群について上述の右手シフト量に応じたキー割り当ての変更がなされている。もちろん、左手手用のキー群について上述の左手シフト量に応じたキー割り当ての変更を行なってもよい。
【００６５】
なお「付箋アプリケーション」は説明の便宜として用いたものであり、本発明は他のアプリケーションにも適用可能である。
【００６６】
本実施形態によれば、左手により操作されるキーと、右手により操作されるキーとの表示態様を異ならしめて表示する。たとえば、それぞれの表示色、およびキーの外形を表す線種などの少なくとも一方を異ならしめて表示することで、右手用のキー群と左手用のキー群とを、ユーザは認識しやすくなる。基本的には、熟練したユーザであれば、キーの配置を見ることなくタッチ・タイピングを実践できる。しかしながら、キーの配置を確認しながら打鍵するような初心者にとっては、本実施形態に係る発明によって、右手キー群と左手キー群を視覚的に識別しやすくなろう。
【００６７】
［他の実施形態］
以上、様々な実施形態を詳述したが、本発明は、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。たとえば、表示装置と入力装置とが一体となったキー入力システムに本発明を適用してもよいし、タッチパネルなどの入力装置が接続されたパーソナルコンピュータに本発明を適用してもよい。
【００６８】
なお、本発明は、前述した実施形態の各機能を実現するソフトウェアプログラム（本実施形態では図３、図５または図７に示すフローチャートに対応したプログラム）を、システム若しくは装置に対して直接または遠隔から供給し、そのシステム若しくは装置に含まれるコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。
【００６９】
したがって、本発明の機能・処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、上記機能・処理を実現するためのコンピュータプログラム自体も本発明の一つである。
【００７０】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００７１】
プログラムを供給するための記録媒体としては、たとえば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００７２】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明の構成要件となる場合がある。
【００７３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００７４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００７５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００７６】
【図１】図１は、実施形態に係るキー入力措置の例示的なブロック図である。
【図２】図２は、実施形態に係るキー入力装置の例示的な機能を示したブロック図である。
【図３】図３は、実施形態に係るキー入力制御方法の例示的なフローチャートである。
【図４】図４は、実施形態に係る修正候補テーブルの一例を示す図である。
【図５】図５は、実施形態に係るキー入力制御方法の例示的なフローチャートである。
【図６】図６は、実施形態に係る修正候補テーブルの一例を示す図である。
【図７】図７は、実施形態に係る右手左手識別方法の例示的なフローチャートである。
【図８】図８は、実施形態に係る打鍵指示の選定を説明するための図である。
【図９】図９は、実施形態に係るキー入力装置の応用例を示す図である。
【図１０】図１０は、実施形態に係るソフトウエアキーボードの一例を示す図である。
【図１１】図１１は、実施形態に係るキー入力装置において文字入力されたときの画面遷移の一例を示す図である。
【図１】
2006086934.tif 000003
【図２】
2006086934.tif 000004
【図３】
2006086934.tif 000005
【図４】
2006086934.tif 000006
【図５】
2006086934.tif 000007
【図６】
2006086934.tif 000008
【図７】
2006086934.tif 000009
【図８】
2006086934.tif 000010
【図９】
2006086934.tif 000011
【図１０】
2006086934.tif 000012
【図１１】
2006086934.tif 000013