(57)【特許請求の範囲】
【請求項１】
仮想キーボードに追加のキーボードオプションを提供する方法であって、
タッチ感知ディスプレイを備える電子デバイスにおいて、
英数字キーと、前記英数字キーの上方又は下方に設けられた１つ以上のキーボードオプションの行とを含む前記仮想キーボードを表示することであって、前記１つ以上のキーボードオプションのそれぞれが第１の表示サイズで表示される、表示することと、
追加のキーボードオプションが利用可能であることを判定することと、
追加のキーボードオプションが利用可能であるという判定に従って、前記行内に追加のキーボードオプションのアフォーダンスを表示し、前記行内に前記追加のキーボードオプションのアフォーダンスを表示することに合わせて、前記１つ以上のキーボードオプションの各キーボードオプションを、そのキーボードオプションが前記行内に前記第１の表示サイズよりも小さい第２の表示サイズで表示されるようにサイズ変更することと、
前記追加のキーボードオプションのアフォーダンスの選択が検出されると、前記１つ以上のキーボードオプションのうちの少なくともいくつかを表示することを中止し、前記追加のキーボードオプションのうちの少なくともいくつかを前記行に表示することと、
を含む、方法。
【請求項２】
前記追加のキーボードオプションのアフォーダンスが、第１のドットの配列を含む、請求項１に記載の方法。
【請求項３】
前記追加のキーボードオプションが、前記行の利用可能なスペースを超えるかどうかを判定するステップと、
前記追加のキーボードオプションが前記行の前記利用可能なスペースを超えると判定したことに応じて、更なるキーボードオプションのアフォーダンスを表示するステップと、
を更に含む、請求項１または２に記載の方法。
【請求項４】
前記更なるキーボードオプションのアフォーダンスが、第２のドットの配列を含む、請求項３に記載の方法。
【請求項５】
１つ以上のキーボードオプションの前記行におけるスクロールジェスチャを受信するステップと、
前記スクロールジェスチャを受信したことに応じて、
前記１つ以上のキーボードオプションを表示することを中止し、前記追加のキーボードオプションのうちの少なくともいくつかを前記行に表示するステップと、
を更に含み、前記追加のキーボードオプションが、前記１つ以上のキーボードオプションとは異なる、請求項１から４のいずれか一項に記載の方法。
【請求項６】
前記キーボードオプション及び前記追加のキーボードオプションのいずれかが、予測テキスト入力、絵文字、頻繁に使用される入力、及び書式設定機能からなる群から選択されるアフォーダンスを含む、請求項１から５のいずれか一項に記載の方法。
【請求項７】
前記キーボードオプション及び前記追加のキーボードオプションのいずれかが、サードパーティアプリケーションについてのアフォーダンスを提供する、請求項１から６のいずれか一項に記載の方法。
【請求項８】
仮想キーボードに追加のキーボードオプションを提供するための電子デバイスであって、
ディスプレイと
タッチ感知面と、
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備え、前記１つ以上のプログラムは、前記メモリ内に記憶され、前記１つ以上のプロセッサによって実行されるように構成され、前記１つ以上のプログラムは、
英数字キーと、前記英数字キーの上方又は下方に設けられた１つ以上のキーボードオプションの行とを含む前記仮想キーボードを表示し、ここで、前記１つ以上のキーボードオプションのそれぞれが第１の表示サイズで表示され、
追加のキーボードオプションが利用可能であることを判定し、
追加のキーボードオプションが利用可能であるという判定に従って、前記行内に追加のキーボードオプションのアフォーダンスを表示し、前記行内に前記追加のキーボードオプションのアフォーダンスを表示することに合わせて、前記１つ以上のキーボードオプションの各キーボードオプションを、そのキーボードオプションが前記行内に前記第１の表示サイズよりも小さい第２の表示サイズで表示されるようにサイズ変更し、
前記追加のキーボードのアフォーダンスの選択が検出されると、前記１つ以上のキーボードオプションのうちの少なくともいくつかを表示することを中止し、前記追加のキーボードオプションのうちの少なくともいくつかを前記行に表示する
命令を含む、電子デバイス。
【請求項９】
前記追加のキーボードオプションのアフォーダンスが、第１のドットの配列を含む、請求項８に記載の電子デバイス。
【請求項１０】
前記１つ以上のプログラムは、
前記追加のキーボードオプションが、前記行の利用可能なスペースを超えるかどうかを判定し、
前記追加のキーボードオプションが前記行の前記利用可能なスペースを超えると判定したことに応じて、更なるキーボードオプションのアフォーダンスを表示する
命令を含む、請求項８または９に記載の電子デバイス。
【請求項１１】
前記１つ以上のプログラムは、
１つ以上のキーボードオプションの前記行におけるスクロールジェスチャを受信し、
前記スクロールジェスチャを受信したことに応じて、
前記１つ以上のキーボードオプションを表示することを中止し、前記追加のキーボードオプションのうちの少なくともいくつかを前記行に表示する
命令を含み、前記追加のキーボードオプションが、前記１つ以上のキーボードオプションとは異なる、請求項８から１０のいずれか一項に記載の電子デバイス。
【請求項１２】
前記キーボードオプション及び前記追加のキーボードオプションのいずれかが、予測テキスト入力、絵文字、頻繁に使用される入力、及び書式設定機能からなる群から選択されるアフォーダンスを含む、請求項８から１１のいずれか一項に記載の電子デバイス。
【請求項１３】
前記キーボードオプション及び前記追加のキーボードオプションのいずれかが、サードパーティアプリケーションについてのアフォーダンスを提供する、請求項８から１２のいずれか一項に記載の電子デバイス。
【請求項１４】
仮想キーボードに追加キーボードオプションを提供するためのコンピュータプログラムであって、前記コンピュータプログラムが命令を含み、前記命令は、タッチ感知ディスプレイを備える電子デバイスによって実行されると、前記デバイスに、
英数字キーと、前記英数字キーの上方又は下方に設けられた１つ以上のキーボードオプションの行とを含む前記仮想キーボードを表示させ、ここで、前記１つ以上のキーボードオプションのそれぞれが第１の表示サイズで表示され、
追加のキーボードオプションが利用可能であることを判定させ、
追加のキーボードオプションが利用可能であるという判定に従って、前記行内に追加のキーボードオプションのアフォーダンスを表示させ、前記行内に前記追加のキーボードオプションのアフォーダンスを表示することに合わせて、前記１つ以上のキーボードオプションの各キーボードオプションを、そのキーボードオプションが前記行内に前記第１の表示サイズよりも小さい第２の表示サイズで表示されるようにサイズ変更させ、
前記追加のキーボードオプションのアフォーダンスの選択が検出されると、前記１つ以上のキーボードオプションのうちの少なくともいくつかを表示することを中止させ、前記追加のキーボードオプションのうちの少なくともいくつかを前記行に表示させる、コンピュータプログラム。
【請求項１５】
前記追加のキーボードオプションのアフォーダンスが、第１のドットの配列を含む、請求項１４に記載のコンピュータプログラム。
【請求項１６】
前記デバイスによって実行されると、前記デバイスに、
前記追加のキーボードオプションが、前記行の利用可能なスペースを超えるかどうかを判定させ、
前記追加のキーボードオプションが前記行の前記利用可能なスペースを超えると判定したことに応じて、更なるキーボードオプションのアフォーダンスを表示させる
命令を更に含む、請求項１４または１５に記載のコンピュータプログラム。
【請求項１７】
前記更なるキーボードオプションのアフォーダンスが、第２のドットの配列を含む、請求項１６に記載のコンピュータプログラム。
【請求項１８】
前記デバイスによって実行されると、前記デバイスに、
１つ以上のキーボードオプションの前記行におけるスクロールジェスチャを受信させ、
前記スクロールジェスチャを受信したことに応じて、
前記１つ以上のキーボードオプションを表示することを中止させ、前記追加のキーボードオプションのうちの少なくともいくつかを前記行に表示させる
命令を更に含み、前記追加のキーボードオプションが、前記１つ以上のキーボードオプションとは異なる、請求項１４から１７のいずれか一項に記載のコンピュータプログラム。
【請求項１９】
前記キーボードオプション及び前記追加のキーボードオプションのいずれかが、予測テキスト入力、絵文字、頻繁に使用される入力、及び書式設定機能からなる群から選択されるアフォーダンスを含む、請求項１４から１８のいずれか一項に記載のコンピュータプログラム。
【請求項２０】
前記キーボードオプション及び前記追加のキーボードオプションのいずれかが、サードパーティアプリケーションについてのアフォーダンスを提供する、請求項１４から１９のいずれか一項に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は概して、限定するものではないが、キーボードインタフェース機能を提供するタッチ感知面を備える電子デバイスを含む、タッチ感知面を備える電子デバイスに関する。
【背景技術】
【０００２】
ポータブル電子デバイスが発展し続け、これらのデバイスにより実行される機能の数が増大するにつれて、特にキーボード機能に関して、ユーザが簡単に多機能デバイスと双方向作用することを可能にするユーザインタフェースを達成するためには、大きな課題が残る。これは、ディスプレイのサイズが変動するが、インタフェースは同様のままであり得る、タッチ感知ディスプレイを備えたハンドヘルドポータブルデバイスについて特に有意である。いくつかのインタフェースは、ユーザが記憶しなければならない特定の機能を達成するために、キーシーケンス及びメニュー階層を複雑にする結果となり、そのようなデバイスのアクセス可能性及びユーティライゼーションを困難にすることがある。ユーザが手でデバイスの両側を把持し、親指でタイプする時にキーボード上でタイプするにはディスプレイがユーザには大きすぎるいくつかの場合には、キーボードインタフェースはユーザ入力には理想的でない。したがって、ほとんどの通常のユーザインタフェースは、融通が利かず、ポータブル電子デバイス上での全ての動作のために単一のインタフェースを提供する。
【０００３】
したがって、キーボードインタフェース機能のための、より速く、より効率的な方法及びインタフェースを備える電子デバイスが必要とされている。
【発明の概要】
【０００４】
本発明の実施形態は、従来のタッチスクリーン入力インタフェース及びそれとインタフェースするための方法を補完する、又はそれに代わる方法及びインタフェースを提供する。
【０００５】
タッチ感知面を備える電子デバイス用のユーザインタフェースに関連付けられた、上記の欠陥及び他の問題点は、開示されるデバイスによって低減されるか、又は取り除かれる。いくつかの実施形態では、このデバイスは、デスクトップコンピュータである。いくつかの実施形態では、このデバイスは、ポータブル（例えば、ノートブックコンピュータ、タブレットコンピュータ、又はハンドヘルドデバイス）である。いくつかの実施形態では、このデバイスは、パーソナル電子デバイス（例えば、携帯時計などの装着型電子デバイス）である。いくつかの実施形態では、このデバイスは、タッチパッドを有する。いくつかの実施形態では、このデバイスは、グラフィカルユーザインタフェース（ＧＵＩ）、１つ以上のプロセッサ、メモリ、及び複数の機能を実行するためにメモリに記憶された１つ以上のモジュール、プログラム、又は命令セットを有する。いくつかの実施形態では、ユーザは主にタッチ感知面上でのスタイラス及び／又は指の接触及びジェスチャを介してＧＵＩと対話する。いくつかの実施形態では、機能は、画像編集、描画、プレゼンティング、ワードプロセッシング、スプレッドシート生成、ゲームのプレイ、発呼／通話、テレビ会議、電子メール、インスタントメッセージング、フィットネスサポート、デジタル写真、デジタル動画、ブラウジング、デジタル音楽の再生、メモ、及び／又は、デジタルビデオの再生を任意選択的に含む。これらの機能を実行するための実行可能命令は、非一時的コンピュータ可読記憶媒体又は１つ以上のプロセッサによって実行されるように構成された他のコンピュータプログラム製品に、任意選択的に含まれる。
【０００６】
いくつかの実施形態によれば、タッチ感知ディスプレイを備える電子デバイスで、方法が実行される。この方法は、タッチ感知ディスプレイ上に、第１のキーボード（仮想キーボード）を表示することを含む。第１のキーボードは、第１の言語と関連付けられた文字のセットに対応する第１のキーのセットと、タッチ感知ディスプレイ上の場所に表示された第１の特定キーとを備える。第１の特定キーは、第１の機能と関連付けられている。第１のキーボードは、第１のキーのセットのいずれかの選択が、テキスト領域に、第１の言語に対応する１つ以上の文字を表示するように構成される。この方法はまた、第２のキーボードを表示するための選択を受信することを含む。次いで、選択を受信したことに応じて、タッチ感知ディスプレイ上に第２のキーボードを表示する。第２のキーボードは、第１の言語と関連付けられた文字のセットに対応する第２のキーのセットと、その場所に表示された第２の特定キーとを備える。第２の特定キーは、第１の機能とは異なる第２の機能と関連付けられている。第２の機能は、第２のキーボード及び第３のキーボードを含むキーボード間でトグルする。第２のキーボードは、第２のキーのセットのいずれかの選択が、テキスト領域に、第１の言語とは異なる第２の言語に対応する１つ以上の文字を表示するように構成される。
【０００７】
一部の実施形態によれば、タッチ感知ディスプレイを備える電子デバイスで、方法が実行される。この方法は、英数字キーと、英数字キーの上方又は下方に設けられた１つ以上のキーボードオプションの行とを備える仮想キーボードを表示することを含む。この方法はまた、追加のキーボードオプションが利用可能かどうかを判定することを含む。次いで、追加のキーボードオプションが利用可能であるという判定に従って、この方法は、行内に追加のキーボードオプションのアフォーダンスを表示することを含む。次いで、追加のキーボードオプションのアフォーダンスの選択が検出されると、この方法は、１つ以上のキーボードオプションのうちの少なくともいくつかを表示することを中止し、追加のキーボードオプションのうちの少なくともいくつかを行に表示することを含む。
【０００８】
いくつかの実施形態によれば、方法は、ディスプレイ及びタッチ感知面を備えた電子デバイスにおいて実行される。この方法は、第１のサイズの領域を占める第１の複数の仮想キーを備える第１の仮想キーボードを表示することを含む。第１の複数の仮想キーは、専用のマルチキーボードキーを含む。次いで、専用のマルチキーボードキーの選択が検出されると、この方法は、第１の仮想キーボードを表示することを中止し、第２の仮想キーボードを表示することを含む。第２の仮想キーボードは、第２の複数の仮想キー、及び第２の複数の仮想キーに隣接する別個のユーザ入力領域を備える。第２の複数の仮想キーは、第１のサイズよりも小さい第２のサイズの領域を占める。
【０００９】
いくつかの実施形態によれば、方法は、ディスプレイ及びタッチ感知面を備えた電子デバイスにおいて実行される。この方法は、タッチ感知ディスプレイ上に、仮想キーボードを表示することを含む。次いで、ジェスチャの検出に応じて、この方法は、仮想キーボードを表示することを中止し、タッチ感知ディスプレイの垂直方向縁部に隣接して設けられたコンパクトな仮想キーボードを表示することを含む。コンパクトな仮想キーボードは、仮想キーボードよりも小さい。
【００１０】
いくつかの実施形態によれば、電子デバイスは、ユーザインタフェースを表示し、ユーザの接触を受信するように構成されたタッチ感知ディスプレイユニットと、タッチ感知ディスプレイユニットと結合された処理ユニットとを含む。処理ユニットは、タッチ感知ディスプレイ上での第１のキーボードの表示を可能化するように構成される。第１のキーボードは、第１の言語と関連付けられた文字のセットに対応する第１のキーのセットと、第１の機能と関連付けられ、タッチ感知ディスプレイ上の場所に表示された第１の特定キーとを備える。第１のキーボードは、第１のキーのセットのいずれかの選択が、テキスト領域に、第１の言語に対応する１つ以上の文字を表示するように構成される。処理ユニットは、第２のキーボードの表示を可能化するための選択を受信するように更に構成される。選択を受信したことに応じて、処理ユニットは、タッチ感知ディスプレイ上での第２のキーボードの表示を可能化する。第２のキーボードは、第１の言語と関連付けられた文字のセットに対応する第２のキーのセットと、その場所に表示された第２の特定キーとを備える。第２の特定キーは、第１の機能とは異なる第２の機能と関連付けられている。第２の機能は、第２のキーボード及び第３のキーボードを含むキーボード間でトグルする。第２のキーボードは、第２のキーのセットのいずれかの選択が、テキスト領域に、第１の言語とは異なる第２の言語に対応する１つ以上の文字を表示するように構成される。
【００１１】
いくつかの実施形態によれば、電子デバイスは、ユーザインタフェースを表示し、ユーザの接触を受信するように構成されたタッチ感知ディスプレイユニットと、タッチ感知ディスプレイユニットと結合された処理ユニットとを含む。処理ユニットは、英数字キーと、英数字キーの上方又は下方に設けられた１つ以上のキーボードオプションの行とを備える仮想キーボードの表示を可能化するように構成される。処理ユニットは、追加のキーボードオプションが利用可能かどうかを判定するように更に構成される。追加のキーボードオプションが利用可能であるという判定に従って、処理ユニットは、行内での追加のキーボードオプションのアフォーダンスの表示を可能化するように更に構成される。追加のキーボードオプションのアフォーダンスの選択が検出されると、処理ユニットは、１つ以上のキーボードオプションのうちの少なくともいくつかの表示を可能化することを中止し、行における追加のキーボードオプションのうちの少なくともいくつかの表示を可能化するように更に構成される。
【００１２】
いくつかの実施形態によれば、電子デバイスは、ユーザインタフェースを表示し、ユーザの接触を受信するように構成されたタッチ感知ディスプレイユニットと、タッチ感知ディスプレイユニットと結合された処理ユニットとを含む。処理ユニットは、第１のサイズの領域を占める第１の複数の仮想キーを備える第１の仮想キーボードの表示を可能化するように構成される。第１の複数の仮想キーは、専用のマルチキーボードキーを含む。専用のマルチキーボードキーの選択を検出すると、処理ユニットは、第１の仮想キーボードの表示を可能化することを中止し、第２の仮想キーボードの表示を可能化するように更に構成される。第２の仮想キーボードは、第２の複数の仮想キー、及び第２の複数の仮想キーに隣接する別個のユーザ入力領域を備える。第２の複数の仮想キーは、第１のサイズよりも小さい第２のサイズの領域を占める。
【００１３】
いくつかの実施形態によれば、電子デバイスは、ユーザインタフェースを表示し、ユーザの接触を受信するように構成されたタッチ感知ディスプレイユニットと、タッチ感知ディスプレイユニットと結合された処理ユニットとを含む。処理ユニットは、タッチ感知ディスプレイ上での仮想キーボードの表示を可能化するように構成される。ジェスチャの検出に応じて、処理ユニットは、仮想キーボードの表示を可能化することを中止し、タッチ感知ディスプレイユニットの垂直方向縁部に隣接して設けられたコンパクトな仮想キーボードの表示を可能化するように更に構成される。コンパクトな仮想キーボードは、仮想キーボードよりも小さい。
【００１４】
いくつかの実施形態によれば、電子デバイスは、ディスプレイ、タッチ感知面、タッチ感知面との接触の強度を検出するための任意選択の１つ以上のセンサ、１つ以上のプロセッサ、メモリ、及び１つ以上のプログラムを含み、１つ以上のプログラムは、メモリ内に記憶され、１つ以上のプロセッサによって実行されるように構成されており、１つ以上のプログラムは、本明細書で説明する方法のうちのいずれかの動作を実行する又はその実行を行わせる命令を含む。いくつかの実施形態によれば、コンピュータ可読記憶媒体は、その内部に命令を記憶しており、その命令は、ディスプレイ、タッチ感知面、及びタッチ感知面との接触の強度を検出するための任意選択の１つ以上のセンサを備える電子デバイスによって実行されると、そのデバイスに、本明細書で説明する方法のうちのいずれかの動作を実行させる又はその実行を行わせる。いくつかの実施形態によれば、ディスプレイ、タッチ感知面、タッチ感知面との接触の強度を検出するための任意選択の１つ以上のセンサ、メモリ、及びメモリ内に記憶された１つ以上のプログラムを実行するための１つ以上のプロセッサを有する電子デバイス上のグラフィカルユーザインタフェースは、本明細書で説明する方法のいずれかにおいて表示される要素のうちの１つ以上を含み、それらの要素は、本明細書で説明する方法のいずれかで説明されるように、入力に応じて更新される。いくつかの実施形態によれば、電子デバイスは、ディスプレイ、タッチ感知面、及びタッチ感知面との接触の強度を検出するための任意選択の１つ以上のセンサ、本明細書で説明する方法のうちのいずれかの動作を実行する又はその実行を行わせるための手段を含む。いくつかの実施形態によれば、ディスプレイ、タッチ感知面、及びタッチ感知面との接触の強度を検出するための任意選択の１つ以上のセンサを備える電子デバイス内で使用するための情報処理装置が、本明細書で説明する方法のうちのいずれかの動作を実行する又はその実行を行わせるための手段を含む。
【００１５】
したがって、キーボード入力のためのより効率的なユーザインタフェースを有するタッチ感知ディスプレイを備えるポータブル電子装置に対するニーズがある。そのようなインタフェースにより、キーボード上でのタイピングを含むタスクを、ユーザがより高速にかつより効率的に実行することが可能になり、それにより、電力が節約され、ポータブル電子デバイスにおけるバッテリ充電の間隔が延びる。更に、そのようなインタフェースは、ポータブル電子デバイスの有効性及びそのユーザ満足度を増大させる。かかる方法及びインタフェースは、キーボード間のトグルのための従来の方法を補完するか、又は取って代わり得る。
【図面の簡単な説明】
【００１６】
説明される様々な実施形態のより良好な理解のために、以下の図面と併せて、以下の「実施形態の説明」を参照されたく、類似の参照番号は、それらの図の全体を通じて対応する部分を指す。
【００１７】
【図１Ａ】いくつかの実施形態に係る、タッチ感知ディスプレイを備えるポータブル多機能デバイスを示すブロック図である。
【００１８】
【図１Ｂ】いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。
【００１９】
【図２】いくつかの実施形態に係る、タッチスクリーンを有するポータブル多機能デバイスを示す図である。
【００２０】
【図３】いくつかの実施形態に係る、タッチ感知ディスプレイを備える例示的な多機能デバイスを示すブロック図である。
【００２１】
【図４】いくつかの実施形態に係る、ポータブル多機能デバイス上のアプリケーションのメニューのための例示的なユーザインタフェースを示す図である。
【００２２】
【図５Ａ】いくつかの実施形態に係る、複数のキーボード間でトグルするための例示的なユーザインタフェースを示す図である。
【図５Ｂ】いくつかの実施形態に係る、複数のキーボード間でトグルするための例示的なユーザインタフェースを示す図である。
【図５Ｃ】いくつかの実施形態に係る、複数のキーボード間でトグルするための例示的なユーザインタフェースを示す図である。
【図５Ｄ】いくつかの実施形態に係る、複数のキーボード間でトグルするための例示的なユーザインタフェースを示す図である。
【図５Ｅ】いくつかの実施形態に係る、複数のキーボード間でトグルするための例示的なユーザインタフェースを示す図である。
【図５Ｆ】いくつかの実施形態に係る、複数のキーボード間でトグルするための例示的なユーザインタフェースを示す図である。
【００２３】
【図６Ａ】いくつかの実施形態に係る、図５Ａ〜図５Ｆに示された複数のキーボード間でトグルする方法を示すフローチャートである。
【図６Ｂ】いくつかの実施形態に係る、図５Ａ〜図５Ｆに示された複数のキーボード間でトグルする方法を示すフローチャートである。
【００２４】
【図７】いくつかの実施形態に係る、複数のキーボード間でトグルするためのモジュールを示す電子デバイスの機能ブロック図である。
【００２５】
【図８Ａ】いくつかの実施形態に係る、仮想キーボードに追加のキーボードオプションを提供するための例示的なユーザインタフェースを示す図である。
【図８Ｂ】いくつかの実施形態に係る、仮想キーボードに追加のキーボードオプションを提供するための例示的なユーザインタフェースを示す図である。
【図８Ｃ】いくつかの実施形態に係る、仮想キーボードに追加のキーボードオプションを提供するための例示的なユーザインタフェースを示す図である。
【図８Ｄ】いくつかの実施形態に係る、仮想キーボードに追加のキーボードオプションを提供するための例示的なユーザインタフェースを示す図である。
【図８Ｅ】いくつかの実施形態に係る、仮想キーボードに追加のキーボードオプションを提供するための例示的なユーザインタフェースを示す図である。
【図８Ｆ】いくつかの実施形態に係る、仮想キーボードに追加のキーボードオプションを提供するための例示的なユーザインタフェースを示す図である。
【図８Ｇ】いくつかの実施形態に係る、仮想キーボードに追加のキーボードオプションを提供するための例示的なユーザインタフェースを示す図である。
【図８Ｈ】いくつかの実施形態に係る、仮想キーボードに追加のキーボードオプションを提供するための例示的なユーザインタフェースを示す図である。
【図８Ｉ】いくつかの実施形態に係る、仮想キーボードに追加のキーボードオプションを提供するための例示的なユーザインタフェースを示す図である。
【００２６】
【図９Ａ】いくつかの実施形態に係る、図８Ａ〜図８Ｉに示された仮想キーボードに追加のキーボードオプションを提供するための方法を示すフローチャートである。
【図９Ｂ】いくつかの実施形態に係る、図８Ａ〜図８Ｉに示された仮想キーボードに追加のキーボードオプションを提供するための方法を示すフローチャートである。
【００２７】
【図１０】いくつかの実施形態に係る、仮想キーボードに追加のキーボードオプションを提供するためのモジュールを示す電子デバイスの機能ブロック図である。
【００２８】
【図１１Ａ】いくつかの実施形態に係る、仮想キーボードモードを選択するための例示的なユーザインタフェースを示す図である。
【図１１Ｂ】いくつかの実施形態に係る、仮想キーボードモードを選択するための例示的なユーザインタフェースを示す図である。
【図１１Ｃ】いくつかの実施形態に係る、仮想キーボードモードを選択するための例示的なユーザインタフェースを示す図である。
【図１１Ｄ】いくつかの実施形態に係る、仮想キーボードモードを選択するための例示的なユーザインタフェースを示す図である。
【図１１Ｅ】いくつかの実施形態に係る、仮想キーボードモードを選択するための例示的なユーザインタフェースを示す図である。
【００２９】
【図１２】いくつかの実施形態に係る、図１１Ａ〜図１１Ｅに示された仮想キーボードモードを選択するための方法を示すフローチャートである。
【００３０】
【図１３】いくつかの実施形態に係る、仮想キーボードモードを選択するためのモジュールを示す電子デバイスの機能ブロック図である。
【００３１】
【図１４Ａ】いくつかの実施形態に係る、コンパクトな仮想キーボードモードを選択するための例示的なユーザインタフェースを示す図である。
【図１４Ｂ】いくつかの実施形態に係る、コンパクトな仮想キーボードモードを選択するための例示的なユーザインタフェースを示す図である。
【図１４Ｃ】いくつかの実施形態に係る、コンパクトな仮想キーボードモードを選択するための例示的なユーザインタフェースを示す図である。
【図１４Ｄ】いくつかの実施形態に係る、コンパクトな仮想キーボードモードを選択するための例示的なユーザインタフェースを示す図である。
【図１４Ｅ】いくつかの実施形態に係る、コンパクトな仮想キーボードモードを選択するための例示的なユーザインタフェースを示す図である。
【図１４Ｆ】いくつかの実施形態に係る、コンパクトな仮想キーボードモードを選択するための例示的なユーザインタフェースを示す図である。
【００３２】
【図１５】いくつかの実施形態に係る、図１４Ａ〜図１４Ｆに示されたコンパクトな仮想キーボードを選択するための方法を示すフローチャートである。
【００３３】
【図１６】いくつかの実施形態に係る、コンパクトな仮想キーボードを選択するためのモジュールを示す電子デバイスの機能ブロック図である。
【発明を実施するための形態】
【００３４】
キーボードインタフェース機能を提供するための多くの異なる取組みについて本明細書で説明する。これらの取組みのうちの１つ以上を（任意選択的に互いと併せて）使用することによって、ユーザからの入力の数、範囲、及び／又は性質が低減し、より多くの効率的なヒューマン−マシンインタフェースが提供される。これは、ユーザが、より高速かつより効率的に、タッチ感知面を有するデバイスとのキーボードインタフェースを使用することを可能にする。バッテリ動作デバイスに関しては、これらの改善により、電力が節約され、バッテリを充電する間隔が増大する。説明を簡単にするために、これらの方法のうちのいくつかの例示的な例を含む、デバイス及び方法が以下で説明されている。
図１Ａは、タッチ感知ディスプレイを備えるポータブル多機能デバイスを示すブロック図を示す。詳細なメモリモジュール、デバイスモジュール、チップモジュール及びＩ／Ｏモジュールブロックの双方向作用が示されている。
図１Ｂは、イベント処理のための例示的な構成要素を示すブロック図を示す。
図２は、いくつかの実施形態に係る、タッチスクリーンを有するポータブル多機能デバイスを示す。
図３は、タッチ感知ディスプレイを備える例示的な多機能デバイスを示すブロック図である。
図４は、ポータブル多機能デバイス上のアプリケーションのメニューのための例示的なユーザインタフェースを示す。
図５Ａ〜図５Ｆは、複数のキーボード間でトグルするための例示的なユーザインタフェースを示す。図６Ａ〜図６Ｂは、複数のキーボード間でトグルする方法を示すフローチャートである。図５Ａ〜図５Ｆのユーザインタフェースを使用して、図６Ａ〜図６Ｂのプロセスを示す。
図８Ａ〜図８Ｉは、仮想キーボードに追加のキーボードオプションを提供するための例示的なユーザインタフェースを示す図である。図９Ａ〜図９Ｂは、仮想キーボードに追加のキーボードオプションを提供するための方法を示すフローチャートである。図９Ａ〜図９Ｂのプロセスを示すために、図８Ａ〜図８Ｉのユーザインタフェースを使用する。
図１１Ａ〜図１１Ｅは、仮想キーボードモードを選択するための例示的なユーザインタフェースを示す。図１２は、仮想キーボードモードを選択する方法を示すフローチャートである。図１２のプロセスを説明するために、図１１Ａ〜図１１Ｅのユーザインタフェースを使用する。
図１４Ａ〜図１４Ｆは、コンパクトな仮想キーボードを選択するための例示的なユーザインタフェースを示す。図１５は、コンパクトな仮想キーボードを選択する方法を示すフローチャートである。図１５のプロセスを説明するために、図１４Ａ〜図１４Ｆのユーザインタフェースを使用する。
例示的なデバイス
【００３５】
ここで、添付図面に実施例が示される実施形態を、詳細に参照する。以下の詳細な説明では、説明されている様々な実施形態の完全な理解を提供するために数多くの具体的な詳細が記載されている。しかしながら、説明されている様々な実施形態は、これらの具体的な詳細を伴わずとも実践し得ることが、当業者には明らかであろう。他の例においては、周知の方法、手続き、構成要素、回路、及びネットワークは、実施形態の態様を不必要に不明瞭なものとしないよう、詳細には説明されていない。
【００３６】
本明細書では、第１、第２などの用語は、一部の実施例で、様々な要素を説明するために使用されるが、これらの要素は、それらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されている様々な実施形態の範囲から逸脱することなく、第１の接触は、第２の接触と称することができ、同様に、第２の接触は、第１の接触と称し得る。文脈がそうではないことを明確に示さない限り、第１の接触及び第２の接触は両方接触であるが、それらは同じ接触ではない。
【００３７】
本明細書で説明される様々な実施形態の説明で使用される用語法は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。説明される様々な実施形態の説明及び添付の特許請求の範囲で使用される時、単数形「ａ」、「ａｎ」、及び「ｔｈｅ」は、文脈がそうではないことを明確に示さない限り、複数形もまた含むことが意図される。本明細書で使用される時に、用語「及び／又は」が、関連する列挙された項目のうちの１つ以上の全ての可能な任意の組み合わせを指し、かつこれを含むことをもまた理解されたい。更に、用語「ｉｎｃｌｕｄｅｓ（含む）」、「ｉｎｃｌｕｄｉｎｇ（含む）」、「ｃｏｍｐｒｉｓｅｓ（備える）」、及び／又は「ｃｏｍｐｒｉｓｉｎｇ（備える）」は、本明細書で使用される場合、記述される特徴、整数、ステップ、動作、要素、及び／又は構成要素の存在を指定するが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び／又はそれらの群の存在若しくは追加を排除するものではないことが理解されるであろう。
【００３８】
本明細書で使用される時、用語「ｉｆ（〜の場合には）」は、任意選択的に、文脈に応じて「ｗｈｅｎ（〜の時）」、「ｕｐｏｎ（〜すると）」、「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ（〜という判定に応じて）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ（〜の検出に応じて）」を意味するものと解釈される。同様に、語句「ｉｆ  ｉｔ  ｉｓ  ｄｅｔｅｒｍｉｎｅｄ（〜と判定される場合には）」又は「ｉｆ  （ａ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ）  ｉｓ  ｄｅｔｅｃｔｅｄ（（記述される条件又はイベント）が検出される場合には）」は、任意選択的に、文脈に応じて「ｕｐｏｎ  ｄｅｔｅｒｍｉｎｉｎｇ（〜と判定されると）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｒｍｉｎｉｎｇ（〜との判定に応じて）」、又は「ｕｐｏｎ  ｄｅｔｅｃｔｉｎｇ（ｔｈｅ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ）（（記述される条件又はイベント）が検出されると）」、又は「ｉｎ  ｒｅｓｐｏｎｓｅ  ｔｏ  ｄｅｔｅｃｔｉｎｇ（ｔｈｅ  ｓｔａｔｅｄ  ｃｏｎｄｉｔｉｏｎ  ｏｒ  ｅｖｅｎｔ）（（記述される条件又はイベント）の検出に応じて）」を意味するものと解釈される。
【００３９】
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用するための関連プロセスの、実施形態を説明する。いくつかの実施形態では、このデバイスは、ＰＤＡ機能及び／又は音楽プレーヤ機能などの、他の機能も含む、モバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態は、限定を伴わずに、Ｃａｌｉｆｏｒｎｉａ州ＣｕｐｅｒｔｉｎｏのＡｐｐｌｅ  Ｉｎｃ．のｉＰｈｏｎｅ（登録商標）、ｉＰｏｄ  Ｔｏｕｃｈ（登録商標）、及びｉＰａｄ（登録商標）デバイスを含む。タッチ感知面（例えば、タッチスクリーンディスプレイ及び／又はタッチパッド）を備えたラップトップ又はタブレットコンピュータなど他のポータブル電子デバイスも、任意選択的に使用できる。また、いくつかの実施形態では、このデバイスはポータブル通信デバイスではなく、タッチ感知面（例えば、タッチスクリーンディスプレイ及び／又はタッチパッド）を備えたデスクトップコンピュータであることを理解されたい。
【００４０】
以下の論考では、ディスプレイ及びタッチ感知面を備える電子デバイスを説明する。しかし、この電子デバイスが、物理キーボード、マウス、及び／又はジョイスティックなどの１つ以上の他の物理ユーザインタフェースデバイスを任意選択的に含むことを理解されたい。
【００４１】
そのデバイスは、一般的に、ノートテイキングアプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、ビデオ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、フィットネスアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション、及び／又はデジタルビデオプレーヤアプリケーションのうちの１つ以上など、様々なアプリケーションをサポートする。
【００４２】
このデバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも１つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の１つ以上の機能並びにデバイス上に表示される対応する情報は、１つのアプリケーションから次のアプリケーションへ、及び／又は対応するアプリケーションの中で、任意選択的に、調整、及び／又は変更される。この方式で、そのデバイスの共通の（タッチ感知面などの）物理アーキテクチャは、ユーザにとって直観的かつ透過的なユーザインタフェースを有する様々なアプリケーションを、任意選択的にサポートする。
【００４３】
ここで、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図１Ａは、いくつかの実施形態に係る、タッチ感知ディスプレイ１１２を備えたポータブル多機能デバイス１００を示すブロック図である。タッチ感知ディスプレイ１１２は、時には便宜上「タッチスクリーン」と称され、時には単に「タッチ感知ディスプレイ」と称されることもある。デバイス１００は、メモリ１０２（任意選択的に、１つ以上のコンピュータ可読記憶媒体を含む）、メモリコントローラ１２２、１つ以上の処理ユニット（ＣＰＵ）１２０、周辺機器インタフェース１１８、ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロホン１１３、入出力（Ｉ／Ｏ）サブシステム１０６、他の入力又は制御デバイス１１６、及び外部ポート１２４を含む。デバイス１００は、１つ以上の光センサ１６４を、任意選択的に含む。デバイス１００は、デバイス１００（例えば、デバイス１００のタッチ感知ディスプレイ１１２などのタッチ感知面）上での接触の強度を検出するための１つ以上の強度センサ１６５を、任意選択的に含む。デバイス１００は、デバイス１００上に触知出力を生成する（例えば、デバイス１００のタッチ感知ディスプレイ１１２又はデバイス３００のタッチパッド３５５などの、タッチ感知面上に触知出力を生成する）ための、１つ以上の触知出力生成器１６７を、任意選択的に含む。これらの構成要素は、１つ以上の通信バス又は信号ライン１０３を介して、任意選択的に通信する。
【００４４】
本明細書及び特許請求の範囲で使用される時、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するデバイスの物理的変位、デバイスの構成要素（例えば、タッチ感知面）の、デバイスの別の構成要素（例えば、筐体）に対する物理的変位、又はデバイスの量心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面（例えば、ユーザの手の指、手のひら、又は他の部分）に接触している状況において、物理的変位によって生成された触知出力は、デバイス又はデバイスの構成要素の物理的特性の認識された変化に相当する触感として、ユーザによって解釈される。例えば、タッチ感知面（例えば、タッチ感知ディスプレイ又はトラックパッド）の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に解釈される。いくつかの場合、ユーザの移動により物理的に押された（例えば、変位された）タッチ感知面に関連付けられた物理アクチュエータボタンの移動がない時でさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない時でさえ、タッチ感知面の「粗さ」としてユーザによって、任意選択的に解釈又は感じられる。このようなユーザによるタッチの解釈は、ユーザの個別の感覚認知によるが、大多数のユーザに共通したタッチの感覚認知が数多くある。したがって、触知出力が、ユーザの特定の感覚認知（例えば、「アップクリック」「ダウンクリック」、「粗さ」）に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な（又は、平均的な）ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
【００４５】
デバイス１００は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス１００は、示されるものよりも多いか又は少ない構成要素を任意選択的に有するか、２つ以上の構成要素を任意選択的に組み合わせるか、又は構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。図１Ａに示す様々な構成要素は、１つ以上の信号処理回路及び／又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせで実装することができる。
【００４６】
メモリ１０２は、任意選択的に高速ランダムアクセスメモリを含み、また任意選択的に、１つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体メモリデバイスなどの、不揮発性メモリも含む。ＣＰＵ（単数又は複数）１２０及び周辺機器インタフェース１１８などの、デバイス１００の他の構成要素によるメモリ１０２へのアクセスは、メモリコントローラ１２２により、任意選択的に制御される。
【００４７】
周辺機器インタフェース１１８を使用して、このデバイスの入力及び出力周辺機器を、ＣＰＵ（単数又は複数）１２０及びメモリ１０２に結合することができる。１つ以上のプロセッサ１２０は、デバイス１００のための様々な機能を実行するため並びにデータ処理を行うために、メモリ１０２に記憶された様々なソフトウェアプログラム及び／若しくは命令セットを走らせたり、又は実行したりする。
【００４８】
いくつかの実施形態では、周辺機器インタフェース１１８、ＣＰＵ（単数又は複数）１２０、及びメモリコントローラ１２２は、任意選択的に、チップ１０４などの単一チップ上に実装される。いくつかの他の実施形態において、これらは、個別のチップ上に、任意選択的に実装される。
【００４９】
ＲＦ（無線周波数）回路１０８は、電磁信号とも呼ばれるＲＦ信号を送受信する。ＲＦ回路１０８は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。ＲＦ回路１０８は、アンテナシステム、ＲＦ送受信機、１つ以上の増幅器、同調器、１つ以上の発振器、デジタル信号プロセッサ、ＣＯＤＥＣチップセット、加入者識別モジュール（ＳＩＭ）カード、メモリなどを含むがこれらに限定されない、上記の機能を実行するための周知の回路を、任意選択的に含む。ＲＦ回路１０８は、インターネット情報検索システム（ＷＷＷ）とも呼ばれるインターネットなどのネットワーク、セルラー電話ネットワークなどのイントラネット及び／又は無線ネットワーク、ワイアレスローカルエリアネットワーク（ＬＡＮ）及び／又はメトロポリタンエリアネットワーク（ＭＡＮ）、及び他のデバイスと無線通信によって、任意選択的に通信する。無線通信は、移動通信用グローバルシステム（ＧＳＭ（登録商標））、エンハンストデータＧＳＭ環境（ＥＤＧＥ（登録商標））、高速ダウンリンクパケットアクセス（ＨＳＤＰＡ）、高速アップリンクパケットアクセス（ＨＳＵＰＡ）、Ｅｖｏｌｕｔｉｏｎ，Ｄａｔａ−Ｏｎｌｙ（ＥＶ−ＤＯ）、ＨＳＰＡ、ＨＳＰＡ＋、２重セルＨＳＰＡ（ＤＣ−ＨＳＰＤＡ）、ロングタームエボリューション（ＬＴＥ（登録商標））、近距離無線通信（ＮＦＣ）、広帯域符号分割多元接続（Ｗ−ＣＤＭＡ）、符号分割多元接続（ＣＤＭＡ）、時分割多元接続（ＴＤＭＡ）、Ｂｌｕｅｔｏｏｔｈ、Ｗｉｒｅｌｅｓｓ Ｆｉｄｅｌｉｔｙ（Ｗｉ−Ｆｉ（登録商標））（例えば、ＩＥＥＥ  ８０２．１１ａ、ＩＥＥＥ  ８０２．１１ａｃ、ＩＥＥＥ  ８０２．１１ａｘ、ＩＥＥＥ  ８０２．１１ｂ、ＩＥＥＥ  ８０２．１１ｇ及び／又はＩＥＥＥ  ８０２．１１ｎ）、ボイスオーバーインターネットプロトコル（ＶｏＩＰ）、Ｗｉ−ＭＡＸ（登録商標）、電子メール用のプロトコル（例えば、インターネットメッセージアクセスプロトコル（ＩＭＡＰ）及び／又はポストオフィスプロトコル（ＰＯＰ））、インスタントメッセージング（例えば、ｅｘｔｅｎｓｉｂｌｅ  ｍｅｓｓａｇｉｎｇ  ａｎｄ  ｐｒｅｓｅｎｃｅ  ｐｒｏｔｏｃｏｌ（ＸＭＰＰ）、Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ  ａｎｄ  Ｐｒｅｓｅｎｃｅ  Ｌｅｖｅｒａｇｉｎｇ  Ｅｘｔｅｎｓｉｏｎｓ（ＳＩＭＰＬＥ）、Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ  ａｎｄ  Ｐｒｅｓｅｎｃｅ  Ｓｅｒｖｉｃｅ（ＩＭＰＳ））、及び／又はショートメッセージサービス（ＳＭＳ）、若しくは本願の出願日の時点でまだ開発されていない通信プロトコルを含む任意の他の好適な通信プロトコルを含むがこれらに限定されない複数の通信規格、プロトコル、及び技術のうちのいずれかを、任意選択的に使用する。
【００５０】
オーディオ回路１１０、スピーカ１１１及びマイクロホン１１３は、ユーザとデバイス１００との間のオーディオインタフェースを提供する。オーディオ回路１１０は、周辺機器インタフェース１１８からオーディオデータを受信し、オーディオデータを電気信号に変換し、電気信号をスピーカ１１１に送信する。スピーカ１１１は、電気信号を人間の可聴音波に変換する。オーディオ回路１１０は、マイクロホン１１３により音波から変換された電気信号も受信する。オーディオ回路１１０は、電気信号をオーディオデータに変換し、処理するためにオーディオデータを周辺機器インタフェース１１８に送信する。オーディオデータは、周辺機器インタフェース１１８によって任意選択的に、メモリ１０２及び／若しくはＲＦ回路１０８から取り込まれ、並びに／又はメモリ１０２及び／若しくはＲＦ回路１０８へ送信される。いくつかの実施形態において、オーディオ回路１１０は更にヘッドセットジャック（例えば、図２の２１２）を備える。ヘッドセットジャックは、オーディオ回路１１０と、出力専用ヘッドホン又は出力（例えば、片耳又は両耳用のヘッドホン）及び入力（例えば、マイクロホン）の両方を持つヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
【００５１】
Ｉ／Ｏサブシステム１０６は、周辺機器インタフェース１１８と、タッチ感知ディスプレイ１１２及び他の入力又は制御デバイス１１６などのデバイス１００の入出力周辺機器を結合する。Ｉ／Ｏサブシステム１０６は、ディスプレイコントローラ１５６、光センサコントローラ１５８、強度センサコントローラ１５９、触覚フィードバックコントローラ１６１、及び他の入力又は制御デバイス用の１つ以上の入力コントローラ１６０を、任意選択的に含む。１つ以上の入力コントローラ１６０は、他の入力又は制御デバイス１１６から／へ電気信号を受信／送信する。他の入力又は制御デバイス１１６は、物理ボタン（例えば、プッシュボタン、ロッカボタンなど）、ダイヤル、スライダースイッチ、ジョイスティック、クリックホイールなどを、任意選択的に含む。いくつかの代替的実施形態において、入力コントローラ（単数又は複数）１６０は、キーボード、赤外線ポート、ＵＳＢポート、スタイラス、及び／又はマウスなどのポインタデバイスのうちのいずれかと、任意選択的に結合される（又は、いずれにも結合されない）。１つ以上のボタン（例えば、図２の２０８）は、スピーカ１１１及び／又はマイクロホン１１３の音量調節のためのアップ／ダウンボタンを、任意選択的に含む。１つ以上のボタンは、プッシュボタン（例えば、図２の２０６）を、任意選択的に含む。
【００５２】
タッチ感知ディスプレイ１１２は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ１５６は、タッチ感知ディスプレイ１１２から／への電気信号を受信し及び／又は送信する。タッチ感知ディスプレイ１１２は、ユーザに視覚出力を表示する。視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びこれらの任意の組み合わせ（総称して「グラフィック」と称する）を、任意選択的に含む。いくつかの実施形態では、視覚出力の一部又は全ては、ユーザインタフェースオブジェクトに対応する。本明細書で使用する場合、用語「アフォーダンス」は、ユーザ対話型グラフィカルユーザインタフェースオブジェクト（例えば、グラフィカルユーザインタフェースオブジェクトに向かってダイレクトされる入力に応答するように構成されたグラフィカルユーザインタフェースオブジェクト）を指す。ユーザ対話型グラフィカルユーザインタフェースオブジェクトの例としては、ボタン、スライダ、アイコン、選択可能なメニュー項目、スイッチ、ハイパーリンク、タング、ページングドット、又は他のユーザインタフェース制御が挙げられるが、これに限定されるものではない。
【００５３】
タッチ感知ディスプレイ１１２は、触覚及び／若しくは触感の接触に基づくユーザからの入力を受け付けるタッチ感知面、センサ、又はセンサのセットを有している。タッチ感知ディスプレイ１１２及びディスプレイコントローラ１５６（メモリ１０２内の任意の関連モジュール及び／又は命令セットと共に）は、タッチ感知ディスプレイ１１２上で接触（及び任意の動作又は接触の中断）を検出し、検出された接触をタッチ感知ディスプレイ１１２上に表示されたユーザインタフェースオブジェクト（例えば、１つ以上のソフトキー、アイコン、ウェブページ、又は画像）との対話に変換する。ある例示的な実施形態では、タッチ感知ディスプレイ１１２とユーザとの間の接触は、ユーザの指又はスタイラスに対応する。
【００５４】
タッチ感知ディスプレイ１１２は、任意選択的に、ＬＣＤ（液晶ディスプレイ）技術、ＬＰＤ（発光ポリマーディスプレイ）技術、又はＬＥＤ（発光ダイオード）技術を使用するが、他の実施形態では、他のディスプレイ技術が使用される。タッチ感知ディスプレイ１１２及びディスプレイコントローラ１５６は、静電容量技術、抵抗性技術、赤外線技術、及び表面超音波技術、並びに、タッチ感知ディスプレイ１１２との１つ以上の接触点を判定するための他の近接センサアレイ又は他の要素を含むが、これらに限定されない、現在公知の若しくは後日に開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及び任意の移動又はその中断を、任意選択的に検出する。ある例示的な実施形態では、Ｃａｌｉｆｏｒｎｉａ州ＣｕｐｅｒｔｉｎｏのＡｐｐｌｅＩｎｃ．からのｉＰｈｏｎｅ（登録商標）、ｉＰｏｄ  Ｔｏｕｃｈ（登録商標）、及びｉＰａｄ（登録商標）などにおいて見られるような、投影された相互キャパシタンス検知技術が使用されている。
【００５５】
タッチ感知ディスプレイ１１２は、任意選択的に、１００ｄｐｉを超える映像解像度を有する。いくつかの実施形態では、タッチスクリーンの映像解像度は、４００ｄｐｉ以上（例えば、５００ｄｐｉ、８００ｄｐｉ、又はそれより大きい）である。ユーザは、スタイラス、指などの任意の好適なオブジェクト又は付属器を使用して、タッチ感知ディスプレイ１１２と、任意選択的に接触する。いくつかの実施形態では、ユーザインタフェースは、指に基づく接触及びジェスチャで機能するように設計され、タッチスクリーン上の指の接触面積が広いことにより、スタイラスに基づく入力よりも精度が低いことがある。いくつかの実施形態において、デバイスは、粗い指に基づく入力を正確なポインタ／カーソル位置又はユーザの望むアクションを実行するためのコマンドに変換する。
【００５６】
いくつかの実施形態では、タッチスクリーンに加えて、デバイス１００は、特定の機能をアクティブ化又は非アクティブ化させるためのタッチパッド（図示せず）を、任意選択的に含む。いくつかの実施形態において、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。
【００５７】
デバイス１００はまた、様々な構成要素に電力を供給するための電力システム１６２も含む。電力システム１６２は、任意選択的に、電力管理システム、１つ以上の電源（例えば、バッテリ、交流（ＡＣ））、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態標識（例えば、発光ダイオード（ＬＥＤ））、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
【００５８】
デバイス１００はまた、１つ以上の光センサ１６４も、任意選択的に含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の光センサコントローラ１５８と結合された光センサを示す。光センサ（単数又は複数）１６４は、電荷結合デバイス（ＣＣＤ）又は相補的金属酸化物半導体（ＣＭＯＳ）フォトトランジスタを、任意選択的に含む。光センサ（単数又は複数）１６４は、１つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。撮像モジュール１４３（カメラモジュールとも称する）と併用して、光センサ（単数又は複数）１６４は、静止画像及び／又は映像を、任意選択的にキャプチャする。いくつかの実施形態において、タッチスクリーンを静止画像及び／又は映像取得のためのビューファインダとして有効化されるように、光センサは、デバイスの前面のタッチ感知ディスプレイ１１２の反対側である、デバイス１００の背面に配置されている。いくつかの実施形態において、（例えば、セルフィーの場合、ユーザがタッチスクリーン上で他のビデオ会議参加者を見ながらビデオ会議するための場合など）ユーザの画像を得るように、別の光センサがデバイスの前面に配置される。
【００５９】
デバイス１００はまた、１つ以上の接触強度センサ１６５も任意選択的に含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の強度センサコントローラ１５９と結合された接触強度センサを示す。接触強度センサ（単数又は複数）１６５は、１つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ（例えば、タッチ感知面上の接触の力（又は圧力）を測定するために使用するセンサ）を、任意選択的に含む。接触強度センサ（単数又は複数）１６５は、環境から接触強度情報（例えば、圧力情報又は圧力情報のプロキシ）を受信する。いくつかの実施形態では、少なくとも１つの接触強度センサが、タッチ感知面（例えば、タッチ感知ディスプレイ１１２）に併置されているか、又は近接している。いくつかの実施形態では、少なくとも１つの接触強度センサが、デバイス１００の前面に配置されたタッチスクリーンディスプレイシステム１１２の反対側である、デバイス１００の背面に配置されている。
【００６０】
デバイス１００は、１つ以上の近接センサ１６６も、任意選択的に含む。図１Ａは、周辺機器インタフェース１１８と結合された近接センサ１６６を示す。あるいは、近接センサ１６６は、Ｉ／Ｏサブシステム１０６内の入力コントローラ１６０と結合される。いくつかの実施形態では、多機能デバイスがユーザの耳の近くに配置されている場合（例えば、ユーザが電話通話を行っている場合）、近接センサがオフになり、タッチ感知ディスプレイ１１２が無効になる。
【００６１】
デバイス１００はまた、１つ以上の触知出力生成器１６７も任意選択的に含む。図１Ａは、Ｉ／Ｏサブシステム１０６内の触覚フィードバックコントローラ１６１と結合された触知出力生成器を示す。触知出力生成器（単数又は複数）１６７は、スピーカ又は他の音声構成要素などの１つ以上の電気音響デバイス、及び／又はモータ、ソレノイド、電気活性ポリマ、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力構成要素（例えば、デバイス上で電気信号を触知出力に変換する構成要素）などの、エネルギーを直線運動に変換する電気機械デバイスを、任意選択的に含む。触知出力生成器（単数又は複数）１６７は、触覚フィードバックモジュール１３３から触覚フィードバック生成命令を受信し、デバイス１００のユーザが感知できる触知出力をデバイス１００上で生成する。いくつかの実施形態において、少なくとも１つの触知出力生成器は、タッチ感知面（例えば、タッチ感知ディスプレイ１１２）と併置されているか、又は近接しており、任意選択的に、タッチ感知面を垂直方向に（例えば、デバイス１００の表面の内／外）又は横方向（例えば、デバイス１００の表面と同じ平面の前後方向）に移動することによって、触知出力を生成する。いくつかの実施形態では、少なくとも１つの触知出力生成器センサは、デバイス１００の前面に配置されたタッチ感知ディスプレイ１１２の反対側である、デバイス１００の背面に配置されている。
【００６２】
デバイス１００はまた、１つ以上の加速度計１６８も任意選択的に含む。図１Ａは、周辺機器インタフェース１１８と結合された加速度計１６８を示す。あるいは、加速度計１６８は、Ｉ／Ｏサブシステム１０６内の入力コントローラ１６０と、任意選択的に、結合される。いくつかの実施形態では、情報は、１つ以上の加速度計から受信したデータの分析に基づいて、ポートレートビュー又はランドスケープビューでタッチスクリーンディスプレイ上に表示される。デバイス１００は、必要に応じて、加速度計（単数又は複数）１６８に加えて、磁力計（図示せず）並びにデバイス１００の位置及び向き（例えば、ポートレート又はランドスケープ）に関する情報を取得するためのＧＰＳ（又はＧＬＯＮＡＳＳ又は他のグローバルナビゲーションシステム）受信部（図示せず）を、任意選択的に含む。
【００６３】
いくつかの実施形態では、メモリ１０２に記憶されたソフトウェア構成要素は、オペレーティングシステム１２６、通信モジュール（又は命令セット）１２８、接触／動きモジュール（又は命令セット）１３０、グラフィックモジュール（又は命令セット）１３２、触覚フィードバックモジュール（又は命令セット）１３３、テキスト入力モジュール（又は命令セット）１３４、全地球測位システム（ＧＰＳ）モジュール（又は命令セット）１３５、及びアプリケーション（又は命令セット）１３６を含む。更に、いくつかの実施形態では、図１Ａ及び図３に示すように、メモリ１０２はデバイス／グローバル内部状態１５７を記憶する。デバイス／グローバル内部状態１５７は、以下の１つ以上を含む：現在アクティブ状態のアプリケーションがあれば、どのアプリケーションがアクティブかを示す、アクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチ感知ディスプレイ１１２の様々な領域を占領しているかを示す、表示状態、デバイスの様々なセンサ及び他の入力又は制御デバイス１１６から得られる情報を含む、センサ状態、並びに、デバイスの位置及び／又は姿勢に関する位置及び／又はポジション情報。
【００６４】
オペレーティングシステム１２６（例えば、ｉＯＳ（登録商標）、Ｄａｒｗｉｎ（登録商標）、ＲＴＸＣ（登録商標）、ＬＩＮＵＸ（登録商標）、ＵＮＩＸ（登録商標）、ＯＳ  Ｘ（登録商標）、ＷＩＮＤＯＷＳ（登録商標）、又はＶｘＷｏｒｋｓ（登録商標）などの組み込みオペレーティングシステム）は、一般的なシステムタスク（例えば、メモリ管理、記憶デバイス制御、電力管理など）を制御及び管理するための様々なソフトウェア構成要素及び／又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
【００６５】
通信モジュール１２８は、１つ以上の外部ポート１２４を介して他のデバイスとの通信を容易にし、ＲＦ回路１０８及び／又は外部ポート１２４が受信したデータを処理するための様々なソフトウェア構成要素を含む。外部ポート１２４（例えば、ユニバーサルシリアルバス（ＵＳＢ）、ＦＩＲＥＷＩＲＥ（登録商標）など）は、直接的に、又はネットワーク（例えば、インターネット、無線ＬＡＮなど）を介して間接的に他のデバイスに結合するように適合される。いくつかの実施形態では、外部ポートは、Ｃａｌｉｆｏｒｎｉａ州ＣｕｐｅｒｔｉｎｏのＡｐｐｌｅ  Ｉｎｃ．のｉＰｈｏｎｅ（登録商標）、ｉＰｏｄ  Ｔｏｕｃｈ（登録商標）及びｉＰａｄ（登録商標）デバイス上で使用される３０ピンコネクタと同一の、又はこれに類似した及び／若しくは互換性のあるマルチピン（例えば、３０ピン）コネクタである。いくつかの実施形態では、外部ポートは、Ｃａｌｉｆｏｒｎｉａ州ＣｕｐｅｒｔｉｎｏのＡｐｐｌｅ  Ｉｎｃ．のｉＰｈｏｎｅ（登録商標）、ｉＰｏｄ  Ｔｏｕｃｈ（登録商標）及びｉＰａｄ（登録商標）デバイス上で使用されるＬｉｇｈｔｎｉｎｇ（登録商標）コネクタと同一の、又はこれに類似した及び／若しくは互換性のあるＬｉｇｈｔｎｉｎｇコネクタである。
【００６６】
接触／動きモジュール１３０は、任意選択的に、（ディスプレイコントローラ１５６と併せて）タッチ感知ディスプレイ１１２との接触、及び他のタッチ感知デバイス（例えば、タッチパッド又は物理クリックホイール）との接触を検出する。接触／動きモジュール１３０は、接触が発生したかどうかの判定（例えば、フィンガーダウンイベントの検出）、接触の強度（例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代用語）の判定、接触の移動及びタッチ感知面にわたる動きの追跡（例えば、１つ以上のフィンガードラッグイベントの検出）があるかどうかの判定、及び接触が中止したかどうか（例えば、フィンガーアップイベント又は接触の中断の検出）の判定などの、（例えば、指による、又はスタイラスによる）接触の検出に関係する様々な動作を実行するための様々なソフトウェア構成要素を含む。接触／動きモジュール１３０は、タッチ感知面から接触データを受信する。一連の接触データにより表される接触点の移動を判定することは、接触点の速さ（大きさ）、速度（大きさ及び方向）、及び／又は加速度（大きさ及び／又は方向の変化）を判定することを、任意選択的に含む。これらの動作は、任意選択的に、単一の接触（例えば、１つの指の接触又はスタイラスの接触）又は複数の同時接触（例えば、「マルチタッチ」／複数の指の接触）に適用される。いくつかの実施形態において、接触／動きモジュール１３０及びディスプレイコントローラ１５６は、タッチパッド上の接触を検出する。
【００６７】
接触／動きモジュール１３０は、任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン（例えば、異なる動き、タイミング、及び／又は検出された接触の強度）を有する。したがって、ジェスチャは、特定の接触パターンを検出することによって、任意選択的に検出される。例えば、指のタップジェスチャを検出することは、フィンガーダウンイベントを検出し、続いて（例えば、アイコンの位置での）そのフィンガーダウンイベントと同じ位置（又は、実質的に同じ位置）でフィンガーアップ（リフトオフする）イベントを検出することを含む。他の実施例として、タッチ感知面でのフィンガースワイプジェスチャの検出は、フィンガーダウンイベントを検出し、続いて１つ以上のフィンガードラッグイベントを検出し、その後、フィンガーアップ（リフトオフ）イベントを検出することを含む。同様に、タップ、スワイプ、ドラッグ及び他のジェスチャは、スタイラスについて、そのスタイラスに対する特定の接触パターンを検出することによって任意選択的に検出される。
【００６８】
グラフィックモジュール１３２は、表示されるグラフィックの視覚的効果（例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性）を変更するための構成要素を含めた、タッチ感知ディスプレイ１１２又は他のディスプレイ上にグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。本明細書で使用する時、用語「グラフィック」は、ユーザに対して表示することができる任意のオブジェクトを含み、それらのオブジェクトとしては、テキスト、ウェブページ、アイコン（ソフトキーを含むユーザインタフェースオブジェクトなど）、デジタル画像、ビデオ、アニメーションなどが挙げられるが、これらに限定されない。
【００６９】
いくつかの実施形態において、グラフィックモジュール１３２は、使用されるグラフィックを表すデータを記憶する。それぞれのグラフィックには、対応するコードが、任意選択的に割り当てられる。グラフィックモジュール１３２は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィックプロパティデータと共に、表示されるグラフィックを指定する１つ以上のコードを受信し、次にディスプレイコントローラ１５６に出力する画面画像データを生成する。
【００７０】
触覚フィードバックモジュール１３３は、デバイス１００とのユーザ対話に応じて、デバイス１００上の１つ以上の場所で触知出力を生成するために、触知出力生成器（単数又は複数）１６７によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
【００７１】
テキスト入力モジュール１３４は、任意選択的に、グラフィックモジュール１３２の構成要素であり、様々なアプリケーション（例えば、連絡先１３７、電子メール１４０、ＩＭ１４１、ブラウザ１４７、及びテキスト入力を必要とする任意の他のアプリケーション）でテキストを入力するための、ソフトキーボードを提供する。言語モジュール１３４−１は、任意選択的に、テキスト入力モジュール１３４の構成要素であり、キーボードからのキーストローク選択と関連付けられる言語を提供する。そのモジュールは、複数の言語を含み、管理することができる。オートコレクト／辞書モジュール１３４−２は、任意選択的に、言語モジュール１３４−１の構成要素であり、選択された言語と関連付けられる辞書を提供する。オートコレクト／辞書モジュール１３４−２はまた、選択された言語を用いたオートコレクト機能を提供するよう構成され得る。
【００７２】
ＧＰＳモジュール１３５は、デバイスの位置を判定し、この情報を様々なアプリケーションで使用するために提供する（例えば、ロケーションベースダイアル発呼で使用するための電話１３８へ、ピクチャ／ビデオのメタデータとしてカメラ１４３へ、並びに気象ウィジェット、地方のイエローページウィジェット、及び地図／ナビゲーションウィジェットなどのロケーションベースのサービスを提供するアプリケーションへ）。
【００７３】
アプリケーション１３６は、任意選択的に以下のモジュール（又は、命令のセット）、又はそれらの部分集合若しくは上位集合を含む。
・連絡先モジュール１３７（時には、アドレス帳又は連絡先リストとも呼ぶ）、
・電話モジュール１３８、
・ビデオ会議モジュール１３９、
・電子メールクライアントモジュール１４０、
・インスタントメッセージ（ＩＭ）モジュール１４１、
・フィットネスモジュール１４２、
・静止画像及び／又はビデオ用のカメラモジュール１４３、
・画像管理モジュール１４４、
・ブラウザモジュール１４７、
・カレンダーモジュール１４８、
・気象ウィジェット１４９−１、株式ウィジェット１４９−２、計算機ウィジェット１４９−３、アラーム時計ウィジェット１４９−４、辞書ウィジェット１４９−５、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット１４９−６のうちの１つ以上を任意選択的に含む、ウィジェットモジュール１４９、
・ユーザ作成ウィジェット１４９−６を作るためのウィジェットクリエータモジュール１５０、
・検索モジュール１５１、
・任意選択的にビデオプレーヤモジュールと音楽プレーヤモジュールで構成された、ビデオ及び音楽プレーヤモジュール１５２、
・メモモジュール１５３、
・地図モジュール１５４、及び／又は
・オンラインビデオモジュール１５５。
【００７４】
任意選択的にメモリ１０２内に記憶される他のアプリケーション１３６の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、ＪＡＶＡ（登録商標）対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【００７５】
タッチ感知ディスプレイ１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と共に、連絡先モジュール１３７は、（例えば、メモリ１０２又はメモリ３７０内の連絡先モジュール１３７のアプリケーション内部状態１９２に記憶された）アドレス帳又は連絡先リストを管理するための実行可能命令を含み、この管理には、アドレス帳に名前（単数又は複数）を追加すること、アドレスブックから名前（単数又は複数）を削除すること、電話番号（単数又は複数）、メールアドレス（単数又は複数）、住所（単数又は複数）、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類して振り分けること、電話番号及び／又はメールアドレスを提供して、電話１３８、テレビ会議１３９、メール１４０、若しくはＩＭ１４１による通信を開始させる及び／又は容易にすること、などが含まれる。
【００７６】
ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロホン１１３、タッチ感知ディスプレイ１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、及びテキスト入力モジュール１３４と併せて、電話モジュール１３８は、電話番号と対応する一連の文字を入力し、アドレス帳１３７内の１つ以上の電話番号にアクセスし、入力されている電話番号を修正し、対応する電話番号をダイヤルし、会話を遂行し、会話が完了した際に接続を切るか又は電話を切るための実行可能命令を含む。上述のように、無線通信は、複数の通信規格、プロトコル、及び技術のうちのいずれかを任意選択的に使用する。
【００７７】
ＲＦ回路１０８、オーディオ回路１１０、スピーカ１１１、マイクロホン１１３、タッチ感知ディスプレイ１１２、ディスプレイコントローラ１５６、光センサ（単数又は複数）１６４、光センサコントローラ１５８、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、連絡先リスト１３７、及び電話モジュール１３８と併せて、ビデオ会議モジュール１３９は、ユーザの指示に従って、ユーザと１人以上の他の参加者との間のビデオ会議を開始し、行い、終了するための、実行可能命令を含む。
【００７８】
ＲＦ回路１０８、タッチ感知ディスプレイ１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、言語モジュール１３４−１、及びオートコレクト／辞書モジュール１３４−２と関連して、電子メールクライアントモジュール１４０は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理するための、実行可能命令を含む。画像管理モジュール１４４と併せて、電子メールクライアントモジュール１４０により、カメラモジュール１４３で撮影した静止画像又は映像を作成し、電子メールを送信することが非常に簡単になる。
【００７９】
ＲＦ回路１０８、タッチ感知ディスプレイ１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、言語モジュール１３４−１、及びオートコレクト／辞書モジュール１３４−２と関連して、インスタントメッセージングモジュール１４１は、インスタントメッセージに対応する一連の文字を入力し、従前に入力された文字を修正し、（例えば、電話ベースのインスタントメッセージ用のショートメッセージサービス（ＳＭＳ）若しくはマルチメディアメッセージサービス（ＭＭＳ）プロトコルを使用して、又はインターネットベースのインスタントメッセージ用のＸＭＰＰ、ＳＩＭＰＬＥ、アップルプッシュ通知サービス（ＡＰＮ）若しくはＩＭＰＳを使用して）それぞれのインスタントメッセージを送信し、インスタントメッセージを受信し、受信されたインスタントメッセージを見るための、実行可能命令を含む。いくつかの実施形態では、送信及び／又は受信されたインスタントメッセージは、ＭＭＳ及び／又は拡張メッセージングサービス（ＥＭＳ）でサポートされるように、グラフィック、写真、オーディオファイル、映像ファイル、及び／又は他の添付を、任意選択的に含む。本明細書では、「インスタントメッセージ」とは、電話ベースのメッセージ（例えば、ＳＭＳ又はＭＭＳを使用して送信されたメッセージ）及びインターネットベースのメッセージ（例えば、ＸＭＰＰ、ＳＩＭＰＬＥ、ＡＰＮ又はＩＭＰＳを使用して送信されたメッセージ）の両方を意味する。
【００８０】
ＲＦ回路１０８、タッチ感知ディスプレイ１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５、地図モジュール１５４、及び音楽プレーヤモジュール１４６と併せて、フィットネスモジュール１４２は、（例えば、時間、距離、及び／又はカロリー消費目標を有する）フィットネスプランを生成する、（スポーツデバイス及びスマートウォッチの中の）フィットネスセンサと通信する、フィットネスセンサデータを受信する、フィットネスプランをモニタリングするために使用されるセンサを較正する、フィットネスプラン用の、又はフィットネスプラン中に音楽を選択して再生する、並びに、フィットネスデータを表示、記憶、及び送信するための、実行可能命令を含む。
【００８１】
タッチ感知ディスプレイ１１２、ディスプレイコントローラ１５６、光センサ（単数又は複数）１６４、光センサコントローラ１５８、接触モジュール１３０、グラフィックモジュール１３２、及び画像管理モジュール１４４と併せて、カメラモジュール１４３は、静止画像又はビデオ（ビデオストリームを含む）をキャプチャしてメモリ１０２にそれらを記憶したり、静止画像又はビデオの特徴を変更したり、及び／又はメモリ１０２から静止画像若しくは動画を削除したりするための、実行可能命令を含む。
【００８２】
タッチ感知ディスプレイ１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィクモジュール１３２、テキスト入力モジュール１３４、及びカメラモジュール１４３と関連して、画像管理モジュール１４４は、静止画像及び／又はビデオを配置し、修正し（例えば、編集し）及び別の方法で操作し、ラベルを付け、削除し、提示し（例えば、デジタルスライドショー又はアルバム内で）、並びに記憶したりするための実行可能命令を含む。
【００８３】
ＲＦ回路１０８、タッチ感知ディスプレイ１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、言語モジュール１３４−１、及びオートコレクト／辞書モジュール１３４−２と関連して、ブラウザモジュール１４７は、ウェブページ又はその諸部分、並びにウェブページにリンクされた添付ファイル及び他のファイルを検索すること、リンクすること、受信すること、及び表示することを含めた、ユーザの指示に従ってインターネットを閲覧するための、実行可能命令を含む。
【００８４】
ＲＦ回路１０８、タッチ感知ディスプレイ１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、言語モジュール１３４−１、オートコレクト／辞書モジュール１３４−２、電子メールクライアントモジュール１４０、及びブラウザモジュール１４７と関連して、カレンダーモジュール１４８は、ユーザの指示に従って、カレンダー、及びカレンダーに関連付けられたデータ（例えば、カレンダー項目、ｔｏ  ｄｏリストなど）を作成し、表示し、修正し、記憶するための、実行可能命令を含む。
【００８５】
ＲＦ回路１０８、タッチ感知ディスプレイ１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びブラウザモジュール１４７と関連して、ウィジェットモジュール１４９は、ユーザによって任意選択的にダウンロードされ、使用されるミニアプリケーション（例えば、気象ウィジェット１４９−１、株式ウィジェット１４９−２、計算機ウィジェット１４９−３、アラーム時計ウィジェット１４９−４、及び辞書ウィジェット１４９−５）、又はユーザによって作成されるミニアプリケーション（例えば、ユーザ作成ウィジェット１４９−６）である。いくつかの実施形態では、ウィジェットは、ＨＴＭＬ（ハイパーテキストマークアップ言語）ファイル、ＣＳＳ（カスケーディングスタイルシート）ファイル、及びＪａｖａＳｃｒｉｐｔファイルを含む。いくつかの実施形態では、ウィジェットは、ＸＭＬ（拡張可能マークアップ言語）ファイル及びＪａｖａＳｃｒｉｐｔ（登録商標）ファイル（例えば、Ｙａｈｏｏ！（登録商標）ウィジェット）を含む。
【００８６】
ＲＦ回路１０８、タッチ感知ディスプレイ１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、及びブラウザモジュール１４７と関連して、ウィジェットクリエータモジュール１５０は、ウィジェットを作成する（例えば、ウェブページのユーザ指定箇所をウィジェットに変える）ための実行可能命令を含む。
【００８７】
タッチ感知ディスプレイ１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、言語モジュール１３４−１、及びオートコレクト／辞書モジュール１３４−２と関連して、検索モジュール１５１は、ユーザの指示に従って、１つ以上の検索基準（例えば、１つ以上のユーザ指定の検索条件）に一致する、メモリ１０２内のテキスト、音楽、音声、画像、ビデオ、及び／又は他のファイルを検索するための、実行可能命令を含む。
【００８８】
タッチ感知ディスプレイ１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィクモジュール１３２、オーディオ回路１１０、スピーカ１１１、ＲＦ回路１０８、及びブラウザモジュール１４７と関連して、ビデオ及び音楽プレーヤモジュール１５２は、ＭＰ３ファイル又はＡＡＣファイルなどの１つ以上のファイル形式で記憶された録音済みの音楽又は他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能命令、並びにビデオを（タッチ感知ディスプレイ１１２上又は外部ポート１２４を介して接続された外部のディスプレイ上に）表示、提示、又は別の方法で再生するための実行可能命令を含む。いくつかの実施形態において、デバイス１００は、任意選択的に、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の登録商標）などのＭＰ３プレーヤの機能を含む。
【００８９】
タッチ感知ディスプレイ１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、言語モジュール１３４−１、及びオートコレクト／辞書モジュール１３４−２と関連して、メモモジュール１５３は、ユーザの指示に従って、メモ、ｔｏ  ｄｏリストなどを作成及び管理するための、実行可能命令を含む。
【００９０】
ＲＦ回路１０８、タッチ感知ディスプレイ１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、テキスト入力モジュール１３４、言語モジュール１３４−１、オートコレクト／辞書モジュール１３４−２、ＧＰＳモジュール１３５、及びブラウザモジュール１４７と関連して、地図モジュール１５４は、ユーザの指示に従って、地図、及び地図と関連付けられたデータ（例えば、運転の方向、特定の場所若しくはその付近の店舗及び関心対象の他の地点についてのデータ、並びに場所に基づく他のデータ）を受信し、表示し、修正し、記憶するための、実行可能命令を含む。
【００９１】
タッチ感知ディスプレイ１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックモジュール１３２、オーディオ回路１１０、スピーカ１１１、ＲＦ回路１０８、テキスト入力モジュール１３４、言語モジュール１３４−１、オートコレクト／辞書モジュール１３４−２、電子メールクライアントモジュール１４０、及びブラウザモジュール１４７と関連して、オンラインビデオモジュール１５５は、ユーザが、特定のオンラインビデオにアクセスし、閲覧し、（例えば、ストリーミング及び／又はダウンロードによって）受信し、（例えば、タッチスクリーン１１２上で、又は無線で若しくは外部ポート１２４を介して接続された外部のディスプレイ上で）再生し、そのオンラインビデオへのリンクを有する電子メールを送信し、また他の方式で、Ｈ．２６４などの１つ以上のファイル形式でオンラインビデオを管理することが可能となる、実行可能命令を含む。いくつかの実施形態においては、電子メールクライアントモジュール１４０ではなく、インスタントメッセージモジュール１４１が、特定のオンライン映像へのリンクを送信するために用いられる。
【００９２】
上記で識別されたモジュール及びアプリケーションのそれぞれは、１つ又はそれ以上の上記の機能を実行するための実行可能命令セット及び本出願に記載の方法（例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法）に対応する。これらのモジュール（すなわち、命令セット）は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実施形態において、任意選択的に、組み合わせ又は再配置される。いくつかの実施形態において、メモリ１０２は、上述の識別されたモジュール及びデータ構造のサブセットを、任意選択的に記憶する。更に、メモリ１０２は、上述されていない追加のモジュール及びデータ構造を、任意選択的に記憶する。
【００９３】
いくつかの実施形態では、デバイス１００は、デバイス上の機能の既定のセットの動作が排他的にタッチスクリーン及び／又はタッチパッドを介して実行されるデバイスである。機器１００の動作のための主要入力制御機器としてタッチスクリーン及び／又はタッチパッドを使用することにより、機器１００上の物理的な入力制御機器（プッシュボタン、ダイヤル、及び類似物など）の数を、任意選択的に減らす。
【００９４】
排他的にタッチスクリーン及び／又はタッチパッドを介して実行される、既定の機能のセットは、任意選択的にユーザインタフェース間のナビゲーションを含む。いくつかの実施形態において、タッチパッドは、ユーザによってタッチされると、デバイス１００上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューへデバイス１００をナビゲートする。かかる実施形態において、「メニューボタン」はタッチパッドを使って実装される。いくつかの他の実施形態におい、メニューボタンは、タッチパッドの代わりに、物理的なプッシュボタン又は他の物理的な入力制御デバイスである。
【００９５】
図１Ｂは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ１０２（図１Ａ内）又は３７０（図３）は、イベントソータ１７０（例えば、オペレーティングシステム１２６内）及びそれぞれのアプリケーション１３６−１（例えば、上述のアプリケーション１３６、１３７〜１５５、及び３８０〜３９０のいずれか）を含む。
【００９６】
イベントソータ１７０は、イベント情報を受信し、イベント情報を配信するアプリケーション１３６−１及びアプリケーション１３６−１のアプリケーションビュー１９１を決定する。イベントソータ１７０は、イベントモニタ１７１及びイベントディスパッチャモジュール１７４を含む。いくつかの実施形態では、アプリケーション１３６−１は、アプリケーションがアクティブ又は実行中の時、タッチ感知ディスプレイ１１２で上に表示される現在のアプリケーションビュー（単数又は複数）を示す、アプリケーション内部状態１９２を含む。いくつかの実施形態では、デバイス／グローバル内部状態１５７は、いずれのアプリケーション（単数又は複数）が現在アクティブであるかを判定するために、イベントソータ１７０によって使用され、アプリケーション内部状態１９２は、イベント情報の配信先となるアプリケーションビュー１９１を決定するために、イベントソータ１７０によって使用される。
【００９７】
いくつかの実施形態では、アプリケーション内部状態１９２は、アプリケーション１３６−１が実行を再開する際に使用される再開情報、アプリケーション１３６−１によって情報が表示されているか又は表示の準備が整っていることを示すユーザインタフェース状態情報、ユーザがアプリケーション１３６−１の以前の状態又はビューに戻ることを可能にするための状態待ち行列、及びユーザが以前に行ったアクションのリドゥ／アンドゥ待ち行列のうちの１つ以上などの追加情報を含む。
【００９８】
イベントモニタ１７１は、周辺機器インタフェース１１８からイベント情報を受信する。イベント情報は、サブイベント（例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ１１２上でのユーザのタッチ）についての情報を含む。周辺機器インタフェース１１８は、Ｉ／Ｏサブシステム１０６又は近接センサ１６６、加速度計（単数又は複数）１６８、及び／若しくは（オーディオ回路１１０を介して）マイクロホン１１３などのセンサから受信する情報を送信する。周辺機器インタフェース１１８がＩ／Ｏサブシステム１０６から受信する情報は、タッチ感知ディスプレイ１１２又はタッチ感知面からの情報を含む。
【００９９】
いくつかの実施形態では、イベントモニタ１７１は、所定の間隔で周辺機器インタフェース１１８に要求を送信する。これに応じて、周辺機器インタフェース１１８は、イベント情報を送信する。他の実施形態において、周辺機器インタフェース１１８は、重要なイベント（例えば、所定のノイズ閾値を超える、及び／又は所定時間より長い入力を受け付けること）がある場合にのみイベント情報を送信する。
【０１００】
いくつかの実施形態では、イベントソータ１７０はまた、ヒットビュー判定モジュール１７２及び／又はアクティブイベント認識部判定モジュール１７３も含む。
【０１０１】
ヒットビュー判定モジュール１７２は、タッチ感知ディスプレイ１１２が１つ以上のビューを表示した際に、１つ以上のビュー内のどこにおいてサブイベントが発生したかを判定するためのソフトウェア手続きを提供する。ビューは、ユーザがディスプレイ上で見ることが可能な、制御部及び他の要素で構成される。
【０１０２】
アプリケーションに関連付けられるユーザインタフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合がある、ビューのセットであり、それらの中で、情報が表示され、タッチに基づくジェスチャが実施される。タッチが検出される（それぞれのアプリケーションの）アプリケーションビューは、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに、任意選択的に対応する。例えば、タッチが検出される最低レベルのビューは、任意選択的に、ヒットビューと呼ばれ、適切な入力として認識されるイベントのセットは、少なくとも部分的に、タッチベースのジェスチャを開始する最初のタッチのヒットビューに基づいて、任意選択的に判定される。
【０１０３】
ヒットビュー判定モジュール１７２は、タッチベースのジェスチャのサブイベントと関連付けられた情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール１７２は、サブイベントを処理するべき階層内の最下位のビューとして、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、最初のサブイベント（即ち、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける最初のサブイベント）が発生する最低レベルのビューである。ヒットビューがヒットビュー判定モジュールによって識別されると、ヒットビューは、典型的には、それがヒットビューとして識別された、同じタッチ又は入力ソースに関連する全てのサブイベントを受信する。
【０１０４】
アクティブイベントレコグナイザ判定モジュール１７３は、ビュー階層内のどのビュー（単数又は複数）がサブイベントの特定のシーケンスを受信するべきかを判定する。いくつかの実施形態において、アクティブイベント認識部判定モジュール１７３は、ヒットビューのみがサブイベントの特定のシーケンスを受信するべきであると判定する。他の実施形態において、アクティブイベント認識部判定モジュール１７３は、サブイベントの物理的な位置を含む全てのビューはアクティブに関わっているビューであると判定し、したがって、全てのアクティブに関わっているビューは、サブイベントの特定のシーケンスを受信するべきであると判定する。他の実施形態では、タッチサブイベントがある特定のビューに関連付けられた領域に完全に限定されたとしても、階層の上位のビューはアクティブに関わっているビューのままであるであろう。
【０１０５】
イベントディスパッチャモジュール１７４は、イベント情報をイベント認識部（例えば、イベント認識部１８０）に送信する。アクティブイベント識別部判定モジュール１７３を含む実施形態において、イベントディスパッチャモジュール１７４は、アクティブイベント認識部判定モジュール１７３により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール１７４は、それぞれのイベント受信部モジュール１８２により取得されるイベント情報をイベント待ち行列内に記憶する。
【０１０６】
いくつかの実施形態では、オペレーティングシステム１２６は、イベントソータ１７０を含む。あるいは、アプリケーション１３６−１が、イベントソータ１７０を含む。更に他の実施形態において、イベントソータ１７０は、スタンドアロンモジュール、又は接触／動きモジュール１３０などのメモリ１０２に記憶された他のモジュールの一部である。
【０１０７】
いくつかの実施形態では、アプリケーション１３６−１は、そのアプリケーションのユーザインタフェースの各ビュー内で発生するタッチイベントを処理する命令をそれぞれが含む、複数のイベントハンドラ１９０及び１つ以上のアプリケーションビュー１９１を含む。アプリケーション１３６−１のそれぞれのアプリケーションビュー１９１は、１つ以上のイベント認識部１８０を含む。典型的に、それぞれのアプリケーョンビュー１９１は、複数のイベント認識部１８０を含む。他の実施形態において、イベント認識部１８０のうちの１つ以上は、ユーザインタフェースキット（図示せず）又はアプリケーション１３６−１が方法及び他のプロパティを継承する上位レベルのオブジェクトなど、別個のモジュールの一部である。いくつかの実施形態において、それぞれのイベントハンドラ１９０は、データアップデーター１７６、オブジェクトアップデーター１７７、ＧＵＩアップデーター１７８、及び／又はイベントソータ１７０から受信したイベントデータ１７９のうちの１つ以上を含む。イベントハンドラ１９０は、アプリケーション内部状態１９２を更新するために、データアップデーター１７６、オブジェクトアップデーター１７７、又はＧＵＩアップデーター１７８を、任意選択的に利用若しくは呼び出す。あるいは、アプリケーションビュー１９１のうちの１つ以上は、１つ以上のそれぞれのイベントハンドラ１９０を含む。また、いくつかの実施形態において、データアップデーター１７６、オブジェクトアップデーター１７７、及びＧＵＩアップデーター１７８のうちの１つ以上がそれぞれのアプリケーションビュー１９１内に含まれている。
【０１０８】
各イベント認識部１８０は、イベントソータ１７０からイベント情報（例えば、イベントデータ１７９）を受信し、そのイベント情報からイベントを特定する。イベント認識部１８０は、イベント受信部１８２及びイベント比較部１８４を含む。いくつかの実施形態において、イベント認識部１８０は更に、メタデータ１８３及びイベント配信命令１８８（任意選択的に、サブイベント配信命令を含む）の少なくともサブセットを含む。
【０１０９】
イベント受信器１８２は、イベントソータ１７０からイベント情報を受信する。イベント情報は、例えば、タッチ又はタッチの移動などのサブイベントの情報を含む。サブイベントによっては、イベント情報は、サブイベントの位置などの追加情報もまた含む。サブイベントが、タッチの動きに関わる時、イベント情報は、サブイベントの速度及び方向を、任意選択的に更に含む。いくつかの実施形態において、イベントは、ある方向から別の方向へ（例えば、ポートレートの向きからランドスケープの向きへ、又はその逆）のデバイスの回転を含み、イベント情報は、デバイスの現在の向き（デバイスの姿勢とも呼ばれる）についての対応する情報を含む。
【０１１０】
イベント比較部１８４は、イベント情報を既定のイベント又はサブイベントの定義と比較し、その比較により、イベント又はサブイベントを判定、又はイベント若しくはサブイベントの状態を判定又は更新する。いくつかの実施形態において、イベント比較部１８４は、イベント定義１８６を含む。イベント定義１８６は、例えば、イベント１（１８７−１）、イベント２（１８７−２）などの、イベントの定義（例えば、サブイベントの既定のシーケンス）を含む。いくつかの実施形態において、イベント１８７内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの中止、及び複数のタッチを含む。ある実施例において、イベント１（１８７−１）の定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上の所定の段階についての第１のタッチ（タッチ開始）、所定の段階についての第１のリフトオフ（タッチ終了）、表示されたオブジェクト上の所定の段階についての第２のタッチ（タッチ開始）、及び所定の段階についての第２のリフトオフ（タッチ終了）を含む。別の実施形態において、イベント２（１８７−２）の定義は、表示されたオブジェクト上のドラッグである。ドラッグは、例えば、表示されたオブジェクト上の所定の段階についてのタッチ（又は接触）、タッチ感知ディスプレイ１１２にわたるタッチの移動、及びタッチのリフトオフ（タッチ終了）を含む。いくつかの実施形態において、イベントは、１つ以上の関連付けられたイベントハンドラ１９０についての情報も含む。
【０１１１】
いくつかの実施形態では、イベント定義１８７は、それぞれのユーザインタフェースオブジェクト用のイベントの定義を含む。いくつかの実施形態において、イベント比較部１８４は、サブイベントに関連付けられたユーザインタフェースオブジェクトを判定するヒットテストを実行する。例えば、３つのユーザインタフェースオブジェクトがタッチ感知ディスプレイ１１２に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイ１１２上でタッチが検出されると、イベント比較部１８４は、３つのユーザインタフェースオブジェクトのうちのどれがタッチ（サブイベント）に関連付けられているかを判定するためのヒットテストを行う。表示されたそれぞれのオブジェクトが、それぞれのイベントハンドラ１９０に関連付けられている場合、イベント比較部はヒットテストの結果を用いて、アクティブ化する必要のあるイベントハンドラ１９０を判定する。例えば、イベント比較部１８４は、サブイベント及びヒットテストのトリガーとなるオブジェクトに関連付けられたイベントハンドラを選択する。
【０１１２】
いくつかの実施形態では、各イベント１８７に関する定義はまた、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまで、イベント情報の送付を遅延させる、遅延作用も含む。
【０１１３】
それぞれのイベント認識部１８０は、一連のサブイベントがイベント定義１８６のイベントのいずれとも一致しないと判定した場合、それぞれのイベント認識部１８０は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチベースのジェスチャの次のサブイベントを無視する。この状況では、もしあれば、ヒットビューについてアクティブのままである他のイベント認識部は、進行中のタッチベースのジェスチャのサブイベントの追跡及び処理を続行する。
【０１１４】
いくつかの実施形態において、それぞれのイベント認識部１８０は、構成可能なプロパティ、フラグ、及び／又はイベント配信システムがアクティブに関わっているイベント認識部にどのようにサブイベント配信を実行するかについて示すリストを持つメタデータ１８３を含む。いくつかの実施形態において、メタデータ１８３は、イベント認識部が互いにどのように対話し得るかについて示す構成可能なプロパティ、フラグ、及び／又はリストを含む。いくつかの実施形態において、メタデータ１８３は、構成可能なプロパティ、フラグ、及び／又はサブイベントがビュー階層又はプログラム階層内の様々なレベルに配信されるかどうかを示すリストを含む。
【０１１５】
いくつかの実施形態において、それぞれのイベント認識部１８０は、イベントの１つ以上の特定のサブイベントが認識された時に、イベントに関連付けられたイベントハンドラ１９０をアクティブ化する。いくつかの実施形態において、それぞれのイベント認識部１８０は、イベントハンドラ１９０に、イベントに関連付けられたイベント情報を配信する。イベントハンドラ１９０をアクティブ化することと、それぞれのヒットビューにサブイベントを送信（及び送信を延期する）することとは区別される。いくつかの実施形態において、イベント認識部１８０は、認識されたイベントに関連付けられたフラグをスローし、フラグに関連付けられたイベントハンドラ１９０はフラグをキャッチし、既定の処理を実行する。
【０１１６】
いくつかの実施形態において、イベント配信命令１８８は、イベントハンドラをアクティブ化せずにサブイベントに関するイベント情報を配信するサブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられたイベントハンドラ又はアクティブに関わっているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関わっているビューに関連付けられているイベントハンドラは、イベント情報を受信し、所定の処理を実行する。
【０１１７】
いくつかの実施形態において、データアップデーター１７６は、アプリケーション１３６−１で使用されるデータを作成及び更新する。例えば、データアップデーター１７６は、連絡先モジュール１３７で使用される電話番号を更新したり、ビデオプレーヤモジュール１４５で使用されるビデオファイルを記憶したりする。いくつかの実施形態において、オブジェクトアップデーター１７７は、アプリケーション１３６−１で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデーター１７７は、新たなユーザインタフェースオブジェクトを作成したり、ユーザインタフェースオブジェクトの位置を更新したりする。ＧＵＩアップデーター１７８は、ＧＵＩを更新する。例えば、ＧＵＩアップデーター１７８は、表示情報を準備し、タッチ感知ディスプレイ上に表示するため、表示情報をグラフィックモジュール１３２に送信する。
【０１１８】
いくつかの実施形態では、イベントハンドラ１９０は、データアップデーター１７６、オブジェクトアップデーター１７７、及びＧＵＩアップデーター１７８を含むか、若しくはそれらに対するアクセスを有する。いくつかの実施形態において、データアップデーター１７６、オブジェクトアップデーター１７７、及びＧＵＩアップデーター１７８は、それぞれのアプリケーション１３６−１又はアプリケーションビュー１９１の１つのモジュールに含まれる。他の実施形態では、それらは、２つ以上のソフトウェアモジュールに含まれる。
【０１１９】
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の論考はまた、入力デバイスを使用して多機能デバイス１００を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことが理解されよう。例えば、単一又は複数のキーボードの押下又は保持に任意選択的に合わせたマウスの移動及びマウスボタンの押下、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触移動、ペンスタイラス入力、デバイスの移動、口頭による指示、検出された眼球運動、バイオメトリック入力、及び／又はこれらの任意の組み合わせが、認識対象のイベントを定義するサブイベントに対応する入力として、任意選択的に利用される。
【０１２０】
図２は、いくつかの実施形態に係る、タッチスクリーン（図１Ａの例えば、タッチ感知ディスプレイ１１２）を有するポータブル多機能デバイス１００を示す。タッチスクリーンは、ユーザインタフェース（ＵＩ）２００内に１つ以上のグラフィックを、任意選択的に表示する。本実施形態並びに本明細書で説明する他の実施形態では、ユーザは、例えば、１本以上の指２０２（図には、正確な縮尺率では描かれていない）又は１つ以上のスタイラス２０３（図には、正確な縮尺率では描かれていない）を用いてグラフィック上でジェスチャを行うことにより、グラフィックのうちの１つ以上を選択できる。いくつかの実施形態において、ユーザが１つ以上のグラフィックとの接触を断った際に、１つ以上のグラフィックの選択が生じる。いくつかの実施形態において、ジェスチャは、１回以上のタップ、１回以上のスワイプ（左から右へ、右から左へ、上方向へ、及び／又は下方向へ）、及び／又はデバイス１００と接触した指のローリング（右から左へ、左から右へ、上方向へ、及び／又は下方向へ）を、任意選択的に含む。いくつかの実装又は状況において、グラフィックとの偶発的な接触は、グラフィックを選択しない例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスワイプするスワイプジェスチャは任意選択的に、対応するアプリケーションを選択しない。
【０１２１】
デバイス１００はまた、「ホーム」又はメニューボタン２０４などの、１つ以上の物理ボタンも任意選択的に含む。前述のように、メニューボタン２０４は、デバイス１００上で、任意選択的に、実行するアプリケーションのセット内の任意のアプリケーション１３６へのナビゲーションに、任意選択的に使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーンディスプレイ上に表示されたＧＵＩにおけるソフトキーとして実装されている。
【０１２２】
いくつかの実施形態では、デバイス１００は、タッチスクリーンディスプレイ、メニューボタン２０４、デバイスへの電源をオン／オフし、デバイスをロックするためのプッシュボタン２０６、音量調整ボタン（単数又は複数）２０８、加入者識別モジュール（Subscriber Identity Module、ＳＩＭ）カードスロット２１０、ヘッドセットジャック２１２、及びドッキング／充電用外部ポート１２４を含む。プッシュボタン２０６は、ボタンを押下して、既定の時間間隔にわたってボタンを押下された状態で保持することによって、デバイス上の電源をオン／オフし、ボタンを押下して、既定の時間間隔が経過する前にボタンを解放することによって、デバイスをロックし、かつ／又はデバイスをロック解除するか、若しくはロック解除処理を開始するために、任意選択的に使用される。いくつかの実施形態では、デバイス１００はまた、マイクロホン１１３を通して、一部の機能をアクティブ化し、又は非アクティブ化するための口頭入力を受け付ける。また、デバイス１００は、タッチ感知ディスプレイ１１２への接触の強度を検出するための１つ以上の接触強度センサ１６５及び／又はデバイス１００のユーザの触覚出力を生成するための１つ以上の触知出力生成器１６７を、任意選択的に含む。
【０１２３】
図３は、一部の実施形態による、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。デバイス３００は、ポータブルでなくてもよい。いくつかの実施形態において、デバイス３００は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、教育的デバイス（子供の学習玩具など）、ゲームシステム、又は制御デバイス（例えば、ホーム又は業務用コントローラ）である。デバイス３００は、典型的には、１つ以上の処理ユニット（ＣＰＵ）３１０と、１つ以上のネットワーク又は他の通信インタフェース３６０と、メモリ３７０と、及びこれらの構成要素を相互接続するための１つ以上の通信バス３２０とを含む。通信バス３２０は、システム構成要素間の通信を相互接続及び制御する回路（チップセットと称することがある）を、任意選択的に含む。デバイス３００は、タッチ感知ディスプレイ３４０を備える入出力（Ｉ／Ｏ）インタフェース３３０を含む。Ｉ／Ｏインタフェース３３０はまた、仮想キーボード３５０も備える。Ｉ／Ｏインタフェース３３０はまた、マウス（又は他のポインティングデバイス３５２）及びタッチパッド３５５、デバイス３００上に触知出力を生成するための（例えば、図１Ａを参照して上述された触知出力生成器（単数又は複数）１６７と同様の）触知出力生成器３５７、センサ３５９（例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、並びに／又は図１Ａを参照して上述された接触強度センサ（単数又は複数）１６５と同様の接触強度センサ）も、任意選択的に含む。メモリ３７０は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、又は他のランダムアクセス半導体メモリデバイスなどの、高速ランダムアクセスメモリを含み、また任意選択的に、１つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体記憶デバイスなどの、不揮発性メモリを含む。メモリ３７０は、ＣＰＵ（単数又は複数）３１０からは離れて位置する１つ以上の記憶デバイスを、任意選択的に含む。いくつかの実施形態では、メモリ３７０は、ポータブル多機能デバイス１００（図１Ａ）のメモリ１０２に記憶されたプログラム、モジュール、及びデータ構造に類似するプログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。更に、メモリ３７０は、ポータブル多機能デバイス１００のメモリ１０２内に存在しない追加プログラム、モジュール、及びデータ構造を記憶し得る。例えば、デバイス３００のメモリ３７０は、描画モジュール３８０、プレゼンテーションモジュール３８２、ワードプロセッシングモジュール３８４、ウェブサイト作成モジュール３８６、ディスクオーサリングモジュール３８８、及び／又はスプレッドシートモジュール３９０を、任意選択的に記憶するが、ポータブル多機能デバイス１００（図１Ａ）のメモリ１０２は、これらのモジュールを、任意選択的に記憶しない。
【０１２４】
上記で特定された図３の要素のそれぞれは、任意選択的に、前述のメモリデバイスのうちの１つ以上に記憶される。上記で識別されたモジュールうちのそれぞれは、上述した機能を実行する命令セットに対応する。上述の識別されたモジュール又はプログラム（すなわち、命令セット）は、別個のソフトウェアプログラム、手順、又はモジュールとして実施される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットを、任意選択的に、組み合わされるか、又は別の方法で再配置される。いくつかの実施形態において、メモリ３７０は、上述の識別されたモジュール及びデータ構造のサブセットを、任意選択的に記憶する。更に、メモリ３７０は、上述されていない追加のモジュール及びデータ構造を、任意選択的に記憶する。
【０１２５】
ここで、ポータブル多機能デバイス１００上に任意選択的に実装される、ユーザインタフェース（「ＵＩ」）の実施形態に注意を向ける。
【０１２６】
図４は、いくつかの実施形態による、ポータブル多機能デバイス１００上のアプリケーションのメニューに関する、例示的なユーザインタフェースを示す。同様のユーザインタフェースがデバイス３００上に任意選択的に実装され得る。いくつかの実施形態では、ユーザインタフェース４００は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
・セルラー及びＷｉ−Ｆｉ信号などの無線通信（単数又は複数）のための信号強度標識（単数又は複数）４０２、
・時間４０４、
・Ｂｌｕｅｔｏｏｔｈ（登録商標）標識４０５、
・バッテリ状態標識４０６、
・下記などの、頻繁に利用されるアプリケーション用のアイコンを含むトレー４０８、
○不在着信又は音声メールメッセージの数の標識４１４を任意選択的に含む、「電話」とラベル付けされる、電話モジュール１３８用のアイコン４１６、
○未読電子メールの数の標識４１０を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール１４０用のアイコン４１８、
○「ブラウザ」とラベル付けされる、ブラウザモジュール１４７用のアイコン４２０、及び
○「ｉＰｏｄ（登録商標）」とラベル付けされる、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の商標）モジュール１５２とも称されるビデオ及び音楽プレーヤモジュールモジュール１５２用のアイコン４２２、並びに
・下記などの、その他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされる、ＩＭモジュール１４１用のアイコン４２４、
○「カレンダー」とラベル付けされる、カレンダーモジュール１４８用のアイコン４２６、
○「写真」とラベル付けされる、画像管理モジュール１４４用のアイコン４２８、
○「カメラ」とラベル付けされる、カメラモジュール１４３用のアイコン４３０、
○「オンラインビデオ」とラベル付けされる、オンラインビデオモジュール１５５用のアイコン４３２、
○「株式」とラベル付けされる、株式ウィジェット１４９−２用のアイコン４３４、
○「地図」とラベル付けされる、地図モジュール１５４用のアイコン４３６、
○「気象」とラベル付けされる、気象ウィジェット１４９−１用のアイコン４３８、
○「時計」とラベル付けされる、アラーム時計ウィジェット１４９−４用のアイコン４４０、
○「フィットネスサポート」とラベル付けされる、フィットネスモジュール１４２用のアイコン４４２、
○「メモ」とラベル付けされる、メモモジュール１５３用のアイコン４４４、及び
○デバイス１００及びその様々なアプリケーション１３６に関する設定へのアクセスを提供する、設定アプリケーション若しくはモジュール用のアイコン４４６。
【０１２７】
図４に示されているアイコンのラベルは、単に例示的であることを留意されたい。例えば、いくつかの実施形態では、ビデオ及び音楽プレーヤモジュール１５２用のアイコン４２２は、「音楽」又は「音楽プレーヤ」とラベル付けされる。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。いくつかの実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態において、特定のアプリケーションアイコンのラベルは、特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【０１２８】
更に加えて、以下の説明は、主に指入力（例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャなど）を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの１つ以上は、別の入力デバイスからの入力（例えば、マウスに基づく入力又はスタイラス入力）で取って代わられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、（例えば、接触の代わりに）マウスクリックと置換され、その後、（例えば、接触の移動の代わりに）スワイプの経路に沿ってカーソルの移動が行われる。別の実施例として、タップジェスチャは、（例えば、接触の検出に続いて接触の検出を停止する代わりに）カーソルがタップジェスチャの位置上に配置される間、任意選択的にマウスクリックと置換される。同様に、複数のユーザ入力が同時に検出される時、複数のコンピュータマウスが同時に、任意選択的に用いられ、又はマウスと指接触が同時に用いられることが理解されよう。
【０１２９】
本明細書で使用される時、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインタフェースの現在の部分を示す、入力要素を指す。カーソル又は他のロケーションマーカを含む実装において、カーソルは、タッチ感知面（例えば、図３のタッチパッド３５５）上で入力（例えば、押下げ入力）が検出された時に、カーソルが特定のユーザインタフェース要素（例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素）の上にある時、「フォーカスセレクタ」として機能し、特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ（例えば、図１Ａのタッチ感知ディスプレイ１１２、又は図４のタッチスクリーン）を含むいくつかの実装では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」の役割を果たすため、入力（例えば、接触による押圧入力）が、タッチスクリーンディスプレイ上の特定のユーザインタフェース要素（例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素）の場所で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。いくつかの実装において、（例えば、タブキー又は矢印キーを使ったフォーカスの１つのボタンから別のボタンへの移動により）タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、フォーカスが、ユーザインタフェースの１つの領域からユーザインタフェースの別の領域に移動される。これらの実装において、フォーカスセレクタは、ユーザインタフェースの異なる領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが取る特定のフォームに関係なく、フォーカスセレクタは、全体的に、ユーザのユーザインタフェースとの意図した（例えば、ユーザが対話したいと思っているユーザインタフェースの要素をデバイスに指示することによる）対話を伝達するように、ユーザによって制御されたユーザインタフェース要素（又は、タッチスクリーンディスプレイ上の接触）である。例えば、押下げ入力がタッチ感知面（例えば、タッチパッド又はタッチスクリーン）上で検出された時にそれぞれのボタンの上にあるフォーカスセレクタ（例えば、カーソル、接触又は選択ボックス）の位置は、（デバイスのディスプレイ上に示されている他のユーザインタフェース要素とは反対に）ユーザが、それぞれのボタンをアクティブ化しようとしていることを指示する。
【０１３０】
いくつかの実施形態では、デバイスにより検出された入力へのデバイスの応答は、入力中の接触強度に基づく評価基準に依存する。例えば、何回かの「ライトプレス」入力の場合、入力中の第１の強度閾値を上回る接触の強度は、第１の応答をトリガーする。いくつかの実施形態では、デバイスにより検出された入力へのデバイスの応答は、入力中の接触強度と時間ベースの評価基準の双方を含む評価基準に依存する。例えば、何回かの「ディーププレス」入力の場合、ライトプレスについての第１の強度閾値よりも大きい入力中の第２の強度閾値を上回る接触の強度が、第１の強度閾値を満たした後第２の強度閾値を満たすまでに遅延時間が経過した場合にのみ、第２の応答をトリガーする。この遅延時間は、典型的には、第２の強度閾値の大きさに応じて、継続期間において２００ｍｓ未満（例えば、４０、１００、又は１２０ｍｓ）であり、遅延時間は第２の強度閾値が増大するにつれて増大する。この遅延時間は、偶発的なディーププレス入力を回避するのに役立つ。別の例として、何回かの「ディーププレス」入力の場合、第１の強度閾値を満たした時点の後に起こる感度低下時間期間がある。感度低下時間期間中、第２の強度閾値を増大させる。この一時的な第２の強度閾値の増大もまた、偶発的なディーププレス入力を回避するのに役立つ。他のディーププレス入力の場合、ディーププレス入力の検出への応答は、時間ベースの評価基準には依存しない。
【０１３１】
いくつかの実施形態では、入力強度閾値及び／又は対応する出力のうちの１つ以上は、ユーザ設定、接触の動き、入力のタイミング、アプリケーションの実行、強度が適用される速度、同時入力の数、ユーザ履歴、環境要因（例えば、周囲の雑音）、フォーカスセレクタの位置などのような１つ以上の因子に基づいて変動する。例示的な因子は、全体として参照により本明細書に組み込まれる米国特許出願第１４／３９９，６０６号及び同第１４／６２４，２９６号に記載されている。
ユーザインタフェース及び関連プロセス
【０１３２】
ここで、ユーザインタフェース（ＵＩ）、並びにディスプレイ、タッチ感知面、及びタッチ感知面との接触の強度を検出するための１つ以上のセンサを備える電子デバイス上で実装され得る、ポータブル多機能デバイス１００又はデバイス３００などの関連したプロセスの実施形態に注意を向ける。
複数のキーボード間でのトグル
【０１３３】
図５Ａ〜図５Ｆは、いくつかの実施形態に係る、複数のキーボード間でトグルするための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図６Ａ〜図６Ｂのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。説明の便宜上、タッチ感知ディスプレイ１１２を備えるデバイス上で実行される動作を参照して、実施形態のうちのいくつかについて論じる。そのような実施形態では、フォーカスセレクタは、任意選択的に、それぞれの指又はスタイラスの接触、指又はスタイラスの接触に対応する代表的な点（例えば、それぞれの接触の面心若しくはそれぞれの接触に関連した点）、又は、タッチ感知ディスプレイ１１２上で検出された２つ以上の接触の面心である。
【０１３４】
図５Ａは、第１の言語（例えば、英語）と関連付けられたローマ字を表示する仮想キーを備える第１のキーボード５０２の文字／キー選択に応じてテキスト領域に文字が表示される実施形態を示す。この実施形態では、キーボードは、メモアプリケーションのグラフィカルユーザインタフェース上に表示された仮想キーボードである。ユーザは、メモアプリケーションのテキスト領域を選択し、それにより、ユーザのキーストローク入力が可能になる。テキスト領域のユーザ選択時には、仮想キーの選択は、文字５００をテキスト領域に表示する。
【０１３５】
また、第１のキーボードは、第１の特定キー５０４を含む。例えば、第１の特定キーは、Ｃａｐｓ  Ｌｏｃｋキーとすることができる。いくつかの実施形態では、第１の特定キーは、所定の英数字キーである。いくつかの実施形態では、第１の特定キーはユーザ選択可能であり、例えば、ユーザは、第１の特定キーとして固有のキーを割り当てることができる。
【０１３６】
図５Ｂは、専用のキーボードスイッチキーを選択することによってユーザが第２のキーボードを選択する実施形態を示す。いくつかの実施形態では、専用のキーボードスイッチキーは、地球儀のアイコンによって示される。例えば、図５Ａは、専用のキーボードスイッチキーとして地球儀のアイコン５０５を表示する。ここで、地球儀のアイコンの選択後、ユーザによるキーボード選択オプションを提供するサブメニュー５０７が表示される。サブメニューは、同時に選択されるキーボードを含めて、利用可能な選択用キーボードを示す。この例では、ユーザは、サブメニューから、第２のキーボードとしてピンインキーボードを選択する。
【０１３７】
図５Ｃは、第２のキーボードが第１の言語の文字と対応する第２のキーのセットを備えるが、出力された文字は、異なる第２の言語のものである実施形態を示す。この例では、ピンインキーボード（ローマ英字）からの文字選択に応じて、テキスト領域に中国語の文字が表示される。ピンインは、中国語の単語を英語で音声学的に書くこと可能するローマ字化システムをとして機能する。現在の実施形態は、キーボードのキーのセットについてローマ字を利用するためにピンインキーボードを提供する。ユーザは、中国語の単語を音声学的に綴るために、ローマ字化された英字を入力することができる。各ローマ字又は一連のローマ字は、漢字（単数又は複数）と関連付けられる。単語が完成すると、ローマ字化された英字は、対応する簡体字（単数又は複数）へと自動的に変換される。この例に示すように、ピンインキーボードが、第２のキーボードとして選択される。第２のキーボードは、この例ではピンインである第２の言語と関連付けられた文字のセットに対応する（ローマ字の）第１のキーのセットを有する。次いで、ユーザは、中国語の単語を音声学的に綴るために、ローマ字化された英字の選択を行う。ローマ字化された英字５１２は、メモアプリケーションのテキスト領域に出力される。ユーザがピンインでタイプした前の単語は、音声学的に英語でのそれぞれ対応する中国語の単語の綴りの完成時に、簡体字５１０へと自動的に変換されている。いくつかの実施形態では、示唆された中国語の単語は、ピンインの言語辞書及びオートコレクト機能に基づいて、キーボードの英数字キーの上方に設けられた行５１４に表示する。
【０１３８】
この例では、第２のキーボードは、キーボードのアイコンを用いて示される第２の特定キー５０８を含む。いくつかの実施形態では、第２のキーボードの特定キーと第１のキーボードの特定キーとは、同じ場所を共有する。
【０１３９】
図５Ｄは、第３のキーボード５１４からの文字選択に応じて第１の言語５１８の文字がテキスト領域に表示される実施形態を示す。第３のキーボードは、第１の言語（例えば、英語）と関連付けられた文字のセットに対応する第１のキーのセット（例えば、ローマ字）を有する。この例に示すように、以前に図５Ｃに示した第２のキーボードの第２の特定キー（５０８）の選択によって、第２のキーボード（図５Ｃ）と第３のキーボード（図５Ｄ）との間で言語を切り替えた。第２の特定キーは、第２のキーボードと第３のキーボードとの間でトグルする。第２の特定キーと同様に、第３のキーボード上の第３の特定キー５１６は、第３のキーボードと第２のキーボードとの間でのトグルを提供する。この例では、それぞれのキーボードの第１の特定キーと第２の特定キーと第３の特定キーとは全て、同じ場所を共有する。このトグル機能は、異なるそれぞれの言語を利用するキーボードと互いと併せて使用されるキーボードとの間での切り替えより迅速にする。
【０１４０】
図５Ｅは、それぞれのオートコレクト辞書が、適用可能なキーボードについての対応する言語と関連付けられている例を示す。この例では、第３のキーボードは、図３の第１の言語１３４−１（例えば、英語）と関連付けられ、したがって、その言語のためのオートコレクト辞書は、図３のその言語１３４−２の単語（例えば、英単語）を示唆するために使用される。この例では、テキスト選択「ｂｃｋ」５２０は、関連付けられた英語辞書における認識された単語と一致しない。したがって、オートコレクト辞書は、テキスト選択「ｂｃｋ」を修正するための多くのオプション５２２を提供する。いくつかの実施形態では、オプションは、オートコレクト辞書と関連付けられた予測テキストアルゴリズムから発生する。
【０１４１】
図５Ｆは、それぞれのオートコレクト辞書が、適用可能なキーボードについての対応する言語と関連付けられている別の例を示す。この例では、第２のキーボードは、図３の第２の言語１３４−１（例えば、ピンイン）と関連付けられ、したがって、その言語のためのオートコレクト辞書は、図３のその言語１３４−２（例えば、ピンイン）の単語を示唆するために使用される。この例では、テキスト選択「ｙｕｎ」５２４は、関連付けられたピンインの辞書における認識された単語と一致しない。したがって、オートコレクト辞書は、テキスト選択「ｙｕｎ」を修正するための多くのオプション５２６を提供する。ピンイン及び／又は簡体字の双方におけるオプションが考えられる。いくつかの実施形態では、オプションは、オートコレクト辞書と関連付けられた予測テキストアルゴリズムから発生する。
【０１４２】
図６Ａ〜図６Ｂは、いくつかの実施形態に係る、複数のキーボード間でトグルする方法６００を示すフローチャートである。方法６００は、ディスプレイ及びタッチ感知面を備える、電子デバイス（例えば、図３のデバイス３００、又は、図１Ａのポータブル多機能デバイス１００）で実行される。いくつかの実施形態では、ディスプレイは、タッチスクリーンディスプレイであり、タッチ感知面は、ディスプレイ上に存在するか、あるいは、ディスプレイと統合されている（単に、タッチ感知ディスプレイ１１２とも称される、図１Ａ）。
【０１４３】
以下で説明するように、方法６００は、しばしば一緒に使用される複数のキーボード間で、例えば、英語のキーボードとピンインのキーボードとの間でトグルする簡単な方法を提供する。
【０１４４】
デバイスは、タッチ感知ディスプレイ上に第１のキーボードを表示し（６０２）、第１のキーボードは、第１の言語と関連付けられた文字のセットに対応する第１のキーのセットを有する。デバイスはまた、タッチ感知ディスプレイ上の場所に表示された第１の特定キーを表示し、第１の特定キーは、第１の機能と関連付けられている。第１のキーボードは、第１のキーのセットのいずれかの選択が、テキスト領域に、第１の言語に対応する１つ以上の文字を表示するように構成される。図５Ａは、例えば、第１のキーボード５０２を示し、ローマ字のセットに対応する第１のキーのセットの選択は、英語である第１の言語で、テキスト領域５００にテキストを出力する。この例では、第１の特定キーは、Ｃａｐｓ  Ｌｏｃｋキーである。第１の特定キーは、第１の機能と関連付けられている。いくつかの実施形態では、第１の特定キー、この例ではＣａｐｓ  Ｌｏｃｋキーは、Ｃａｐｓ  Ｌｏｃｋキーの選択後に実行される任意の文字選択を大文字にする。
【０１４５】
いくつかの実施形態では、第１、第２及び第３の特定キーのうちのいずれかは、選択されたそれぞれのキーボードのＣａｐｓ  Ｌｏｃｋキー、シフトキー、又は書式設定機能キーのうちのいずれか１つである（６０４）。いくつかの言語（例えば、ピンイン）は大文字を利用しないので、特定の言語における大文字ロック又はシフトとして特定キー設定を有することが望ましいことがある。図５Ａでは、第１の特定キーは、Ｃａｐｓ  Ｌｏｃｋキーである。
【０１４６】
いくつかの実施形態では、第１、第２及び第３の特定キーのうちのいずれかの選択は、タッチ感知ディスプレイ上での１回のタップ選択によって可能化される（６０６）。いくつかの実施形態では、特定キーの選択は、特定キー領域上での１回のタップ、プレス又はホールドに既定のタップ選択が割り当てられ得る。いくつかの実施形態では、それぞれの第２又は第３の特定キー上での高い強度又は力のプレスは、キーボード選択を第１のキーボードへのトグルを提供する。
【０１４７】
いくつかの実施形態では、第１及び第２のキーのセットは、ローマ字を利用する（６０８）。図５Ａ及び図５Ｃにおいて、第１のキーボード５０２の第１のキーのセットは、第１の言語（例えば、英語）と関連するローマ字に対応する。第２のキーボード５０２の第２のキーのセットは、第２の言語（例えば、ピンイン）と関連するローマ字に対応する。各ローマ字又は一連の文字は、表示される中国語の文字と関連付けられている。単語が完成すると、ローマ字化された英字は、簡体字へと自動的に変換される。例えば、図５Ｃは、「
【数１】
0006342464.tif 000002
」のローマ字化された文字選択を表示する。この文字選択は、音声学的に英語でのそれぞれの中国語の単語の綴りの完成時に簡体字へと変換される。例えば、図５Ｄは、「
【数２】
0006342464.tif 000003
」が、対応する中国語の文字と置換されることを示す。
【０１４８】
いくつかの実施形態では、第１の言語は、第１のオートコレクト辞書と関連付けられ、第２の言語は、第２のオートコレクト辞書と関連付けられる（６１０）。例えば、図５Ｅは、キャラクタキーの上方の行内に提案が提供される、英語を用いて使用されるオートコレクト辞書、並びに認められていない文字列を保つためのオプションを示す。同様にして、図５Ｆの例は、ピンインの場合に使用されるオートコレクト辞書を示す。いくつかの実施形態では、オートコレクト辞書は、提案のみを提供する。いくつかの実施形態では、オートコレクト辞書は、所定のオートコレクトルールに基づいて、選択された文字列を自動的に修正する。
【０１４９】
次に、デバイスは、キーボード選択キー（例えば、地球儀のキー）をユーザが選択することによって、第２のキーボードを表示するための選択を受信する（６１２）。いくつかの実施形態では、第２のキーボードを表示するための選択を受信することは、専用のキーボードスイッチキーの選択を受信することを更に含む（６２６）。例えば、図５Ｂは、ユーザが、専用のキーボードスイッチキー（例えば、地球儀のアイコン５０５によって示されるキー）を選択することによって、第２のキーボードを選択していることを示す。第２のキーボードは、第２の言語（例えば、ピンイン）と関連付けられた文字のセットに対応する（ローマ字の）第２のキーのセットを有する。地球儀のキーの選択後、サブメニューにより、第２のキーボード５０５−１の選択が可能になる。代替的には、ユーザは、次の利用可能なキーボードを順次選択するために、キーボード選択キーをタップする。
【０１５０】
いくつかの実施形態では、デバイスは、第３のキーボードを表示するための第２の特定キーの選択を受信する（６１４）。例えば、図５Ｃにおいて、第２の特定キーは、キーボードトグルキーとして５０８で示される。この例におけるキーボードトグルキーの選択は、第２のキーボードから第３のキーボードにトグルする。
【０１５１】
いくつかの実施形態では、デバイスは、第１の言語と関連付けられた文字のセットに対応する第３のキーのセットを有する第３のキーボードを表示する。デバイスはまた、その場所に設けられた第３の特定キーを表示し、第３の特定キーは、第２の特定キーと同じである（例えば、図５Ｄの第３の特定キー５１８は、図５Ｃの第２の特定キー５０８と同じ場所にある）。第３のキーボードは、キーのセットのいずれかの選択が、テキスト領域に、第１の言語に対応する１つ以上の文字を表示するように構成される（６１６）。例えば、図５Ｄにおいて、第１の言語、英語の文字５１８を表示するキーのセットを表示する第３のキーボード５１４が選択される。第３の特定キーは、５１８と示されている。いくつかの実施形態では、デバイスは、第２のキーボードを表示するための第３の特定キーの選択を受信する（６１８）。それに応じて、デバイスは次いで、第２のキーボードを表示する（６２０）。
【０１５２】
いくつかの実施形態では、第２のキーボードと第３のキーボードとは、視覚的に同一である（６２２）。例えば、図５Ｃ及び図５Ｄにおいて、第２及び第３のキーボードはそれぞれ、それぞれの特定キーについての同じ場所と同一であるように示されている。
【０１５３】
いくつかの実施形態では、第１のキーボードは、第１の特定キーを除いて、第２のキーボードと第３のキーボードの双方と視覚的に同一である（６２４）。例えば、図５Ｃ及び図５Ｄでは、第２及び第３のキーボードはそれぞれ、特定キーの同じ場所と同一であるように示されている。第１のキーボードは、特定キーとしてＣａｐｓ  Ｌｏｃｋキーを使用するが、第１の特定キーの機能は、第１の機能（例えば、大文字を生成すること、他のプログラムされた機能を実行すること）と関連付けられる。いくつかの実施形態では、第１の特定キーは、第２及び第３の特定キーとは視覚的に異なる。例えば、図５Ａの第１の特定キー５０４は、「Ｃａｐｓ  Ｌｏｃｋ」キーとして表示される。ただし、図５Ａの第２特定キー５０８及び図５Ｃの第３の特定キー５１６はそれぞれ、キーボードアイコンとして表示される。
【０１５４】
次に、デバイスは、タッチ感知ディスプレイ上に第２のキーボードを表示し、第２のキーボードは、第１の言語と関連付けられた文字のセットに対応する第２のキーのセットを有する。また、デバイスは、その場所に表示され、かつ、第１の機能とは異なる第２の機能と関連付けられた第２の特定キーを表示し、第２の機能は、第２のキーボード及び第３のキーボードを含むキーボード間でトグルする。例えば、図５Ａの第１の特定キー５０４の第１の機能が大文字ロックであるに対し、図５Ｃの第２の特定キー５０８の第２の機能はキーボードトグルである。第２のキーボードは、第２のキーのセットのいずれかの選択が、テキスト領域に、第１の言語とは異なる第２の言語に対応する１つ以上の文字を表示するように構成される（６２８）。例えば、図５Ｃは、第２のキーボードと第３のキーボード間でトグルするように機能する第２の特定キー５０８を備える第２のキーボード５０６を示す。
【０１５５】
いくつかの実施形態では、第２のキーのセットのいずれかの選択は、テキスト領域に、第２のキーボードの第２の言語に対応するピンイン文字を表示する（６３０）。例えば、図５Ｃでは、第２のキーボード５０６上の第２のキーのセットの選択は、ピンイン文字５１２を表示する。
【０１５６】
図６Ａ、６Ｂでの動作が説明されている特定の順序は、単なる例示であり、説明される順序が、それらの動作を実行することが可能な唯一の順序であることを示すことを、意図するものではない点を理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。加えて、本明細書に記載の他の方法に関して本明細書で記載されている他のプロセスの詳細（例えば、方法６００、９００、１２００、１５００は、また、図６Ａ〜図６Ｂに関連して上述されている方法６００に類似の方法でも適用可能であることを留意されたい。簡潔性のために、これらの詳細は、本明細書では繰り返さない。
【０１５７】
いくつかの実施形態によれば、図７は、説明される様々な実施形態の理念に従って構成された電子デバイス７００の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を遂行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図７で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックのあらゆる可能な組み合わせ若しくは分割、又は更なる定義を、任意選択的に支持する。
【０１５８】
図７に示すように、電子デバイス７００は、ユーザインタフェースを表示するように構成されたディスプレイユニット７０２と、接触を受け取るように構成されたタッチ感知面ユニット７０４と、ディスプレイユニット７０２及びタッチ感知面ユニット７０４と結合された処理ユニット７０８とを含む。いくつかの実施形態では、処理ユニット７０８は、表示可能化ユニット７１０、及び受信ユニット７１２を含む。
【０１５９】
処理ユニット７０８は、（例えば、表示可能化ユニット７１０を用いて）タッチ感知ディスプレイ上での第１のキーボードの表示を可能化するように構成され、第１のキーボードは、第１の言語と関連付けられた文字のセットに対応する第１のキーのセットを有する。第１のキーボードはまた、タッチ感知ディスプレイ上の場所に表示された第１の特定キーを有し、第１の特定キーは、第１の機能と関連付けられている。第１のキーボードは、第１のキーのセットのいずれかの選択が、テキスト領域に、第１の言語に対応する１つ以上の文字を表示するように構成される。処理ユニットは、（例えば、受信ユニット７１２を用いて）第２のキーボードの表示を可能化するための選択を受信するように更に構成される。選択を受信したことに応じて、処理ユニットは、（例えば、表示可能化ユニット７１０を用いて）タッチ感知ディスプレイ上での第２のキーボードの表示を可能化するように更に構成される。第２のキーボードは、第１の言語と関連付けられた文字のセットに対応する第２のキーのセットを備える。また、第２のキーボードは、その場所に表示され、かつ、第１の機能とは異なる第２の機能と関連付けられた第２の特定キーを備え、第２の機能は、第２のキーボード及び第３のキーボードを含むキーボード間でトグルする。第２のキーボードは、第２のキーのセットのいずれかの選択が、テキスト領域に、第１の言語とは異なる第２の言語に対応する１つ以上の文字を表示するように構成される。
【０１６０】
いくつかの実施形態では、処理ユニット７０８は、（例えば、受信ユニット７１２を用いて）第３のキーボードを表示するための第２の特定キーの選択を受信するように更に構成される。次いで、選択を受信したことに応じて、（例えば、表示可能化ユニット７１０を用いて）第３のキーボードの表示を可能化する。第３のキーボードは、第１の言語と関連付けられた文字のセットに対応する第３のキーのセットと、その場所に設けられた第３の特定キーとを備える。第３の特定キーは、第２の特定キーと同じであり、第３のキーボードは、キーのセットのいずれかの選択が、テキスト領域に、第１の言語に対応する１つ以上の文字を表示するように構成される。
【０１６１】
いくつかの実施形態では、処理ユニット７０８は、（例えば、受信ユニット７１２を用いて）第２のキーボードを表示するための第３の特定キーの選択を受信するように更に構成される。次いで、選択を受信したことに応じて、（例えば、表示可能化ユニット７１０を用いて）第２のキーボードの表示を可能化する。
【０１６２】
いくつかの実施形態では、第１、第２及び第３の特定キーのうちのいずれかは、タッチ感知ディスプレイ７０４上の選択されたそれぞれのキーボードのＣａｐｓ  Ｌｏｃｋキー、シフトキー、又は書式設定機能キーのうちのいずれか１つである。
【０１６３】
いくつかの実施形態では、第１、第２及び第３の特定キーのうちのいずれかの選択は、タッチ感知ディスプレイ７０４上での１回のタップ選択によって可能化される。
【０１６４】
いくつかの実施形態では、第２のキーボード及び第３のキーボードは、タッチ感知ディスプレイ７０４上において視覚的に同一である。
【０１６５】
いくつかの実施形態では、第１のキーボードは、タッチ感知ディスプレイ７０４上において、第１の特定キーを除けば、第２のキーボード及び第３のキーボードに視覚的に同一である。
【０１６６】
いくつかの実施形態では、タッチ感知ディスプレイ７０４上において、第１の言語は、第１のオートコレクト辞書と関連付けられ、第２の言語は、第２のオートコレクト辞書と関連付けられる。
【０１６７】
いくつかの実施形態では、第１及び第２のキーのセットは、タッチ感知ディスプレイ７０４上でローマ字を利用する。
【０１６８】
いくつかの実施形態では、第２のキーボードを表示するための選択を受信することにより、処理ユニット７０８に（例えば、受信ユニット７１２を用いて）専用のキーボードスイッチキーの選択を受信するように更に構成させるようになる。
【０１６９】
いくつかの実施形態では、第２のキーのセットのいずれかの選択は、テキスト領域に、タッチ感知ディスプレイ７０４上の第２のキーボードの第２の言語に対応するピンイン文字を表示する。
【０１７０】
上述の情報処理方法での動作は、汎用プロセッサ（例えば、図１Ａ及び図３に関連して上述されたようなもの）又は特定用途向けチップなどの、情報処理装置内の１つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
【０１７１】
図６Ａ〜図６Ｂを参照して上述された動作は、図１Ａ〜図１Ｂ又は図７に示される構成要素によって、任意選択的に実施される。例えば、表示動作６０２、受信動作６１２、表示動作６２８は、表示可能化ユニット７１０、受信ユニット７１２、及び表示可能化ユニット７１０によって、任意選択的に実施される。イベントソータ１７０のイベントモニタ１７１は、タッチ感知ディスプレイ１１２上の接触を検出し、イベントディスパッチャモジュール１７４は、イベント情報をアプリケーション１３６−１に配信する。アプリケーション１３６−１の対応のイベント認識部１８０は、そのイベント情報を対応のイベント定義１８６と比較し、タッチ感知面上の第１の場所での第１の接触（又は、デバイスの回転）が、ユーザインタフェース上のオブジェクトの選択、又は１つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部１８０は、イベント又はサブイベントの検出に関連するイベントハンドラ１９０をアクティブ化させる。イベントハンドラ１９０は、アプリケーション内部状態１９２を更新するために、データアップデーター１７６若しくはオブジェクトアップデーター１７７を、任意選択的に用いるか又は呼び出す。いくつかの実施形態において、イベントハンドラ１９０は、アプリケーションにより表示されるものを更新するためのそれぞれのＧＵＩアップデーター１７８にアクセスする。同様に、当業者にとって、他の処理が図１Ａ〜図１Ｂに示される構成要素に基づいてどのように実施されるかは明らかであるだろう。
追加のキーボードオプションの提供
【０１７２】
図８Ａ〜図８Ｉは、いくつかの実施形態に係る、追加のキーボードオプションを提供するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図９Ａ、９Ｂのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。説明の便宜上、タッチ感知ディスプレイ１１２を備えるデバイス上で実行される動作を参照して、実施形態のうちのいくつかについて論じる。そのような実施形態では、フォーカスセレクタは、任意選択的に、それぞれの指又はスタイラスの接触、指又はスタイラスの接触に対応する代表的な点（例えば、それぞれの接触の面心若しくはそれぞれの接触に関連した点）、又は、タッチ感知ディスプレイ１１２上で検出された２つ以上の接触の面心である。
【０１７３】
図８Ａは、キーボードオプション８０６の行が、仮想キーボード８０２で行われた文字８０４の選択に対応する実施形態を示す。行は、限定はしないが、書式設定オプション、絵文字及び予測テキストを含む追加のキーボードオプションを提供する。この例では、行われた文字選択は、「ｂｒｗｎ」であり、その結果、英数字キーの上方の提示されたキーボードオプションの行に３つのオプションが表示される。３つのオプション全てがキーボードオプションの行内に収まることができ、したがって、この例では、追加のキーボードオプションを提供するアフォーダンスは提供されない。いくつかの実施形態では、キーボードオプションは、サードパーティアプリケーションと双方向作用するための機能である。いくつかの実施形態では、キーボードオプションは、ユーザの好み及び振る舞いに基づく。いくつかの実施形態では、１つ以上の追加のキーボードオプションは、文字選択毎に選択可能な状態を維持する（例えば、文字選択に関係なくオプションが永続的に表示される）。いくつかの実施形態では、行は、英数字キーの上方に設けられる。いくつかの実施形態では、行は、英数字キーの下方に設けられる。いくつかの実施形態では、行は、英数字キーの直ぐ隣に設けられる。
【０１７４】
図８Ｂは、文字８０４の選択に対応するキーボードオプションの行が、行８０８内の追加のキーボードオプションのアフォーダンスと共に仮想キーボード上に作成される実施形態を示す。文字の選択に対応するキーボードオプションの数が、行の利用可能なスペースを上回るので、追加のキーボードオプションのアフォーダンスが行に表示される。追加のキーボードオプションのアフォーダンスは、より多くのオプションが、その時点で行に示されたオプション以上に利用可能であるという示唆を提供する。この例では、アフォーダンスは、ドットの配列として提供される。
【０１７５】
図８Ｃは、仮想キーボードで行われた文字８０４の選択に対応する追加のキーボードオプションのアフォーダンス８０８の選択８１０の実施形態を示す。この例では、タッチ感知ディスプレイの特定領域上での１回のタップ選択、ドットの配列の表示を表示する。いくつかの実施形態では、追加のキーボードオプションのアフォーダンスの選択は、追加のキーボードオプションのアフォーダンスの領域上での、１回のタップ、プレス又はホールドについて、既定のタップ選択が割り当てられ得る。
【０１７６】
図８Ｄは、タッチ感知ディスプレイ上における１つ以上のキーボードのオプションの行におけるスクロールジェスチャ８１２の受信時の追加のキーボードのオプションにわたるタッチスクロールの一実施形態を示す。追加のキーボードオプションのアフォーダンス８０８の可用性は、ユーザに、スクロールジェスチャを使用してキーボードオプションをスクロールし得ることを示す。いくつかの実施形態では、スクロールジェスチャの速度は、キーボードオプションがスクロールされる速度を増大させる。いくつかの実施形態では、スクロールジェスチャは、ドットの配列８０８を表示する特定領域全体にわたる。いくつかの実施形態では、スクロールジェスチャは、キーボードオプションを表示する領域（例えば、文字の上方の行）全体のどこでもよい。
【０１７７】
図８Ｅは、文字選択８０４に基づく追加のキーボードオプションのアフォーダンスの選択に応じて、追加のキーボードオプション８１４を表示する実施形態を示す。表示された追加のキーボードオプション「ｂｒｏｗ」、「ｂｒａｎ」及び「ｇｒｏｗｎ」は、「ｂｒｗｎ」「ｂｒｏｗｎ」及び「ｂｒｏｗｎｅｄ」を表示した前述の図８Ｄに示すような以前に示したキーボードオプションとは異なる。この例では、３つの追加のキーボードオプションがある。いくつかの実施形態では、追加のキーボードオプションの量は、より多くの数のオプションに限定され得る。
【０１７８】
図８Ｆは、文字選択８０４に基づく追加のキーボードオプションのアフォーダンスの選択に応答した追加のキーボードオプションの実施形態を示す。この例では、更なるキーボードオプションのアフォーダンス８１８を考慮するために、追加のキーボードオプションが行８１６中でわずかにシフトしている。いくつかの実施形態では、更なるキーボードオプションのアフォーダンスの選択は、以前に表示されたオプションを除去し、更なる追加のキーボードオプションを表示する。次順のレベルのキーボードオプションのアフォーダンス及び対応するキーボードオプションを選択するこのプロセスは、文字選択のために利用可能なキーボードオプションの量について反復され得る。
【０１７９】
図８Ｇは、キーボードオプション８２２のうちの１つが、文字選択８２０と関連付けられた絵文字８２４である実施形態を示す。この例では、「ｈａｐｐｙ」の文字選択は、「ｈａｐｐｉｅｒ」、「ｃｏｎｔｅｎｔ」、及び幸せ（ｈａｐｐｙ）な顔を表す絵文字のキーボードオプションを提供する。絵文字が文字選択と関連付けられている。この例では、追加のキーボードオプションのアフォーダンス８２６は、追加のキーボードオプションが利用可能であることを示す。
【０１８０】
図８Ｈは、文字選択８２０と関連付けられた書式設定機能８２８を提供するキーボードオプションのうちの１つの実施形態を示す。この例では、文字選択は、「ｈａｐｐｙ」であり、対応するためのオプションは、太字「Ｂ」で示される太字機能、イタリック文字「Ｉ」で示されるイタリック化機能、及び、下線付き文字「Ｕ」で示される下線機能などの書式設定機能を含む。いくつかの実施形態では、書式設定機能として、限定はしないが、フォント／色操作、スペーシング操作、及びコピー／カットアンドペースト機能が挙げられる。
【０１８１】
図８Ｉは、文字選択８２０と関連して、サードパーティアプリケーション又はサードパーティアプリケーション内の機能を喚起するためのサードパーティアフォーダンス８３０を提供するキーボードオプションのうちの１つの例を示す。例えば、デバイスは、サードパーティアプリケーションに文字選択をコピーするためのオプションを提供する。この例では、文字選択は、「ｈａｐｐｙ」であり、キーボードオプションにおいて選択される又はその中に含まれる対応するサードパーティアプリケーションは、電子メール連携である。この例では、キーボードオプションは、サードパーティアプリケーション（例えば電子メール）に文字選択をコピーすることを提供する。
【０１８２】
図９Ａ〜図９Ｂは、いくつかの実施形態に係る、仮想キーボードに追加のキーボードオプションを提供するための方法９００を示すフローチャートである。方法９００は、ディスプレイ及びタッチ感知面を備える、電子デバイス（例えば、図３のデバイス３００、又は、図１Ａのポータブル多機能デバイス１００）で実行される。いくつかの実施形態では、このディスプレイは、タッチスクリーンディスプレイであり、タッチ感知面は、ディスプレイ上に存在するか、あるいは、ディスプレイと統合されている（単に、タッチ感知ディスプレイとも称される）。方法９００の一部の動作が、任意選択的に組み合わされ、及び／又は、一部の動作の順序が、任意選択的に変えられる。
【０１８３】
後述するように、方法９００は、仮想キーボードに追加のキーボードオプションを提供するための簡単なやり方を提供する。
【０１８４】
デバイスは、英数字キーと、英数字キーの上方又は下方に設けられた１つ以上のキーボードオプションの行とを備える仮想キーボードを表示する（９０２）。図８Ａは、例えば、仮想キーボード８０２と、英数字キー８０６の上方に設けられた１つ以上のキーボードオプションの行とを表示する。いくつかの実施形態では、テキスト入力領域は、英数字キーと１つ以上のキーボードオプションの行との間にあることがある。
【０１８５】
次に、デバイスは、追加のキーボードオプションが利用可能であると判定する（９０４）。図８Ｂは、例えば、デバイスが、「ｂｒｗｎ」という文字選択の結果、「ｂｒｏｗｎ」又は「ｂｒｏｗｎｅｄ」として、１つ以上のキーボードオプションの行に示される予測テキストオプションを生じると判定することを提供する。１つ以上のキーボードオプションが行のスペースを超えた時には追加のキーボードオプションが利用可能である。
【０１８６】
いくつかの実施形態では、追加のキーボードオプションは、予測テキスト入力、絵文字、頻繁に使用される入力、及び書式設定機能からなる群から選択されるアフォーダンスを備える（９０６）。図８Ｇは、例えば、キーボードオプションが、文字選択８２０に応じて選択するように、絵文字８２４幸せな顔を提供することを示す。図８Ｈは、例えば、キーボードオプションが、文字選択８２０と関連付けられる書式設定機能８２８、すなわち、太字、イタリック及び下線を提供することを示す。
【０１８７】
いくつかの実施形態では、追加のキーボードオプションは、サードパーティアプリケーションについてのアフォーダンスを提供する（９０８）。図８Ｉは、例えば、追加のキーボードオプションが、文字選択８２０に基づいて電子メール機能８３０を提供することを示す。
【０１８８】
次に、デバイスは、追加のキーボードオプションが利用可能であるという判定に従って、行内に追加のキーボードオプションのアフォーダンスを表示することを決定する（９１０）。図８Ｂは、例えば、追加のキーボードオプションが行の利用可能なスペースを超えており、したがって、追加のキーボードオプションのアフォーダンス８０８が行内に表示されることを示す。いくつかの実施形態では、追加のキーボードオプションのアフォーダンスは、その行の上方又は下方のいずれかの行に隣接して表示される。いくつかの実施形態では、追加のキーボードオプションのアフォーダンスは、その行から離れた別個の場所に設けられる。
【０１８９】
いくつかの実施形態では、追加のキーボードオプションのアフォーダンスは、第１のドットの配列を備える（９１２）。図８Ｂは、例えば、ドットの配列８０８として行内に表示された追加のキーボードオプションのアフォーダンスを示す。いくつかの実施形態では、追加のキーボードオプションのアフォーダンスは、「タング」のような引っ張られるアフォーダンスを備える。
【０１９０】
いくつかの実施形態では、デバイスは、追加のキーボードオプションが行の利用可能なスペースを超えるかどうかを判定する（９１４）。この判定に応じて、デバイスは、更なるキーボードオプションのアフォーダンスを表示する（９１６）。図８Ｆは、例えば、追加のキーボードオプションが、更なるキーボードオプションのアフォーダンス８１８が示す利用可能なスペースを超えており、これを選択すると更に追加のキーボードオプションが提供されることを示す。いくつかの実施形態では、更なるキーボードオプションのアフォーダンスは、第２のドットの配列を備える（９１８）。図８Ｆは、例えば、第２のドットの配列として、更なるキーボードオプションのアフォーダンス８１８を示す。
【０１９１】
いくつかの実施形態では、デバイスは、１つ以上のキーボードオプションの行におけるスクロールジェスチャを受信する（９２０）。図８Ｄは、例えば、文字選択８０４に基づく１つ以上のキーボードオプション８１２の行におけるスクロールジェスチャを示す。スクロールジェスチャを受信したことに応じて、デバイスは、１つ以上のキーボードオプションを表示することを中止し、この１つ以上のキーボードオプションとは異なる追加のキーボードオプションのうちの少なくともいくつかを行に表示する（９２２）。
【０１９２】
次に、追加のキーボードオプションのアフォーダンスの選択が検出されると、デバイスは、１つ以上のキーボードオプションのうちの少なくともいくつかを表示することを中止し、追加のキーボードオプションのうちの少なくともいくつかを行に表示する。図８Ｃは、例えば、追加のキーボードオプションのアフォーダンスの選択８１０が検出されることを提供する。現在のキーボードオプションは、「ｂｒｗｎ」、「ｂｒｏｗｎ」及び「ｂｒｏｗｎｅｄ」である。図８Ｅは、例えば、図８Ｃに続いて、行に追加のキーボードオプション８１４、すなわち、「ｂｒｏｗ」、「ｂｒａｎ」及び「ｇｒｏｗｎ」が、「ｂｒｗｎ」、「ｂｒｏｗｎ」及び「ｂｒｏｗｎｅｄ」の以前のオプションを表示することを中止することを示す。
【０１９３】
図９Ａ〜図９Ｂにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。加えて、本明細書に記載の他の方法に関して本明細書で記載されている他のプロセスの詳細（例えば、方法６００、９００、１２００、１５００は、また、図９Ａ〜図９Ｂに関連して上述されている方法９００に類似の方法でも適用可能であることを留意されたい。簡潔性のために、これらの詳細は、本明細書では繰り返さない。
【０１９４】
いくつかの実施形態によれば、図１０は、説明される様々な実施形態の理念に従って構成された電子デバイス１０００の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を遂行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図１０で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックのあらゆる可能な組み合わせ若しくは分割、又は更なる定義を、任意選択的に支持する。
【０１９５】
図１０に示すように、電子デバイス１０００は、ユーザインタフェースを表示するように構成されたディスプレイユニット１００２と、接触を受け取るように構成されたタッチ感知面ユニット１００４と、ディスプレイユニット１００２及びタッチ感知面ユニット１００４と結合された処理ユニット１００８とを含む。いくつかの実施形態では、処理ユニット１００８は、表示可能化ユニット１０１０、判定ユニット１０１２、検出ユニット１０１４、中止ユニット１０１６、及び受信ユニット１０１８を含む。
【０１９６】
処理ユニット１００８は、英数字キーと、英数字キーの上方又は下方に設けられた１つ以上のキーボードオプションの行とを備える仮想キーボードの（例えば、表示可能化ユニット１０１０を用いた）表示を可能化するように構成される。処理ユニットは、（例えば、判定ユニット１０１２を用いて）追加のキーボードオプションが利用可能であることを判定するように更に構成される。追加のキーボードオプションが利用可能であるという判定に従って、処理ユニットは、（例えば、表示可能化ユニット１０１０を用いて）行内での追加のキーボードオプションのアフォーダンスの表示を可能化するように更に構成される。（例えば、検出ユニット１０１４を用いて）追加のキーボードオプションアフォーダンスの選択を検出すると、処理ユニットは、（例えば、中止ユニット１０１６を用いて）１つ以上のキーボードオプションのうちの少なくともいくつかの表示を可能化することを中止し、行における追加のキーボードオプションのうちの少なくともいくつかの表示を可能化するように更に構成される。
【０１９７】
いくつかの実施形態では、追加のキーボードオプションのアフォーダンスは、タッチ感知ディスプレイ１００４上に第１のドットの配列を備える。
【０１９８】
いくつかの実施形態では、処理ユニット１００８は、（例えば、判定ユニット１０１２を用いて）追加のキーボードオプションが行の利用可能なスペースを超えるかどうか判定するように更に構成される。追加のキーボードオプションが行の利用可能なスペースを超えると判定したことに応じて、処理ユニットは、（例えば、表示可能化ユニット１０１０を用いて）更なるキーボードオプションのアフォーダンスの表示を可能化するように更に構成される。
【０１９９】
いくつかの実施形態では、更なるキーボードオプションのアフォーダンスは、タッチ感知ディスプレイ１００４上に第２のドットの配列を備える。
【０２００】
いくつかの実施形態では、処理ユニット１００８は、（例えば、受信ユニット１０１８を用いて）１つ以上のキーボードオプションの行におけるスクロールジェスチャを受信するように更に構成される。スクロールジェスチャを受信したことに応じて、処理ユニットは、１つ以上のキーボードオプションの表示を可能化することを（例えば、中止ユニット１０１６を用いて）中止し、行における追加のキーボードオプションのうちの少なくともいくつかの表示を（例えば、表示可能化ユニット１０１０を用いて）可能化するように更に構成される。追加のキーボードオプションは、前記１つ以上のキーボードオプションとは異なる。
【０２０１】
いくつかの実施形態では、タッチ感知ディスプレイ１００４上のキーボードオプションのうちのいずれか及び追加のキーボードオプションは、予測テキスト入力、絵文字、頻繁に使用される入力、及び書式設定機能からなる群から選択されるアフォーダンスを備える。
【０２０２】
いくつかの実施形態では、キーボードオプションのうちのいずれか及び追加のキーボードオプションは、タッチ感知ディスプレイ１００４上にサードパーティアプリケーションについてのアフォーダンスを提供する。
【０２０３】
上述の情報処理方法での動作は、汎用プロセッサ（例えば、図１Ａ及び図３に関連して上述されたようなもの）又は特定用途向けチップなどの、情報処理装置内の１つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
【０２０４】
図９Ａ〜図９Ｂを参照して上述された動作は、図１Ａ〜図１Ｂ又は図１０に示される構成要素によって、任意選択的に実施される。例えば、表示動作９０２、判定動作９０４、表示動作９１０、受信動作９２０、中止動作９２２は、表示可能化ユニット１０１０、判定ユニット１０１２、表示可能化ユニット１０１０、受信ユニット１０１８、中止ユニット１０１６により、任意選択的に実施される。イベントソータ１７０のイベントモニタ１７１は、タッチ感知ディスプレイ１１２上の接触を検出し、イベントディスパッチャモジュール１７４は、イベント情報をアプリケーション１３６−１に配信する。アプリケーション１３６−１の対応のイベント認識部１８０は、そのイベント情報を対応のイベント定義１８６と比較し、タッチ感知面上の第１の場所での第１の接触（又は、デバイスの回転）が、ユーザインタフェース上のオブジェクトの選択、又は１つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部１８０は、イベント又はサブイベントの検出に関連するイベントハンドラ１９０をアクティブ化させる。イベントハンドラ１９０は、アプリケーション内部状態１９２を更新するために、データアップデーター１７６若しくはオブジェクトアップデーター１７７を、任意選択的に用いるか又は呼び出す。いくつかの実施形態において、イベントハンドラ１９０は、アプリケーションにより表示されるものを更新するためのそれぞれのＧＵＩアップデーター１７８にアクセスする。同様に、当業者にとって、他の処理が図１Ａ〜図１Ｂに示される構成要素に基づいてどのように実施されるかは明らかであるだろう。
仮想キーボードモードの選択
【０２０５】
図１１Ａ〜図１１Ｅは、いくつかの実施形態に係る、仮想キーボードモードを選択するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図１２のプロセスを含めた、以下で説明されるプロセスを例示するために使用される。説明の便宜上、タッチ感知ディスプレイ１１２を備えたデバイス上で実行される動作を参照して、実施形態のうちのいくつかについて論じる。
【０２０６】
図１１Ａは、専用のマルチキーボードキー１１０４を備える第１の仮想キーボード１１０２を表示する実施形態を示す。この例では、第１の仮想キーボードは、タッチ感知ディスプレイの幅全体を占めている。この例では、第１の仮想キーボードは、第１の言語（例えば、英語）と関連付けられたローマ字に対応する第１のキーのセットを備える。いくつかの実施形態では、第１の仮想キーボードは、英語以外の言語のものでもよく、ローマ字以外の文字を利用してもよい。
【０２０７】
図１１Ｂは、第２の仮想キーボード１１０６及び別個のユーザ入力領域１１０８の実施形態を示す。この例では、別個のユーザ入力領域は、数字及び他の動作の複数の仮想キーを備えた数字パッドである。第２の仮想キーボード及び別個のユーザ入力領域は、１１０４で示された図１１Ａの専用のマルチキーボードキーの選択を検出すると表示され、第１の仮想キーボードの表示が中止される。この例では、第２の仮想キーボードの幅は、第１の仮想キーボードの幅の２／３である。更に、数字パッドの幅は、第１の仮想キーボード幅の１／３である。
【０２０８】
図１１Ｃは、第２の仮想キーボード１１１０、及び第１の言語（例えば、ギリシャ語）と関連付けられたギリシャ文字に対応する複数の仮想キーを備える第３の仮想キーボード１１１２としての別個のユーザ入力領域の実施形態を示す。第２の仮想キーボード及び第３の仮想キーボードは、１１０４で示された図１１Ａの専用のマルチキーボードキーの選択を検出すると表示され、第１の仮想キーボードの表示が中止される。この例では、第２の仮想キーボード及び第３の仮想キーボードの幅は共に、第１の仮想キーボードの幅の１／２である。
【０２０９】
図１１Ｄは、第２の仮想キーボード１１１４、及び絵文字を出力する絵文字を利用する複数の仮想キーを備える第３の仮想キーボード１１１６としての別個のユーザ入力領域の実施形態を示す。第２の仮想キーボード及び第３の仮想キーボードは、１１０４で示された図１１Ａの専用のマルチキーボードキーの選択を検出すると表示され、第１の仮想キーボードの表示が中止される。この例では、第２の仮想キーボードの幅は、第１の仮想キーボードの幅の２／３であり、第３の仮想キーボードの幅は、第１の仮想キーボードの幅の１／３である。
【０２１０】
図１１Ｅは、第２の仮想キーボード１１１８及び別個のユーザ入力領域１１２０の実施形態を示す。１１０４で示された図１１Ａの専用のマルチキーボードキーの選択を検出すると、第２の仮想キーボード及び別個のユーザ入力領域が、表示され、第１の仮想キーボードの表示が中止される。この例では、別個のユーザ入力領域は、複数の描画ツールを備える描画入力領域である。この例では、そのツールは、鉛筆、マーカー、ペン、消しゴム及び定規など、様々な種類のストローク機能を含む。いくつかの実施形態では、描画入力領域は、高度な画像編集ツールを提供する。いくつかの実施形態では、描画入力領域は、選択時に、その領域に既存の画像又は図面を先読み込みしてもよい。既存の画像は、描画入力領域において更に編集され得る。この例では、第２の仮想キーボードの幅は、第１の仮想キーボードの幅の２／３であり、描画入力領域の幅は、第１の仮想キーボードの幅の１／３である。
【０２１１】
図１２は、いくつかの実施形態に係る、仮想キーボードモードを選択するための方法１２００を示すフローチャートである。方法１２００は、ディスプレイ及びタッチ感知面を備える、電子デバイス（例えば、図３のデバイス３００、又は、図１Ａのポータブル多機能デバイス１００）で実行される。いくつかの実施形態では、このディスプレイは、タッチスクリーンディスプレイであり、タッチ感知面は、ディスプレイ上に存在するか、あるいは、ディスプレイと統合されている（単に、タッチ感知ディスプレイとも称される）。
【０２１２】
後述するように、方法１２００は、仮想キーボードの仮想キーボードモードを提供するための簡単なやり方を提供する。
【０２１３】
デバイスは、第１のサイズの領域を占める第１の複数の仮想キーを備える第１の仮想キーボードを表示する（１２０２）。１１０４で示された図１１Ａの専用のマルチキーボードキーの選択を検出すると、第２の仮想キーボード及び別個のユーザ入力領域が、表示され、第１の仮想キーボードの表示が中止される。第１の複数の仮想キーは、専用のマルチキーボードキーを含む。図１１Ａは、例えば、第１の仮想キーボード１１０２及び専用のマルチキーボードキー１１０４を表示する。いくつかの実施形態では、専用のキーボードキーは予め定義される。いくつかの実施形態では、専用のマルチキーボードキーは、特定キーに割り当てられる。いくつかの実施形態では、専用のマルチキーボードキーの選択は、専用のマルチキーボードキーの領域上での１回のタップ、プレス又はホールドによって選択され得る。
【０２１４】
いくつかの実施形態では、第１のサイズの領域及び第２のサイズの領域は、高さ又は長さのうちの少なくとも１つを共通に有する（１２０４）。図１１Ｂは、例えば、第２の仮想キーボード１１０６及び数字パッド１１０８が同じ高さ１１０９を有することを示す。
【０２１５】
次に、専用のマルチキーボードキーの選択が検出されると、デバイスは、第１の仮想キーボードを表示することを中止し、第２の仮想キーボードを表示する。第２の仮想キーボードは、第２の複数の仮想キーを有し、デバイスはまた、第２の複数の仮想キーに隣接して別個のユーザ入力領域を表示し、第２の複数の仮想キーは、第１のサイズよりも小さい第２のサイズの領域を占める（１２０６）。図１１Ｂは、例えば、第２の仮想キーボード１１０６が、数字パッドが第２の仮想キーボードに隣接した状態で表示され、（図１１Ａに示すような）第１の仮想キーボードの表示が停止される。
【０２１６】
いくつかの実施形態では、別個のユーザ入力領域は数字パッドである（１２０８）。図１１Ｂは、例えば、第２の仮想キーボード１１０６、及び数字パッドとしての別個のユーザ入力領域を示す。いくつかの実施形態では、数字パッドは、高度な数学関数を備える。いくつかの実施形態では、数字パッドは数学記号を備える。
【０２１７】
いくつかの実施形態では、別個のユーザ入力領域は、第３の複数の仮想キーを備える第３の仮想キーボードである。第３の複数の仮想キーは、第２の仮想キーボードに対応する言語とは異なる言語に対応する（１２１０）。図１１Ｃは、例えば、第２の仮想キーボード１１１０、及びギリシャ文字を備える仮想キーを表示する第３の仮想キーボード１１１２としての別個のユーザ入力領域を示す。いくつかの実施形態では、第２のキーボードと第３のキーボードの双方のための仮想キーはローマ字であり得るが、第３のキーボードの言語は、第２のキーボードとは異なってもよい（例えば、それぞれ英語及びピンイン）。
【０２１８】
いくつかの実施形態では、別個のユーザ入力領域は、絵文字に対応する第３の複数のキーを備える第３の仮想キーボードである（１２１２）。図１１Ｄは、例えば、第２の仮想キーボード１１１４、及び絵文字を表示する第３の仮想キーボード１１１６としての別個のユーザ入力領域を示す。いくつかの実施形態では、絵文字は、サードパーティアプリケーションから発生又はインポートされ得る。
【０２１９】
いくつかの実施形態では、別個のユーザ入力領域は描画入力領域である（１２１４）。図１１Ｅは、例えば、第２の仮想キーボード１１１８、及び描画ツールを含む描画入力領域１１２０としての別個のユーザ入力領域を示す。
【０２２０】
いくつかの実施形態では、第２の仮想キーボードは、専用のマルチキーボードキーを備える（１２１６）。図１１Ｃは、例えば、専用のマルチキーボードキー１１１３を備える第２の仮想キーボード１１１０を表示する実施形態を示す。
【０２２１】
いくつかの実施形態では、第２の複数の仮想キーは、第１の複数の仮想キーよりも少ない（１２１８）。例えば、タッチ感知面の全長にわたる第１の複数の仮想キーは機能を向上させ、第１の複数の仮想キーの全てが、従来の切頭型キーボードと関連付けられていなくてもよい。
【０２２２】
いくつかの実施形態では、第２の複数の仮想キーのそれぞれのサイズは、第１の複数の仮想キーのそれぞれのサイズよりも小さい（１２２０）。図１１Ｃは、例えば、第２の仮想キーボード１１１０が、タッチ感知ディスプレイの長さにわたるフルキーボードの縮小バージョンであることを提供する。この例では、１１０２で示した図１１Ａに示される第１のキーボードと１１１０で示した図１１Ｃの第２のキーボードとの間において、仮想キーは減っていない。
【０２２３】
図１２における動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。加えて、本明細書に記載の他の方法に関して本明細書で記載されている他のプロセスの詳細（例えば、方法６００、９００、１２００、１５００は、また、図１２に関連して上述されている方法１２００に類似の方法でも適用可能であることを留意されたい。簡潔性のために、これらの詳細は、本明細書では繰り返さない。
【０２２４】
いくつかの実施形態によれば、図１３は、説明される様々な実施形態の理念に従って構成された電子デバイス１３００の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を遂行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図１３で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックのあらゆる可能な組み合わせ若しくは分割、又は更なる定義を、任意選択的に支持する。
【０２２５】
図１３に示すように、電子デバイス１３００は、ユーザインタフェースを表示するように構成されたディスプレイユニット１３０２と、接触を受け取るように構成されたタッチ感知面ユニット１３０４と、ディスプレイユニット１３０２及びタッチ感知面ユニット１３０４と結合された処理ユニット１３０８とを含む。いくつかの実施形態では、処理ユニット１３０８は、表示可能化ユニット１３１０、検出ユニット１３１２、及び停止ユニット１３１４を含む。
【０２２６】
処理ユニット１３０８は、（例えば、表示可能化ユニット１３１０を用いて）第１のサイズの領域を占める第１の複数の仮想キーを備える第１の仮想キーボードの表示を可能化するように構成される。第１の複数の仮想キーは、専用のマルチキーボードキーを含む。専用のマルチキーボードキーの選択を検出すると、処理ユニットは、（例えば、中止ユニット１３１４を用いて）第１の仮想キーボードの表示を可能化することを中止し、第２の仮想キーボードの表示を可能化するように更に構成される。第２の仮想キーボードは、第２の複数の仮想キー、及び第２の複数の仮想キーに隣接する別個のユーザ入力領域を備える。第２の複数の仮想キーは、第１のサイズよりも小さい第２のサイズの領域を占める。
【０２２７】
いくつかの実施形態では、第１のサイズの領域及び第２のサイズの領域は、タッチ感知ディスプレイ１３０４上において高さ又は長さのうちの少なくとも１つを共通に有する。
【０２２８】
いくつかの実施形態では、別個のユーザ入力領域は、タッチ感知ディスプレイ１３０４上の数字パッドである。
【０２２９】
いくつかの実施形態では、別個のユーザ入力領域は、タッチ感知ディスプレイ１３０４上の第２の仮想キーボードに対応する言語とは異なる言語に対応する第３の複数の仮想キーを備える第３の仮想キーボードである。
【０２３０】
いくつかの実施形態では、別個のユーザ入力領域は、タッチ感知ディスプレイ１３０４上の絵文字に対応する第３の複数のキーを備える第３の仮想キーボードである。
【０２３１】
いくつかの実施形態では、別個のユーザ入力領域は、タッチ感知ディスプレイ１３０４上の描画入力領域である。
【０２３２】
いくつかの実施形態では、第２の仮想キーボードは、タッチ感知ディスプレイ１３０４上に専用のマルチキーボードキーを備える。
【０２３３】
いくつかの実施形態では、第２の複数の仮想キーは、タッチ感知ディスプレイ１３０４上の第１の複数の仮想キーよりも少ない。
【０２３４】
いくつかの実施形態では、第２の複数の仮想キーのそれぞれのサイズは、タッチ感知ディスプレイ１３０４上の第１の複数の仮想キーのそれぞれのサイズよりも小さい。
【０２３５】
上述の情報処理方法での動作は、汎用プロセッサ（例えば、図１Ａ及び図３に関連して上述されたようなもの）又は特定用途向けチップなどの、情報処理装置内の１つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
【０２３６】
図１２を参照して上述された動作は、図１Ａ〜図１Ｂ又は図１３に示される構成要素によって、任意選択的に実施される。例えば、表示動作１２０２、検出動作１２０６、中止動作１２０６、表示動作１２０６は、表示可能化ユニット１３１０、判定ユニット１３１２、表示可能化ユニット１３１０、中止ユニット１３１４、及び表示可能化ユニット１３１０により、任意選択的に実施される。イベントソータ１７０のイベントモニタ１７１は、タッチ感知ディスプレイ１１２上の接触を検出し、イベントディスパッチャモジュール１７４は、イベント情報をアプリケーション１３６−１に配信する。アプリケーション１３６−１の対応のイベント認識部１８０は、そのイベント情報を対応のイベント定義１８６と比較し、タッチ感知面上の第１の場所での第１の接触（又は、デバイスの回転）が、ユーザインタフェース上のオブジェクトの選択、又は１つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部１８０は、イベント又はサブイベントの検出に関連するイベントハンドラ１９０をアクティブ化させる。イベントハンドラ１９０は、アプリケーション内部状態１９２を更新するために、データアップデーター１７６若しくはオブジェクトアップデーター１７７を、任意選択的に用いるか又は呼び出す。いくつかの実施形態において、イベントハンドラ１９０は、アプリケーションにより表示されるものを更新するためのそれぞれのＧＵＩアップデーター１７８にアクセスする。同様に、当業者にとって、他の処理が図１Ａ〜図１Ｂに示される構成要素に基づいてどのように実施されるかは明らかであるだろう。
コンパクトな仮想キーボードの選択
【０２３７】
図１４Ａ〜図１４Ｆは、いくつかの実施形態に係る、コンパクトな仮想キーボードモードを選択するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図１５のプロセスを含めた、以下で説明されるプロセスを例示するために使用される。説明の便宜上、タッチ感知ディスプレイ１１２を備えたデバイス上で実行される動作を参照して、実施形態のうちのいくつかについて論じる。
【０２３８】
図１４Ａは、専用のマルチキーボードキー１４０４を備える仮想キーボード１４０２が表示される実施形態を示す。この例では、第１の仮想キーボードのサイズは、タッチ感知ディスプレイの幅全体にわたっている。この例では、第１の仮想キーボードは、第１の言語（例えば、英語）と関連付けられたローマ字に対応する第１のキーのセットを備える。いくつかの実施形態では、第１の仮想キーボードは、英語以外の言語のものでもよく、ローマ字以外の文字を利用してもよい。
【０２３９】
図１４Ｂは、タッチ感知ディスプレイ上でのピンチジェスチャの検出の例を示す。この例では、ユーザは、左人さし指１４０８がほぼ北西方向に動いて選択を行いながら、右人さし指１４０６がほぼ南東方向に動いて選択を行う状態で示されるように、２つの選択を互いに近づけてドラッグするためにタッチ感知ディスプレイ上での２つの選択を使用する。いくつかの実施形態では、これはピンチジェスチャとして知られており、片手を使用して行うことができる。いくつかの実施形態では、別個のジェスチャ、例えば、任意の方向におけるスリーフィンガースワイプを使用して、仮想キーボードの表示を中止してもよい。いくつかの実施形態では、専用のマルチキーボードキーの選択を使用して、仮想キーボードが、コンパクトな仮想キーボードを表示し、示すことを中止するまで、仮想キーボードを位置的に並進移動させてもよい。
【０２４０】
図１４Ｃは、指１４１０及び１４１２それぞれによって行われるピンチジェスチャに関して、サイズが縮小している仮想キーボード１４１４を示す。図１４Ｂにおいて論じたように、指は、選択を互いに近づけるようにドラッグし続ける。この例では、仮想キーボードのサイズ縮小及び位置並進は、ドラッグ選択中に使用されるアニメーションである。
【０２４１】
図１４Ｄは、タッチ感知ディスプレイの縁部に設けられたコンパクトな仮想キーボード１４１６を示す。この例では、コンパクトな仮想キーボードは、標準的なキーボードよりも小さい。コンパクトな仮想キーボードは、再配置を可能にするためのアフォーダンス１４１８を提供する。いくつかの実施形態では、コンパクトな仮想キーボードは、仮想キーボードよりも少ない仮想キーを有する。いくつかの実施形態では、コンパクトな仮想キーボードの仮想キーの量は、仮想キーボードと同じである。
【０２４２】
図１４Ｅは、コンパクトな仮想キーボード１４１６に適用されたフリックジェスチャ１４２０を示す。この例では、フリックジェスチャは、コンパクトな仮想キーボードをスワイプする２本以上の指を必要とする。いくつかの実施形態では、フリックは最初に、小型仮想キーボード１４１８のアフォーダンスに係合しなければならない。いくつかの実施形態では、フリックの速度は、所定の速度しきい値を満たさなければならない。いくつかの実施形態では、ワンフィンガーフリックジェスチャのみが必要である。
【０２４３】
図１４Ｆは、タッチ感知ディスプレイの反対側の縁部に設けられた再配置されたコンパクトな仮想キーボード１４２２を示す。いくつかの実施形態では、フリックジェスチャは、コンパクトな仮想キーボードを水平方向に並進移動させるか、又は移動させることができる。いくつかの実施形態では、フリックジェスチャは、コンパクトな仮想キーボードを水平方向と垂直方向の双方に並進移動させるか、又は移動させることができる。
【０２４４】
図１５は、いくつかの実施形態に係る、仮想キーボードモードを選択するための方法１５００を示すフローチャートである。方法１５００は、ディスプレイ及びタッチ感知面を備える、電子デバイス（例えば、図３のデバイス３００、又は、図１Ａのポータブル多機能デバイス１００）で実行される。いくつかの実施形態では、このディスプレイは、タッチスクリーンディスプレイであり、タッチ感知面は、ディスプレイ上に存在するか、あるいは、ディスプレイと統合されている（単に、タッチ感知ディスプレイとも称される）。
【０２４５】
後述するように、方法１５００は、仮想キーボードのコンパクトな仮想キーボードを選択するための簡単なやり方を提供する。
【０２４６】
デバイスは、タッチ感知ディスプレイ上に仮想キーボードを表示する（１５０２）。図１４Ａは、例えば、タッチ感知ディスプレイの幅を有する仮想キーボード１４０２を表示する。
【０２４７】
次に、デバイスは、仮想キーボードを表示することを中止し、タッチ感知ディスプレイの垂直方向縁部に隣接して設けられたコンパクトな仮想キーボードを表示する（１５０４）。コンパクトな仮想キーボードは、仮想キーボードよりも小さい。図１４Ｄは、例えば、タッチ感知ディスプレイの左中間縁部に設けられたコンパクトな仮想キーボード１４１６を示す。
【０２４８】
いくつかの実施形態では、タッチ感知ディスプレイの垂直方向縁部に隣接して設けられたコンパクトな仮想キーボードを表示することは、タッチ感知ディスプレイの垂直方向縁部に又はその近くに、コンパクトな仮想キーボードを表示することを含む（１５０６）。
【０２４９】
いくつかの実施形態では、コンパクトな仮想キーボード上でアフォーダンスを選択し、ドラッグすることによって、コンパクトな仮想キーボードをタッチ感知ディスプレイの垂直方向縁部に沿って移動させることができる（１５０８）。図１４Ｄは、例えば、コンパクトな仮想キーボード１４１６に付着したアフォーダンス１４１８を示す。いくつかの実施形態では、コンパクトな仮想キーボードは、垂直軸に沿って、タッチ感知面の縁部に沿って上下にドラッグされ得る。
【０２５０】
いくつかの実施形態では、タッチ感知ディスプレイ上で、コンパクトな仮想キーボード上でのフリックジェスチャが検出されると、タッチ感知ディスプレイの垂直方向縁部から、タッチ感知ディスプレイの反対側の垂直方向縁部までコンパクトな仮想キーボードを移動させる（１５１０）。図１４Ｅ及び図１４Ｆは、例えば、キーボードをタッチ感知ディスプレイ１４２２の他の縁部に並進移動させるためにコンパクトな仮想キーボード１４１６に適用されたフリックジェスチャ１４２０を表示する。いくつかの実施形態では、フリックジェスチャの速度は、所定の速度しきい値よりも高くなければならない（１５１２）。いくつかの実施形態では、所定の速度しきい値が割り当てられる。いくつかの実施形態では、所定の速度しきい値はユーザ定義される。
【０２５１】
いくつかの実施形態では、仮想キーボードを表示することを中止し、コンパクトな仮想キーボードを表示することは、コンパクトな仮想キーボードへと縮小する仮想キーボードをアニメーション化することを含む（１５１４）。図１４Ｂ及び図１４Ｃは、例えば、仮想キーボードが表示されなくなるまでの仮想キーボードの縮小及び位置並進を示す。
【０２５２】
いくつかの実施形態では、コンパクトな仮想キーボード上での拡大ジェスチャが検出されると、コンパクトな仮想キーボードを表示することを中止し、仮想キーボードを表示する（１５１６）。
【０２５３】
図１５における動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。加えて、本明細書に記載の他の方法に関して本明細書で記載されている他のプロセスの詳細（例えば、方法６００、９００、１２００、１５００は、また、図１５に関連して上述されている方法１５００に類似の方法でも適用可能であることを留意されたい。簡潔性のために、これらの詳細は、本明細書では繰り返さない。
【０２５４】
いくつかの実施形態によれば、図１６は、説明される様々な実施形態の理念に従って構成された電子デバイス１６００の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を遂行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図１６で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックのあらゆる可能な組み合わせ若しくは分割、又は更なる定義を、任意選択的に支持する。
【０２５５】
図１６に示すように、電子デバイス１６００は、ユーザインタフェースを表示するように構成されたディスプレイユニット１６０２と、接触を受け取るように構成されたタッチ感知面ユニット１６０４と、ディスプレイユニット１６０２及びタッチ感知面ユニット１６０４と結合された処理ユニット１６０８とを含む。いくつかの実施形態において、処理ユニット１６０８は、表示可能化ユニット１６１０、検出ユニット１６１２、中止ユニット１６１４、及び移動ユニット１６１６を含む。
【０２５６】
処理ユニット１６０８は、（例えば、表示可能化ユニット１６１０を用いて）タッチ感知ディスプレイ上での仮想キーボードの表示を可能化するように構成される。ジェスチャの検出に応じて、処理ユニットは、（例えば、中止可能化ユニット１６１４を用いて）仮想キーボードの表示を可能化することを中止し、タッチ感知ディスプレイの垂直方向縁部に隣接して設けられたコンパクトな仮想キーボードの表示を可能化するように更に構成される。コンパクトな仮想キーボードは、仮想キーボードよりも小さい。
【０２５７】
いくつかの実施形態では、タッチ感知ディスプレイ１６０４の垂直方向縁部に隣接して設けられたコンパクトな仮想キーボードの表示を可能化することは、タッチ感知ディスプレイの垂直方向縁部での又はその近くでのコンパクトな仮想キーボードの表示を可能化することを含む。
【０２５８】
いくつかの実施形態では、コンパクトな仮想キーボード上でアフォーダンスを選択し、ドラッグすることによって、コンパクトな仮想キーボードをタッチ感知ディスプレイ１６０４の垂直方向縁部に沿って移動させることができる。
【０２５９】
いくつかの実施形態では、処理ユニット１６０８は、タッチ感知ディスプレイ上で（例えば、検出ユニット１６１２を用いて）コンパクトな仮想キーボード上でのフリックジェスチャを検出すると、（例えば、移動ユニット１６１６を用いて）コンパクトな仮想キーボードを、タッチ感知ディスプレイの垂直方向縁部からタッチ感知ディスプレイ１６０４の反対側の垂直方向縁部まで移動させるように更に構成される。いくつかの実施形態では、フリックジェスチャの速度は、タッチ感知ディスプレイ１６０４の所定の速度しきい値よりも高い。
【０２６０】
いくつかの実施形態では、仮想キーボードを表示することを中止し、コンパクトな仮想キーボードを表示することは、タッチ感知面１６０４上でコンパクトな仮想キーボードへと縮小する仮想キーボードをアニメーション化することを含む。
【０２６１】
いくつかの実施形態では、処理ユニット１６０８は、（例えば、検出ユニット１６１２を用いて）コンパクトな仮想キーボード上の拡大ジェスチャを検出すると、（例えば、中止ユニット１６１４を用いて）コンパクトな仮想キーボードを表示することを中止し、仮想キーボードを表示するように更に構成される。
【０２６２】
上述の情報処理方法での動作は、汎用プロセッサ（例えば、図１Ａ及び図３に関連して上述されたようなもの）又は特定用途向けチップなどの、情報処理装置内の１つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
【０２６３】
図１５を参照して上述された動作は、図１Ａ〜図１Ｂ又は図１６に示される構成要素によって、任意選択的に実施される。例えば、表示動作１５０２、中止動作１５０４、表示動作１５０６、検出動作１５１０、中止動作１５１４、及び検出動作１５１６は、表示可能化ユニット１６１０、中止ユニット１６１４、表示可能化ユニット１６１０、検出ユニット１６１２、中止ユニット１６１４、及び検出ユニット１６１２により、任意選択的に実施される。イベントソータ１７０のイベントモニタ１７１は、タッチ感知ディスプレイ１１２上の接触を検出し、イベントディスパッチャモジュール１７４は、イベント情報をアプリケーション１３６−１に配信する。アプリケーション１３６−１の対応のイベント認識部１８０は、そのイベント情報を対応のイベント定義１８６と比較し、タッチ感知面上の第１の場所での第１の接触（又は、デバイスの回転）が、ユーザインタフェース上のオブジェクトの選択、又は１つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部１８０は、イベント又はサブイベントの検出に関連するイベントハンドラ１９０をアクティブ化させる。イベントハンドラ１９０は、アプリケーション内部状態１９２を更新するために、データアップデーター１７６若しくはオブジェクトアップデーター１７７を、任意選択的に用いるか又は呼び出す。いくつかの実施形態において、イベントハンドラ１９０は、アプリケーションにより表示されるものを更新するためのそれぞれのＧＵＩアップデーター１７８にアクセスする。同様に、当業者にとって、他の処理が図１Ａ〜図１Ｂに示される構成要素に基づいてどのように実施されるかは明らかであるだろう。
【０２６４】
上述の説明は、説明の目的上、特定の実施形態を参照して説明されている。しかし、上述の例示的説明は、網羅的であること、又は本発明を、開示されている寸分違わない形態に限定することを意図されてはいない。上述の教示を考慮すれば、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、及び想到される特定の用途に好適な様々な改良で本発明及び様々な実施形態を最良な形で使用することを可能とするために、これらの実施形態を選択し説明した。
【図１Ａ】
0006342464.tif 000004
【図１Ｂ】
0006342464.tif 000005
【図２】
0006342464.tif 000006
【図３】
0006342464.tif 000007
【図４】
0006342464.tif 000008
【図５Ａ】
0006342464.tif 000009
【図５Ｂ】
0006342464.tif 000010
【図５Ｃ】
0006342464.tif 000011
【図５Ｄ】
0006342464.tif 000012
【図５Ｅ】
0006342464.tif 000013
【図５Ｆ】
0006342464.tif 000014
【図６Ａ】
0006342464.tif 000015
【図６Ｂ】
0006342464.tif 000016
【図７】
0006342464.tif 000017
【図８Ａ】
0006342464.tif 000018
【図８Ｂ】
0006342464.tif 000019
【図８Ｃ】
0006342464.tif 000020
【図８Ｄ】
0006342464.tif 000021
【図８Ｅ】
0006342464.tif 000022
【図８Ｆ】
0006342464.tif 000023
【図８Ｇ】
0006342464.tif 000024
【図８Ｈ】
0006342464.tif 000025
【図８Ｉ】
0006342464.tif 000026
【図９Ａ】
0006342464.tif 000027
【図９Ｂ】
0006342464.tif 000028
【図１０】
0006342464.tif 000029
【図１１Ａ】
0006342464.tif 000030
【図１１Ｂ】
0006342464.tif 000031
【図１１Ｃ】
0006342464.tif 000032
【図１１Ｄ】
0006342464.tif 000033
【図１１Ｅ】
0006342464.tif 000034
【図１２】
0006342464.tif 000035
【図１３】
0006342464.tif 000036
【図１４Ａ】
0006342464.tif 000037
【図１４Ｂ】
0006342464.tif 000038
【図１４Ｃ】
0006342464.tif 000039
【図１４Ｄ】
0006342464.tif 000040
【図１４Ｅ】
0006342464.tif 000041
【図１４Ｆ】
0006342464.tif 000042
【図１５】
0006342464.tif 000043
【図１６】
0006342464.tif 000044