(57)【要約】方法（５００）は、仮想キーボードの一部分が部分的に不可視になることを許容し、ユーザーが、該不可視な部分がたたかれるときにその部分内のキーを作動させることを許容する。例示的な実施形態によれば、方法（５００）は、タッチスクリーン・デバイスにおいて使われ：仮想キーボードを呈示する段階であって、前記仮想キーボードの全体がスクリーン上に表示され、タッチ感応性要素の第一の部分にはいる、段階（５０５）と；ユーザー入力に応答して、前記仮想キーボードを、前記仮想キーボードの第一のキーを含むいくつかのキーがスクリーン上に部分的に表示されて可視であり、それら部分的に表示されるキーの可視部分は前記タッチ感応性要素の前記第一の部分にはいり、不可視部分は前記タッチ感応性要素の前記第二の部分にはいり、前記第一のキーが前記タッチ感応性要素の前記第一の部分の第一の部分および前記タッチ感応性要素の前記第二の部分の第一の部分をカバーするような位置に動かす段階（５１０）と；前記第一のキーがたたかれるとき、前記第一のキーに割り当てられた特定の機能を実行する段階（５１５）とを含む。
2015535628.tif 000002
【特許請求の範囲】
【請求項１】
タッチスクリーン・デバイスであって：
スクリーンと；
タッチ感応性要素であって、該タッチ感応性要素の第一の部分は前記スクリーン内に配置され、該タッチ感応性要素の第二の部分は前記スクリーン外に配置される、タッチ感応性要素と；
前記スクリーンおよび前記タッチ感応性要素に結合されたプロセッサとを有しており、前記プロセッサは、前記スクリーンの第一の部分に第一の仮想キーを出力し、ユーザー入力に応答して、該第一の仮想キーを前記スクリーンの前記第一の部分から、前記第一の仮想キーが部分的に前記スクリーン上に表示され、前記タッチ感応性要素の前記第一の部分の第一の部分をカバーし、前記第一の仮想キーの不可視部分が前記タッチ感応性要素の前記第二の部分の第一の部分をカバーするような位置に動し、前記第一の仮想キーは、たたかれたら、前記プロセッサに、ある特定の機能を実行させる、
タッチスクリーン・デバイス。
【請求項２】
前記プロセッサは、前記タッチ感応性要素のどの要素がたたかれたかを示す信号を検出するよう動作する、請求項１記載のタッチスクリーン・デバイス。
【請求項３】
前記タッチ感応性要素の前記第一の部分の前記第一の部分がたたかれたことを検出するのに応答して、前記プロセッサは前記特定の機能を実行する、請求項２記載のタッチスクリーン・デバイス。
【請求項４】
前記タッチ感応性要素の前記第二の部分の前記第一の部分がたたかれたことを検出するのに応答して、前記プロセッサは前記特定の機能を実行する、請求項２記載のタッチスクリーン・デバイス。
【請求項５】
前記プロセッサは、前記第一の仮想キーを、前記第一の仮想キーの全体が不可視であり、前記タッチ感応性要素の前記第二の部分の第二の部分をカバーする位置に動かす、請求項２記載のタッチスクリーン・デバイス。
【請求項６】
前記タッチ感応性要素の前記第二の部分の前記第二の部分がたたかれたことを検出するのに応答して、前記プロセッサは前記特定の機能を実行する、請求項５記載のタッチスクリーン・デバイス。
【請求項７】
前記プロセッサは、前記第一の仮想キーを含む仮想キーボードを出力し、前記仮想キーボードを、前記第一の仮想キーを含むいくつかの仮想キーが部分的に前記スクリーン上に表示され、前記タッチ感応性要素の前記第一の部分にはいり、前記いくつかの仮想キーの不可視部分が前記タッチ感応性要素の前記第二の部分にはいるような位置に動かす、請求項２記載のタッチスクリーン・デバイス。
【請求項８】
前記タッチ感応性要素の前記第一の部分の前記第一の部分がたたかれるのを検出するのに応答して、前記プロセッサは前記特定の機能を実行する、請求項７記載のタッチスクリーン・デバイス。
【請求項９】
前記タッチ感応性要素の前記第二の部分の前記第一の部分がたたかれるのを検出するのに応答して、前記プロセッサは前記特定の機能を実行する、請求項７記載のタッチスクリーン・デバイス。
【請求項１０】
前記プロセッサは、前記仮想キーボードを、前記いくつかの仮想キーが完全に不可視であり前記タッチ感応性要素の前記第二の部分にはいるような位置に動かす、請求項７記載のタッチスクリーン・デバイス。
【請求項１１】
前記第一の仮想キーが前記タッチ感応性要素の前記第二の部分の第二の部分をカバーし、前記タッチ感応性要素の前記第二の部分の前記第二の部分がたたかれるのを検出するのに応答して、前記プロセッサは前記特定の機能を実行する、請求項１０記載のタッチスクリーン・デバイス。
【請求項１２】
前記仮想キーボードが複数の行を有しており、前記いくつかのキーは前記行のうちの一つの行内に配置されるものである、請求項７記載のタッチスクリーン・デバイス。
【請求項１３】
前記第一および第二の部分は連続的な仕方で互いに隣り合っている、請求項１記載のタッチスクリーン・デバイス。
【請求項１４】
前記第一および第二の部分は連続していない、請求項１記載のタッチスクリーン・デバイス。
【請求項１５】
前記スクリーンは前記タッチスクリーン・デバイスの第一の側に位置しており、前記第二の部分は前記タッチスクリーン・デバイスの、前記第一の側以外の第二の側に位置している、請求項１４記載のタッチスクリーン・デバイス。
【請求項１６】
前記第二の部分は第二のキーを含み、前記プロセッサは前記第二の側にある前記第二のキーの位置を示す第三のキーを前記スクリーン上に表示する、請求項１５記載のタッチスクリーン・デバイス。
【請求項１７】
前記第二および第三のキーの一方がたたれるとき、前記プロセッサは前記第二のキーに割り当てられている第二の機能を実行する、請求項１６記載のタッチスクリーン・デバイス。
【請求項１８】
スクリーンおよびタッチ感応性要素を有するタッチスクリーン・デバイス上に複数のキーを含む仮想キーボードを呈示する方法であって、前記タッチ感応性要素の第一の部分は前記スクリーン内に配置され、前記タッチ感応性要素の第二の部分は前記スクリーン外に配置され、当該方法は：
前記仮想キーボードを呈示する段階であって、前記仮想キーボードの全体が前記スクリーン上に表示され、前記タッチ感応性要素の前記第一の部分にはいる、段階と；
ユーザー入力に応答して、前記仮想キーボードを、前記仮想キーボードの第一のキーを含むいくつかのキーが前記スクリーン上に部分的に表示されて可視であり、前記いくつかのキーの前記可視の部分は前記タッチ感応性要素の前記第一の部分にはいり、前記いくつかのキーの不可視部分は前記タッチ感応性要素の前記第二の部分にはいり、前記第一のキーが前記タッチ感応性要素の前記第一の部分の第一の部分および前記タッチ感応性要素の前記第二の部分の第一の部分をカバーするような位置に動かす段階と；
前記第一のキーがたたかれるとき、前記第一のキーに割り当てられた特定の機能を実行する段階とを含む、
方法。
【請求項１９】
前記仮想キーボードが複数の行を有しており、前記いくつかのキーは前記行のうちの一つの行内に配置されるものである、請求項１８記載の方法。
【請求項２０】
前記実行する段階は、前記タッチ感応性要素の前記第一の部分の前記第一の部分および前記タッチ感応性要素の前記第二の部分の前記第一の部分のうちの一方がたたかれることが検出される場合に実行される、請求項１９記載の方法。
【請求項２１】
前記動かす段階は、前記仮想キーボードを、前記いくつかの仮想キーが完全に不可視であり、前記タッチ感応性要素の前記第二の部分にはいるような位置に動かす、請求項１９記載の方法。
【請求項２２】
前記第一のキーが前記タッチ感応性要素の前記第二の部分の第二の部分をカバーし、前記タッチ感応性要素の前記第二の部分の前記第二の部分がたたかれることが検出される場合に、前記実行する段階が実行される、請求項２１記載の方法。
【請求項２３】
前記スクリーンは前記タッチスクリーン・デバイスの第一の側に位置されており、前記タッチ感応性要素の前記第二の部分は、前記第一の側以外の、前記タッチ感応性要素の第二の側に位置されており、前記タッチ感応性要素の前記第二の部分は第二のキーを含み、当該方法はさらに、前記第二の側における前記第二のキーの位置を示す第三のキーを前記スクリーン上に表示する段階を含む、請求項１８記載の方法。
【請求項２４】
前記第二のキーがたたかれるときに、前記第二のキーに割り当てられた第二の機能を実行する段階を含む、請求項２３記載の方法。
【請求項２５】
前記第三のキーがたたかれるときに、前記第二のキーに割り当てられている第二の機能を実行する段階をさらに含む、請求項２４記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概括的にはタッチスクリーン上に仮想キーボードを呈示する方法および装置に、より詳細には部分的または完全にスクリーンを超えて広がるいくつかのキーをもつ仮想キーボードを呈示し、仮想キーボードをユーザーの特定のタイピング習癖に動的に適応させ、ユーザーがキーを追加／削除することおよびキー位置を変更することを含めキーボード・レイアウトをカスタマイズすることを許容するための方法および装置に関する。
【背景技術】
【０００２】
「仮想」または「ソフト」キーボードは、タッチスクリーン上に描かれるキーボードであり、キーストロークまたは打鍵がタッチ検出機能によって登録される。これは、タッチスクリーンの外部に位置するハードウェア・キーボードではない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
タブレットのような多くの現代のハンドヘルド・コンピュータはタッチスクリーンを有しており、通例、タッチスクリーン上に仮想キーボードを提供する。しばしば、仮想キーボードのサイズおよびキー配置は書き手の手の大きさに合わない。タッチスクリーン・サイズが固定であり、制限されており、手のひらおよび指のサイズは書き手によって異なるといった理由のためである。タッチスクリーンが安価になるにつれ、外部の標準キーボードと同様のフル・サイズ仮想キーボードを表示できるタッチスクリーンがますます人気が出ている。しかしながら、フル・サイズの仮想キーボードでもキー配置は固定であり、サイズ、形および二つのキーの間の相対距離は固定である。よって、すべての書き手の手に合うことはできない。したがって、当技術分野においては、上記の問題に対処し、それによりタッチスクリーン・デバイスにおいて仮想キーボードを呈示する改善された方法および装置を提供する必要がある。
【課題を解決するための手段】
【０００４】
本発明のある側面によれば、タッチスクリーン・デバイスが開示される。本タッチスクリーン・デバイスは、スクリーンと；諸タッチ感応性要素であって、該タッチ感応性要素の第一の部分はスクリーン内部に配置され、該タッチ感応性要素の第二の部分はスクリーン外部に配置される、タッチ感応性要素と；スクリーンおよびタッチ感応性要素に結合されたプロセッサとを有する。プロセッサは、スクリーンの第一の部分に第一の仮想キーを出力し、ユーザー入力に応答して、該第一の仮想キーを前記スクリーンの第一の部分から、前記第一の仮想キーが部分的にスクリーン上に表示され、前記タッチ感応性要素の前記第一の部分の第一の部分をカバーし、前記第一の仮想キーの不可視部分が前記タッチ感応性要素の前記第二の部分の第一の部分をカバーするような位置に動かす。前記第一の仮想キーは、たたかれたら、前記プロセッサに、ある特定の機能を実行させる。
【０００５】
ある実施形態では、前記プロセッサは、前記タッチ感応性要素のどの要素がたたかれたかを示す信号を検出するよう動作し、前記タッチ感応性要素の前記第一の部分の前記第一の部分がたたかれたことを検出するのに応答して、前記プロセッサは前記特定の機能を実行する。
【０００６】
もう一つの実施形態では、前記タッチ感応性要素の前記第二の部分の前記第一の部分がたたかれたことを検出するのに応答して、前記プロセッサは前記特定の機能を実行してもよい。
【０００７】
さらにもう一つの実施形態では、前記プロセッサは、前記第一の仮想キーを、前記第一の仮想キーの全部が不可視であり、前記タッチ感応性要素の前記第二の部分の第二の部分をカバーする位置に動かし、前記タッチ感応性要素の前記第二の部分の前記第二の部分がたたかれたことを検出するのに応答して、前記プロセッサは前記特定の機能を実行する。
【０００８】
さらにもう一つの実施形態では、前記プロセッサは、前記第一の仮想キーを含む仮想キーボードを出力し、前記仮想キーボードを、前記第一の仮想キーを含むいくつかの仮想キーが部分的にスクリーン上に表示され、前記タッチ感応性要素の前記第一の部分にはいり、それらの仮想キーの不可視部分が前記タッチ感応性要素の前記第二の部分にはいるような位置に動かし、前記タッチ感応性要素の前記第一の部分の前記第一の部分がたたかれるのを検出するのに応答して、前記プロセッサは前記特定の機能を実行し、前記タッチ感応性要素の前記第二の部分の前記第一の部分がたたかれるのを検出するのに応答しても、前記プロセッサは前記特定の機能を実行する。
【０００９】
さらにもう一つの実施形態では、前記プロセッサは、前記仮想キーボードを、いくつかの仮想キーが完全に不可視であり前記タッチ感応性要素の前記第二の部分にはいり、前記第一の仮想キーが前記タッチ感応性要素の前記第二の部分の第二の部分をカバーするような位置に動かし、前記タッチ感応性要素の前記第二の部分の前記第二の部分がたたかれるのを検出するのに応答して、前記プロセッサは前記特定の機能を実行する。
【００１０】
ある実施形態では、前記タッチ感応性要素の前記第一および第二の部分は、連続的な仕方で互いに隣り合っている。もう一つの実施形態では、前記第一および第二の部分は連続していない。たとえば、スクリーンは前記タッチスクリーン・デバイスの第一の側に位置しており、前記第二の部分は前記タッチスクリーン・デバイスの、前記第一の側以外の第二の側に位置する。さらにもう一つの実施形態では、前記第二の部分は第二のキーを含み、前記プロセッサは前記第二の側にある前記第二のキーの位置を示す第三のキーをスクリーン上に表示し、前記第二および第三のキーの一方がたたれるとき、前記プロセッサは前記第二のキーに割り当てられている第二の機能を実行する。
【００１１】
本発明のもう一つの側面によれば、スクリーンおよびタッチ感応性要素を有するタッチスクリーン・デバイス上に複数のキーを含む仮想キーボードを呈示する方法であって、前記タッチ感応性要素の第一の部分はスクリーン内部に配置され、前記タッチ感応性要素の第二の部分はスクリーン外部に配置される方法が開示される。本方法は、前記仮想キーボードを呈示する段階であって、前記仮想キーボードの全部がスクリーン上に表示され、前記タッチ感応性要素の前記第一の部分にはいる、段階と；ユーザー入力に応答して、前記仮想キーボードを、前記仮想キーボードの第一の仮想キーを含むいくつかのキーが部分的にスクリーン上に表示されて可視であり、それらの部分的に表示されるキーの可視部分は前記タッチ感応性要素の前記第一の部分にはいり、不可視部分は前記タッチ感応性要素の前記第二の部分にはいり、前記第一のキーが前記タッチ感応性要素の前記第一の部分の第一の部分および前記タッチ感応性要素の前記第二の部分の第一の部分をカバーするような位置に動かす段階とを含み、本方法はさらに、前記第一のキーがたたかれるとき、前記第一のキーに割り当てられた特定の機能を実行する段階を含む。
【００１２】
ある実施形態では、前記実行する段階は、前記タッチ感応性要素の前記第一の部分の前記第一の部分および前記タッチ感応性要素の前記第二の部分の前記第一の部分のうちの一方の打鍵が検出される場合に実行される。
【００１３】
ある実施形態では、たとえ前記第一のキーが完全に前記第二の部分の第一の部分内部にはいり、完全に不可視であっても、前記タッチ感応性要素の前記第二の部分の前記第一の部分の打鍵が検出されるとき、前記実行する段階が実行される。
【００１４】
さらにもう一つの実施形態では、スクリーンは前記タッチスクリーン・デバイスの第一の側に位置されており、前記タッチ感応性要素の前記第二の部分は、前記第一の側以外の、前記タッチ感応性要素の第二の側に位置されており、前記タッチ感応性要素の前記第二の部分は第二のキーを含み、本方法はさらに、前記第二の側における前記第二のキーの位置を示す第三のキーをスクリーン上に表示することを含む。本方法はさらに、前記第二のキーがたたかれるときに、前記第二のキーに割り当てられた第二の機能を実行することを含む。ある実施形態では、本方法はさらに、前記第三のキーがたたかれるときに、前記第二の機能を実行することを含む。
【図面の簡単な説明】
【００１５】
付属の図面との関連で参酌される本発明の例示的な実施形態の以下の記述を参照することにより、本発明の上記およびその他の特徴および利点ならびにそれらを達成する仕方はより明白になり、本発明はよりよく理解されるであろう。
【図１】本発明のある例示的な実施形態に基づくタッチスクリーン・デバイスのブロック図である。
【図２】図１に示されるタッチスクリーン・デバイスのディスプレイ１２０の例示的な構成要素を示す図である。
【図３】図１に示されるタッチスクリーン・デバイスのディスプレイ１２０の例示的な構成要素の異なるビューである。
【図４】いくつかのキーは部分的に可視であるが、それでも不可視部分にタッチすることによって作動されることができる、例示的な仮想キーボードを示す図である。
【図５】図４に示される例示的なキーボードを使う例示的なプロセスを示す図である。
【図６】ユーザーを表わすシグネチャーにマッチするよう仮想キーボードを動的に適応させる例示的なプロセスを示す図である。
【図７】ユーザーを表わすシグネチャーにマッチするよう仮想キーボードを適応される前の例示的な仮想キーボードを示す図である。
【図８】図７に示される仮想キーボードがより大きな手をもつユーザーを表わすシグネチャーに従って適応されたことを示す図である。
【図９】図７に示される仮想キーボードがより小さな手をもつユーザーを表わすシグネチャーに従って適応されたことを示す図である。
【図１０】仮想キーボードにおけるキーの深さを増すための例示的なジェスチャーを示す図である。
【図１１】仮想キーボードにおけるキーの例示的なフットプリントを示す図である。
【図１２】打鍵が意図されたキーを中心としていないことがありうる例を示す図である。
【図１３】図１２に示される不一致問題を修正するための、例示的な適応された仮想キーボードを示す図である。
【図１４】仮想キーボードにおける例示的なキーおよびタッチ感応性要素のマトリクスに関するそのフットプリントを示す図である。
【図１５】仮想キーボードにおける種々のキーに対するフットプリントの種々のサイズおよび位置を示す図である。
【図１６】仮想キーボード内のキーが検出された打鍵フットプリントに基づいて動的に調整されることができることを示す図である。
【図１７】図１２に示される不一致問題を修正するための、もう一つの例示的な適応された仮想キーボードを示す図である。
【図１８】図１２に示される不一致問題を修正するための、さらにもう一つの例示的な適応された仮想キーボードを示す図である。
【図１９】諸キーのサイズが同じでない、例示的な適応された仮想キーボードを示す図である。
【図２０】キーの打鍵フットプリントの位置が、そのキーへの打鍵に先立ってどのキーがたたかれたかに依存することを示す図である。
【図２１】キーの打鍵フットプリントの位置が、そのキーへの打鍵に先立ってどのキーがたたかれたかに依存することを示す図である。
【図２２】直前の最後のものがそれぞれLキーおよび「¨付きのa」キーであるときの＄キーの例示的な打鍵フットプリントを示す図である。
【図２３】キーのフットプリントについての例示的なベクトル表現であって、各ベクトルが別のキーおよび該キーの適応されたバージョンに関連付けられているものを示す図である。
【図２４】キーの位置が、別のキーがたたかれるときに動的に変更されることを示す図である。
【図２５】キーを仮想キーボードにおける異なる位置に動かすための例示的なジェスチャーを示す図である。
【図２６】仮想キーボードにキーを追加するための例示的なプロセスを示す図である。
【図２７】仮想キーボードにキーを追加するためにユーザーを支援する例示的なユーザー・インターフェースを示す図である。
【図２８】図２６に示されるキー追加機能を使って生成されることができる複数の仮想キーボードを示す図である。
【図２９】仮想キーがタッチスクリーン・デバイスの背面上にあってもよいことを示す図である。
【図３０】触覚フィードバックを与えることができる、例示的なタッチ感応性かつ触覚的な表面を示す図である。
【図３１】シグネチャーの変化を監視する例示的なプロセスを示す図である。
【図３２】動的なシグネチャーの変化の監視において、キーが五つの領域に分割されることができることを示す図である。  本稿に記載される例示は本発明の好ましい実施形態を例解するものであって、そのような例示はいかなる仕方であれ本発明の範囲を限定するものと解釈されるべきではない。
【発明を実施するための形態】
【００１６】
図１を参照するに、ポータブル・コンピューティング・デバイス（PCD）の例示的な、限定しない側面が図示され、全体的に１で示されている。図のように、PCD  １は、I/Oブロック１０のような入出力（I/O）手段と、プロセッサ２０のような処理手段と、メモリ３０のようなメモリ手段と、ディスプレイ１２０および任意的には仮想キーボードを補完するためのいくつかのハードウェア・キーを有するキーパッド（図示せず）を含むユーザー・インターフェースとを有している。タッチスクリーン・デバイスとしてPCDを図示しているものの、本発明の原理は、ポータブルであろうとなかろうと、タッチ感応性スクリーンをもつディスプレイを有するいかなるデバイスにも適用されることができる。ディスプレイは、LCD、OLED、電子インクおよびプラズマといったいかなるディスプレイであってもよく、ディスプレイはTV、PC、携帯電話、タブレット、デジタル・カメラ、カムコーダーおよびDVDプレーヤーの一部であってもよい。ディスプレイは、セットトップボックスおよび上述したデバイスの任意のものとともに使用されてもよい。記述の簡明のため、同一の要素はすべての図面において同一の参照符号を使って指示され、ある種の制御信号、電力信号および／または他の要素といったPCD  １に関連するある種の通常の要素は図１には示されないことがある。
【００１７】
I/Oブロック１０は、PCD  １のI/O機能を実行するよう動作する。ある例示的な実施形態によれば、I/Oブロック１０はアナログおよび／またはデジタル・フォーマットにおけるオーディオ、ビデオおよび／またはデータ信号のような信号を、インターネット源のようなブロードキャスト源およびPC、USBネットワークもしくはHDM（登録商標）Iインターフェースなどを通じて接続されたハードディスクのような他の装置から、受信するよう動作してもよい。I/Oブロック１０は、外部デバイスに信号を出力するようにも動作してもよい。
【００１８】
プロセッサ２０は、PCD  １のさまざまな信号処理および制御機能を実行するよう動作する。ある例示的な実施形態によれば、プロセッサ２０は、同調、復調、前方誤り訂正、必要であればトランスポート処理および圧縮解除機能を含む機能を実行してそれによりオーディオ、ビデオおよび／またはデータ・コンテンツを表現するデジタル・データを生成することによって、I/Oブロック１０から提供されるオーディオ、ビデオおよび／またはデータ信号を処理する。そのような処理機能から生成されるデジタル・データは、さらなる処理および／またはディスプレイ１２０への出力のために提供されてもよい。
【００１９】
プロセッサ２０は、本稿に記述される本発明のさまざまな実施形態および方法の実行を容易にし、可能にするソフトウェア・コードを実行するようにも動作する。本発明のこれらの側面に関するさらなる詳細は本稿でのちに与える。プロセッサ２０は、PCD  １の他の機能を実行するおよび／または可能にするようにも動作する。該他の機能は、メモリ３０に記憶されているプログラムを実行すること、ディスプレイ１２０のスクリーンの領域の内部または外部に位置されているタッチ感応性要素にタッチすることを介してなされるユーザー入力および他のユーザー入力装置（図示せず）からのユーザー入力を処理すること、一つまたは複数のタイマーを管理すること、画面上表示を可能にすること、メモリ３０との間のデータの読み書きおよび／または他の動作を含むがこれに限られない。プロセッサ２０は、一つまたは複数の集積回路（IC）を使って具現されてもよい。
【００２０】
本発明の原理によれば、プロセッサ２０は、タッチ感応性要素を有する領域上のタッチ（または接触）を検出し；タッチ感応性要素を有する領域内のあらかじめ定義された位置をタッチするもしくはたたくまたは所定の仕方でディスプレイ１２０のスクリーン上に指を置くといったユーザー信号に応答してディスプレイ１２０上にソフトまたは仮想キーボードを表示するよう動作してもよい。さらなる詳細は後述する。
【００２１】
メモリ３０は、プロセッサ２０に動作上結合され、PCD  １のデータ記憶機能を実行する。実装に依存して、メモリ３０の少なくとも一部は、プロセッサ２０と同じIC（単数または複数）上に含められてもよい。ある例示的な実施形態によれば、メモリ３０は、ソフトウェア・コード、画面上表示（on-screen  display）（たとえば、メニュー、仮想キーボード）データ、ユーザー選択／設定データ、ユーザーを表わすシグネチャー、仮想キーボードのキーの打鍵フットプリントおよび／または他のデータを含むがそれに限られないデータを記憶する。メモリ３０は、ハードディスクドライブ（HDD）またはDVDドライブ、PROM、SRAMまたはそれらの組み合わせを含んでいてもよい。
【００２２】
ディスプレイ１２０のスクリーンは、タッチ感応性領域全体またはタッチ感応性領域の一部をカバーしてもよい。換言すれば、タッチ感応性領域は、ディスプレイ１２０についてのスクリーンの領域を超えて広がっていてもよい。タッチ感応性領域は、通常のタッチ感応性要素を含んでいる。プロセッサ２０は、どの要素がタッチされたかを通常の仕方で検出するよう動作してもよい。
【００２３】
図２および図３は、PCD  １のディスプレイ１２０の例示的な構成要素の図を描いている。図のように、ディスプレイ１２０は、光源３００と、スクリーン３１０と、感知層３２０とを含んでいてもよい。感知層３２０は、タッチ感応性要素を含んでおり、上記のように、スクリーン３１０を超えて広がっていてもよく、スクリーン３１０の領域全部をカバーしなくてもよい。
【００２４】
光源３００は、情報を表示するためにスクリーン３１０の下面に背後照明を与える機構（たとえばバックライト）を含んでいてもよい。たとえば、光源３００は、一つまたは複数の白熱電球、一つまたは複数の発光ダイオード（LED）、エレクトロルミネッセント・パネル（ELP）、一つまたは複数の冷陰極蛍光ランプ（CCFL）、一つまたは複数の熱陰極蛍光ランプ（HCFL）などでスクリーン３１０の諸部分を照明するものを含んでいてもよい。白熱電球は、非常に高い輝度が望まれるときに使用されることがある。LEDは、小型で安価な照明設備において使用されてもよく、有色または白色光を含みうる。ELPはより大きな照明設備のために、あるいは均等な照明が望まれるときに使用されてもよく、有色または白色のいずれかでありうる。CCFLは大型の照明設備において使用されてもよく、色は白色であってもよい。もう一つの例では、光源３００は、不均等な源から均等な照明を提供するために一つまたは複数の拡散体または光ガイドを用いてもよい。さらにもう一つの例では、光源３００は任意の色の光源（たとえば黄、緑、青、白など）または有色／無色光源の任意の組み合わせを含むことができる。光源３００によって提供される光は、ユーザーに面するスクリーン３１０の上面に前方照明を提供するためにも使用されてもよい。ディスプレイが液体インク型、OLEDまたは背景照明源を必要としない他の任意の型である場合には、光源３００は省略できる。
【００２５】
スクリーン３１０は、ユーザーに視覚的な情報（たとえば、テキスト、画像、ビデオ、着信または発信コール、ゲーム、電話帳、現在時刻、電子メールなど）を提供することができるいかなる機構を含んでいてもよい。たとえば、スクリーン３１０は、薄膜トランジスタ（TFT）LCDなどのような液晶ディスプレイ（LCD）を含んでいてもよい。ある例示的な実装では、スクリーン３１０は、（ガラス上ではなく）金属箔上にTFTを配置するプラスチック基板を含んでいてもよく、これはスクリーン３１０が、曲げられたあとにもとの形を回復することを許容しうる。スクリーン３１０は、該プラスチック基板上にコーティングされたカラー・フィルタを含んでいてもよく、これはスクリーン３１０がカラー画像を表示することを許容しうる。他の実装では、スクリーン３１０はモノクロームの柔軟なLCDを含んでいてもよい。
【００２６】
ある実装では、スクリーン３１０は、任意の数のカラーおよび／またはモノクローム・ピクセルを含みうる。もう一つの実装では、スクリーン３１０は、パッシブ・マトリクス構造またはアクティブ・マトリクス構造を含みうる。あるさらなる実装では、スクリーン３１０がカラー・アレイである場合、各ピクセルは、追加的なフィルタ（たとえば、顔料フィルタ、色素フィルタ、金属酸化物フィルタなど）によって、赤、緑および青の色であってもよい三つのセルまたはサブピクセルに分割されてもよい。各サブピクセルは、各ピクセルについて多数の可能な色を与えるよう独立して制御されうる。他の実装では、スクリーン３１０の各ピクセルは、赤、緑および青以外のさまざまな色の三つより多いまたは少ないサブピクセルを含んでいてもよい。
【００２７】
感知層３２０は、ディスプレイ１２０上のユーザーの指３３０（たとえば、親指、人差し指、中指、薬指または小指）の存在を検出し、ディスプレイ１２０上の指３３０の位置（またはタッチ領域）を検出し、何本の指をユーザーがディスプレイ１２０上に有しているかを判定するなどするタッチ感応性要素を含んでいてもよい。たとえば、感知層３２０は、指３３０が感知層３２０に接触するときに電荷の変化（たとえば蓄積される電荷の量の変化）を経験しうる容量性材料の層（たとえば保護カバー（図示せず）の下に設けられる）を含んでいてもよい。ある例示的な実装では、感知層３２０は、電極のアレイを含んでいて、ユーザーが（たとえば指３３０で）感知層３２０に接触するときの電極のアレイにおける変化を監視する自己キャパシタンス回路を含んでいてもよい。図３に示されるようなもう一つの例示的な実装では、感知層３２０は、電流を搬送する駆動線３４０の層およびユーザーが（たとえば指３３０で）感知層３２０に接触するときの電荷の変化を検出する感知線３５０の別個の層を含んでいてもよい。
【００２８】
感知層３２０は、ユーザーが感知層３２０に接触するたびにその電気的属性に関連する変化を感知してもよく、この情報をプロセッサ２０および／またはメモリ３０に与えてもよい。プロセッサ２０は、ディスプレイ１２０上でのユーザーの指（単数または複数）の形、サイズおよび／または位置を決定するためにこの情報を利用してもよい。ある例示的な実装では、プロセッサ２０は、感知層３２０から受領される情報に基づいてユーザーの指（単数または複数）に関連するタッチ領域（単数または複数）を計算してもよく、計算されたタッチ領域に基づいてディスプレイ１２０に関連する表示要素（単数または複数）（たとえばキー、アイコンなど）を構成し直してもよい。
【００２９】
図２および図３はディスプレイ１２０の例示的な構成要素を示しているものの、他の実装では、ディスプレイ１２０は、図２および図３に描かれているものより少数の構成要素、異なる構成要素、異なる配列の構成要素または追加的な構成要素を含んでいてもよい。さらに他の実装では、ディスプレイ１２０の一つまたは複数の構成要素は、ディスプレイ１２０の一つまたは複数の他の構成要素によって実行されるとして記述されている一つまたは複数の他のタスクを実行してもよい。
【００３０】
本発明の原理によれば、タッチ感応性要素を含んでいる感知層３２０は、ディスプレイ１２０のスクリーン３１０より大きく、プロセッサ２０は、スクリーン３１０の外部の感知層３２０上でのユーザーの指（単数または複数）の形、サイズおよび／または位置を決定することができる。実際、諸タッチ感応性要素の第一の部分はスクリーン３１０の内部に（スクリーン３１０と重なって）配置され、諸タッチ感応性要素の第二の部分はスクリーン３１０の外部に（スクリーン３１０と重ならずに）配置される。仮想キーがタッチ感応性要素の第一の部分にはいる場合、その仮想キーは完全に可視である。仮想キーがタッチ感応性要素の第二の部分にはいる場合には、その仮想キーは不可視である。仮想キーの一部がタッチ感応性要素の第一の部分にはいり、残りの部分がタッチ感応性要素の第二の部分にはいる場合には、その仮想キーの、タッチ感応性要素の第一の部分にはいる部分のみが可視である。残りの部分は不可視であり、スクリーン３１０がタッチ感応性要素の第二の部分のその部分をカバーするよう拡張されるとしたらタッチ感応性要素の第二の部分のその部分にあるものとしてユーザーによって思い描かれる。仮想キー全体がタッチ感応性要素の第二の部分に完全にはいり、よって不可視である場合には、不可視のキーの想像上の位置は、該キーの、ある第二の仮想キーとの関係から推定されることができる。たとえば、不可視のキーが第二の仮想キーの1センチメートル下にある場合、不可視のキーは、たとえ第一の仮想キーが可視でなくても第二の仮想キーの1センチメートル下にあるはずである。プロセッサ２０は、仮想キーを表示する際に、同じ外挿を実行する。よって、プロセッサ２０は、不可視のキーがたたかれたことを検出できる。各仮想キーは機能を割り当てられていてもよく、仮想キーがたたかれる（タッチして放す）とき、プロセッサ２０はその機能を実行する。たとえば、機能は、テキスト・フィールドのような入力フィールドまたはテキスト・ファイルにキャラクタを入力すること、次のページに進むことまたは通常のキーボードにおけるキー任意の機能であってもよい。
【００３１】
仮想キーが部分的に可視であるとき、可視部分および不可視部分のいずれかまたは両方の一部をたたくと、プロセッサ２０が、その仮想キーの割り当てられた機能を実行する。プロセッサ２０に仮想キーの割り当てられた機能を実行させるためには、仮想キーが完全に可視であるときは、ユーザーはその可視のキーの一部をたたく必要があり、仮想キーが完全に不可視であるときは、ユーザーはタッチ感応性要素の第二の部分上の対応する位置をたたく必要がある。
【００３２】
仮想キーは仮想キーボードの一部であってもよく、仮想キーボードのスペースバーのようないくつかのキーはタッチ感応性要素の第二の部分に部分的または完全に位置されることができる。その結果、そうしたキーは可視でない。スペースバーのような大きなキーは、たとえ不可視であっても、スクリーン３１０の下に（通常の位置に）簡単に見出されるであろう。不可視のキーが本稿で後述する方法を使って適応されることもできることを注意しておくべきである。
【００３３】
図４は、タッチ感応性要素をもつ感知層３２０がスクリーン３１０の領域を超えて広がっているディスプレイ１２０上の、例示的な仮想キーボード４１０を示している。タッチ感応性要素の第二の部分は、スクリーン３１０の下端に、かつ、タッチ感応性要素の第一の部分に連続するよう配置されている。この例では、スペースバーおよびその水平方向の近傍キーが部分的にしか表示されていない（上部はスクリーン３１０上かつタッチ感応性要素の第一の部分上、下部はスクリーン３１０外かつタッチ感応性要素の第二の部分上）。これによりそれらのキーの位置は視覚的にみつけるのがより簡単である。タッチ感応性要素の第二の部分は、スクリーン３１０の全側辺のいずれに存在していてもよい。たとえば、仮想キーボード４１０が上に動かされるときは、数字キーの行が部分的に表示されることができる。同様に、タッチ感応性領域が右側または左側にも拡張されている場合には、右側または左側のキーが部分的に表示されることができる。
【００３４】
プロセッサ２０は、ユーザー入力に応答してキーボード４１０をスクリーン３１０内のどこに動かすこともできることを注意しておく。たとえば、ユーザーはキーボード４１０をスクリーン３１０上のいかなる位置にドラッグすることもできる。しかしながら、不可視キーがタッチ感応性要素のための領域外に出る場合には、たとえユーザーがその不可視キーをたたいたとしても、ユーザーはその不可視キーの割り当てられた機能を作動させることができなくなる。そのたたくことがプロセッサ２０によって検出可能でないからである。
【００３５】
図５は、例示的なキーボード４１０の使用の例示的なプロセス５００を示している。単に例および説明のために、図５のステップは以下では上記の図１、図２、図３および図４の例示的な実施形態に特に言及して説明されることがある。ステップ５０５では、プロセッサ２０は仮想キーボードを表示する。ここで、ユーザー入力に応答して、仮想キーボード全体がスクリーン３１０上に表示され、タッチ感応性要素の第一の部分にはいる。例示的に、仮想キーボードは、ユーザーがPCD  １をオンにしたときまたはプロセッサ２０がユーザーがディスプレイ２０を所定回数、たとえば二回タップしたことを検出するときに表示される。
【００３６】
ステップ５１０では、プロセッサ２０は、ユーザー入力に応答して、仮想キーボード４１０を、キーボードの第一のキーを含むいくつかのキーがスクリーン３１０上に部分的に表示され、可視である位置に動かす。それらの部分的に表示されるキーの可視の部分はタッチ感応性要素の第一の部分にはいり、それらの部分的に表示されるキーの不可視の部分はタッチ感応性要素の第二の部分にはいる。移動されたキーボードの例は図４に示されている。この例では、第一のキーはスペースバーであり、第一のキーの可視の部分はタッチ感応性要素の第一の部分の第一の部分にはいり、不可視の部分はタッチ感応性要素の第二の部分の第一の部分にはいる。
【００３７】
例示的なキーボードは複数の行を含み、それらの部分的に表示されるキーは該複数の行の一つに配置されている。この例では、部分的に表示されるキーは、図４に示されるようにスペースバー・キーを含む行に位置している。長方形の形として図示されているが、キーボードは異なる形を有することができる。たとえば、キーボードおよびその行のうちの一つまたは複数の行は、斜めであったり、湾曲していたり、放射形であったり、あるいは散らばっていたりしてもよい。
【００３８】
プロセッサ２０が第一のキーがたたかれたことを検出すると、プロセッサ２０は、ステップ５１５においてテキスト・フィールドのような入力フィールドまたはテキスト・ファイル中にスペースを入力する。スペース・キーの割り当てられた機能がスペースを入力することであるからである。上記の最初のたたくことは、タッチ感応性要素の第一の部分の第一の部分上のみ、タッチ感応性要素の第二の部分の第一の部分上のみ、または両方であることができる。
【００３９】
プロセッサ２０は、別のユーザー入力に応答して、キーボードをさらに、それらの部分的に可視のキーが完全に不可視になり、タッチ感応性要素の第二の部分にはいる位置に動かしてもよい。新たに動かされたキーボードにおいては、第一のキーは不可視であり、タッチ感応性要素の第二の部分の第二の部分にはいり、プロセッサがタッチ感応性要素の第二の部分の該第二の部分がたたかれることを検出すると、プロセッサ２０はテキスト・フィールドのような入力フィールドまたはテキスト・ファイル中にスペースを入力する。
【００４０】
もう一つの発明の原理によれば、仮想キーボードは、ユーザーの手および指の幅に適合するよう適応されることができる。図６は、仮想キーボードを動的に適応させるプロセス６００を示している。単に例および説明のために、図６のステップは以下では上記の図１〜図３および後述する他の図の例示的な実施形態に特に言及して説明されることがある。
【００４１】
ステップ６０５では、プロセッサ２０は、タッチのサイズおよび位置を、ユーザーの指を表わすスクリーン３１０上のシグネチャーとして検出する。ある実施形態では、デフォルト・キーボードの表示なしにユーザーがスクリーン３１０上に十本の指すべてを置く。これがプロセッサ２０に、それらの指のサイズおよび広がりに従って、表示される仮想キーボードのマッチするレイアウトを構築して呈示することを許容する。十本の指の相対的な位置およびサイズはプロセッサ２０によって将来の参照のためにシグネチャーとして記録される。プロセッサ２０によって生成されるキーは、厳密に「インライン配向」で配置される必要はない。たとえば、手の指が、わずかな自然な弓状または角度で置かれることができ、両手が、必ずしも厳密に隣り合わせでない、より人間工学的な位置になることができる。
【００４２】
もう一つの実施形態では、両方の親指はスペースバーを扱うだけなので、プロセッサ２０が仮想キーボードのサイズおよび形を決定するためには、タッチスクリーン上に親指の一方のみ、よって九本の指を置くことで十分である。さらに、たとえプロセッサ２０によって親指が検出されなくても、親指（一本または二本）以外の指の間の間隔に基づいて、スペースバーの位置が評価されることができる。
【００４３】
さらにもう一つの実施形態では、デフォルトのキーボード、たとえば図７に示される例示的な通常の欧州キーボードがスクリーン３１０上に表示される。例示的に、仮想キーボード７１０は、ユーザーがPCD  １をオンにしたときまたはプロセッサ２０がユーザーがスクリーン３１０を所定回数、たとえば二回タップしたことを検出するときに表示される。ユーザーは自然にかつ快適に、左手４３０の小指、薬指、中指および人差し指をそれぞれ「A」「S」「D」および「F」の上に置き、右手４２０の小指、薬指、中指および人差し指をそれぞれ
［外１］
2015535628.tif 000003
「L」「K」および「J」の上に置く。しかしながら、ユーザーは、右手４２０の人差し指を「J」キーと、あるいは左手４３０の人差し指を「F」キーと揃えるだけでよい。どちらの人差し指もそれぞれのキーと揃えられなければ、プロセッサ２０はユーザーに、位置を調整するよう警告するべきである。それらの指は自然に置かれるので、それぞれの手の他の三本の指は対応する三つのキーと揃わなくてもよい。それらの指の相対的な位置およびサイズはユーザーのシグネチャーとして記憶される。
【００４４】
シグネチャーとして八本、九本または十本の指を使うことは例示的である。プロセッサ２０によって仮想キーボードが表示される場合、少なくとも一つの指を特定のキーに揃えて四つ以上の指を使うことが十分であることがある。
【００４５】
さらにもう一つの実施形態では、プロセッサ２０は、対応する仮想キーボードおよびシグネチャーに加えて、ログイン名のようなユーザー識別情報を記憶する。この実施形態では、プロセッサ２０は、初期化のためのユーザー信号に応答して、デフォルトの仮想キーボードおよびログイン・フィールドを表示する。それによりユーザーはデフォルトの仮想キーボードを使って、ログイン・フィールドにユーザー識別情報を入力することができる。ひとたびプロセッサ２０がユーザー識別情報を受領したら、プロセッサ２０は、対応するシグネチャーが、よって対応する仮想キーボードがメモリ３０内にあるかどうかを見出すことができる。
【００４６】
ログイン名の入力に加えて、ユーザーは、パスワードも入力することを求められてもよい。ユーザーの他の識別情報は、ユーザーを一意的に同定する、バイオメトリックな任意のものおよびパスワード、鍵およびバイオメトリック識別子の任意の組み合わせを含んでいてもよい。
【００４７】
ステップ６１０では、プロセッサ２０は、検出されたシグネチャーに関連付けられた対応する仮想キーボードがメモリ３０内にあるかどうかを検査する。対応する仮想キーボードがメモリ３０内に存在する場合、プロセッサ２０はステップ６１５において、該対応する仮想キーボードをメモリ３０から取り出し、該対応する仮想キーボードをスクリーン３０に表示する。この対応する仮想キーボードは、この特定のシグネチャーに関して以前に生成された適応されたキーボードであるべきである。デフォルトの仮想キーボード７１０が表示されている場合、デフォルトの仮想キーボード７１０は上記の対応する仮想キーボードで置き換えられる。図７におけるテキスト４４０はユーザーによって、適応された仮想キーボードの使用を通じて入力される。
【００４８】
対応する仮想キーボードがメモリ３０内に存在しない場合、プロセッサ２０はステップ６２０において、検出されたシグネチャーにマッチする第一の仮想キーボードを生成し、該第一の仮想キーボードを表示し、それにより、ユーザーは該キーボードをデータ入力に使いはじめることができる。結果的に、第一の仮想キーボードは、検出されたシグネチャー、すなわち、検出された指の相対的な位置およびサイズにマッチする適応された仮想キーボードである。次いで、プロセッサはステップ６８０において、メモリ３０内に適応されたキーボードを、検出されたシグネチャーに対応するものとして、記憶する。
【００４９】
上記で述べたように、対応する仮想キーボードが存在しない場合、プロセッサ２０は、検出されたシグネチャーにマッチする第一の仮想キーボードを生成し、そのため、ユーザーからのキーの打鍵は、そのキーの幾何学的中心に一致する幾何学的中心をもつ打鍵を生じる可能性がより高くなり、それにより打ち間違いの可能性を低下させる。
【００５０】
たとえば、図７におけるデフォルトの仮想キーボード７１０のようなデフォルトの仮想キーボードが表示される場合、プロセッサ２０は、デフォルトの仮想キーボード７１０をより幅広く、より大きなキーボード８１０に調節して、より大きな手のための図８に示されるような第一の仮想キーボードとする。より小さな手のためには、プロセッサ２０は仮想キーボード７１０を短くして、図９に示されるような、より狭く、より小さい仮想キーボード９１０にしてもよい。結果的に、プロセッサ２０は、デフォルトの仮想キーボード７１０を適応させて第一の仮想キーボードを生成する。
【００５１】
仮想キーボード７１０に比べて、仮想キーボード８１０における各キーの幅はより大きく、仮想キーボード９１０における各キーの幅はより小さい。プロセッサ２０は、キーの深さを、そのキーの幅の変化に比例して自動的に変化させてもよい（キーのアスペクト比は同じままとなる）。
【００５２】
代替として、プロセッサ２０は、深さを自動的に調節するのではなく、ユーザーに指示されるように調節する。深さを手動で調節するために、ユーザーは、図１０に示されるように他の七本の指の位置を維持したまま少なくとも一つの指、たとえば右手４２０の人差し指を、上段にある仮想キー、たとえばUのキーの上に置いてもよく、応答して、プロセッサ２０は各キーの深さを増大させる。人差し指が下段に置かれる場合には、プロセッサ２０は各キーの深さを減少させる。キーの幅は指のサイズに依存する（より大きな指はより幅広いキーボードを必要とするであろう）が、キーの深さは、指の最上セグメントの長さに依存するが、ユーザーの習癖にも依存する。たとえば、ユーザーがたいていのときに指先を使う場合、キーの深さはより小さくてもよい。プロセッサ２０は、ユーザーがすべての指をスクリーン３１０から放して初期化プロセスが完了した合図をするときに、手動で調節されたキーボードを記憶してもよい。
【００５３】
もう一つの実施形態では、ユーザーが指を広げるとき（指の間のより大きな距離）、プロセッサ２０は仮想キーボードの深さを比例して増大させ、ユーザーが指を寄せるとき（広げるの反対）、プロセッサ２０はキーボードの深さを減少させる。ユーザーが深さが適切であることを見るときに、ユーザーは指を動かすのを止め、プロセッサ２０は幅を変えるのを止める。
【００５４】
先述したように、ユーザーは、仮想キーボードをスクリーン３１０における任意の位置にドラッグできる。この特徴は、（使用の間にまたはユーザー入力によって生じうる）キーボードがアプリケーションの一部または「ウィンドー」をカバーするようなより大きなスクリーン上で特に有利である。この状況では、ユーザーは、ほとんどタイピングを中断することなく、迅速にキーボードを新しい位置に動かすことができる。ユーザーがキーボードをタッチスクリーンの端を超えて、タッチ感応性領域外に動かす場合には、プロセッサ２０は聴覚的または視覚的にユーザーに警告してもよい。応答して、ユーザーは、仮想キーボードをタッチスクリーンまたはタッチ感応性領域内に保つために、仮想キーボードを縮小してもよい。ユーザーは警告を無視して、キーボードを、タッチスクリーンの端の外に、最終的に仮想キーボードが見えなくなるまで動かし続けてもよい。
【００５５】
「さがしながら打つ」ユーザーにより好適なもう一つの実施形態では、ユーザーは、プロセッサ２０による初期セットアップのために、できるだけ少数の指、たとえば二本の人差し指をスクリーン３１０上に置く。しかしながら、他の指および親指はないので、プロセッサ２０は「インライン配向の」仮想キーボードを生成する。人差し指どうしの間の距離が、プロセッサ２０によって、キーのサイズおよび位置を評価するための参照として使用されることができる。
【００５６】
イニシエーション・プロセス後、プロセッサ２０は、本発明の原理に基づくユーザー編集セッションまたはトレーニング・セッションの間に、表示されるキーボードにおけるキーのレイアウト／サイズ／位置を動的に調節／適応することができる。ある実施形態では、ユーザーは、キーボードのイニシエーションのために使われた指を再びタッチスクリーン上に置き、キーボードを調節するために指／手を動かす、広げる／狭めるまたは回転させることができる。プロセッサ２０は、その複数指ジェスチャーおよび指動き（スクリーン面におけるスライド）を検出し、各仮想キーのサイズおよび位置を整える。このわずかな指動きが、指先よりわずかに大きいスクリーン上のある領域を、それぞれの仮想キーとして定義する。
【００５７】
第一の仮想キーボードの使用の間に、プロセッサ２０は、あるキーについての打鍵統計を収集してもよく、それによりプロセッサ２０はそのキーのサイズ、形および位置のうちの少なくとも一つを、ユーザーのタイピング習癖にマッチするよう、さらに調節してもよい。仮想キーボードを使うことの不都合な点は、ユーザーには、自分がキーの中央を打ったか、縁を打ったか、あるいは全く打たなかったかがわからないということである。よって、同じキーに対する打鍵が異なる位置でなされることがある。たとえば、図１１におけるUのキーへの打鍵は、Uのキーの幾何学的中心のやや右上の位置を中心とすることがある。この問題は、図１２に示されるように、右端または左端側のキー、たとえば「＄（£）」キーについてよりしばしば起こる。
【００５８】
仮想キーの作動は通例、打鍵を放す際にトリガーされる。しかしながら、打鍵は、意図される仮想キーより大きな領域（フィンガープリント）をカバーすることがある。どのキーが打たれたかをより正確に検出するために、プロセッサ２０は、フィンガープリントの幾何学的中心を計算し、フィンガープリントの幾何学的中心がキー内にはいればそのキーが打たれたと判定してもよい。図１１では、検出された中心が文字「u」でラベル付けされている。中心の計算は通常のことである。フィンガープリントをキーとマッチングする他の諸方法がよく知られており、本発明の原理と一緒に使用できる。
【００５９】
プロセッサ２０は、自動的にこの変動を検出して、各キーについてキーボードが感受性をもつべきである領域を評価する。プロセッサ２０は、結果的に、ユーザーがキーを打っている間に、個々のキーを、位置、サイズおよび形に関してユーザー習癖に適合させて、仮想キーボード上でのユーザーによるタイピングの誤り率を低下させる。適合は、キーボードが使用中であるとき常時、あるいはシステムの学習フェーズの間にのみ、行なわれることができる。しかしながら、適合は、好ましくは所与のユーザーに結びつけられ、それにより各ユーザーは自分の個人的なパラメータ・セットをもち、それが初期にロードされ、次いで適合の現在設定に依存して調節される。パラメータのこのセットは、ユーザーの入力（ユーザー識別情報、シグネチャーなど）によって、あるいは典型的な指位置を認識することによって、選択されることができる。ユーザーは、新たに適合された仮想キーボードを、そのシグネチャーについての対応する仮想キーボードとして記憶するようプロセッサ２０に合図してもよい。
【００６０】
例として、「＄（£）」キーについて打鍵統計を収集したのち、プロセッサ２０は、図１２に示されるように、「＄（£）」キーの幾何学的中心と打鍵統計の平均的な幾何学的中心との間の不一致を検出し、図１３に示されるように、打鍵統計の平均的な幾何学的中心と揃うよう「＄（£）」キーを右に動かす。これら二つの中心は、同じ想像上の垂直線上にあるべきであるが、互いに一致しないことがある。ある代替では、プロセッサ２０は、「＄（£）」キーの打鍵フットプリントを収集し、「＄（£）」キーの幾何学的中心を打鍵フットプリントの幾何学的中心までシフトさせることができる。キーの打鍵フットプリントとは、そのキーに対する所定数の打鍵からタッチされるタッチ感応性要素すべての集合である。
【００６１】
図１４は、キーの検出された打鍵フットプリント１２２０を示している。フットプリント１２２０から、幾何学的中心を計算することができる。
【００６２】
さらに、ユーザーは、いくつかのキーを他のキーよりも一貫性をもって打鍵することがある。たとえば、図１５に示されるように、ユーザーは「Z」のキーを、「H」「8」「9」「U」のキーより一貫性をもってたたき、したがって「Z」キーの打鍵フットプリントの面積は他のキーの打鍵フットプリントより小さい。プロセッサ２０は、図１４における打鍵フットプリントから、キーの形およびサイズを決定することもできる。それにより、キー１４２０がユーザーにとってより好適になる。例示的に、図１４において各グリッドはあるタッチ感応性要素を含む。例示的なキー１４２０は13×13の諸グリッドをカバーする。形は、打鍵フットプリント１４４０において周上の点をつなぐことによって形成できる。二つのキーの間の領域である保護帯１４３０は、二つの隣接するタッチ感応性要素間の距離ほど小さくできることを注意しておく。
【００６３】
簡単のため、図１４は一つのタッチ感応性要素のみを作動させることを示しているが、実際上は、二つ以上のタッチ感応性要素が作動される。
【００６４】
収集されたフットプリントに従って、プロセッサ２０は図１５に示されるようにしかるべくキーをサイズ変更する。ユーザーは「Z」キーをより一貫性をもってたたき、プロセッサ２０は「Z」キーを縮小して、拡大されうる他のキーのためにより多くの余地を作り出す。対照的に、「H」キーはより大きく調節される。プロセッサ２０はそのキーについての打鍵フットプリントに従ってキーの形を変えてもよい。たとえば、数字「8」および「9」キーは五辺形をもつよう調節される。
【００６５】
図１６は、キーの形およびサイズが、検出された打鍵フットプリントに基づいて動的に調節されることができることを示している。X軸およびY軸はキーを表わすタッチ領域１６２０を定義しており、該領域は例示的に13×13グリッド領域である。Z軸は打鍵／ストロークの数を示す。図１６のＡは、領域１６２０において打鍵が検出されていないことを示す。図１６のＢおよびＤは、打鍵がそれぞれより小さな円形領域およびより大きな円形領域に限られていることを示している。より小さな円は領域１６２０のほぼ幾何学的中心に位置している。よって、キーのサイズが縮小されてもよい。しかしながら、図１６のＤにおけるより大きな円は、領域１６２０のほぼ幾何学的中心に位置しておらず、右上に偏っている。よって、領域１６２０の幾何学的中心が該より大きな円の幾何学的中心に一致するよう、このキーの位置は右上に向けて動かされるべきである。より大きな円のサイズは領域１６２０のサイズより小さいので、キーがより小さくされることもできる。図１６のＣおよびＥは、打鍵がそれぞれより小さな正方形およびより大きな正方形に限られていることを示している。図１６のＣにおけるより小さな正方形の幾何学的中心は領域１６２０の幾何学的中心に一致する。二つの幾何学的中心は、該二つの中心の間の距離が所定数のグリッド、たとえば1グリッド未満である場合に、一致したと言われる。該所定数はユーザーによって設定されてもよい。したがって、キーは動かされる必要はなく、より小さくされることができる。図１６のＥにおけるより大きな正方形は領域１６２０全体およびその外側も占める。よって、キーは拡大されるべきである。図１６のＦは、打鍵が三角形領域に限られていることを示している。すなわち、打鍵パターンは非対称である。領域１６２０は、二つの幾何学的中心が一致するよう動かされるべきである。
【００６６】
サイズおよび位置を変えることに加えて、プロセッサ２０はキーの形も変更しうる。たとえば、図１６のＢおよびＤにおけるキーは、円形に形状変更されることができ、図１６のＣおよびＥにおけるキーは長方形に形状変更されることができ、図１６のＦにおけるキーは三角形に形状変更されることができる。先に指摘したように、形は、打鍵フットプリントにおける周上の点をつなぐことによって形成されることができる（つながれた形）。ある実施形態では、あらかじめ定義されたいくつかの形が使われる場合、プロセッサ２０はあらかじめ定義された形であって、つながれた形を囲むときに最小の誤差をもつ一つを、適応された形として使ってもよい。誤差は、たとえば、囲んでいるあらかじめ定義された形と前記つながれた形との間のタッチ感応性要素（図１６における諸グリッド）の数を数えることによって計算されることができる。
【００６７】
逸脱が大きすぎて所望されるキーが全くたたかれず、近隣のキーが作動される場合には、ユーザーは、バックスペース・キーを使ってこの文字を削除し、正しい文字を入力しなければならない――あるいは辞書機能が訂正提案をする（今日そうであるように）。本発明の原理によれば、プロセッサ２０は打ち間違い（ミス・ストローク）を検出し、該打ち間違いを所望されるキーのフットプリントに加えてもよい。たとえば、打鍵が所望されるキーを完全に捉え損ない、隣のキーにタッチし、ユーザーがバックスペース・キーを使ってこの文字を削除して正しい文字を入力する場合、プロセッサ２０は所望されるキーを識別し、その打ち間違いを、所望されるキーについてのフットプリントの一部として帰属させることができる。それにより、所望されるキーの位置、サイズおよび形が正しく調節されることができる。
【００６８】
もう一つの例として、プロセッサ２０は、所望されるキーのフットプリントをより正確に検出するために所望されるキーおよび打ち間違いを識別するために、編集ソフトウェアによる自動訂正をベースとしてもよい。このように、入力を監視し、そのような削除／訂正状況を認識することによって、プロセッサ２０は、この情報を、キーボードの適応に影響するために使うことができる。たとえば、間違った文字が同じ訂正をもって複数回置換される場合、プロセッサ２０は、誤った入力の率を減らすために、キーのサイズ、形および位置のうちの少なくとも一つを調節することができる。連続的に打ち間違いを検出し、キーボード・レイアウトを調節するために、誤り検査辞書が使われることもできる。辞書の使用は、誤り検出を、単一文字のタイピング誤りから単語ベースのものに移す。これは、プロセッサ２０が、誤記が隣のキーをたたくことに基づくものか、あるいは単に通常のミスであるかをも検査することができることを意味する。
【００６９】
図１７および図１８は、瞬間的なキーボード・レイアウトの二つの例を示している。図１７は、右手４２０の小指が受け持つキーのみを、たとえば右側の「0」キーおよびその下を広げる、部分的に広げられたレイアウトを示している。これは、図１２に示されるように、ユーザーが期待されるよりも右手４２０の小指を伸ばすという問題に対処するためである。よって、プロセッサ２０は、右手４２０の小指が受け持つ、数字「0」キーを含むキーを部分的に広げる。図１８は、同じ問題に対する別の解決策を示している。ここでは、プロセッサ２０は単に「£／＄」キーを拡幅し、それに応じて「RTN」キーを縮小している。図１９は、学習フェーズ後の、多くのキーがサイズおよび位置を変更された、完全なレイアウトを示している。キーどうしが同じサイズでないことを注意しておく。
【００７０】
プロセッサ２０は、自動的にまたはユーザー入力に応答して、この新たに適応されたキーボードを、検出されたフットプリントについての対応する仮想キーボードとして記憶してもよい。変更は動的なので、ユーザーは、該ユーザーが新たに適応されたキーボードが満足いくものであると感じるまで、あるいは該ユーザーが編集セッションを完了するまで、新たに適応された仮想キーボードを対応する仮想キーボードとして保存することを望まないことがありうる。
【００７１】
本発明の原理によれば、そのような適応システムを走らせるとき、システム状態について何らかのフィードバックを得ることがユーザーにとって助けになることがある。プロセッサ２０がキーボードを調節することができず、キーボードをデフォルトの基本レイアウトに初期化するということを、増大しつつある音をもってユーザーに警告することが助けになることがある（光、振動または触覚フィードバックのような他のフィードバックが可能である）。警告は「より正確にタイプしてください」で始まってもよく、のちには「再初期化してください」になる。これらの警告メッセージは音声またはテキストであることができる。プロセッサ２０は、同時に、単にスクリーン上のタッチへの応答として、触覚フィードバックを提供してもよい。プロセッサ２０が表面を上昇／下降させる触覚フィードバック・システムは、ユーザーに、本物のボタンを押している触感を与える。ある実施形態では、この触覚フィードバック・システムは、ユーザーに、キーの端にタッチしている触感を与えるために使用されることができる。例として図３０を参照されたい。該フィードバックを用いることで、ユーザーは打鍵の位置を調節し、より正確に打鍵することができる。
【００７２】
本発明者らは、キーがたたかれる位置が、たたかれた直前のキーに依存することがあることを観察した。たとえば、図２０は、「＄」キーが「L」キーのあとにたたかれる状況を描いている。小指は広く伸ばされている。対照的に、図２１に示されるように、前のキー打鍵が
［外２］
2015535628.tif 000004
（やはり小指によって押される）であれば、小指はキー一つぶん動くだけでよく、よって図２２に示されるように、異なる打鍵フットプリントを生成する。このように、本発明者らは、前にたたかれたキーによって与えられる種々のキー・レイアウトを有することによって、適応キーボードがさらに改善できることを認識した。よって、プロセッサ２０はこの関連付けをメモリ３０に記憶してもよい。各キーについて、メモリ３０内の関連付けの数は、同じ手によって応答する他のキーの数までであってもよい。たとえば、プロセッサ２０は、第二のキーのフットプリントを、該第二のキーへのあらかじめ定義された数の打鍵であって、該打鍵のすべてが第一のキーへの打鍵の直後であるものから収集し、収集されたフットプリントに基づいて、第二のキーに対して、少なくとも位置変更またはサイズ変更または形状変更を行ない（適応された第二のキー）、適応された第二のキーの幾何学的中心から第一のキーの幾何学的中心への相対距離を計算し、適応された第二のキー、第一のキーに対する相対位置情報および第一のキーの識別情報をメモリ３０に記憶することで、適応された第二のキーが第一のキーに関連付けられていることを示す。将来、第一のキーがたたかれるとき、プロセッサ２０は第二のキーをメモリ３０内の適応された第二のキーで置き換え、適応された第二のキーをメモリ３０から取り出される位置情報に位置させる。プロセッサ２０は、第一のキーに関連付けられているメモリ内の他の適応されたキーについて、同じことを繰り返す。有利には、各キー打鍵について、プロセッサ２０は、可能性としてはすべてのキーがこのキーに合わせて調節または適応されている異なるキーボードを呈示する。
【００７３】
この新規なアプローチについて、第一のキーの位置は、直前のたたかれたキーの幾何学的中心から該第一のキーの位置が導出されることができるもとになる値として定義されてもよい。結果的に、該値は、直前にたたかれたキーの幾何学的中心から第一のキーの位置を決定することを許容する。そのような値の例は、直前にたたかれたキーの幾何学的中心にある始点および第一のキーの適応されたバージョンの幾何学的中心にある終点をもつベクトルである。特定の直前にたたかれたキーに関する第一のキーの適応されたバージョンも、関連付けられたベクトルと関連付けられるものとして、メモリ３０に記憶される。関連付けられたベクトルは、直前にたたかれたキーに対する前記適応された第一のキーの位置を示す。このように、直前にたたかれたキーを知ることによって、プロセッサ２０は、第一のキーの適応されたバージョンを取得し、関連付けられたベクトルによって定義される位置において第一のキーの適応されたバージョンを表示することができる。ベクトルは、極座標系における長さ‐角度対またはデカルト座標系におけるX‐Y対によって表現されることができる。適応されたバージョンは、直前にたたかれたキーに関する第一のキーのフットプリントから導出される。適応されたバージョンは、位置、サイズおよび形のうちの一つだけ、またはそれらの任意の二つ、またはそれらすべてが変更されてもよい。
【００７４】
各キーは今や、プロセッサ２０によって計算された、直後にたたかれるキーの適応されたバージョンの相対位置を示すそのような値（今の例ではベクトル）のセットをもつ。各セットは、他のすべてのキー、あるいはプロセッサ２０のコンピューティング・パワーの節約のため、同じ手が受け持つ他のキー、のうちの一つに関連付けられている。例として図２３を参照されたい。上記ベクトルについて読者がよりよく理解するのを助けるため、フットプリントの形は図２３および図２４において同じ正方形の形をもつものと想定され、適応されたバージョンのサイズは変更されておらず、上段におけるすべてのキーはそれぞれの幾何学的中心における「+」によってのみマークされている。異なるフットプリントの幾何学的中心が、図２３および図２４に示されるようなベクトルの終点（矢印の先）に置かれている。図２４はさらに、直前にたたかれたキーへの打鍵の位置が変わるときは現在のたたかれるキーのフットプリントの幾何学的中心も変わることを示している。しかしながら、メモリ３０における関連付けは変更される必要がない。現在のたたかれるキーの位置は、それぞれの直前にたたかれるキーに対する、メモリ３０内の相対位置情報から決定されるからである。
【００７５】
メモリ３０に記憶されているベクトルのセットは、ユーザーのシグネチャーの一部であると考えられてもよい。それは、ユーザーが編集セッションを開始し、キーをたたくことにより仮想キーボードを使うことを開始するまで収集できないので、動的なシグネチャーである。
【００７６】
本発明のもう一つの側面によれば、プロセッサ２０はユーザーが、該ユーザーの特殊なニーズに適合するようキーを追加、移動および置換することを可能にする。ある種のシンボルまたは特殊文字については、仮想キーボードの最上レベルに置き、ユーザーがそれらのシンボルおよび文字を入力するためにシンボル追加機能を呼び出したりシフト、ctrlまたはaltキーを押したりする必要をなくすことが望ましいことがある。例として、米国のユーザーはおそらくは米国キーボードを使うであろうが、ユーザーが頻繁に「ユーロ記号」を使う必要がある場合には、ユーザーは、このシンボルを追加するための面倒な手順を使う代わりに、このキーへの直接アクセスをもつことを喜ぶであろう。本発明の原理によって所望されるシンボルをもつ新たなキーを追加することまたは既存のキーのシンボルを置換することによってユーザーはそのような状況に容易に対処できる。単一文字の代わりに、プロセッサ２０は「Dear  sirs」、「Yours  sincerely」のようなテキスト・ストリングが単一のキーに割り当てられることを許容してもよい。このように、プロセッサ２０は、キーボードが表示されるときにユーザーが直接的にキーを再配列することを許容する。たとえば、プロセッサ２０は、ユーザーがキーを新たな位置にドラッグアンドドロップする、不使用のキーを削除する、キーを置換するまたはキーを追加することを許容する。
【００７７】
ある実施形態では、プロセッサ２０が、一方が第一のキーから第二のキーへ、他方が第二のキーから第一のキーへという二つの指ジェスチャーを検出するとき、プロセッサ２０は第一のキーと第二のキーを入れ替える。たとえば、図２５において、第一および第二のキーはそれぞれ「8」キーと「9」キーであり、プロセッサ２０はこれら二つのキーの位置を交換する。もう一つの実施形態では、プロセッサ２０は一つの指を使ってキーを所望される位置にドラッグすることを許容する。プロセッサ２０がキーを所望される位置に落とすとき、プロセッサ２０は該所望される位置にもともと位置していたキーを、ドラッグされたキーが位置していた位置に動かす。結果的に、プロセッサ２０は二つの位置を交換する。
【００７８】
さらにもう一つの実施形態では、プロセッサ２０がドラッグされたキー、たとえば「5」のキーを同じ行内の所望される位置、たとえば「2」のキーが位置しているところで落とすとき、プロセッサ２０は影響されるキーおよび該影響されるキーとドラッグされるキーとの間に位置するキーをシフトさせる。図２５の例では、「2」「3」「4」が右に位置一つぶんシフトされ、「5」のキーが「2」のキーのもとの位置を占める。
【００７９】
図２６は、キーを追加するプロセス２６００を示している。ステップ２６０５では、プロセッサ２０は図２７に示されるように仮想キーボード２７１０を表示する。表示される仮想キーボードは、ユーザーが現在使っているまたは上記のような初期化プロセスの間に呼び出されたものであってもよい。ステップ２６１０では、プロセッサ２０はユーザーが仮想キーボード２７１０に第一のキーを追加して第一の仮想キーボードを形成することを可能にする。ユーザーが第一のキーを追加できるようにするために、プロセッサ２０は、シンボルを追加するというユーザーからのコマンドに応答して、図２７に示されるように、通常のシンボル表２７５０を表示してもよい。よく知られるように、編集ソフトウェアは通常、シンボル表を提供する。よって、ユーザーはその表からシンボルを選択して、その選択されたシンボルを編集中の文書またはフィールドに入力することができる。プロセッサ２０はこのように、ユーザーが、追加されるキーに、選択されたシンボルを入力する機能を割り当てることを可能にする。プロセッサ２０は、ユーザーが追加されるべきキーのサイズを選択できるようにしてもよい。例示的に、プロセッサ２０は、ユーザー選択のために図２７に示される三つの異なるサイズのボックス２７６０、２７７０および２７８０を提供する。これは、トレーニング・モードにおいて生起してもよい。トレーニング・モードは、タッチ感応性領域上のあらかじめ定義された位置にタッチすることによって、あるいはタッチ感応性領域中のある位置をあらかじめ定義された回数タッチすることによって、ユーザーが呼び出すことができる。シンボルを追加するためには、ユーザーはまずサイズ・ボックス２７６０、２７７０および２７８０の一つにタッチするべきであり、次いで、表２７５０からシンボルを選択する。これは図２７に示されるとおりである。サイズ・ボックスが選択されない場合には、プロセッサ２０はその一つ、たとえばサイズ・ボックス２７６０、をデフォルトとして選択するべきである。選択されたシンボルは好ましくは、選択されたサイズ・ボックス中に表示される。次いで、ユーザーは、選択されたシンボルが中に表示されている選択されたサイズ・ボックスを、所望される位置までドラッグできる。プロセッサ２０は自動的に、新たなキーと一緒に表示されるテキスト・ストリングのフォント・サイズを調節する、あるいは該テキスト・ストリングを省略する、あるいはその両方を行なって、その新たなキーのために割り当てられているスペースに適合するようにしてもよい。
【００８０】
追加されるキーがシンボル表２７５０中のシンボルを入力する以外の機能を割り当てられる状況を容易にするために、プロセッサ２０はテキスト・ボックス２７９０を提供してもよい。テキスト・ストリングを表わすキーを追加するためには、ユーザーはサイズ・ボックスの一つを選択し、テキスト・ボックス２７９０中にテキスト・ストリングを入力し、選択されたサイズ・ボックスを所望される位置にドラッグする。米国式レイアウトをもつ例示的な仮想キーボード２７１０では、「＄（£）」キー、「Θ」キーおよび「Ж」キーが追加される。このように、今やキーは外国文字、テキスト断片、シンボル、絵、グラフィックまたはマルチメディア機能（音、ビデオまたはアクション）さえも保持することができ、それらはユーザーがそのキーボードにおいてその追加されたキーをたたくことによって、使用／開始されることができる。マルチメディア機能を提供するために、プロセッサ２０は、ユーザーがマルチメディア機能をもつキーを追加するためのインターフェースを提供するべきである。たとえば、マルチメディア・ボックスが表示され、マルチメディア・ボックスがユーザーによってタッチされると、プロセッサ２０は、ユーザーがそのキーに関連付けられるべきマルチメディア・ファイルを選択するためのブラウズ機能を提供する。選択されたファイル名がテキスト・ボックス２７９０に入力される。結果的に、テキスト・ボックス（フィールド）２７９０はテキスト・ストリング、グラフィック、シンボル表２７５０中にないシンボル、オーディオ・ファイルのファイル名およびビデオ・ファイルのファイル名を入力するために使用されることができる。ユーザーが、たとえばシンボル表を閉じることによって、キー追加セッションの終了を合図すると、プロセッサ２０はステップ２６１５において、追加されたキーを含む新たな仮想キーボードをメモリ中に記憶して、前記ユーザーのシグネチャーと関連付けさせる。
【００８１】
プロセッサ２０は、初期化プロセスに関して上記したようなユーザーのシグネチャーを検出する。追加されたキーがたたかれる場合、プロセッサ２０は、シンボルを入力する、ストリングを入力する、オーディオを再生するまたはビデオを再生するといった、その割り当てられた機能を実行する。
【００８２】
キー追加機能を使って、ユーザーはプロセッサ２０に、図２８に示されるキーボード２８１０および２８９５のような二つの仮想キーボードを表示させることができる。二次キーボード２８９５におけるキーは、上記のように追加されることができる。二次キーボード２８９５は前記ユーザーまたは異なるユーザーによって、教育、ゲームまたは他のマルチユーザー目的などの何らかの目的のために、使用されうる。
【００８３】
仮想キーボードにおける他の既存のキーと同様に、追加されるキーは、図６に関して上記で論じた例示的なプロセスを使って動的に適応されることもできることを注意しておくべきである。
【００８４】
編集セッションの間に、ユーザーは、初期化プロセスに関して上記したように、ユーザー信号を提供することによって、初期化プロセスに戻ってもよい。
【００８５】
もう一つの実施形態では、仮想キーボードは透明に表示されることができる。それによりユーザーは、図４に示されるように、タイプしながら表示されているコンテンツを見続けることを許容される。透明度は、ユーザーがドケット／スクリーン全体に対するよりよい概観をもつよう、キーの使用、重要性または対話性（interactivity）との関係でキーボード上で変わりうる。この透明性は、オブジェクトが書き込まれるために使用可能な、より大きな領域につながる。
【００８６】
さらにもう一つの実施形態では、仮想キーボードの一部のみが透明に表示される。たとえば、図４における数字キーの行は透明に表示されるが、仮想キーボード４１０の他の部分はそうされない。
【００８７】
さらにもう一つの実施形態では、仮想キーボードは透明だが、ユーザーがキーボードを打ち／たたき始めるとき、仮想キーボードは不透明になり、ユーザーが所定の時間にわたって打たない場合に、仮想キーボードは再び透明になる。
【００８８】
将来のタブレット・パソコンは、裏側または端部にボタンまたはタッチ感応性領域をもつことがありえ、ユーザーはある種のアクションのために把持を動かさずにすむようになる。そうしたキーは、裏側または端部に位置する、タッチ感応性要素を含むある種の所定の領域にタッチすることによって作動される。これらのキーのタッチはプロセッサ２０によって検出可能である。これは、タッチ感応性要素の前記第二の部分全体または前記第二の部分の何らかの一部が、タッチ感応性要素の前記第一の部分と連続的な仕方で配置されない例である。対照的に、図４におけるタッチ感応性要素の前記第一の部分および前記第二の部分全体は、連続的な仕方で配置されている。
【００８９】
これらの背面の仮想キーは、裏側でのその対応する位置を示すために、表側のスクリーン３１０上に表示されることができる（フルに、透明に、または対話が要求されるときにのみ）が、ユーザーはそれでも裏側にある対応する領域をタッチする必要がある。スクリーン３１０上の表示されるキーにタッチしても、何の効果も生じない。これらのキーはそれでも、表側における仮想キーボードにおけるキーのように適応的であることができ、対応する仮想キーボードの一部としてメモリ３０に保存されることができる。たとえば、図２９に示されるように、表側のキーに加えて、裏側に位置する五つのキーも表示される：「F1」「F2」「F3」「F4」「F5」。適応後には、これら五つのキーの形、サイズおよび位置のうちの少なくとも一つが変わることがある。
【００９０】
あるさらなる実施形態では、裏側からの仮想キーは、「CTRL」および「シフト」キーのようなアクティブ化キーまたはキー群を押すことによって、表側にもってこられることができる。これはユーザーが、ディスプレイ１２０上の対応する仮想キーから、表側から「裏側キー」をアクティブ化させることを許容する。ある好ましい実施形態では、この変化はたとえば、ディスプレイ１２０上の対応する仮想キーの色を変えることによって、視覚化される。
【００９１】
仮想キーボードを異なる位置に動かすために、ユーザーは複数の指、たとえば一方または両方の手からの三本または四本の指を、キー上であらかじめ定義された時間、たとえば2秒にわたって保持してもよい。プロセッサ２０がそのような状況を検出すると、プロセッサ２０はユーザーがキーボードを異なる位置に動かすことを望んでいることを認識する。プロセッサ２０が指がスライドしはじめることを検出すると、プロセッサ２０は仮想キーボードをしかるべく動かす。
【００９２】
迅速にキーボードを見えなくするために、ユーザーは素速い（ワイプ）動きをするべきである。キーボードをもとに戻すためには、ユーザーは単に、先述したように、ディスプレイ上に指を置くだけでよい。
【００９３】
図６において論じたように、ひとたびプロセッサ２０が対応するキーボードをもつシグネチャーを検出する場合、プロセッサ２０は該対応するキーボードをそのユーザーが使うために取り出す。先述したように、メモリ３０に記憶されている値（この例ではベクトル）のセットは、ユーザーの動的なシグネチャーの一部と考えられてもよい。本発明の原理によれば、編集セッションの間に、プロセッサ２０は、記憶されている動的なシグネチャーに有意な変化があるかどうかを検出することができ、もしあれば、プロセッサ２０はユーザーにそのような変化を通知することができる。図３１はそのようなプロセス３１００を示している。ステップ３１０５では、プロセッサ２０は、たとえば図６に記述されたようなプロセス６００に従って、対応する仮想キーボードを表示する。表示される仮想キーボードは、最後に適応された仮想キーボードであるべきである。ステップ３１１０では、プロセッサ２０は、たとえば先述した諸プロセスに従って、編集セッションの間に、表示される仮想キーボードを適応させる。手短かには、ステップ３１１０は、キー・ストローク（打鍵〔ヒット〕）を検出するステップ３１１４、適応パラメータ（たとえば先述したようなベクトルによって表わされる相対位置など）を決定するステップ３１６６を含み、プロセッサ２０は、しかるべくキーボードを適応させ、決定されたパラメータを保存するステップを含む。
【００９４】
決定された適応パラメータを保存する前に、プロセッサ２０は、ステップ３１３０において、決定された適応パラメータを既存の適応パラメータと比較する。有意な変化があれば、プロセッサ２０は、たとえば新たな識別情報を要求する、追加的な認証方法を要求する、カメラを作動させる、アラートを送る、疑わしいユーザーによって動的シグネチャーが変更されたことを示すコメントをシステムまたはログ・ファイル中に作成するまたはそれらの任意の組み合わせによって、ユーザーに警報する。
【００９５】
編集セッションはステップ３１２０において終了し、仮想キーボードは自動的に消える。
【００９６】
例示的な実施形態では、各仮想キーは、ベクトルを生成する際に、図３２に示されるような五つの領域、中央、右上、左上、右下、左下のようないくつかの領域に分割され、プロセッサ２０は、あらかじめ定義されたセットのキー、たとえば10個のあらかじめ定義されたキーのみを監視する。本発明の原理は10個のキーに限定されるものではなく、キーの任意の数または全部が使われることができ、キーにおいていくつの細分が使われることもできる。この例では、5の10乗の変形があり、異なるユーザーを区別するために十分以上である。有意な変化は、監視されるキーの20パーセントが20パーセントより大きなベクトルの大きさの変化をもつことである。
【００９７】
ある実施形態では、プロセッサ２０は、単にタイピングのリズムを監視することができ、そのリズムをユーザーの動的シグネチャーの一部として記録する。単純な「親指入力」、たとえば二本または三本の指を使った「さがしながら打つ」こと、初心者ユーザーのタイピングおよびプロフェッショナルなタイピングは確かに異なるリズムを与える。リズムの20パーセントの変化は有意と考えられる。さらにもう一つの実施形態では、リズムおよびベクトルの変化の両方が監視される。
【００９８】
プロセス３１００はバックグラウンドでユーザーに気づかれることなく走ることが好ましいので、プロセス３１００は追加的なセキュリティをシステムに与える。
【００９９】
上記のように、本発明は、中でも、たとえ仮想キーボード中のいくつかのキーが部分的または完全に不可視である場合でもユーザーが仮想キーボードを使えるようにする方法、指のサイズおよび位置に合うよう仮想キーボードを適応させる方法、シグネチャーによって表わされるユーザーのタイピング習癖に合うよう各キーを動的に適応させる方法および仮想キーボードにキーを追加する方法を提供する。追加されるキーのそれぞれも動的に適応されることができる。
【０１００】
本発明は好ましい設計をもつものとして記述されてきたが、本発明は本開示の精神および範囲内でさらに修正されることができる。したがって、本案は、本発明の一般原理を使っての本発明の任意の変形、使用または適応をカバーすることが意図されている。さらに、本願は、本発明が属する技術分野において既知のまたは慣習的な実務の範囲内にはいりかつ付属の請求項の限界内にはいる本開示からの逸脱をカバーすることが意図されている。
【図１】
2015535628.tif 000005
【図２】
2015535628.tif 000006
【図３】
2015535628.tif 000007
【図４】
2015535628.tif 000008
【図５】
2015535628.tif 000009
【図６】
2015535628.tif 000010
【図７】
2015535628.tif 000011
【図８】
2015535628.tif 000012
【図９】
2015535628.tif 000013
【図１０】
2015535628.tif 000014
【図１１】
2015535628.tif 000015
【図１２】
2015535628.tif 000016
【図１３】
2015535628.tif 000017
【図１４】
2015535628.tif 000018
【図１５】
2015535628.tif 000019
【図１６】
2015535628.tif 000020
【図１７】
2015535628.tif 000021
【図１８】
2015535628.tif 000022
【図１９】
2015535628.tif 000023
【図２０】
2015535628.tif 000024
【図２１】
2015535628.tif 000025
【図２２】
2015535628.tif 000026
【図２３】
2015535628.tif 000027
【図２４】
2015535628.tif 000028
【図２５】
2015535628.tif 000029
【図２６】
2015535628.tif 000030
【図２７】
2015535628.tif 000031
【図２８】
2015535628.tif 000032
【図２９】
2015535628.tif 000033
【図３０】
2015535628.tif 000034
【図３１】
2015535628.tif 000035
【図３２】
2015535628.tif 000036
【国際調査報告】
2015535628.tif 000037
2015535628.tif 000038
2015535628.tif 000039