(57)【要約】  コンピュータのタッチスクリーン上に表示が生成される。表示は、コンピュータ上で実行されているアプリケーションと関連したアプリケーション表示と、ユーザが、タッチスクリーンを介してコンピュータ上で実行されているアプリケーションに入力を与えるための仮想入力装置表示とを含む。仮想入力装置開始イベントに応答して、仮想入力装置表示の初期特性が判断される。アプリケーション表示の特性及び仮想入力装置表示の特性に基づいて、アプリケーション表示及び仮想入力装置表示を含む複合表示画像の初期特性が判断される。タッチスクリーン上に複合画像が表示させられる。
2009509235.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータのタッチスクリーン上に、前記コンピュータ上で実行されているアプリケーションと関連したアプリケーション表示と、ユーザが、前記タッチスクリーンを介して該コンピュータ上で実行されている前記アプリケーションに入力を与えるための仮想入力装置表示とを含む表示を生成する、コンピュータにより実施される方法であって、前記方法は、
仮想入力装置開始イベントに応答して、前記仮想入力装置表示の初期特性を判断し、
前記アプリケーション表示の特性及び前記仮想入力装置表示の特性に基づいて、該アプリケーション表示及び該仮想入力装置表示を含む複合表示画像の初期特性を判断し、
前記タッチスクリーン上に前記複合表示を表示させる、
ステップを含むことを特徴とする方法。
【請求項２】
前記仮想入力装置開始イベントの前に、前記仮想入力装置表示がない状態で、前記タッチスクリーン上に前記アプリケーション表示を表示するステップをさらに含むことを特徴とする、請求項１に記載の方法。
【請求項３】
前記複合表示の前記初期特性を判断するステップは、前記仮想入力装置表示と重ね合わせるように、前記アプリケーション表示の複数の部分の特定の部分を判断するステップを含むことを特徴とする、請求項１に記載の方法。
【請求項４】
前記複数の部分の前記特定の部分を判断するステップは、該複数の部分の重要性の表示を処理するステップを含むことを特徴とする、請求項３に記載の方法。
【請求項５】
前記複合表示の初期特性を判断するステップは、前記複合表示上に前記仮想入力装置表示を適合させるように、前記アプリケーション表示の変更を判断するステップを含むことを特徴とする、請求項１に記載の方法。
【請求項６】
前記アプリケーション表示の変更を判断するステップは、前記アプリケーション表示の空間アスペクトの変更を判断するステップを含むことを特徴とする、請求項５に記載の方法。
【請求項７】
前記アプリケーション表示の空間アスペクトの変更を判断するステップは、圧縮すべき該アプリケーション表示の部分を判断するステップを含むことを特徴とする、請求項６に記載の方法。
【請求項８】
圧縮すべき前記アプリケーション表示の部分を判断する前記ステップは、アクティブ入力フィールドを含む、圧縮すべき該アプリケーション表示の部分を判断し、前記アクティブ入力フィールドを含む該アプリケーションの該部分を圧縮しないように判断するステップを含むことを特徴とする、請求項７に記載の方法。
【請求項９】
前記仮想入力装置開始イベントは、前記タッチスクリーンに対するユーザのジェスチャによって引き起こされることを特徴とする、請求項１に記載の方法。
【請求項１０】
前記タッチスクリーンに対する前記ユーザのジェスチャは、ユーザが、所定の特性を有する位置において前記タッチスクリーンの多数のポイントにタッチすることを含むことを特徴とする、請求項９に記載の方法。
【請求項１１】
所定の特性を有する位置は、入力装置上の指の特性であるように予め定められた特性を有する位置を含むことを特徴とする、請求項９に記載の方法。
【請求項１２】
前記タッチスクリーンに対する前記ユーザのジェスチャは、前記タッチスクリーン上のアプリケーション表示の入力フィールドに対するユーザのジェスチャを含むことを特徴とする、請求項９に記載の方法。
【請求項１３】
前記タッチスクリーンに対する前記ユーザのジェスチャは、前記タッチスクリーン上に表示された特定のユーザ・インターフェース項目に対するユーザのジェスチャを含むことを特徴とする、請求項９に記載の方法。
【請求項１４】
前記特定のユーザ・インターフェース項目は、前記アプリケーション表示と関連付けられることを特徴とする、請求項１３に記載の方法。
【請求項１５】
前記アプリケーション表示と関連した前記ユーザ・インターフェース項目は、該アプリケーション表示と関連した入力フィールドであることを特徴とする、請求項１４に記載の方法。
【請求項１６】
前記ユーザのジェスチャは、前記入力フィールドと関連した前記タッチスクリーンの部分を少なくとも一度タップすることを含むことを特徴とする、請求項１５に記載の方法。
【請求項１７】
前記特定のユーザ・インターフェース項目は、前記コンピュータのオペレーティング・システムと関連した、前記タッチスクリーンのデスクトップ部分と関連付けられることを特徴とする、請求項１３に記載の方法。
【請求項１８】
仮想入力装置動作停止イベントに応答して、前記仮想入力装置表示を含む前記複合画像の表示を中止させるステップをさらに含むことを特徴とする、請求項１に記載の方法。
【請求項１９】
前記仮想入力装置動作停止イベントは、前記仮想入力装置表示に対する前記ユーザの特定のジェスチャによってトリガされることを特徴とする、請求項１８に記載の方法。
【請求項２０】
前記仮想入力装置動作停止イベントは、前記仮想入力装置を介する入力と一致しない、前記複合表示に対する前記ユーザの特定のジェスチャによってトリガされることを特徴とする、請求項１８に記載の方法。
【請求項２１】
前記仮想入力装置動作停止イベントは、前記仮想入力装置を介する最後の入力から特定の時間が経過することによってトリガされることを特徴とする、請求項１８に記載の方法。
【請求項２２】
前記複合表示は、前記仮想入力装置表示を前記アプリケーション表示の入力フィールドと視覚的に関連付ける視覚インジケータを含むことを特徴とする、請求項１に記載の方法。
【請求項２３】
前記視覚インジケータは、前記仮想入力装置表示の部分から前記アプリケーション表示の入力フィールドまでの矢印であることを特徴とする、請求項２２に記載の方法。
【請求項２４】
前記仮想入力装置表示の前記部分は、前記仮想入力装置の入力表示であることを特徴とする、請求項２３に記載の方法。
【請求項２５】
前記視覚インジケータは、前記アプリケーション表示の前記入力フィールドの差別化された表示であることを特徴とする、請求項２２に記載の方法。
【請求項２６】
前記仮想入力装置表示は入力バッファ表示を含むことを特徴とする、請求項１に記載の方法。
【請求項２７】
前記仮想入力装置表示の前記入力バッファ表示から前記アプリケーション表示の入力フィールドまで入力を転送するステップをさらに含むことを特徴とする、請求項２６に記載の方法。
【請求項２８】
コンピュータのタッチスクリーン上に、前記コンピュータ上で実行されているアプリケーションと関連したアプリケーション表示と、ユーザが、前記タッチスクリーンを介して該コンピュータ上で実行されている前記アプリケーションに入力を与えるための仮想入力装置表示とを含む表示を生成するためのステップを含むコンピュータ・プログラムが上に実体的に具体化されたコンピュータ可読媒体であって、前記コンピュータ・プログラムのステップは、
仮想入力装置開始イベントに応答して、前記仮想入力装置表示の初期特性を判断し、
前記アプリケーション表示の特性及び前記仮想入力装置表示の特性に基づいて、該アプリケーション表示及び該仮想入力装置表示を含む複合表示画像の初期特性を判断し、
前記タッチスクリーン上に前記複合表示を表示させる、
ステップを含むことを特徴とする、コンピュータ可読媒体。
【請求項２９】
前記コンピュータ・プログラムの前記ステップは、
前記仮想入力装置開始イベントの前に、前記仮想入力装置表示がない状態で、前記タッチスクリーン上に前記アプリケーション表示を表示するステップをさらに含むことを特徴とする、請求項２８に記載のコンピュータ可読媒体。
【請求項３０】
前記複合表示の前記初期特性を判断するステップは、前記仮想入力装置表示と重ね合わせるように、前記アプリケーション表示の複数の部分の特定の部分を判断するステップを含むことを特徴とする、請求項２９に記載のコンピュータ可読媒体。
【請求項３１】
前記複数の部分の前記特定の部分を判断するステップは、該複数の部分の重要性の表示を処理するステップを含むことを特徴とする、請求項３０に記載のコンピュータ可読媒体。
【請求項３２】
前記複合表示の初期特性を判断するステップは、前記複合表示上に前記仮想入力装置表示を適合させるように、前記アプリケーション表示の変更を判断するステップを含むことを特徴とする、請求項２８に記載のコンピュータ可読媒体。
【請求項３３】
前記アプリケーション表示の変更を判断するステップは、前記アプリケーション表示の空間アスペクトの変更を判断するステップを含むことを特徴とする、請求項３２に記載のコンピュータ可読媒体。
【請求項３４】
前記アプリケーション表示の空間アスペクトの変更を判断するステップは、圧縮すべき該アプリケーション表示の部分を判断するステップを含むことを特徴とする、請求項３３に記載のコンピュータ可読媒体。
【請求項３５】
圧縮すべき前記アプリケーション表示の部分を判断する前記ステップは、アクティブ入力フィールドを含む、圧縮すべき該アプリケーション表示の部分を判断し、前記アクティブ入力フィールドを含む該アプリケーションの該部分を圧縮しないように判断するステップを含むことを特徴とする、請求項３４に記載のコンピュータ可読媒体。
【請求項３６】
前記仮想入力装置開始イベントは、前記タッチスクリーンに対するユーザのジェスチャによって引き起こされることを特徴とする、請求項２８に記載のコンピュータ可読媒体。
【請求項３７】
前記タッチスクリーンに対する前記ユーザのジェスチャは、ユーザが、所定の特性を有する位置において前記タッチスクリーンの多数のポイントにタッチすることを含むことを特徴とする、請求項３６に記載のコンピュータ可読媒体。
【請求項３８】
所定の特性を有する位置は、入力装置上の指の特性であるように予め定められた特性を有する位置を含むことを特徴とする、請求項３６に記載のコンピュータ可読媒体。
【請求項３９】
前記タッチスクリーンに対する前記ユーザのジェスチャは、前記タッチスクリーン上のアプリケーション表示の入力フィールドに対するユーザのジェスチャを含むことを特徴とする、請求項３６に記載のコンピュータ可読媒体。
【請求項４０】
前記タッチスクリーンに対する前記ユーザのジェスチャは、前記タッチスクリーン上に表示された特定のユーザ・インターフェース項目に対するユーザのジェスチャを含むことを特徴とする、請求項３６に記載のコンピュータ可読媒体。
【請求項４１】
前記特定のユーザ・インターフェース項目は、前記アプリケーション表示と関連付けられることを特徴とする、請求項４０に記載のコンピュータ可読媒体。
【請求項４２】
前記アプリケーション表示と関連した前記ユーザ・インターフェース項目は、該アプリケーション表示と関連した入力フィールドであることを特徴とする、請求項４１に記載のコンピュータ可読媒体。
【請求項４３】
前記ユーザのジェスチャは、前記入力フィールドと関連した前記タッチスクリーンの部分を少なくとも一度タップすることを含むことを特徴とする、請求項４２に記載のコンピュータ可読媒体。
【請求項４４】
前記特定のユーザ・インターフェース項目は、前記コンピュータのオペレーティング・システムと関連した、前記タッチスクリーンのデスクトップ部分と関連付けられることを特徴とする、請求項４３に記載のコンピュータ可読媒体。
【請求項４５】
前記コンピュータ・プログラムは、
仮想入力装置動作停止イベントに応答して、前記仮想入力装置表示を含む前記複合画像の表示を中止させるステップをさらに含むことを特徴とする、請求項２８に記載のコンピュータ可読媒体。
【請求項４６】
前記仮想入力装置動作停止イベントは、前記仮想入力装置表示に対する前記ユーザの特定のジェスチャによってトリガされることを特徴とする、請求項３５に記載のコンピュータ可読媒体。
【請求項４７】
前記仮想入力装置動作停止イベントは、前記仮想入力装置を介する入力と一致しない、前記複合表示に対する前記ユーザの特定のジェスチャによってトリガされることを特徴とする、請求項３５に記載のコンピュータ可読媒体。
【請求項４８】
前記仮想入力装置動作停止イベントは、前記仮想入力装置を介する最後の入力から特定の時間が経過することによってトリガされることを特徴とする、請求項３５に記載のコンピュータ可読媒体。
【請求項４９】
前記複合表示は、前記仮想入力装置表示を前記アプリケーション表示の入力フィールドと視覚的に関連付ける視覚インジケータを含むことを特徴とする、請求項２８に記載のコンピュータ可読媒体。
【請求項５０】
前記視覚インジケータは、前記仮想入力装置表示の部分から前記アプリケーション表示の入力フィールドまでの矢印であることを特徴とする、請求項４９に記載のコンピュータ可読媒体。
【請求項５１】
前記仮想入力装置表示の前記部分は、前記仮想入力装置の入力表示であることを特徴とする、請求項５０に記載のコンピュータ可読媒体。
【請求項５２】
前記視覚インジケータは、前記アプリケーション表示の前記入力フィールドの差別化された表示であることを特徴とする、請求項４９に記載のコンピュータ可読媒体。
【請求項５３】
前記仮想入力装置表示は入力バッファ表示を含むことを特徴とする、請求項２８に記載のコンピュータ可読媒体。
【請求項５４】
前記コンピュータ・プログラムは、
前記仮想入力装置表示の前記入力バッファ表示から前記アプリケーション表示の入力フィールドまで入力を転送するステップをさらに含む、請求項５３に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本特許出願は、タッチスクリーン型ユーザ・インターフェースに関し、特に、タッチスクリーン型ユーザ・インターフェース上への、仮想キーボード又は他の仮想入力装置等の仮想入力装置の配置に関する。
（関連出願の相互参照）
本出願は、合衆国法典第３５巻第１２０条の下の優先権が主張され、その全体が引用によりここに組み入れられる、先行出願第１０／９０３，９６４号の部分継続出願である、２００５年９月１６日に出願された米国特許出願第１１／２２８，７５８号に基づく優先権を主張するものである。本出願はまた、次の同時継続中の出願、すなわち２００４年５月６日に出願された米国特許出願第１０／８４０，８６２号、２００４年７月３０日に出願された米国特許出願第１１／０４８，２６４号、２００４年７月３０日に出願された米国特許出願第１１／０３８，５９０号、２００５年９月１６日に出願された米国特許出願第１１／２２８，７３７号、２００５年９月１６日付で出願された米国特許出願番号第１１／２２８，７００号にも関連し、これらの特許の全ては、全ての目的のために全体が引用によりここに組み入れられる。
【背景技術】
【０００２】
タッチスクリーンは、画面を覆うタッチ感知式透明パネルを有する又は他の方法で画面上のタッチ入力を認識することができる表示画面の種類である。一般的に、タッチスクリーン型ディスプレイは、プログラム制御下で作動する処理回路を含むコンピュータ回路と同じハウジング内に収容される。タッチスクリーンを用いてコンピュータ上で実行されているアプリケーションに入力を与えるとき、ユーザは、画面上に表示されたグラフィカル・ユーザ・インターフェース（ＧＵＩ）のオブジェクトを直接指し示すことにより、（通常は、スタイラス又は指を用いて）表示画面上で選択を行う。
【０００３】
タッチスクリーン上に表示されたＧＵＩオブジェクトの集合は、仮想入力装置と考えることができる。幾つかの例においては、仮想入力装置は、仮想キーボードである。表示画面とそれほど密接に関連付けられていない従来の外部キーボードと同様に、仮想キーボードは、複数のキー（「仮想キー」）を含む。特定の仮想キー（又は、仮想キーの組み合わせ）の作動により、コンピュータ上で実行されているアプリケーションに入力として与えられる信号が生成される。
【０００４】
外部キーボード及び他の外部入力装置は、その性質上（すなわち、外部のものであることから）、アプリケーションの表示出力をカバーするものではない。他方、仮想入力装置は、実行中のアプリケーションの出力を表示するのに用いられるものと同じ表示画面上に表示されるため、そうしたアプリケーションの表示出力をカバーすることができる。
仮想入力装置をタッチスクリーン上にインテリジェントに表示し、仮想入力装置及びタッチスクリーン・ベースのコンピュータの操作性を向上させる方法が望まれる。
【発明の開示】
【０００５】
表示が、コンピュータのタッチスクリーン上に生成される。この表示は、コンピュータ上で実行されているアプリケーションと関連したアプリケーション表示と、タッチスクリーンを介してコンピュータ上で実行されているアプリケーションにユーザが入力を与えるための仮想入力装置表示とを含む。仮想入力装置開始イベントに応答して、仮想入力装置表示の初期特性が判断される。アプリケーション表示の特性及び仮想入力装置表示の特性に基づいて、アプリケーション表示及び仮想入力装置表示を含む複合表示画像の初期特性が判断される。タッチスクリーン上に、複合画像が表示させられる。
この要約は、全てを含むことを意図するものではない。他の態様は、添付の図面と併せた以下の詳細な説明、及び添付の特許請求の範囲から明らかになるであろう。
【発明を実施するための最良の形態】
【０００６】
例及び態様が、図面を参照して以下に説明される。しかしながら、これらの図面に関して本明細書に与えられた詳細な説明は、説明目的のためのものにすぎず、限定としてではないことを理解すべきである。
図１−１は、本発明の１つの実施形態による例示的なコンピュータ・システム５０のブロック図である。コンピュータ・システム５０は、デスクトップ、ラップトップ、タブレット、又は手持ち式コンピュータのようなパーソナル・コンピュータ・システムに対応することができる。コンピュータ・システムはまた、携帯電話、ＰＤＡ、専用メディア・プレーヤ、家庭用電子機器などのコンピュータ装置に対応することもできる。
【０００７】
図１−１に示される例示的なコンピュータ・システム５０は、命令を実行し、コンピュータ・システム５０と関連した演算を行うように構成されたプロセッサ５６を含む。例えば、メモリなどから取り出された命令を用いて、プロセッサ５６は、コンピュータ・システム５０のコンポーネント間の、入出力データの受信及び操作を制御することができる。プロセッサ５６は、単一のチップ上、多数のチップ上、又は多数の電気部品上に実装することができる。例えば、プロセッサ５６のために、専用又は内蔵プロセッサ、単機能プロセッサ、コントローラ、ＡＳＩＣなどを含む種々のアーキテクチャを用いることができる。
【０００８】
ほとんどの場合、プロセッサ５６は、オペレーティング・システムと協働してコンピュータ・コードを実行し、データを作成してこれを使用するように作動する。オペレーティング・システムは、一般的によく知られており、より詳細には説明しない。一例として、オペレーティング・システムは、Ｍａｃ  ＯＳ  Ｘ、ＯＳ／２、ＤＯＳ、Ｕｎｉｘ、Ｌｉｎｕｘ、Ｐａｌｍ  ＯＳなどに対応することができる。オペレーティング・システムはまた、目的が限定されたアプライアンス型コンピュータ装置に用い得るような、特殊目的のオペレーティング・システムとすることもできる。オペレーティング・システム、他のコンピュータ・コード及びデータは、プロセッサ５６に作動可能に結合されたメモリブロック５８内に常駐させることができる。メモリブロック５８は、一般に、コンピュータ・システム５０によって用いられるコンピュータ・コード及びデータを格納するための場所を提供する。一例として、メモリブロック５８は、読み出し専用メモリ（ＲＯＭ）、ランダム・アクセス・メモリ（ＲＡＭ）、ハードディスク・ドライブ、及び／又はその他同種類のものを含むことができる。情報を取り外し可能な記憶媒体上に常駐させ、必要時にコンピュータ・システム５０にロード又はインストールすることもできる。取り外し可能な記憶媒体は、例えば、ＣＤ−ＲＯＭ、ＰＣカード、メモリカード、フロッピィ・ディスク、磁気テープ、及びネットワーク・コンポーネントを含む。
【０００９】
コンピュータ・システム５０はまた、プロセッサ５６に作動可能に結合されたディスプレイ装置６８も含む。ディスプレイ装置６８は、液晶ディスプレイ（ＬＣＤ）（例えば、アクティブ・マトリクス、パッシブ・マトリクスなど）とすることができる。代替的に、ディスプレイ装置６８は、単色ディスプレイ、カラー・グラフィックス・アダプタ（ＣＧＡ）ディスプレイ、強化グラフィックス・アダプタ（ＥＧＡ）ディスプレイ、可変グラフィックス・アレイ（ＶＧＡ）ディスプレイ、超ＶＧＡディスプレイ、陰極線管（ＣＲＴ）等のようなモニタとすることもできる。ディスプレイ装置はまた、プラズマ・ディスプレイ、又は電子インクで実装されるディスプレイに対応することもできる。
【００１０】
ディスプレイ装置６８は、一般に、コンピュータ・システムのユーザとオペレーティング・システム又はその上で実行されているアプリケーションとの間に使い勝手のよいインターフェースを提供するグラフィカル・ユーザ・インターフェース（ＧＵＩ）６９を表示するように構成される。一般的に言うと、ＧＵＩ６９は、グラフィック画像により、プログラム、ファイル、及び操作上のオプションを表す。グラフィック画像は、ウィンドウ、フィールド、ダイアログ・ボックス、メニュー、アイコン、ボタン、カーソル、スクロール・バー等を含むことができる。こうした画像は、所定のレイアウトで配置してもよく、又は、ユーザがとる特定のアクションに役立つように動的に生成してもよい。操作中、ユーザは、種々のグラフィック画像を選択してそれらを作動させ、それらと関連した機能及びタスクを開始することができる。一例として、ユーザはウィンドウを開閉し、最小化し、又は最大化するボタン、或いは特定のプログラムを起動するアイコンを選択することができる。付加的に又は代替的に、ＧＵＩ６９は、ディスプレイ装置６８上に、ユーザのために非対話型テキスト及びグラフィックスのような情報を表示することもできる。
【００１１】
コンピュータ・システム５０はまた、プロセッサ５６に作動可能に結合された入力装置７０も含む。入力装置７０は、外界からコンピュータ・システム５０内にデータを転送するように構成される。例えば、入力装置７０を用いて、ディスプレイ６８上のＧＵＩ６９に対して追跡を行い、選択をなすことができる。入力装置７０を用いて、コンピュータ・システム５０内でコマンドを出すこともできる。入力装置７０は、ユーザのタッチ（ｔｏｕｃｈ）により入力を受け取り、この情報をプロセッサ５６に送るように構成されたタッチ感知装置を含むことができる。
【００１２】
一例として、タッチ感知装置は、タッチパッド又はタッチスクリーンに対応することができる。多くの場合、タッチ感知装置は、タッチ感知面へのタッチ、並びにタッチの位置及び強さを認識する。タッチ感知手段は、タッチをプロセッサ５６に報告し、プロセッサ５６は、そのプログラミングに従って該タッチを解釈する。例えば、プロセッサ５６は、特定のタッチに従ってタスクを開始することができる。専用プロセッサを用いてタッチを局所的に処理し、コンピュータ・システムのメインプロセッサに対する要求を減少させることができる。タッチ感知装置は、容量の感知、抵抗の感知、表面弾性波の感知、圧力の感知、光学的感知、及び／又はその他同種類のものを含む感知技術に基づくことができるが、これらに限定されない。さらに、タッチ感知手段は、シングルポイント感知又はマルチポイント感知に基づくこともできる。シングルポイント感知は、単一のタッチしか識別することができないが、マルチポイント感知は、同時になされる多数のタッチを識別することができる。
【００１３】
入力装置７０は、ディスプレイ６８の上に又はその前に配置されたタッチスクリーンとすることができる。タッチスクリーン７０は、ディスプレイ装置６８と一体にしてもよく、又は別個のコンポーネントであってもよい。タッチスクリーン７０は、タッチパッド、マウス等のような他の入力技術に優る幾つかの利点を有する。一例としては、タッチスクリーン７０がディスプレイ６８の前に配置されるので、ユーザは、ＧＵＩ６９を直接操作することができる。例えば、ユーザは、単に、オブジェクトの上に指を置くだけ制御することができる。タッチパッドにおいては、このような一対一の関係は存在しない。タッチパッドを用いる場合、タッチパッドは、典型的には異なる面に、ディスプレイから離れて配置される。例えば、ディスプレイは、一般に垂直方向の面に配置され、タッチパッドは、一般に水平方向の面に配置される。タッチスクリーンであることに加えて、入力装置７０は、マルチポイント入力装置とすることが可能である。マルチポイント入力装置は、１つより多いオブジェクト（指）を識別できるという点で、従来のシングルポイント入力装置に優る利点を有する。シングルポイント入力装置は、単に、多数のオブジェクトを識別することができないだけである。一例として、引用によりここに組み入れられる、同時継続中の同一出願人による米国特許出願第１０／８４０，８６２号において、ここで用いることが可能なマルチポイント・タッチスクリーンが示され、より詳細に説明されている。
【００１４】
コンピュータ・システム５０はまた、１つ又はそれ以上のＩ／Ｏ装置８０を結合させるための能力も含む。一例として、Ｉ／Ｏ装置８０は、キーボート、プリンタ、スキャナ、カメラ、スピーカ、及び／又はその他の同種類のものに対応することができる。Ｉ／Ｏ装置８０は、コンピュータ・システム５０と一体にしてもよく、又は別個のコンポーネント（例えば、周辺機器）としてもよい。場合によっては、Ｉ／Ｏ装置８０は、有線接続（例えば、ケーブル／ポート）を通してコンピュータ・システム５０に接続することもできる。他の場合には、Ｉ／Ｏ装置８０は、無線接続を通してコンピュータ・システム５０に接続することができる。一例として、データリンクは、ＰＳ／２、ＵＳＢ、ＩＲ、ＲＦ、Ｂｌｕｅｔｏｏｔｈ等に対応することができる。
【００１５】
ここで、タッチスクリーン・ベースのコンピュータ内での特定の処理について説明され、この処理により、アプリケーションが実行され、コンピュータのタッチスクリーン上に表示が提供される。表示処理は、アプリケーション表示に基づいた特性と、仮想入力装置に関する特性とを有する複合表示を提供することを含む。仮想入力装置表示は、ユーザが仮想入力装置と対話するために、表示された入力装置に対するタッチスクリーンへの適切なタッチ入力を受け取るための少なくとも入力部分を含む。仮想入力装置とのユーザ対話は、仮想入力装置の部分を作動させてユーザ入力を与え、アプリケーションの処理に影響を与えることを含む。仮想入力装置（すなわち、仮想入力装置を達成するためのコンピュータ上での処理）は、ユーザ対話を処理し、その処理に基づいて、対応するユーザ入力をアプリケーションに与える。
【００１６】
仮想入力装置表示は、一般的には、仮想入力装置とのユーザ対話の仮想入力装置の処理と大きな相関がある。例えば、仮想入力装置が仮想キーボードである場合には、仮想入力装置表示は、典型的なＱＷＥＲＴＹキーボードのキーのグラフィック表現を含むことができ、一方、仮想キーボードとのユーザ対話の仮想入力装置の処理は、ユーザによってどの仮想キーが作動されたかを判断し、対応する入力（例えば、文字及び／又は数字）をアプリケーションに与えることを含む。
【００１７】
ここで、図１、図２、図３、及び図３−１を参照する。図１は、タッチスクリーン上に複合表示（すなわち、アプリケーション表示と仮想入力装置表示の複合体）を達成するための処理を大ざっぱに示す。図２は、仮想入力装置がタッチスクリーン上に表示されていない状態の、タッチスクリーン上のアプリケーション表示の例を示す。図３は、コンポーネントがアプリケーション表示及び仮想入力装置表示を含む、例示的な複合表示を概略的に示す。
【００１８】
最初に図１を参照すると、フローチャートが、図１−１に示されるタッチスクリーン・ベースのコンピュータのようなコンピュータ上で実行されている処理ステップを示す。最初に、コンピュータ上で実行されているアプリケーション１０２の処理ステップが、抽象的に示される。アプリケーションは、例えば、電子メール・クライアント・プログラム、文書作成処理プログラム、又は他のアプリケーション・プログラムとすることができる。アプリケーション１０２は、コンピュータ上で実行されているオペレーティング・システム・プログラム１０４と協働して実行される。特定的には、オペレーティング・システム１０４は、実行中のアプリケーション１０２に、コンピュータのリソースへのアクセスを提供する。オペレーティング・システム１０４がアクセスを提供する１つのリソースが、タッチスクリーンである。
【００１９】
アプリケーション１０２は、オペレーティング・システム１０４に、アプリケーション表示の特性の表示を与える。大まかに言うと、アプリケーション表示の特性の表示は、タッチスクリーン上にアプリケーション表示を生成させるための、オペレーティング・システム１０４によって少なくとも部分的に使用可能なデータを含む。
【００２０】
アプリケーション１０２により提供されたアプリケーション表示の特性は、典型的には、アプリケーションによる処理の結果に関係している。アプリケーションによって提供される表示なしに、アプリケーション表示の特性の少なくとも一部は、オペレーティング・システム１０４に知られることがあり、及び／又は、オペレーション・システムによって制御することができる。このようなタイプの特性は、典型的には、アプリケーション表示のウィンドウの「ウィンドウ・サイズ」及びアプリケーション表示のウィンドウの背景色のような、より一般的な表示関連のものである。
アプリケーション表示の特性が与えられた場合、オペレーティング・システム・プログラム１０４の表示処理１０６が、アプリケーション表示の特性の表示に少なくとも部分的に基づいて、タッチスクリーン上に表示される、結果として得られる表示画像の特性を決定する。
【００２１】
さらに、オペレーティング・システム・プログラム１０４は、仮想キーボード処理１０８を含む。より一般的には、処理部１０８が、タッチスクリーン上に表示され、かつ、タッチスクリーンからのユーザ入力を受け取る、いずれかの仮想入力装置のための処理とすることができる。仮想キーボード処理１０８の初期特性処理１１０は、キーボード開始イベントに応答し、仮想キーボードの初期表示特性を判断する。仮想キーボード処理１０８の進行中の特性処理１１２は、典型的には、仮想キーボードの仮想キーの作動に基づくが、場合によっては他の条件にも基づいて、仮想キーボードの進行中の表示特性を判断する。（ここでの説明は仮想キーボードの表示特性に関するものであるが、アプリケーション入力に対するキーのマッピングのような、仮想キーボードの操作上の特性は、多くの場合、表示特性と結び付けられることを認識すべきである。）判断された仮想キーボードの表示特性は、表示処理部１０６に与えられる。
【００２２】
アプリケーション表示の特性の表示に鑑みて、表示処理１０６は、仮想入力装置の示された特性に基づいて、仮想入力装置の表示を含む複合表示の特性を判断する。より具体的には、複合表示の仮想入力装置部分は、アプリケーション表示の特性に対してインテリジェントである。仮想入力装置表示の出力及びアプリケーション表示の出力の両方に対して同じタッチスクリーンが用いられるので、このことは特に有用である。特定のアプリケーションについて（すなわち、特定のアプリケーション表示の特性について）特定の方法で仮想入力装置を表示することにより、仮想入力装置を用いてアプリケーションと対話するためのタッチスクリーンの操作性が改善され得る。
上述のように、図２は、仮想入力装置の表示を有さない状態の、アプリケーション表示を示す。
【００２３】
図３に示される例によると、結果として得られる複合表示は、仮想入力表示がアプリケーション表示の一部分の上にあるが、アプリケーションの全ての上にあるわけではない点を除いて、アプリケーション表示（例えば、図２に示される）は実質的に変わらない。図３−１に示される別の例によると、結果として得られる複合表示は、アプリケーション表示が「上にスライドされ」、「上にスライドされた」アプリケーション表示によって空いたタッチスクリーンの一部分に仮想入力表示が表示される点を除いて、アプリケーション表示（例えば、図２に示される）は実質的に変わらない。
【００２４】
表示処理１０６は、アプリケーションの示された特性を考慮して、タッチスクリーン上の複合表示における仮想入力装置表示の位置を判断する。例えば、表示処理１０６は、アプリケーション表示（及び仮想入力装置）と関連した入力フィールドのような、アプリケーション表示の重要な部分が、仮想キーボード表示によって覆われないように、複合表示の特性を決定することができる。
【００２５】
つまり、アプリケーション表示の入力フィールドは、典型的には、仮想入力装置を介してユーザが対話するアプリケーションの部分を表すことができるので、重要であると判断される。しかしながら、アプリケーション表示の他の部分が重要であると判断されることもある。例えば、仮想入力装置を介した入力によって直接作用されるアプリケーション表示の部分が重要であると判断されることもある。幾つかの例においては、アプリケーション表示の入力フィールドが存在しないことさえあり得る。
【００２６】
重要であると判断されるものは、特定のアプリケーション及び／又はアプリケーション表示の関数とすることができ、或いは、一般にアプリケーション特性の関数とすることができる。場合によっては、仮想入力装置表示によって、複合表示において覆われないことを保証するように、入力フィールド以外のアプリケーション表示の部分が、相対的に重要であってもよい。相対的な重要性は、文脈に依存することができる。例えば、相対的な重要性は、アプリケーションが動作している特定のモードに依存することができる。
【００２７】
幾つかの例によると、実質的に変わらないアプリケーション表示（図３及び図３−１に示されるような）ではなく、表示処理１０６は、アプリケーション表示についての実質的に全ての情報が複合表示内で視認可能なままであるが、仮想入力装置表示に適合させるように、複合表示内でアプリケーション表示が変更されるように、複合表示の特性を決定する。幾つかの例においては、表示処理１０６は、他の場合には、仮想入力装置表示により複合表示上で見えにくくなるアプリケーション表示についての情報量を最小にしながら又は排除しながら、アプリケーション表示の空間アスペクトを調整して、仮想入力装置のためのスペースを複合表示上に与えるように、複合表示の特性を決定する。
【００２８】
幾つかの例においては、複合表示上で、アプリケーション表示の少なくとも一部を圧縮し、仮想入力装置表示を適合させる。図４は、複合表示上にアプリケーション表示の全ての部分が、一方向に実質的に等しく圧縮された１つの例を示す。図５は、複合表示上にアプリケーション表示の全てより少ない部分が圧縮された別の例を示す。他の例においては、例えば、アプリケーション表示のこれらの部分が仮想入力装置に対して重要である場合、複合表示上でアプリケーション表示の部分が拡大される。
【００２９】
幾つかの例においては、複合表示上でアプリケーション表示のどの部分が圧縮されるのかは、アプリケーション表示の特性に基づいている。例えば、より重要性が高いと判断されたアプリケーション表示の幾つかの部分は圧縮することができず、重要性が低いと判断されたアプリケーション表示の他の部分を圧縮することが可能である。幾つかの例においては、アプリケーション表示の特定の部分を圧縮する量は、アプリケーション表示のその部分の相対的な重要性に基づいている。空間アスペクトの変化がないことを含む、複合表示における異なる量だけ、アプリケーション表示の異なる部分を圧縮する（又は拡大する）ことができる。
【００３０】
更に他の例においては、仮想入力装置表示の事前設定条件及び／又は特性は動的に構成することができるので、複合表示上の仮想入力装置表示の特性は、ユーザが構成することができる。動的な構成の例として、ユーザは、仮想キーボード表示の部分にタッチし、仮想入力装置表示を複合表示の所望の部分に「ドラッグする」ことにより、複合表示内の仮想入力装置表示の位置を変えることができる。
【００３１】
幾つかの例においては、ユーザが複合表示内の仮想入力装置表示の特性を変化させるとき、複合表示内のアプリケーション表示コンポーネント自体は変化しない。従って、例えば、ユーザが複合表示内の仮想入力装置表示の位置を変化させる場合には、仮想入力装置表示が移動されるに従って、アプリケーション表示の異なる部分が覆われる。他の例においては、ユーザが仮想入力装置表示の特性を変化させるに従って、表示処理１０６は、複合表示内のアプリケーション表示の特性を新たに判断する。例えば、表示処理１０６は、複合表示内の仮想入力装置表示の新しい位置に少なくとも部分的に基づいて、複合表示内のアプリケーション表示のどの部分を圧縮するかを判断することができる。
【００３２】
ここで、仮想入力装置開始イベント（図１）をより詳細に説明する。特定的には、複合表示の一部として仮想入力装置を最初に表示させるために、仮想入力装置開始イベントを含むことができるイベントの種々の例が存在する。例えば、仮想入力装置開始イベントに直接対応するユーザの特定のアクションに応答して、仮想入力装置を複合表示の一部として表示することができる。１つの例によると、アプリケーションは、アプリケーション表示の一部としての入力フィールドを有し、その入力フィールドに対するユーザのジェスチャにより、仮想入力装置開始イベントをトリガさせることができる。ユーザのジェスチャは、例えば、入力フィールドの表示に対応するタッチスクリーンの部分をタップすること又はダブル・タップすることにすることができる。典型的には、オペレーティング・システム処理１０４は、入力フィールドに対するこうしたユーザのジェスチャを認識し、仮想入力装置開始イベントをトリガさせるための処理を含む。
【００３３】
仮想入力装置開始イベントをトリガさせ得るイベントの別の例として、アプリケーション表示の一部として表示される「画面上の（ｏｎ  ｓｃｒｅｅｎ）」ボタンがあり、ユーザによるそのボタンの作動がオペレーティング・システム処理１０４によって解釈され、仮想入力装置開始イベントをトリガさせる。更に別の例として、画面上のボタンをオペレーティング・システムと関連付けることができ、より一般的には、例えば、アプリケーション表示の具体的な部分ではなく、オペレーティング・システムと関連したタッチスクリーンの「デスクトップ」部分上に表示することができる。どちらの場合も、画面上のボタンの作動により、仮想入力装置開始イベントがトリガさせられ、その結果、初期入力装置処理１１０が実行される。
【００３４】
更に別の例として、ユーザが「タイピング」位置で指をタッチスクリーン（例えば、マルチポイント・タッチスクリーン）上に置くことによって、キーボード開始イベントをトリガすることができる。このユーザ・アクションの検知は、最初のキーボード処理１１０が実行され、仮想入力装置が複合表示の一部として表示されることに基づいて、仮想キーボード開始イベントをトリガすることができる。この場合、例えば、タッチスクリーン・ハードウェア及び／又は低レベルの処理と対話するオペレーティング・システム処理１０４は、タッチスクリーンへのユーザ入力を認識させられる。このような認識は、例えば、タッチスクリーン上でタッチされたポイントの座標の形とすることができる。ユーザが「タイピング」位置で指をタッチスクリーン上に置くことに対応するように、タッチスクリーン上でタッチされたこうしたポイントの組み合わせが判断されたとき、仮想キーボード開始イベントがトリガされる。ポイントの組み合わせが、ユーザが「タイピング」位置で指をタッチスクリーン上に置くことに対応し、これにより仮想キーボード開始イベントがトリガされることを判断するための処理は、オペレーティング・システム処理１０４に割り当てることができ、或いは、例えば、オペレーティング・システム処理１０４と共に又は協働して行なわれる処理とすることもできる。
【００３５】
ここで、仮想入力装置の動作停止イベントに関して、より詳細に説明する。図１に示されるように、仮想入力装置動作停止イベントをトリガすることにより、仮想入力は、タッチスクリーン上の複合表示の一部として表示されなくなる。仮想入力装置動作停止イベントは、例えば、仮想入力装置に対して、直接、ユーザが具体的に取るアクションの結果としてトリガすることができる。このことは、例えば、仮想入力装置表示上の特定の「動作停止」キーを作動させ、仮想入力装置が複合表示の一部として表示されなくすることを含むことができる。必須ではないが、より一般的には、具体的に仮想入力装置上のキーを作動させることによる、アプリケーションとの対話が、動作停止イベントをトリガさせ得る。
【００３６】
このような対話の１つの例は、仮想入力装置を介して入力を与えることが適切でないような方法で実行中のアプリケーションの表示と対話することを含む。別の例は、アプリケーションを閉じるために、アプリケーションと（必要に応じて、アプリケーション表示を介して、又は仮想キーボード表示を介して）対話することを含む。更に別の例は、ジェスチャ（キーボードを横切って手で「拭う（ｗｉｐｉｎｇ）」といった）、又は仮想リターンキーから指を「スライドさせる」ことと組み合わせて仮想リターンキーを作動させることを含み、これにより「リターン」が作動され、次いで、仮想キーボードが終了させられる。
【００３７】
更に別の例として、動作停止イベントのトリガは、特に仮想入力装置又は一般にタッチスクリーンとの特定の対話にあまり関連しないが、例えば、仮想入力装置上のキーが作動されてから特定の時間が経過することにより引き起こされることがある。つまり、特定の時間、仮想入力装置が使用されないことは、仮想キーボードがもはや使用されていないことを意味する。更に別の例においては、アプリケーションの状態が仮想入力装置の表示が必要とされない及び／又は適切でないと見なされるようになったときに、アプリケーションが動作停止イベントをトリガするなど、アプリケーション自体によって動作停止イベントをトリガすることができる。
【００３８】
ここで、仮想入力装置の種々の作動モードを説明する。一例においては、作動されたキーと関連した入力（これに限定されるものではないが、典型的には、テキスト）は、アプリケーション表示が対応しているアプリケーションに直接与えてもよく、又はアプリケーションによって作動されてもよい。入力の表示は、アプリケーションと関連した入力フィールドに直接表示することさえできる。
【００３９】
図６に示される他の例においては、入力の表示は、仮想入力装置６０２と関連するが、アプリケーション表示とは直接関連していない、表示の部分６０４内に現れることが可能である。次いで、入力は、自動的に又はユーザのコマンドによって、アプリケーションに転送することができる（アプリケーションによって動作されるように直接、又はアプリケーション表示と関連した入力フィールド６０８に）。１つの例によると、「ｎ」個の文字の仮想入力装置６０２を介して、自動転送が行なわれ、ここで、「ｎ」は、ユーザにより構成可能な設定である。別の例によると、自動転送は、「ｍ」秒毎に又は他の時間単位ごとに行なわれ、ここで、「ｍ」はユーザにより構成可能な設定である。
【００４０】
幾つかの例において、仮想入力装置表示６０２は、仮想入力装置６０２及びアプリケーション表示の入力フィールド６０８と関連した視覚インジケータ６０６を含む。図６の例示的な表示６００を参照すると、仮想入力装置表示６０２は、仮想入力装置表示６０２からアプリケーション表示の対応する入力フィールド６０８まで指し示す視覚インジケータの矢印６０６を含む。視覚インジケータ６０６は、ポインタに限定されない。別の例としては、視覚インジケータ６０６は、強調表示されたアプリケーションの入力フィールド６０８とすることができる。
【００４１】
幾つかの例においては、仮想入力装置と関連した表示は、仮想入力装置自体より小さいウィンドウ内に表示された（ウィンドウのサイズはユーザにより構成可能である）。この場合、ユーザは、仮想入力装置表示の部分を作動し、仮想入力装置表示の異なる部分にスクロールする（よって、これにアクセスする）ことができる。図７Ａ、図７Ｂ、及び図７Ｃは、スクロールされた種々の状態における仮想入力装置表示を示す。仮想入力装置の表示されていない部分にアクセスするために、スクロールは、二次元より大きい次元（例えば、仮想立方体、又は三次元より大きい次元の仮想形状）にすることさえ可能である。
【００４２】
本発明の多くの特徴及び利点は、記述された説明から明らかであり、よって、添付の特許請求の範囲により、本発明のこうした特徴及び利点の全てを網羅するように意図される。さらに、当業者であれば、多くの修正及び変更を思い付くので、本発明は、図示され説明されたような厳密な構成及び作働に限定すべきはない。従って、全ての適切な修正及び均等物は、本発明の範囲内にあるものとして用いることができる。
【図面の簡単な説明】
【００４３】
【図１−１】タッチスクリーン・ベースのコンピュータ・システムのブロック図である。
【図１】１つの態様による、タッチスクリーン上に表示をもたらすコンピュータ内の処理を示す。
【図２】仮想入力装置表示を含まない例示的なタッチスクリーン表示出力を示す。
【図３】図２の表示とは実質的に変わらないアプリケーション出力表示を有する、アプリケーション表示及び仮想入力装置表示の両方を含む例示的なタッチスクリーン表示出力を示す。
【図３−１】図２の表示とは実質的に変わらないアプリケーション出力表示を有する、アプリケーション表示及び仮想入力装置表示の両方を含む例示的なタッチスクリーン表示出力を示す。
【図４】アプリケーション表示の空間アスペクトが仮想入力装置表示を適合させるように変更された例示的なタッチスクリーン表示を示す。
【図５】アプリケーション表示の空間アスペクトが仮想入力装置表示を適合させるように変更された例示的なタッチスクリーン表示を示す。
【図６】入力の表示が仮想入力装置と関連した表示の部分内に現れる、例示的なタッチスクリーン表示を示す。
【図７Ａ】種々のスクロールされた状態の仮想入力装置表示を示す。
【図７Ｂ】種々のスクロールされた状態の仮想入力装置表示を示す。
【図７Ｃ】種々のスクロールされた状態の仮想入力装置表示を示す。
【図１−１】
2009509235.tif 000003
【図１】
2009509235.tif 000004
【図２】
2009509235.tif 000005
【図３】
2009509235.tif 000006
【図３−１】
2009509235.tif 000007
【図４】
2009509235.tif 000008
【図５】
2009509235.tif 000009
【図６】
2009509235.tif 000010
【図７Ａ】
2009509235.tif 000011
【図７Ｂ】
2009509235.tif 000012
【図７Ｃ】
2009509235.tif 000013
【国際調査報告】
2009509235.tif 000014
2009509235.tif 000015
2009509235.tif 000016