(57)【特許請求の範囲】
【請求項１】
多機能デバイスであって、
タッチスクリーンディスプレイと、
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備え、
前記１つ以上のプログラムは、前記メモリに格納されていて前記１つ以上のプロセッサによって実行されるように構成されており、
前記１つ以上のプログラムは、
無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示する命令と、
第１のボタンによる第１の入力を第１の時刻に検出する命令と、
前記第１の入力を検出したことに対して前記第１のボタンを作動させることによって応じる命令と、
第２のボタンによる第２の入力を第２の時刻に検出する命令と、
前記第２のボタンによる前記第２の入力を前記第２の時刻に検出したことに応じて、
前記第１のボタンが無条件に使用可能なボタンであって前記第２のボタンが無条件に使用可能なボタンである場合、前記第２のボタンを作動させ、
前記第１のボタンが無条件に使用可能なボタンであって前記第２のボタンが条件付きで使用可能なボタンである場合、
前記第１の時刻と前記第２の時刻との間の時間枠が事前設定された閾値を上回る場合、前記第２のボタンを作動させ、
前記第１の時刻と前記第２の時刻との間の時間枠が、前記事前設定された閾値に等しいかまたはそれを下回る場合、前記第２のボタンが作動されるのを阻止する
命令と、
を含む
ことを特徴とする多機能デバイス。
【請求項２】
前記条件付きで使用可能な１つ以上のボタンには、前記ソフトキーボードを隠すためのボタンが含まれる
ことを特徴とする請求項１に記載の多機能デバイス。
【請求項３】
前記条件付きで使用可能な１つ以上のボタンには、前記ソフトキーボードに関連する言語を変更するためのボタンが含まれる
ことを特徴とする請求項１に記載の多機能デバイス。
【請求項４】
前記ソフトキーボードは第１の言語に関連付けられており、前記条件付きで使用可能な１つ以上のボタンには、第２の言語に関連付けられたソフトキーボードに切り換えるためのボタンが含まれる
ことを特徴とする請求項１に記載の多機能デバイス。
【請求項５】
前記条件付きで使用可能な１つ以上のボタンには、アルファベットキーボードから数字および記号キーボードに切り換えるためのボタンが含まれる
ことを特徴とする請求項１に記載の多機能デバイス。
【請求項６】
前記条件付きで使用可能な１つ以上のボタンには、数字および記号キーボードからアルファベットキーボードに切り換えるためのボタンが含まれる
ことを特徴とする請求項１に記載の多機能デバイス。
【請求項７】
タッチスクリーンディスプレイを有する多機能デバイスにおいて、
無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示するステップと、
第１のボタンによる第１の入力を第１の時刻に検出するステップと、
前記第１の入力を検出したことに対して前記第１のボタンを作動させることによって応じるステップと、
第２のボタンによる第２の入力を第２の時刻に検出するステップと、
前記第２のボタンによる前記第２の入力を前記第２の時刻に検出したことに応じて、
前記第１のボタンが無条件に使用可能なボタンであって前記第２のボタンが無条件に使用可能なボタンである場合、前記第２のボタンを作動させ、
前記第１のボタンが無条件に使用可能なボタンであって前記第２のボタンが条件付きで使用可能なボタンである場合、
前記第１の時刻と前記第２の時刻との間の時間枠が事前設定された閾値を上回る場合、前記第２のボタンを作動させ、
前記第１の時刻と前記第２の時刻との間の時間枠が、前記事前設定された閾値に等しいかまたはそれを下回る場合、前記第２のボタンが作動されるのを阻止する
ステップと、
を含む
ことを特徴とする方法。
【請求項８】
前記条件付きで使用可能な１つ以上のボタンには、前記ソフトキーボードを隠すためのボタンが含まれる
ことを特徴とする請求項７に記載の方法。
【請求項９】
前記条件付きで使用可能な１つ以上のボタンには、前記ソフトキーボードに関連する言語を変更するためのボタンが含まれる
ことを特徴とする請求項７に記載の方法。
【請求項１０】
前記ソフトキーボードは第１の言語に関連付けられており、前記条件付きで使用可能な１つ以上のボタンには、第２の言語に関連付けられたソフトキーボードに切り換えるためのボタンが含まれる
ことを特徴とする請求項７に記載の方法。
【請求項１１】
前記条件付きで使用可能な１つ以上のボタンには、アルファベットキーボードから数字および記号キーボードに切り換えるためのボタンが含まれる
ことを特徴とする請求項７に記載の方法。
【請求項１２】
前記条件付きで使用可能な１つ以上のボタンには、数字および記号キーボードからアルファベットキーボードに切り換えるためのボタンが含まれる
ことを特徴とする請求項７に記載の方法。
【請求項１３】
１つ以上のプログラムを格納したコンピュータ可読記録媒体であって、前記１つ以上のプログラムは命令を含み、当該命令は、タッチスクリーンディスプレイを有する多機能デバイスによって実行された場合に、当該多機能デバイスに、
無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示させ、
第１のボタンによる第１の入力を第１の時刻に検出させ、
前記第１の入力を検出したことに対して前記第１のボタンを作動させることによって応じさせ、
第２のボタンによる第２の入力を第２の時刻に検出させ、
前記第２のボタンによる前記第２の入力を前記第２の時刻に検出したことに応じて、
前記第１のボタンが無条件に使用可能なボタンであって前記第２のボタンが無条件に使用可能なボタンである場合、前記第２のボタンを作動させ、
前記第１のボタンが無条件に使用可能なボタンであって前記第２のボタンが条件付きで使用可能なボタンである場合、
前記第１の時刻と前記第２の時刻との間の時間枠が事前設定された閾値を上回る場合、前記第２のボタンを作動させ、
前記第１の時刻と前記第２の時刻との間の時間枠が、前記事前設定された閾値に等しいかまたはそれを下回る場合、前記第２のボタンが作動されるのを阻止させる
ことを特徴とするコンピュータ可読記録媒体。
【請求項１４】
多機能デバイスであって、
タッチスクリーンディスプレイと、
無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示する手段と、
第１のボタンによる第１の入力を第１の時刻に検出する手段と、
前記第１の入力を検出したことに対して前記第１のボタンを作動させることによって応じる手段と、
第２のボタンによる第２の入力を第２の時刻に検出する手段と、
前記第２のボタンによる前記第２の入力を前記第２の時刻に検出したことに応じて、
前記第１のボタンが無条件に使用可能なボタンであって前記第２のボタンが無条件に使用可能なボタンである場合、前記第２のボタンを作動させ、
前記第１のボタンが無条件に使用可能なボタンであって前記第２のボタンが条件付きで使用可能なボタンである場合、
前記第１の時刻と前記第２の時刻との間の時間枠が事前設定された閾値を上回る場合、前記第２のボタンを作動させ、
前記第１の時刻と前記第２の時刻との間の時間枠が、前記事前設定された閾値に等しいかまたはそれを下回る場合、前記第２のボタンが作動されるのを阻止する
手段と、
を備えることを特徴とする多機能デバイス。
【請求項１５】
タッチスクリーンディスプレイを有する多機能デバイスにおいて使用する情報処理装置であって、
無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示する手段と、
第１のボタンによる第１の入力を第１の時刻に検出する手段と、
前記第１の入力を検出したことに対して前記第１のボタンを作動させることによって応じる手段と、
第２のボタンによる第２の入力を第２の時刻に検出する手段と、
前記第２のボタンによる前記第２の入力を前記第２の時刻に検出したことに応じて、
前記第１のボタンが無条件に使用可能なボタンであって前記第２のボタンが無条件に使用可能なボタンである場合、前記第２のボタンを作動させ、
前記第１のボタンが無条件に使用可能なボタンであって前記第２のボタンが条件付きで使用可能なボタンである場合、
前記第１の時刻と前記第２の時刻との間の時間枠が事前設定された閾値を上回る場合、前記第２のボタンを作動させ、
前記第１の時刻と前記第２の時刻との間の時間枠が、前記事前設定された閾値に等しいかまたはそれを下回る場合、前記第２のボタンが作動されるのを阻止する
手段と、
を備えることを特徴とする情報処理装置。
【請求項１６】
多機能デバイスであって、
タッチスクリーンディスプレイと、
１つ以上のプロセッサと、
メモリと、
１つ以上のプログラムと、
を備え、
前記１つ以上のプログラムは、前記メモリに格納されていて前記１つ以上のプロセッサによって実行されるように構成されており、
前記１つ以上のプログラムは、
無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示する命令と、
無条件に使用可能なそれぞれのボタンによる第１の入力を第１の時刻に検出する命令と、
前記第１の入力を前記第１の時刻に検出したことに応じて
前記無条件に使用可能なそれぞれのボタンを作動させ、
前記第１の時刻から開始される事前設定された時間枠の間、前記条件付きで使用可能なボタンのうち少なくとも１つを使用不可にする
命令と、
前記第１の入力に応じて使用不可にされた条件付きで使用可能であるボタンによる第２の入力を検出する命令であって、前記第２の入力は前記事前設定された時間枠の中にある第２の時刻に検出される、命令と、
前記第２の入力を前記第２の時刻に検出したことに対して前記第２の入力を無視することによって応じる命令と、
を含む
ことを特徴とする多機能デバイス。
【請求項１７】
タッチスクリーンディスプレイを有する多機能デバイスにおいて、
無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示するステップと、
無条件に使用可能なそれぞれのボタンによる第１の入力を第１の時刻に検出するステップと、
前記第１の入力を前記第１の時刻に検出したことに応じて
前記無条件に使用可能なそれぞれのボタンを作動させ、
前記第１の時刻から開始される事前設定された時間枠の間、前記条件付きで使用可能なボタンのうち少なくとも１つを使用不可にする
ステップと、
前記第１の入力に応じて使用不可にされた条件付きで使用可能であるボタンによる第２の入力を検出するステップであって、前記第２の入力は前記事前設定された時間枠の中にある第２の時刻に検出される、ステップと、
前記第２の入力を前記第２の時刻に検出したことに応じて前記第２の入力を無視するステップと、
を含む
ことを特徴とする方法。
【請求項１８】
１つ以上のプログラムを格納したコンピュータ可読記録媒体であって、前記１つ以上のプログラムは命令を含み、当該命令は、タッチスクリーンディスプレイを有する多機能デバイスによって実行された場合に、当該多機能デバイスに、
無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示させ、
無条件に使用可能なそれぞれのボタンによる第１の入力を第１の時刻に検出させ、
前記第１の入力を前記第１の時刻に検出したことに応じて
前記無条件に使用可能なそれぞれのボタンを作動させ、
前記第１の時刻から開始される事前設定された時間枠の間、前記条件付きで使用可能なボタンのうち少なくとも１つを使用不可にさせ、
前記第１の入力に応じて使用不可にされた条件付きで使用可能であるボタンによる第２の入力を検出させ、ここで、前記第２の入力は前記事前設定された時間枠の中にある第２の時刻に検出され、
前記第２の入力を前記第２の時刻に検出したことに応じて前記第２の入力を無視させる
ことを特徴とするコンピュータ可読記録媒体。
【請求項１９】
多機能デバイスであって、
タッチスクリーンディスプレイと、
無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示する手段と、
無条件に使用可能なそれぞれのボタンによる第１の入力を第１の時刻に検出する手段と、
前記第１の入力を前記第１の時刻に検出したことに応じて
前記無条件に使用可能なそれぞれのボタンを作動させ、
前記第１の時刻から開始される事前設定された時間枠の間、前記条件付きで使用可能なボタンのうち少なくとも１つを使用不可にする
手段と、
前記第１の入力に応じて使用不可にされた条件付きで使用可能であるボタンによる第２の入力を検出する手段であって、前記第２の入力は前記事前設定された時間枠の中にある第２の時刻に検出される、手段と、
前記第２の入力を前記第２の時刻に検出したことに対して前記第２の入力を無視することによって応じる手段と、
を備えることを特徴とする多機能デバイス。
【請求項２０】
タッチスクリーンディスプレイを有する多機能デバイスにおいて使用する情報処理装置であって、
無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示する手段と、
無条件に使用可能なそれぞれのボタンによる第１の入力を第１の時刻に検出する手段と、
前記第１の入力を前記第１の時刻に検出したことに応じて
前記無条件に使用可能なそれぞれのボタンを作動させ、
前記第１の時刻から開始される事前設定された時間枠の間、前記条件付きで使用可能なボタンのうち少なくとも１つを使用不可にする
手段と、
前記第１の入力に応じて使用不可にされた条件付きで使用可能であるボタンによる第２の入力を検出する手段であって、前記第２の入力は前記事前設定された時間枠の中にある第２の時刻に検出される、手段と、
前記第２の入力を前記第２の時刻に検出したことに対して前記第２の入力を無視することによって応じる手段と、
を備えることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本発明は一般に、タッチセンシティブ表面を備えた電子デバイスに関するものであり、例えばソフトキーボード上のソフトキーまたは他のオブジェクトのような、表示されたユーザインタフェース上のソフトボタンを条件付きで作動させまたは不作動にさせることができる、タッチセンシティブディスプレイを備えた電子デバイスを含むがそれらに限定されない。
【背景技術】
【０００２】
[0002]近年、タッチセンシティブ表面をコンピュータおよびその他の電子コンピューティングデバイス用の入力デバイスとして用いることが大幅に増えている。典型的なタッチセンシティブ表面には、タッチパッドやタッチスクリーンディスプレイなどがある。そのような表面は、ユーザインタフェースオブジェクトをディスプレイ上で操作するのに広く用いられている。
【０００３】
[0003]典型的な操作には、１つ以上のソフトキーボードを用いて文字を入力することが含まれる。文字入力を必要とするプログラムまたはアプリケーションでは、ユーザは、ユーザインタフェースオブジェクト上でそのような操作を行うことが必要となりうる。
【０００４】
[0004]しかし、そのようなキーボードを用いるための既存の方法は面倒であり、効率が悪い。例えば、キーボードを隠したり、異なる言語のキーボードに切り換えたりするためのボタンが、キーボードをタイプしている間に意図せずして作動される可能性があり、そのため、テキスト入力体験が退屈なものとなり、ユーザにとって認知上の重大な負担となる。加えて、一部の従来の方法では、タスクを完了するのに必要以上の時間がかかり、それによってユーザの時間を浪費させ、かつ、電池で動作するデバイスにとって特に重要な考慮すべき事柄である、デバイスの電力備蓄を浪費させることになる。
【発明の概要】
【０００５】
[0005]従って、ソフトキーボード上のボタンを作動させるためのより迅速かつより効率的な方法およびインタフェースを備えたコンピューティングデバイスの必要性がある。そのような方法およびインタフェースは、ソフトキーボード上でボタンを作動させるための従来の方法を補完または置換しうる。そのような方法およびインタフェースは、ユーザにかかる認知上の負担を軽減し、より効率的なヒューマン・マシン・インタフェースを実現する。電池で動作するコンピューティングデバイスにとって、そのような方法およびインタフェースは、電力を節約し、次回の電池充電までの時間を増加させる。
【０００６】
[0006]（例えば「タッチスクリーン」または「タッチスクリーンディスプレイ」としても知られる）タッチセンシティブディスプレイを備えたコンピューティングデバイス用のユーザインタフェースに関連する前述の欠点およびその他の問題が、開示されるデバイスによって軽減される。一例では、ソフトキーボードの中のキーボード選択ボタンは、他の所定のソフトキーボードボタン（例えば、表示されたソフトキーボードの中のいずれかの文字ボタン）の作動に応じて一時的に使用不可にされ、そうでない場合は、作動のために使用可能にされる。キーボード選択ボタンを条件付きで使用不可にすることによって、ユーザは、より迅速かつより効率的なタイピングが可能になり、キーボード選択ボタンの偶発的な作動が回避される。より迅速かつより効率的なユーザのタイピングを容易にする、条件付きで使用可能なボタンのもう１つの例は、キーボード隠しボタンである。典型的には、ユーザは、アクティブにタイプしている間にソフトキーボードを隠すことを望まないものであり、従って、キーボード隠しボタンを、（ソフトキーボードの中に表示されようと、タッチセンシティブディスプレイ上のユーザインタフェースの中のどこか他のところに表示されようと）条件付きで使用可能なボタンにすれば、ユーザは、より迅速かつより効率的なタイピングをすることができ、それが次には、エネルギと、デバイスの電力備蓄とを節約する。
【０００７】
[0007]一部の実施形態では、デバイスはデスクトップコンピュータである。一部の実施形態では、デバイスは、携帯用である（例えば、ノートパソコン、タブレットコンピュータ、またはハンドヘルドデバイス）。一部の実施形態では、デバイスは、グラフィカルユーザインタフェース（ＧＵＩ）と、１つ以上のプロセッサと、メモリと、１つ以上のモジュールと、プログラムまたは複数の機能を実行するためにメモリの中に記憶された命令の集合とを有する。一部の実施形態では、ユーザは、主に、タッチセンシティブディスプレイ上での指の接触およびジェスチャを通してＧＵＩと対話する。一部の実施形態では、機能には、編集と、描画と、プレゼンテーションと、ワードプロセッシングと、ウェブサイト作成と、ディスクオーサリングと、表計算シート作成と、ゲームをすることと、電話をすることと、テレビ会議をすることと、電子メールをすることと、インスタントメッセージングと、エクササイズ(workout)のサポートと、デジタル写真撮影と、デジタルビデオ撮影と、ウェブブラウジングと、デジタル音楽再生と、および／またはデジタルビデオ再生とのさまざまなタイプが含まれうる。これらの機能を行うための実行可能な命令が、コンピュータ可読記憶媒体、または、１つ以上のプロセッサによる実行のために構成された、その他のコンピュータプログラム製品に含まれうる。
【０００８】
[0008]一部の実施形態によると、多機能デバイスが、タッチスクリーンディスプレイと、１つ以上のプロセッサと、メモリと、１つ以上のプログラムとを含んでいる。１つ以上のプログラムは、メモリの中に記憶されていて、１つ以上のプロセッサによって実行されるように構成されている。１つ以上のプログラムは、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示し、第１のボタンによる第１の入力を第１の時刻に検出し、そして、第１の入力を検出したことに対して第１のボタンを作動させることによって応じるための命令を含んでいる。プログラムはさらに、第２のボタンによる第２の入力を第２の時刻に検出して、第２のボタンによる第２の入力の第２の時刻における検出に応じるための命令を含んでいる。例えば、第１のボタンが無条件に使用可能なボタンであって第２のボタンが無条件に使用可能なボタンである場合、命令は第２のボタンを作動させる。第１のボタンが無条件に使用可能なボタンであって第２のボタンが条件付きで使用可能なボタンである場合、かつ、第１の時刻と第２の時刻との間の時間枠が事前設定された閾値を上回る場合、命令は、第２の入力を検出することに応じて第２のボタンを作動させる。しかし、第１の時刻と第２の時刻との間の時間枠が、事前設定された閾値に等しいかまたはそれを下回る場合、命令は、第２のボタンの作動を阻止する。
【０００９】
[0009]一部の実施形態によると、タッチスクリーンディスプレイを備えた多機能デバイスにおいて、方法が行われる。方法は、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示することと、第１のボタンによる第１の入力を第１の時刻に検出することと、そして、第１の入力を検出したことに対して第１のボタンを作動させることによって応じることとを含んでいる。方法はさらに、第２のボタンによる第２の入力を第２の時刻に検出することと、第２のボタンによる第２の入力の第２の時刻における検出に応じることとを含んでいる。第１のボタンと第２のボタンとが両方とも、無条件に使用可能である場合、方法は、第２のボタンを作動させる。しかし、第１のボタンが無条件に使用可能なボタンであって、第２のボタンが条件付きで使用可能なボタンである場合、方法は、条件付きで第２のボタンを使用不可にする。具体的には、第１の時刻と第２の時刻との間の時間枠が事前設定された閾値を上回る場合、方法は、第２のボタンの作動を可能にし、そして、第１の時刻と第２の時刻との間の時間枠が事前設定された閾値を下回る場合、方法は、第２のボタンの作動を不可能にする。
【００１０】
[0010]一部の実施形態によると、コンピュータ可読記憶媒体が、その中に、タッチスクリーンディスプレイを備えた多機能デバイスによって実行された場合に、デバイスに、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示させ、第１のボタンによる第１の入力を第１の時刻に検出させ、そして、第１の入力を検出したことに対して第１のボタンを作動させることによって応じさせる命令を記憶している。命令の実行は、さらに、デバイスに、第２のボタンによる第２の入力を第２の時刻に検出させ、そして、第２のボタンによる第２の入力の第２の時刻における検出に応じさせる。第１のボタンが無条件に使用可能なボタンであって第２のボタンが無条件に使用可能なボタンである場合、命令の実行は、デバイスに、第２のボタンを作動させる。しかし、第１のボタンが無条件に使用可能なボタンであって第２のボタンが条件付きで使用可能なボタンである場合、命令の実行は、デバイスに、条件付きで第２のボタンを作動させる。具体的には、第１の時刻と第２の時刻との間の時間枠が事前設定された閾値を上回る場合、命令の実行は、デバイスに、第２のボタンを作動させ、そして、第１の時刻と第２の時刻との間の時間枠が事前設定された閾値に等しいかまたはそれを下回る場合、命令の実行は、デバイスに、第２のボタンの作動を阻止させる。
【００１１】
[0011]一部の実施形態によると、タッチスクリーンディスプレイと、メモリと、メモリの中に記憶された１つ以上のプログラムを実行するための１つ以上のプロセッサとを備えた多機能デバイス上のグラフィカルユーザインタフェースが、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを含んでいる。第１のボタンによる第１の入力が第１の時刻に検出された場合、第１の入力の検出は、第１のボタンの作動によって応じられる。第２のボタンによる第２の入力が第２の時刻に検出され、そして、第２のボタンによる第２の入力の第２の時刻における検出が、応じられる。第１のボタンが無条件に使用可能なボタンであって第２のボタンが無条件に使用可能なボタンである場合、第２のボタンが作動される。しかし、第１のボタンが無条件に使用可能なボタンであって第２のボタンが条件付きで使用可能なボタンである場合、第２のボタンが条件付きで作動される。具体的には、第１の時刻と第２の時刻との間の時間枠が事前設定された閾値を上回る場合、第２のボタンが作動され、そして、第１の時刻と第２の時刻との間の時間枠が事前設定された閾値に等しいかまたはそれを下回る場合、第２のボタンの作動は阻止される。
【００１２】
[0012]一部の実施形態によると、多機能デバイスが、タッチスクリーンディスプレイと、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示するための手段と、第１のボタンによる第１の入力を第１の時刻に検出するための手段と、そして、第１の入力を検出したことに対して第１のボタンを作動させることによって応じるための手段とを含んでいる。デバイスは、さらに、第２のボタンによる第２の入力を第２の時刻において検出するための手段と、第２のボタンによる第２の入力の第２の時刻における検出に応じるための手段とを含んでいる。第２の入力の検出に応じるための手段は、第１のボタンが無条件に使用可能なボタンであって第２のボタンが無条件に使用可能なボタンである場合、第２のボタンを作動させる。しかし、第２の入力の検出に応じるための手段は、第１のボタンが無条件に使用可能なボタンであって第２のボタンが条件付きで使用可能なボタンである場合、条件付きで第２のボタンを作動させる。具体的には、第１の時刻と第２の時刻との間の時間枠が事前設定された閾値を上回る場合、第２のボタンは、第２の入力の検出に応じるための手段によって作動される。そして、第１の時刻と第２の時刻との間の時間枠が事前設定された閾値に等しいかまたはそれを下回る場合、第２のボタンは、第２の入力の検出に応じるための手段によって作動を阻止される。
【００１３】
[0013]一部の実施形態によると、タッチスクリーンディスプレイを備えた多機能デバイスで使用される情報処理装置が、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示するための手段と、第１のボタンによる第１の入力を第１の時刻に検出するための手段と、そして、第１の入力を検出したことに対して第１のボタンを作動させることによって応じるための手段とを含んでいる。装置はさらに、第２のボタンによる第２の入力を第２の時刻において検出するための手段と、第２のボタンによる第２の入力の第２の時刻における検出に応じるための手段とを含んでいる。第１のボタンが無条件に使用可能なボタンであって第２のボタンが無条件に使用可能なボタンである場合、第２の入力の検出に応じるための手段が、第２のボタンを作動させる。第１のボタンが無条件に使用可能なボタンであって第２のボタンが条件付きで使用可能なボタンである場合、第２の入力の検出に応じるための手段は、条件付きで第２のボタンを作動させる。具体的には、第１の時刻と第２の時刻との間の時間枠が事前設定された閾値を上回る場合、第２の入力の検出に応じるための手段は、第２のボタンを作動させ、そして、第１の時刻と第２の時刻との間の時間枠が事前設定された閾値に等しいかまたはそれを下回る場合、第２の入力の検出に応じるための手段は、第２のボタンの作動を阻止する。
【００１４】
[0014]一部の実施形態によると、多機能デバイスが、タッチスクリーンディスプレイと、１つ以上のプロセッサと、メモリと、１つ以上のプログラムとを含んでいる。１つ以上のプログラムは、メモリの中に記憶され、１つ以上のプロセッサによって実行されるように構成される。１つ以上のプログラムは、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示し、無条件に使用可能なそれぞれのボタンによる第１の入力を第１の時刻に検出し、そして、第１の入力を第１の時刻に検出したことに対して無条件に使用可能なそれぞれのボタンを作動させることによって応じ、そして、第１の時刻から開始される事前設定された時間枠の間、条件付きで使用可能なボタンのうち少なくとも１つを使用不可にするための命令を含んでいる。１つ以上のプログラムは、さらに、第１の入力に応じて使用不可にされた条件付きで使用可能であるボタンによる、かつ、事前設定された時間枠の中にある第２の時刻に検出される、第２の入力を検出し、そして、第２の入力の第２の時刻における検出に対して第２の入力を無視することによって応じるための命令を含んでいる。
【００１５】
[0015]一部の実施形態によると、タッチスクリーンディスプレイを備えた多機能デバイスにおいて、方法が行われる。方法は、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示することと、無条件に使用可能なそれぞれのボタンによる第１の入力を第１の時刻に検出することと、そして、第１の入力を第１の時刻に検出したことに対して無条件に使用可能なそれぞれのボタンを作動させることによって応じ、そして、第１の時刻から開始される事前設定された時間枠の間、条件付きで使用可能なボタンのうち少なくとも１つを使用不可にすることとを含んでいる。方法は、さらに、第１の入力に応じて使用不可にされた条件付きで使用可能であるボタンによる、かつ、事前設定された時間枠の中にある第２の時刻に検出される、第２の入力を検出することと、第２の入力の第２の時刻における検出に対して第２の入力を無視することによって応じることとを含んでいる。
【００１６】
[0016]一部の実施形態によると、コンピュータ可読記憶媒体が、その中に、タッチスクリーンディスプレイを備えた多機能デバイスによって実行された場合に、デバイスに、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示させ、無条件に使用可能なそれぞれのボタンによる第１の入力を第１の時刻に検出させ、そして、第１の入力を第１の時刻に検出したことに対して無条件に使用可能なそれぞれのボタンを作動させることによって応じさせ、そして、第１の時刻から開始される事前設定された時間枠の間、条件付きで使用可能なボタンのうち少なくとも１つを使用不可にさせる命令を記憶している。命令の実行は、さらに、デバイスに、第１の入力に応じて使用不可にされた条件付きで使用可能であるボタンによる、かつ、事前設定された時間枠の中にある第２の時刻に検出される、第２の入力を検出させ、そして、第２の時刻における第２の入力の検出に対して第２の入力を無視することによって応じさせる。
【００１７】
[0017]一部の実施形態によると、タッチスクリーンディスプレイと、メモリと、メモリの中に記憶された１つ以上のプログラムを実行するための１つ以上のプロセッサとを備えた多機能デバイス上のグラフィカルユーザインタフェースが、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを含んでいる。グラフィカルユーザインタフェースの無条件に使用可能なそれぞれのボタンによる第１の入力が、第１の時刻に検出される。第１の入力を第１の時刻に検出したことに応じて、無条件に使用可能なそれぞれのボタンが作動され、そして、条件付きで使用可能なボタンのうち少なくとも１つが、第１の時刻から開始される事前設定された時間枠の間、使用不可にされる。第１の入力に応じて使用不可にされた条件付きで使用可能であるボタンによる第２の入力が、事前設定された時間枠の中にある第２の時刻に検出された場合、第２の入力は無視される。
【００１８】
[0018]一部の実施形態によると、多機能デバイスが、タッチスクリーンディスプレイと、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示するための手段と、無条件に使用可能なそれぞれのボタンによる第１の入力を第１の時刻に検出するための手段と、第１の入力を第１の時刻に検出したことに応じて無条件に使用可能なそれぞれのボタンを作動させるための手段とを含んでいる。デバイスは、さらに、第１の時刻から開始される事前設定された時間枠の間、条件付きで使用可能なボタンのうち少なくとも１つを使用不可にするための手段と、第１の入力に応じて使用不可にされた条件付きで使用可能であるボタンによる第２の入力を検出するための手段と、第２の入力が事前設定された時間枠の中にある第２の時刻に検出される場合に、第２の入力を無視するための手段とを含んでいる。
【００１９】
[0019]一部の実施形態によると、タッチスクリーンディスプレイを備えた多機能デバイスで使用される情報処理装置が、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示するための手段と、無条件に使用可能なそれぞれのボタンによる第１の入力を第１の時刻に検出するための手段と、第１の入力を第１の時刻に検出したことに応じて無条件に使用可能なそれぞれのボタンを作動させるための手段とを含んでいる。装置は、さらに、第１の時刻から開始される事前設定された時間枠の間、条件付きで使用可能なボタンのうち少なくとも１つを使用不可にするための手段と、第１の入力に応じて使用不可にされた条件付きで使用可能であるボタンによる第２の入力を検出するための手段と、第２の入力が事前設定された時間枠の中にある第２の時刻に検出される場合に、第２の入力を無視するための手段とを含んでいる。
【００２０】
[0020]それゆえ、タッチスクリーンディスプレイを備えた多機能デバイスに、キーを作動させるためのより迅速かつより効率的な方法およびインタフェースが提供され、それによって、それらのデバイスによる効果、効率、ユーザの満足度がさらに高まる。そのような方法およびインタフェースは、キーを作動させるための従来の方法を補完または置換しうる。
【図面の簡単な説明】
【００２１】
[0021]本発明の前述の諸実施形態およびさらなる諸実施形態をよりよく理解するため、下記の図面と併せて下記の「発明を実施するための形態」を参照するべきである。図面において、類似の参照番号は図面全体を通して対応する部分を指す。
【図１Ａ】一部の実施形態による、タッチセンシティブディスプレイを備えた携帯用多機能デバイスを示すブロック図である。
【図１Ｂ】一部の実施形態による、タッチセンシティブディスプレイを備えた携帯用多機能デバイスを示すブロック図である。
【図１Ｃ】一部の実施形態による、イベント処理のための例示的な構成要素（コンポーネント）を示すブロック図である。
【図２】一部の実施形態による、タッチスクリーンを有する携帯用多機能デバイスを示す図である。
【図３】一部の実施形態による、ディスプレイとタッチセンシティブ表面とを備えた例示的な多機能デバイスのブロック図である。
【図４Ａ】一部の実施形態による、携帯用多機能デバイス上のアプリケーションのメニューについての例示的なユーザインタフェースを示す図である。
【図４Ｂ】一部の実施形態による、携帯用多機能デバイス上のアプリケーションのメニューについての例示的なユーザインタフェースを示す図である。
【図５Ａ】一部の実施形態による、ボタンを作動させるための例示的なユーザインタフェースを示す図である。
【図５Ｂ】一部の実施形態による、ボタンを作動させるための例示的なユーザインタフェースを示す図である。
【図５Ｃ】一部の実施形態による、ボタンを作動させるための例示的なユーザインタフェースを示す図である。
【図５Ｄ】一部の実施形態による、ボタンを作動させるための例示的なユーザインタフェースを示す図である。
【図５Ｅ】一部の実施形態による、ボタンを作動させるための例示的なユーザインタフェースを示す図である。
【図５Ｆ】一部の実施形態による、ボタンを作動させるための例示的なユーザインタフェースを示す図である。
【図５Ｇ】一部の実施形態による、ボタンを作動させるための例示的なユーザインタフェースを示す図である。
【図５Ｈ】一部の実施形態による、ボタンを作動させるための例示的なユーザインタフェースを示す図である。
【図５Ｉ】一部の実施形態による、ボタンを作動させるための例示的なユーザインタフェースを示す図である。
【図６Ａ】一部の実施形態による、ボタンを作動させる方法を示すフロー図である。
【図６Ｂ】一部の実施形態による、ボタンを作動させる方法を示すフロー図である。
【図７】一部の実施形態による、ボタンを作動させる方法を示すフロー図である。
【発明を実施するための形態】
【００２２】
[0030]次に、実施形態について詳細に説明し、それらの例を添付の図面に示す。以下の詳細記述では、本発明の十分な理解を提供するために、多くの特定の詳細が記述されている。しかし、当業者には明らかであろうが、本発明は、これらの特定の詳細がなくても実施されうる。その他の事例では、周知の方法、手順、構成要素、回路およびネットワークは、実施形態の態様を不要にあいまいにしないように、詳細には記述していない。
【００２３】
[0031]また理解されるであろうが、第１、第２などの用語は、本明細書では、各種の要素（エレメント）を記述するために使用されうるけれども、これらの要素はこれらの用語によって限定されるべきでない。これらの用語は、要素と要素とを区別するためだけに用いられている。例えば、本発明の範囲から逸脱することなく、第１の接触は第２の接触と呼ばれてもよいだろうし、同様に、第２の接触が第１の接触と呼ばれてもよいだろう。第１の接触と第２の接触とは、どちらも接触であるが、同じ接触ではない。
【００２４】
[0032]本明細書で本発明の記述の中で用いられる用語は、特定の実施形態を記述することを目的としており、本発明を限定することを意図していない。本発明の記述および添付の請求項で用いられる場合、単数形「ａ」、「ａｎ」、「ｔｈｅ」は、文脈が別に明示しない限り、複数形も同様に含むことを意図する。さらに理解されるであろうが、「および／または(and/or)」という用語は、本明細書で用いられる場合、関連するリストされた項目のうちの１つ以上のいずれかの、または、すべての起こりうる組み合わせを言及し、それを包含する。さらに理解されるであろうが、「含む(include)」、「含んでいる(including)」、「備える(comprise)」および／または「備えている(comprising)」という用語は、本明細書で用いられる場合、述べられた特徴、整数、ステップ、動作、要素および／または構成要素の存在を明記するが、１つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、および／またはそれらのグループの存在もしくは追加を排除しない。
【００２５】
[0033]本明細書では、「もしも(if)」は、文脈に依存して、「する時(when)」または「した時点で(upon)」または「判定したことに応じて(in response to determining)」または「検出したことに応じて(in response to detecting)」を意味すると解釈されてもよい。同様に、「と判定された場合(if it is determined)」または「［述べられた条件またはイベント］が検出された場合(if [a stated condition or event] is detected)」は、文脈に依存して、「判定した時点で(upon determining)」または「判定したことに応じて(in response to determining)」または「［述べられた条件またはイベント］を検出した時点で(upon detecting [the stated condition or event])」または「［述べられた条件またはイベント］を検出したことに応じて(in response to detecting [the stated condition or event])」を意味すると解釈されてもよい。
【００２６】
[0034]コンピューティングデバイス、そのようなデバイスのためのユーザインタフェース、およびそのようなデバイスを使用するための関連プロセスの実施形態について記述する。一部の実施形態では、コンピューティングデバイスは、携帯用通信デバイス、例えば移動電話であり、その他の機能、例えばＰＤＡおよび／または音楽プレーヤ機能も有している。携帯用多機能デバイスの例示的な実施形態には、限定することなく、カリフォルニア州ＣｕｐｅｒｔｉｎｏのＡｐｐｌｅ  Ｉｎｃ．のｉＰｈｏｎｅ（登録商標）およびｉＰｏｄ  Ｔｏｕｃｈ（登録商標）デバイスが含まれる。また、その他の携帯用デバイス、例えばタッチセンシティブ表面（例えばタッチスクリーンディスプレイおよび／またはタッチパッド）を持つラップトップコンピュータまたはタブレットコンピュータが用いられてもよい。また、理解されるべきだが、一部の実施形態では、デバイスは、携帯用通信デバイスではなく、タッチセンシティブ表面（例えばタッチスクリーンディスプレイおよび／またはタッチパッド）を持つデスクトップコンピュータである。
【００２７】
[0035]下記の議論では、ディスプレイおよびタッチセンシティブ表面を含むコンピューティングデバイスについて記述する。しかし、理解されるべきだが、コンピューティングデバイスは、１つ以上の他の物理的ユーザインタフェースデバイス、例えば物理的キーボード、マウス、および／またはジョイスティックを含んでいてもよい。
【００２８】
[0036]デバイスは多様なアプリケーション、例えば、描画アプリケーション、プレゼンテーションアプリケーション、文章処理アプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、表計算アプリケーション、ゲームアプリケーション、電話アプリケーション、テレビ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、エクササイズ(workout)サポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、インターネット閲覧アプリケーション、デジタル音楽プレーヤアプリケーション、および／またはデジタルビデオプレーヤアプリケーションのうちの１つ以上をサポートする。
【００２９】
[0037]デバイス上で実行されうる各種のアプリケーションは、少なくとも１つの共通の物理的ユーザインタフェースデバイス、例えばタッチセンシティブ表面を使用してもよい。タッチセンシティブ表面の１つ以上の機能、およびデバイス上に表示される対応する情報は、アプリケーション毎に、および／または、それぞれのアプリケーションの中で、調整されたり、および／または、変更されたりしてもよい。このようにして、デバイスの共通の物理的アーキテクチャ（例えばタッチセンシティブ表面）は、ユーザにとって直感的かつ透過的なユーザインタフェースを使って多様なアプリケーションをサポートしうる。
【００３０】
[0038]ユーザインタフェースは、１つ以上のソフトキーボードの実施形態を含んでいてもよい。ソフトキーボードの実施形態は、表示されたキーボードのアイコン上に標準の（ＱＷＥＲＴＹ）および／または標準でない構成のシンボルを含んでいてもよく、それらは例えば、２００６年７月２４日に出願された米国特許出願第１１／４５９，６０６号「Ｋｅｙｂｏａｒｄｓ  ｆｏｒ  Ｐｏｒｔａｂｌｅ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｖｉｃｅｓ」および２００６年７月２４日に出願された米国特許出願第１１／４５９，６１５号「Ｔｏｕｃｈ  Ｓｃｒｅｅｎ  Ｋｅｙｂｏａｒｄｓ  Ｆｏｒ  Ｐｏｒｔａｂｌｅ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｖｉｃｅｓ」に記述されており、その内容を全部、参照により本願に援用する。キーボードの実施形態の中には、既存の物理的キーボード、例えばタイプライタのキーボードにあるキーの数と比べてアイコン（またはソフトキー）の数が少ない実施形態があってもよい。これによって、ユーザは、キーボードの中の１つ以上のアイコン、それゆえ、１つ以上の対応するシンボルを選択するのがより容易になる。キーボードの実施形態は、適応的であってよい。例えば、表示されたアイコンが、例えば１つ以上のアイコンおよび／または１つ以上の対応するシンボルを選択するようなユーザの動作に従って修正されてもよい。デバイス上の１つ以上のアプリケーションが、共通の、および／または異なるキーボード実施形態を利用してもよい。それゆえ、使用されるキーボードの実施形態は、少なくとも一部のアプリケーションに合わせてカスタマイズされてもよい。一部の実施形態では、１つ以上のキーボードの実施形態が、それぞれのユーザに合わせてカスタマイズされてもよい。例えば、１つ以上のキーボードの実施形態が、それぞれのユーザの言葉の利用履歴（辞書編集法、スラング、個別の用途）に基づいてそれぞれのユーザに合わせてカスタマイズされてもよい。一部のキーボードの実施形態は、ソフトキーボードの実施形態を用いる時に、１つ以上のアイコンを、それゆえ１つ以上のシンボルを、選択する場合にユーザエラーの確率を減らすように調整されてもよい。
【００３１】
[0039]次に、タッチセンシティブディスプレイを備えた携帯用デバイスの実施形態に注意を向けよう。図１Ａおよび図１Ｂは、一部の実施形態による、タッチセンシティブディスプレイ１１２を持つ携帯用多機能デバイス１００を示すブロック図である。タッチセンシティブディスプレイ１１２は、便宜上「タッチスクリーン」と呼ばれることもあり、また、タッチセンシティブディスプレイシステムとして知られ、またはそう呼ばれることもある。デバイス１００は、メモリ１０２（１つ以上のコンピュータ可読記憶媒体を含みうる）と、メモリコントローラ１２２と、１つ以上の処理ユニット（ＣＰＵ）１２０と、周辺装置インタフェース１１８と、ＲＦ回路部１０８と、音声回路部１１０と、スピーカ１１１と、マイク１１３と、入力／出力（Ｉ／Ｏ）サブシステム１０６と、他の入力または制御デバイス１１６と、外部ポート１２４とを含んでいてもよい。デバイス１００は、１つ以上の光センサ１６４を含んでいてもよい。これらの構成要素は、１つ以上のコミュニケーションバスまたは信号線１０３を経て通信してもよい。
【００３２】
[0040]理解されるべきだが、デバイス１００は、携帯用多機能デバイスの一例にすぎず、デバイス１００は、図示するより構成要素が多いことも少ないこともあり、２つ以上の構成要素を組み合わせることもあり、あるいは、構成要素の別の構成または配置を有することもある。図１Ａおよび図１Ｂに示す各種の構成要素は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアの両方の組み合わせとして、１つ以上の信号処理回路および／または特定用途向け集積回路を含めて実装されてもよい。
【００３３】
[0041]メモリ１０２は、高速ランダムアクセスメモリを含んでいてもよく、また、不揮発性メモリ、例えば１つ以上の磁気ディスクストレージデバイス、フラッシュメモリデバイス、またはその他の不揮発性ソリッドステートメモリデバイスを含んでいてもよい。メモリ１０２へのデバイス１００の他のコンポーネント、例えばＣＰＵ１２０および周辺インタフェース１１８によるアクセスは、メモリコントローラ１２２によって制御されてもよい。
【００３４】
[0042]周辺装置インタフェース１１８を用いて、デバイスの入出力周辺装置をＣＰＵ１２０およびメモリ１０２に接続することができる。１つ以上のプロセッサ１２０は、各種のソフトウェアプログラムおよび／またはメモリ１０２の中に記憶された命令の集合を動作させるかまたは実行して、デバイス１００についての各種の機能を行い、データを処理する。
【００３５】
[0043]一部の実施形態では、周辺装置インタフェース１１８と、ＣＰＵ１２０と、メモリコントローラ１２２とは、例えばチップ１０４のような単一のチップ上に実装されてもよい。一部の実施形態では、それらは別個のチップ上に実装されてもよい。
【００３６】
[0044]ＲＦ（ｒａｄｉｏ  ｆｒｅｑｕｅｎｃｙ）回路部１０８は、電磁信号とも呼ばれるＲＦ信号を送受信する。ＲＦ回路部１０８は、電気信号を電磁信号に、電磁信号を電気信号に変換し、電磁信号を介して通信ネットワークおよびその他の通信デバイスと通信する。ＲＦ回路部１０８は、アンテナシステムと、ＲＦトランシーバと、１つ以上の増幅器と、チューナと、１つ以上のオシレータと、デジタル信号プロセッサと、ＣＯＤＥＣチップセットと、ＳＩＭ（ｓｕｂｓｃｒｉｂｅｒ  ｉｄｅｎｔｉｔｙ  ｍｏｄｕｌｅ）カードと、メモリと、等々を含めて、これらの機能を行うための周知の回路部を含んでいてもよいが、それらに限定されない。ＲＦ回路部１０８は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）とも呼ばれるインターネット、イントラネット、および／または、セルラー電話ネットワーク、ワイヤレスローカルエリアネットワーク（ＬＡＮ）、および／またはメトロポリタンエリアネットワーク（ＭＡＮ）のようなワイヤレスネットワーク、のようなネットワークとワイヤレス通信によって通信してもよいし、その他のデバイスとワイヤレス通信によって通信してもよい。ワイヤレス通信は、ＧＳＭ（Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ）、ＥＤＧＥ（Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ＧＳＭ  Ｅｎｖｉｒｏｎｍｅｎｔ）、ＨＳＤＰＡ（ｈｉｇｈ−ｓｐｅｅｄ  ｄｏｗｎｌｉｎｋ  ｐａｃｋｅｔ  ａｃｃｅｓｓ）、Ｗ−ＣＤＭＡ（ｗｉｄｅｂａｎｄ  ｃｏｄｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ）、ＣＤＭＡ（ｃｏｄｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ）、ＴＤＭＡ（ｔｉｍｅ  ｄｉｖｉｓｉｏｎ  ｍｕｌｔｉｐｌｅ  ａｃｃｅｓｓ）、Ｂｌｕｅｔｏｏｔｈ、Ｗｉ−Ｆｉ（Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ）（例えばＩＥＥＥ８０２．１１ａ、ＩＥＥＥ８０２．１１ｂ、ＩＥＥＥ８０２．１１ｇおよび／またはＩＥＥＥ８０２．１１ｎ）、ＶｏＩＰ（ｖｏｉｃｅ  ｏｖｅｒ  Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）、Ｗｉ−ＭＡＸ、電子メール用のプロトコル（例えばＩＭＡＰ（Ｉｎｔｅｒｎｅｔ  ｍｅｓｓａｇｅ  ａｃｃｅｓｓ  ｐｒｏｔｏｃｏｌ）および／またはＰＯＰ（ｐｏｓｔ  ｏｆｆｉｃｅ  ｐｒｏｔｏｃｏｌ））、インスタントメッセージング（例えばＸＭＰＰ（ｅｘｔｅｎｓｉｂｌｅ  ｍｅｓｓａｇｉｎｇ  ａｎｄ  ｐｒｅｓｅｎｃｅ  ｐｒｏｔｏｃｏｌ）、ＳＩＭＰＬＥ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ  ｆｏｒ  Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ  ａｎｄ  Ｐｒｅｓｅｎｃｅ  Ｌｅｖｅｒａｇｉｎｇ  Ｅｘｔｅｎｓｉｏｎｓ）、ＩＭＰＳ（Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ  ａｎｄ  Ｐｒｅｓｅｎｃｅ  Ｓｅｒｖｉｃｅ））、および／または、ＳＭＳ（Ｓｈｏｒｔ  Ｍｅｓｓａｇｅ  Ｓｅｒｖｉｃｅ）、あるいはいずれかの他の適切な通信プロトコル（本明細書の提出日の時点ではまだ開発されていない通信プロトコルを含む）を含めるがそれらに限定されない、複数の通信標準、プロトコル、および技術のいずれを使用してもよい。
【００３７】
[0045]音声回路部１１０と、スピーカ１１１と、マイク１１３とは、ユーザとデバイス１００との間の音声インタフェースを提供する。音声回路部１１０は、周辺装置インタフェース１１８から音声データを受信し、音声データを電気信号に変換し、電気信号をスピーカ１１１に送信する。スピーカ１１は、電気信号を人間に聞こえる音波に変換する。また、音声回路部１１０は、音波からマイク１１３によって変換された電気信号を受信する。音声回路部１１０は、電気信号を音声データに変換し、音声データを処理するために周辺装置インタフェース１１８へ送信する。音声データは、周辺装置インタフェース１１８によって、メモリ１０２および／またはＲＦ回路部１０８から取得されるか、および／または、メモリ１０２および／またはＲＦ回路部１０８へ送信されてもよい。また、一部の実施形態では、音声回路部１１０は、ヘッドフォンジャック（例えば図２の２１２）を含んでいる。ヘッドフォンジャックは、音声回路部１１０と、例えば出力のみのヘッドフォンや出力（例えば片耳または両耳用のヘッドフォン）と入力（例えばマイク）とを備えたヘッドフォンのような、着脱式音声入力／出力周辺装置との間のインタフェースを提供する。
【００３８】
[0046]Ｉ／Ｏサブシステム１０６は、デバイス１００の入力／出力周辺装置、例えばタッチスクリーン１１２およびその他の入力制御デバイス１１６を、周辺装置インタフェース１１８に接続する。Ｉ／Ｏサブシステム１０６は、ディスプレイコントローラ１５６と、その他の入力または制御デバイス用の１つ以上の入力コントローラ１６０とを含んでいてもよい。１つ以上の入力コントローラ１６０は、その他の入力または制御デバイス１１６との間で電気信号の送受信を行う。その他の入力または制御デバイス１１６には、物理的ボタン（例えばプッシュボタン、ロッカーボタン等）、ダイヤル、スライド式スイッチ、ジョイスティック、クリックホイール等が含まれてもよい。一部の代替的実施形態では、入力コントローラ１６０は、キーボード、赤外線ポート、ＵＳＢポート、および例えばマウスのようなポインタデバイスのうちのいずれかに接続されても（あるいは、まったくされなくても）よい。１つ以上のボタン（例えば図２の２０８）は、スピーカ１１１および／またはマイク１１３の音量調節のための上／下ボタンを含んでいてもよい。１つ以上のボタンは、プッシュボタン（例えば図２の２０６）を含んでいてもよい。すばやくプッシュボタンを押すことにより、タッチスクリーン１１２のロックをはずすかまたは、デバイスのロックを解除するためにタッチスクリーン上でジェスチャを用いるプロセスを開始してもよく、それについては、２００５年１２月２３日に出願した米国特許出願第１１／３２２，５４９号「Ｕｎｌｏｃｋｉｎｇ  ａ  Ｄｅｖｉｃｅ  ｂｙ  Ｐｅｒｆｏｒｍｉｎｇ  Ｇｅｓｔｕｒｅｓ  ｏｎ  ａｎ  Ｕｎｌｏｃｋ  Ｉｍａｇｅ」に記述されており、それをそのまま全部、参照により本願に援用する。プッシュボタン（例えば２０６）を長めに押すことにより、デバイス１００の電源をオンまたはオフにしてもよい。ユーザが、１つ以上のボタンの機能性をカスタマイズすることができてもよい。バーチャルボタンもしくはソフトボタンおよび１つ以上のソフトキーボードを実装するのに、タッチスクリーン１１２が用いられる。
【００３９】
[0047]タッチセンシティブディスプレイ１１２は、デバイスとユーザとの間の入力インタフェースおよび出力インタフェースを提供する。ディスプレイコントローラ１５６は、タッチスクリーン１１２との間で電気信号を送受信する。タッチスクリーン１１２は、視覚的出力をユーザに表示する。視覚的出力は、グラフィックスと、テキストと、アイコンと、ビデオと、それらのいずれかの組み合わせと（集合的に「グラフィックス」と称する）を含んでいてもよい。一部の実施形態では、視覚的出力の一部または全部が、ユーザインタフェースのオブジェクトに対応していてもよい。
【００４０】
[0048]タッチスクリーン１１２は、タッチセンシティブ表面と、触覚および／または触感による接触に基づいてユーザからの入力を受け入れるセンサまたはセンサの集合とを有する。タッチスクリーン１１２およびディスプレイコントローラ１５６は（メモリ１０２の中のいずれかの関連のモジュールおよび／または命令の集合と共に）、タッチスクリーン１１２上の接触（および接触の移動または中断）を検出し、検出した接触を、タッチスクリーン１１２上に表示されるユーザインタフェースオブジェクト（例えば１つ以上のソフトキー、アイコン、ウェブページ、または画像）との対話に変換する。例示的な一実施形態では、タッチスクリーン１１２とユーザとの間の接点は、ユーザの指に対応する。
【００４１】
[0049]タッチスクリーン１１２は、ＬＣＤ（ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ）技術、ＬＰＤ（ｌｉｇｈｔ  ｅｍｉｔｔｉｎｇ  ｐｏｌｙｍｅｒ  ｄｉｓｐｌａｙ）技術、またはＬＥＤ（ｌｉｇｈｔ  ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ）技術を用いてもよいが、他の実施形態では他のディスプレイ技術が用いられてもよい。タッチスクリーン１１２およびディスプレイコントローラ１５６は、接触またはいずれかの動作またはその中断を、静電容量、抵抗、赤外線、表面音波だけでなく、タッチスクリーン１１２との１つ以上の接点を判定するための他の近接センサアレーまたは他の要素も含むけれどもそれらに限定されることなく、現在既知であるか今後開発される複数のタッチセンシング技術のいずれを用いて検出してもよい。例示的な一実施形態では、カリフォルニア州ＣｕｐｅｒｔｉｎｏのＡｐｐｌｅ  Ｉｎｃ．製のｉＰｈｏｎｅ（登録商標）およびｉＰｏｄ  Ｔｏｕｃｈ（登録商標）にみられるような、投影型相互静電容量センシング技術が用いられている。
【００４２】
[0050]タッチスクリーン１１２の一部の実施形態におけるタッチセンシティブディスプレイは、米国特許第６，３２３，８４６号（Ｗｅｓｔｅｒｍａｎ他）、第６，５７０，５５７号（Ｗｅｓｔｅｒｍａｎ他）、および／または第６，６７７，９３２号（Ｗｅｓｔｅｒｍａｎ）、および／または米国特許公開第２００２／００１５０２４Ａ１のなかに記述されたマルチタッチ・センシティブ・タッチパッドに類似していてもよく、その各々をそのまま全部、参照により本願に援用する。しかし、タッチスクリーン１１２は、携帯用デバイス１００からの視覚的な出力を表示するが、タッチセンシティブタッチパッドは、視覚的な出力を提供しない。
【００４３】
[0051]タッチスクリーン１１２の一部の実施形態におけるタッチセンシティブディスプレイが、以下の出願の中に記述されたようであってよい。すなわち、（１）２００６年５月２日に出願された米国特許出願第１１／３８１，３１３号「Ｍｕｌｔｉｐｏｉｎｔ  Ｔｏｕｃｈ  Ｓｕｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ」、（２）２００４年５月６日に出願された米国特許出願第１０／８４０，８６２号「Ｍｕｌｔｉｐｏｉｎｔ  Ｔｏｕｃｈｓｃｒｅｅｎ」、（３）２００４年７月３０日に出願された米国特許出願第１０／９０３，９６４号「Ｇｅｓｔｕｒｅｓ  Ｆｏｒ  Ｔｏｕｃｈ  Ｓｅｎｓｉｔｉｖｅ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅｓ」、（４）２００５年１月３１日に出願された米国特許出願第１１／０４８，２６４号「Ｇｅｓｔｕｒｅｓ  Ｆｏｒ  Ｔｏｕｃｈ  Ｓｅｎｓｉｔｉｖｅ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅｓ」、（５）２００５年１月１８日に出願された米国特許出願第１１／０３８，５９０号「Ｍｏｄｅ−Ｂａｓｅｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅｓ  Ｆｏｒ  Ｔｏｕｃｈ  Ｓｅｎｓｉｔｉｖｅ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅｓ」、（６）２００５年９月１６日に出願された米国特許出願第１１／２２８，７５８号「Ｖｉｒｔｕａｌ  Ｉｎｐｕｔ  Ｄｅｖｉｃｅ  Ｐｌａｃｅｍｅｎｔ  Ｏｎ  Ａ  Ｔｏｕｃｈ  Ｓｃｒｅｅｎ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ」、（７）２００５年９月１６日に出願された米国特許出願第１１／２２８，７００号「Ｏｐｅｒａｔｉｏｎ  Ｏｆ  Ａ  Ｃｏｍｐｕｔｅｒ  Ｗｉｔｈ  Ａ  Ｔｏｕｃｈ  Ｓｃｒｅｅｎ  Ｉｎｔｅｒｆａｃｅ」、（８）２００５年９月１６日に出願された米国特許出願第１１／２２８，７３７号「Ａｃｔｉｖａｔｉｎｇ  Ｖｉｒｔｕａｌ  Ｋｅｙｓ  Ｏｆ  Ａ  Ｔｏｕｃｈ−Ｓｃｒｅｅｎ  Ｖｉｒｔｕａｌ  Ｋｅｙｂｏａｒｄ」、および、（９）２００６年３月３日に出願された米国特許出願第１１／３６７，７４９号「Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎａｌ  Ｈａｎｄ−Ｈｅｌｄ  Ｄｅｖｉｃｅ」である。これらの出願のすべてを、そのまま全部、参照により本願に援用する。
【００４４】
[0052]タッチスクリーン１１２は、１００ｄｐｉを超える解像度を有してもよい。一部の実施形態では、タッチスクリーンは、およそ１６０ｄｐｉの解像度を有する。ユーザは、いずれかの適切なオブジェクトまたは付属物、例えばスタイラス、指等を用いて、タッチスクリーン１１２に接触してもよい。一部の実施形態では、ユーザインタフェースは、主に指に基づく接触およびジェスチャにより機能するように設計されるが、その場合、指がタッチスクリーン上で接触する面積が広いため、スタイラスに基づく入力ほど正確でないことがありうる。一部の実施形態では、デバイスは、指に基づくおおまかな入力を、正確なポインタ／カーソル位置またはユーザが望んだ動作を行うためのコマンドへと翻訳する。
【００４５】
[0053]一部の実施形態では、タッチスクリーンに加えて、デバイス１００は、個別の機能を起動または停止させるための（図示しない）タッチパッドを含んでいてもよい。一部の実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚的出力を表示しない、デバイスのタッチセンシティブエリアである。タッチパッドは、タッチスクリーン１１２とは別のタッチセンシティブ表面であるかまたは、タッチスクリーンによって形成されるタッチセンシティブ表面の延長であってもよい。
【００４６】
[0054]一部の実施形態では、デバイス１００は、物理的またはバーチャルなホイール（例えばクリックホイール）を入力制御デバイス１１６として含んでいてもよい。ユーザは、クリックホイールを回転させることによってかまたは（例えば、接点の移動量が、クリックホイールの中心点に対するその角変位によって測定される場合）クリックホイールを使って接点を移動させることによって、タッチスクリーン１１２の中に表示される１つ以上のグラフィカルオブジェクト（例えばアイコン）の間をナビゲートするかまたはそれらと対話してもよい。また、クリックホイールは、１つ以上の表示されたアイコンを選択するのに用いられてもよい。例えば、ユーザがクリックホイールの少なくとも一部分または関連のボタンを押し下げてもよい。クリックホイールを介してユーザによって提供されたユーザコマンドおよびナビゲーションコマンドが、入力コントローラ１６０だけでなく、メモリ１０２の中の１つ以上のモジュールおよび／または命令の集合によって処理されてもよい。バーチャルなクリックホイールの場合、クリックホイールとクリックホイールコントローラとはそれぞれ、タッチスクリーン１１２およびディスプレイコントローラ１５６の一部であってもよい。バーチャルなクリックホイールの場合、クリックホイールは、デバイスとユーザとの対話に応じてタッチスクリーンディスプレイに現れたり消えたりする不透明または半透明のオブジェクトであってもよい。一部の実施形態では、バーチャルなクリックホイールは、携帯用多機能デバイスのタッチスクリーン上に表示され、ユーザがタッチスクリーンに接触することによって操作される。
【００４７】
[0055]また、デバイス１００は、各種の構成要素に電力を供給するための電力系統１６２を含んでいる。電力系統１６２は、電力管理システムと、１つ以上の電源（例えばバッテリ、交流電流（ＡＣ））と、再充電システムと、電源障害検出回路と、電力コンバータまたは電力インバータと、電力ステータスインジケータ（例えばＬＥＤ（ｌｉｇｈｔ−ｅｍｉｔｔｉｎｇ  ｄｉｏｄｅ））と、携帯用デバイスの中の電力の生成、管理、分配に関連するその他のいずれかの構成要素とを含んでいてもよい。
【００４８】
[0056]また、デバイス１００は、１つ以上の光センサ１６４を含んでいてもよい。図１Ａおよび図１Ｂは、Ｉ／Ｏサブシステム１０６の中の光センサコントローラ１５８に接続された光センサを示す。光センサ１６４は、ＣＣＤ（ｃｈａｒｇｅ−ｃｏｕｐｌｅｄ  ｄｅｖｉｃｅ）またはＣＭＯＳ（ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ−ｏｘｉｄｅ  ｓｅｍｉｃｏｎｄｕｃｔｏｒ）フォトトランジスタを含んでいてもよい。光センサ１６４は、１つ以上のレンズを通して投影された、環境からの光を受信して、その光を、画像を表すデータに変換する。イメージングモジュール（カメラモジュールとも呼ばれる）１４３と連動して、光センサ１６４は、静止画像またはビデオをキャプチャしてもよい。一部の実施形態では、タッチスクリーンディスプレイが静止画像またはビデオ画像を取得するためのビューファインダとして用いられうるように、光センサが、デバイスの前面にあるタッチスクリーンディスプレイ１１２の反対側の、デバイス１００の背面に位置している。一部の実施形態では、ユーザがテレビ会議の他の参加者をタッチスクリーンディスプレイ上で見ながらユーザの画像がテレビ会議用に取得されうるように、光センサが、デバイスの前面に位置している。一部の実施形態では、単一の光センサ１６４が、テレビ会議だけでなく静止画像および／またはビデオ画像の取得のためにもタッチスクリーンディスプレイと共に用いられうるように、光センサ１６４の位置は、ユーザによって（例えば、デバイスのハウジングの中でレンズとセンサとを回転させることによって）変更されうる。
【００４９】
[0057]また、デバイス１００は、１つ以上の近接センサ１６６を含んでいてもよい。図１Ａおよび図１Ｂは、周辺装置インタフェース１１８に接続された近接センサ１６６を示す。または、近接センサ１６６は、Ｉ／Ｏサブシステム１０６の中の入力コントローラ１６０に接続されてもよい。近接センサ１６６は、米国特許出願第１１／２４１，８３９号「Ｐｒｏｘｉｍｉｔｙ  Ｄｅｔｅｃｔｏｒ  Ｉｎ  Ｈａｎｄｈｅｌｄ  Ｄｅｖｉｃｅ」、第１１／２４０，７８８号「Ｐｒｏｘｉｍｉｔｙ  Ｄｅｔｅｃｔｏｒ  Ｉｎ  Ｈａｎｄｈｅｌｄ  Ｄｅｖｉｃｅ」、第１１／６２０，７０２号「Ｕｓｉｎｇ  Ａｍｂｉｅｎｔ  Ｌｉｇｈｔ  Ｓｅｎｓｏｒ  Ｔｏ  Ａｕｇｍｅｎｔ  Ｐｒｏｘｉｍｉｔｙ  Ｓｅｎｓｏｒ  Ｏｕｔｐｕｔ」、第１１／５８６，８６２号「Ａｕｔｏｍａｔｅｄ  Ｒｅｓｐｏｎｓｅ  Ｔｏ  Ａｎｄ  Ｓｅｎｓｉｎｇ  Ｏｆ  Ｕｓｅｒ  Ａｃｔｉｖｉｔｙ  Ｉｎ  Ｐｏｒｔａｂｌｅ  Ｄｅｖｉｃｅｓ」、および、第１１／６３８，２５１号「Ｍｅｔｈｏｄｓ  Ａｎｄ  Ｓｙｓｔｅｍｓ  Ｆｏｒ  Ａｕｔｏｍａｔｉｃ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｏｆ  Ｐｅｒｉｐｈｅｒａｌｓ」に記述したように動作してもよく、それらをそのまま全部、参照により本願に援用する。一部の実施形態では、近接センサは、多機能デバイスがユーザの耳の近くに置かれた場合に（例えばユーザが電話をかけようとする場合）タッチスクリーン１１２をオフにして使用不能にする。
【００５０】
[0058]また、デバイス１００は、１つ以上の加速度計１６８を含んでいてもよい。図１Ａおよび図１Ｂは、周辺装置インタフェース１１８に接続された加速度計１６８を示す。または、加速度計１６８は、Ｉ／Ｏサブシステム１０６の中の入力コントローラ１６０に接続されてもよい。加速度計１６８は、米国特許公開第２００５０１９００５９号「Ａｃｃｅｌｅｒａｔｉｏｎ−ｂａｓｅｄ  Ｔｈｅｆｔ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｐｏｒｔａｂｌｅ  Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｖｉｃｅｓ」および第２００６００１７６９２号「Ｍｅｔｈｏｄｓ  Ａｎｄ  Ａｐｐａｒａｔｕｓｅｓ  Ｆｏｒ  Ｏｐｅｒａｔｉｎｇ  Ａ  Ｐｏｒｔａｂｌｅ  Ｄｅｖｉｃｅ  Ｂａｓｅｄ  Ｏｎ  Ａｎ  Ａｃｃｅｌｅｒｏｍｅｔｅｒ」の中に記述されたように動作してもよく、それらを両方共そのまま全部、参照により本願に援用する。一部の実施形態では、情報は、１つ以上の加速度計から受信されたデータの分析に基づいてポートレートビューまたはランドスケープビューとしてタッチスクリーンディスプレイ上に表示される。デバイス１００は、任意で、加速度計１６８に加えて、デバイス１００の位置および向き（例えばポートレートまたはランドスケープ）に関する情報を取得するための磁気計（図示せず）とＧＰＳ（またはＧＬＯＮＡＳＳまたはその他の全地球的航法システム）受信器（図示せず）とを含んでいる。
【００５１】
[0059]一部の実施形態では、メモリ１０２の中に記憶されるソフトウェアコンポーネントには、オペレーティングシステム１２６と、通信モジュール（または命令の集合）１２８と、接触／動きモジュール（または命令の集合）１３０と、グラフィックスモジュール（または命令の集合）１３２と、テキスト入力モジュール（または命令の集合）１３４と、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）モジュール（または命令の集合）１３５と、アプリケーション１３６（または命令の集合）とが含まれる。さらに、一部の実施形態では、メモリ１０２は、図１Ａ、図１Ｂ、および図３に示すように、デバイス／グローバル内部状態１５７を記憶する。デバイス／グローバル内部状態１５７は、もしあれば、どのアプリケーションが現在アクティブであるのかを示す、アクティブアプリケーション状態と、どのアプリケーション、ビュー、またはその他の情報が、タッチスクリーンディスプレイ１１２の各種の領域を占有しているのかを示す表示状態と、デバイスの各種のセンサおよび入力制御デバイス１１６から取得された情報を含む、センサ状態と、デバイスの位置および／または姿勢に関する位置情報とのうち、１つ以上を含んでいる。
【００５２】
[0060]オペレーティングシステム１２６（例えば、Ｄａｒｗｉｎ、ＲＴＸＣ、ＬＩＮＵＸ、ＵＮＩＸ、ＯＳ  Ｘ、ＷＩＮＤＯＷＳ、または例えばＶｘ  Ｗｏｒｋｓのように内蔵されたオペレーティングシステム）は、一般的なシステムタスクを制御および管理（例えばメモリ管理、ストレージデバイス制御、電力管理等）するための各種のソフトウェアコンポーネントおよび／またはドライバを含んでおり、各種のハードウェアおよびソフトウェアコンポーネント間の通信を円滑化する。
【００５３】
[0061]通信モジュール１２８は、１つ以上の外部ポート１２４を経た他のデバイスとの通信を円滑化し、また、ＲＦ回路部１０８および／または外部ポート１２４によって受信されたデータを処理するための各種のソフトウェアコンポーネントを含んでいる。外部ポート１２４（例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）、ＦＩＲＥＷＩＲＥ等）は、直接またはネットワーク経由（例えばインターネット、ワイヤレスＬＡＮ等）で間接的に、他のデバイスに接続するように構成される。一部の実施形態では、外部ポートは、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の登録商標）で用いられている３０ピンコネクタと同じ、または類似した、および／または互換性のある、マルチピン（例えば３０ピン）コネクタである。
【００５４】
[0062]接触／動きモジュール１３０は、（ディスプレイコントローラ１５６と連動して）タッチスクリーン１１２とその他のタッチセンシティブデバイス（例えばタッチパッドまたは物理的クリックホイール）との接触を検出してもよい。接触／動きモジュール１３０は、例えば接触が行われたかどうかを（例えば指が下がるイベントを検出して）判定することと、接触の移動があるかどうかを（例えば１つ以上の指がドラッグするイベントを検出して）判定してその移動をタッチスクリーン表面全体にわたって追跡することと、接触が中止されたかどうかを（例えば指が上がるイベントまたは接触の中断を検出して）判定することとのような、接触の検出に関連する各種の操作を行うための各種のソフトウェアコンポーネントを含んでいる。接触／動きモジュール１３０は、タッチセンシティブ表面から接触データを受信する。接点の移動を判定することは、一連の接触データによって表されるのだが、接点の速さ（大小）と、速度（大小および向き）と、および／または加速度（大小および／または向きの変化）とを判定することを含んでもよい。これらの操作は、単一の接触（例えば１本の指の接触）または複数の同時接触（例えば「マルチタッチ」／複数の指の接触）に適用されうる。一部の実施形態では、接触／動きモジュール１３０およびディスプレイコントローラ１５６は、タッチパッド上の接触を検出する。一部の実施形態では、接触／動きモジュール１３０およびコントローラ１６０は、クリックホイール上の接触を検出する。
【００５５】
[0063]接触／動きモジュール１３０は、ユーザによるジェスチャ入力を検出してもよい。タッチセンシティブ表面上の多様なジェスチャは、多様な接触パタンを有する。それゆえ、ジェスチャは、個別の接触パタンを検出することによって検出されうる。例えば、指をタップするジェスチャを検出することは、指が下がるイベントを検出し、その後、指が上がる（リフトオフ）イベントを指が下がるイベントと同じ位置（アイコンの位置）で（または実質的に同じ位置で）検出することを含んでいる。別の例として、タッチセンシティブ表面を指でスワイプするジェスチャを検出することは、指が下がるイベントを検出した後に１つ以上の指をドラッグするイベントを検出し、その後、指が上がる（リフトオフ）イベントを検出することを含んでいる。
【００５６】
[0064]グラフィックスモジュール１３２は、表示されるグラフィックスの輝度を変更するためのコンポーネントを含めて、タッチスクリーン１１２またはその他のディスプレイ上にグラフィックスをレンダリングして表示するための各種の既知のソフトウェアコンポーネントを含んでいる。本明細書では、「グラフィックス」という用語は、テキストと、ウェブページと、（例えば、ソフトキーを含むユーザインタフェースオブジェクトのような）アイコンと、デジタル画像と、ビデオと、アニメーションとそれに類似したものとを限定することなく含めて、ユーザに表示されうるいかなるオブジェクトをも含んでいる。
【００５７】
[0065]一部の実施形態では、グラフィックスモジュール１３２は、用いられることになるグラフィックスを表すデータを記憶している。個々の図形は、対応するコードを割り当てられてもよい。グラフィックスモジュール１３２は、アプリケーション等から、必要に応じて、コーディネートされたデータおよびその他のグラフィックプロパティデータと共に表示されることになるグラフィックスを指定する１つ以上のコードを受信し、次いで、ディスプレイコントローラ１５６に出力するためのスクリーン画像データを生成する。
【００５８】
[0066]テキスト入力モジュール１３４は、グラフィックスモジュール１３２の構成要素であってもよいが、各種のアプリケーション（例えば、連絡先１３７、電子メール１４０、ＩＭ１４１、ブラウザ１４７、そしてテキスト入力を必要とするいずれかの他のアプリケーション）にテキストを入力するためのソフトキーボードを提供する。
【００５９】
[0067]ＧＰＳモジュール１３５は、デバイスの位置を判定し、この情報を各種のアプリケーションで使用するために（例えば位置特定に基づくダイヤル操作で使用するために電話１３８に、ピクチャ／ビデオメタデータとしてカメラ１４３に、例えば天気ウィジェット、ローカル・イエローページ・ウィジェット、地図／航法用ウィジェットのような、位置特定に基づくサービスを提供するアプリケーションに）提供する。
【００６０】
[0068]アプリケーション１３６は、以下のモジュール（または命令の集合）またはそれらの下位集合または上位集合を含んでいてもよい。
・連絡先モジュール１３７（アドレス帳またはコンタクトリストと呼ばれることもある）、
・電話モジュール１３８、
・テレビ会議モジュール１３９、
・電子メールクライアントモジュール１４０、
・インスタントメッセージング（ＩＭ）モジュール１４１、
・エクササイズサポートモジュール１４２、
・静止画像および／またはビデオ画像用のカメラモジュール１４３
・画像管理モジュール１４４、
・ビデオプレーヤモジュール１４５、
・音楽プレーヤモジュール１４６、
・ブラウザモジュール１４７、
・カレンダモジュール１４８、
・天気ウィジェット１４９−１、株式ウィジェット１４９−２、電卓ウィジェット１４９−３、アラームクロックウィジェット１４９−４、辞書ウィジェット１４９−５、およびユーザによって取得されるその他のウィジェットならびにユーザが作成したウィジェット１４９−６のうち１つ以上を含みうるウィジェットモジュール１４９、
・ユーザが作成したウィジェット１４９−６を作成するためのウィジェットクリエータモジュール１５０、
・検索モジュール１５１、
・ビデオプレーヤモジュール１４５と音楽プレーヤモジュール１４６とを結合するビデオおよび音楽プレーヤモジュール１５２、
・メモモジュール１５３、
・地図モジュール１５４、および／または、
・オンラインビデオモジュール１５５。
【００６１】
[0069]メモリ１０２の中に記憶されうるその他のアプリケーション１３６の例には、他の文章作成アプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、ＪＡＶＡ対応アプリケーション、暗号化、デジタル権利管理、音声認識、および音声複製等が含まれる。
【００６２】
[0070]タッチスクリーン１１２、ディスプレイコントローラ１５６、コンタクトモジュール１２０、グラフィックスモジュール１３２およびテキスト入力モジュール１３４と連動して、連絡先モジュール１３７は、名前をアドレス帳に追加することと、名前をアドレス帳から削除することと、名前に電話番号、電子メールアドレス、物理的アドレスまたはその他の情報を関連付けることと、名前に画像を関連付けることと、名前をカテゴリ化したりソートしたりすることと、電話１３８、テレビ会議１３９、電子メール１４０、またはＩＭ１４１等によって通信を開始および／または円滑化するため、電話番号または電子メールアドレスを提供すること等を含めて、（例えば、メモリ１０２またはメモリ３７０の中の連絡先モジュール１３７のアプリケーション内部状態１９２の中に記憶された）アドレス帳またはコンタクトリストを管理するのに用いられてもよい。
【００６３】
[0071]ＲＦ回路部１０８、音声回路部１１０、スピーカ１１１、マイク１１３、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２およびテキスト入力モジュール１３４と連動して、電話番号に対応する文字のシーケンスを入力し、アドレス帳１３７の中の１つ以上の電話番号にアクセスし、入力された電話番号を修正し、それぞれの電話番号をダイヤルし、会話を行い、そして、会話が完了した時に接続を切るかまたは電話を切るのに電話モジュール１３８を用いてもよい。上記のように、ワイヤレス通信が、複数の通信標準、プロトコルおよび技術のいずれを用いてもよい。
【００６４】
[0072]ＲＦ回路部１０８、音声回路部１１０、スピーカ１１１、マイク１１３、タッチスクリーン１１２、ディスプレイコントローラ１５６、光センサ１６４、光センサコントローラ１５８、接触モジュール１３０、グラフィックスモジュール１３２、テキスト入力モジュール１３４、連絡先リスト１３７および電話モジュール１３８と連動して、テレビ会議モジュール１３９は、ユーザと１人以上の他の参加者との間でユーザの命令に従ってテレビ会議を開始し、実行し、終了するための実行可能な命令を含んでいる。
【００６５】
[0073]ＲＦ回路部１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２およびテキスト入力モジュール１３４と連動して、電子メールクライアントモジュール１４０は、ユーザの命令に応じて電子メールを作成し、送信し、受信し、管理するための実行可能な命令を含んでいる。画像管理モジュール１４４と連動して、電子メールクライアントモジュール１４０は、カメラモジュール１４３で撮影された静止画像またはビデオ画像を添えて電子メールを作成して送信することを非常に容易にする。
【００６６】
[0074]ＲＦ回路部１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２およびテキスト入力モジュール１３４と連動して、インスタントメッセージングモジュール１４１は、インスタントメッセージに対応する文字のシーケンスを入力し、以前に入力した文字を修正し、それぞれのインスタントメッセージを（例えば、電話に基づくインスタントメッセージについてのＳＭＳ（Ｓｈｏｒｔ  Ｍｅｓｓａｇｅ  ＳｅｒｖｉｃｅまたはＭＭＳ（Ｍｕｌｔｉｍｅｄｉａ  Ｍｅｓｓａｇｅ  Ｓｅｒｖｉｃｅ）プロトコルを用いてかまたは、インターネットに基づくインスタントメッセージについてのＸＭＰＰ、ＳＩＭＰＬＥ、ＩＭＰＳを用いて）送信し、インスタントメッセージを受信し、そして受信されたインスタントメッセージを見るための実行可能な命令を含んでいる。一部の実施形態では、送信された、および／または、受信されたインスタントメッセージには、ＭＭＳおよび／またはＥＭＳ（Ｅｎｈａｎｃｅｄ  Ｍｅｓｓａｇｉｎｇ  Ｓｅｒｖｉｃｅ）でサポートされるように、グラフィックス、写真、音声ファイル、ビデオファイル、および／または、その他の添付物が含まれてもよい。本明細書では、「インスタントメッセージング」とは、電話に基づくメッセージ（例えばＳＭＳまたはＭＭＳを用いて送信されるメッセージ）とインターネットに基づくメッセージ（例えばＸＭＰＰ、ＳＩＭＰＬＥ，またはＩＭＰＳを用いて送信されるメッセージ）との両方のことを言う。
【００６７】
[0075]ＲＦ回路部１０８、タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５、地図モジュール１５４および音楽プレーヤモジュールと連動して、エクササイズサポートモジュール１４２は、エクササイズを（例えば、時間、距離、および／またはカロリー燃焼目標を添えて）作成し、エクササイズセンサ（スポーツデバイス）と通信し、エクササイズセンサデータを受信し、エクササイズを監視するのに用いられるセンサを較正し、エクササイズ用の音楽を選択して演奏し、そして、エクササイズデータを表示・記憶・送信するための実行可能な命令を含んでいる。
【００６８】
[0076]タッチスクリーン１１２、ディスプレイコントローラ１５６、光センサ１６４、光センサコントローラ１５８、接触モジュール１３０、グラフィックスモジュール１３２および画像管理モジュール１４４と連動して、カメラモジュール１４３は、静止画像またはビデオ（ビデオストリームを含めて）をキャプチャしてそれらをメモリ１０２の中に記憶し、静止画像またはビデオの特性を修正し、あるいは、静止画像またはビデオをメモリ１０２から削除するための実行可能な命令を含んでいる。
【００６９】
[0077]タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２、テキスト入力モジュール１３４およびカメラモジュール１４３と連動して、画像管理モジュール１４４は、静止画像および／またはビデオ画像を校正し、修正（例えば編集）し、または他の要領で操作し、ラベルを付け、削除し、（例えばデジタルスライドショーまたはアルバムとして）提示し、そして、記憶するための実行可能な命令を含んでいる。
【００７０】
[0078]タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２、音声回路部１１０およびスピーカ１１１と連動して、ビデオプレーヤモジュール１４５は、ビデオを表示し、提示し、またはその他の要領で（例えばタッチスクリーン１１２上に、または外部ポート１２４を介して外部の接続されたディスプレイ上に）再生するための実行可能な命令を含んでいる。
【００７１】
[0079]タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２、音声回路部１１０、スピーカ１１１、ＲＦ回路部１０８、およびブラウザモジュール１４７と連動して、音楽プレーヤモジュール１４６は、例えばＭＰ３またはＡＡＣファイルのような１つ以上のファイル形式で記憶された、録音された音楽およびその他の音声ファイルをユーザがダウンロードして再生することを可能にする実行可能な命令を含んでいる。一部の実施形態では、デバイス１００は、例えばｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の登録商標）のようなＭＰ３プレーヤの機能性を含んでいてもよい。
【００７２】
[0080]ＲＦ回路部１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２およびテキスト入力モジュール１３４と連動して、ブラウザモジュール１４７は、ウェブページまたはその部分だけでなくウェブページにリンクされた添付ファイルおよびその他のファイルをも、検索し、それにリンクし、受信し、そして表示することを含めて、ユーザ命令に従ってインターネットを閲覧するための実行可能な命令を含んでいる。
【００７３】
[0081]ＲＦ回路部１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２、テキスト入力モジュール１３４、電子メールクライアントモジュール１４０およびブラウザモジュール１４７と連動して、カレンダモジュール１４８は、ユーザ命令に従って、カレンダおよびカレンダに関連するデータ（例えばカレンダのエントリ、やることリスト等）を作成し、表示し、修正し、記憶するための実行可能な命令を含んでいる。
【００７４】
[0082]ＲＦ回路部１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２、テキスト入力モジュール１３４およびブラウザモジュール１４７と連動して、ウィジェットモジュール１４９は、ユーザによってダウンロードされ、使用されうる（例えば、天気ウィジェット１４９−１、株式ウィジェット１４９−２、電卓ウィジェット１４９−３、アラームクロックウィジェット１４９−４、および辞書ウィジェット１４９−５）かまたはユーザによって作成されうる（例えばユーザが作成したウィジェット１４９−６）ミニアプリケーションである。一部の実施形態では、ウィジェットは、ＨＴＭＬ（Ｈｙｐｅｒｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルと、ＣＳＳ（Ｃａｓｃａｄｉｎｇ  Ｓｔｙｌｅ  Ｓｈｅｅｔｓ）ファイルと、ＪａｖａＳｃｒｉｐｔファイルとを含んでいる。一部の実施形態では、ウィジェットは、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルと、ＪａｖａＳｃｒｉｐｔファイル（例えばＹａｈｏｏ！Ｗｉｄｇｅｔｓ）とを含んでいる。
【００７５】
[0083]ＲＦ回路部１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２、テキスト入力モジュール１３４およびブラウザモジュール１４７と連動して、ウィジェットクリエータモジュール１５０が、（例えば、ウェブページのユーザ指定部分をウィジェットに変えて）ウィジェットを作成するためにユーザによって使用されてもよい。
【００７６】
[0084]タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２およびテキスト入力モジュール１３４と連動して、検索モジュール１５１は、ユーザの命令による１つ以上の検索基準（例えば１つ以上のユーザ指定の検索語）に合致するテキスト、音楽、音声、画像、ビデオ、および／またはメモリ１０２の中のその他のファイルを検索するための実行可能な命令を含んでいる。
【００７７】
[0085]タッチスクリーン１１２、ディスプレイコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２およびテキスト入力モジュール１３４と連動して、メモモジュール１５３は、ユーザ命令に従って、メモ、やることリスト等を作成して管理するための実行可能な命令を含んでいる。
【００７８】
[0086]ＲＦ回路部１０８、タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２、テキスト入力モジュール１３４、ＧＰＳモジュール１３５およびブラウザモジュール１４７と連動して、地図モジュール１５４は、ユーザ命令に従って、地図および地図に関連するデータ（例えば、ドライブの指示、店に関するデータ、および個別の位置またはその近くにおけるその他の観光スポット、およびその他の位置特定に基づくデータ）を受信し、表示し、修正し、そして記憶するために用いられうる。
【００７９】
[0087]タッチスクリーン１１２、ディスプレイシステムコントローラ１５６、接触モジュール１３０、グラフィックスモジュール１３２、音声回路部１１０、スピーカ１１１、ＲＦ回路部１０８、テキスト入力モジュール１３４、電子メールクライアントモジュール１４０およびブラウザモジュール１４７と連動して、オンラインビデオモジュール１５５は、ユーザがアクセスし、閲覧し、（例えばストリーミングおよび／またはダウンロードによって）受信し、（例えばタッチスクリーン上で、または、外部ポート１２４を介して接続された外部のディスプレイ上で）再生し、個別のオンラインビデオへのリンクを持つ電子メールを送信し、そして、例えばＨ．２６４のような１つ以上のファイル形式のオンラインビデオをその他の要領で管理することを可能にする命令を含んでいる。一部の実施形態では、電子メールクライアントモジュール１４０ではなく、インスタントメッセージングモジュール１４１を用いて、個別のオンラインビデオへのリンクを送信する。オンラインビデオアプリケーションの追加記述は、２００７年６月２０日に出願された米国仮特許出願第６０／９３６，５６２号「Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｄｅｖｉｃｅ，  Ｍｅｔｈｏｄ，  ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｐｌａｙｉｎｇ  Ｏｎｌｉｎｅ  Ｖｉｄｅｏｓ」および２００７年１２月３１日に出願された米国特許出願第１１／９６８，０６７号「Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｆｕｎｃｔｉｏｎ  Ｄｅｖｉｃｅ，  Ｍｅｔｈｏｄ，  ａｎｄ  Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ  ｆｏｒ  Ｐｌａｙｉｎｇ  Ｏｎｌｉｎｅ  Ｖｉｄｅｏｓ」に記載されており、その内容を全部、参照により本願に援用する。
【００８０】
[0088]上記の識別されたモジュールおよびアプリケーションの各々は、上記の１つ以上の機能と本願に記述する方法（例えば、本明細書で記述したコンピュータに実装された方法と、その他の情報処理方法）とを行うための実行可能な命令の集合に対応する。これらのモジュール（すなわち命令の集合）は、別個のソフトウェア、手順またはモジュールとして実装される必要はなく、それゆえ、各種のこれらのモジュールの部分集合が、各種の実施形態の中で組み合わされたり、その他の要領で再構成されたりしてもよい。例えば、ビデオプレーヤモジュール１４５は、音楽プレーヤモジュール１４６と組み合わされて、単一のモジュール（例えば、図１Ｂのビデオおよび音楽プレーヤモジュール１５２）にされてもよい。一部の実施形態では、メモリ１０２は、上記で識別したモジュールおよびデータ構造の部分集合を記憶してもよい。さらに、メモリ１０２は、上記で記述されていない追加のモジュールおよびデータ構造を記憶してもよい。
【００８１】
[0089]一部の実施形態では、デバイス１００は、デバイス上の機能の事前設定された集合の操作が、まったくタッチスクリーンおよび／またはタッチパッドだけを通して行われるようなデバイスである。タッチスクリーンおよび／またはタッチパッドをデバイス１００の操作用の主要な入力制御デバイスとして用いることによって、デバイス１００上の物理的入力制御デバイス（例えばプッシュボタン、ダイヤル等）の数が削減されうる。
【００８２】
[0090]まったくタッチスクリーンおよび／またはタッチパッドだけを通して行われうる事前設定された機能の集合には、ユーザインタフェース間のナビゲーションが含まれる。一部の実施形態では、ユーザがタッチすると、タッチパッドがデバイス１００を、デバイス１００上に表示されうるいかなるユーザインタフェースからもメイン、ホーム、またはルートメニューへとナビゲートする。そのような実施形態では、タッチパッドは、「メニューボタン」と呼ばれてもよい。一部のその他の実施形態では、メニューボタンは、タッチパッドの代わりに、物理的なプッシュボタンまたはその他の物理的な入力制御デバイスであってもよい。
【００８３】
[0091]図１Ｃは、一部の実施形態による、イベント処理のための例示的な構成要素を示すブロック図である。一部の実施形態では、（図１Ａおよび図１Ｂの）メモリ１０２または（図３の）メモリ３７０は、（例えばオペレーティングシステム１２６の中に）イベントソータ１７０と、それぞれのアプリケーション１３６−１（例えば前述のアプリケーション１３７乃至１５１、１５５、３８０乃至３９０のうちのいずれか）とを含んでいる。
【００８４】
[0092]イベントソータ１７０は、イベント情報を受信して、アプリケーション１３６−１と、イベント情報の配信先であるアプリケーション１３６−１のアプリケーションビュー１９１とを判定する。イベントソータ１７０は、イベントモニタ１７１とイベント発送モジュール１７４とを含んでいる。一部の実施形態では、アプリケーション１３６−１は、アプリケーションがアクティブであるか実行中である場合にタッチセンシティブディスプレイ１１２上に表示される現在のアプリケーションビューを示す、アプリケーション内部状態１９２を含んでいる。一部の実施形態では、イベントソータ１７０は、デバイス／グローバル内部状態１５７を用いて、どのアプリケーションが現在アクティブであるのかを判定し、そして、アプリケーション内部状態１９２を用いて、イベント情報の配信先であるアプリケーションビュー１９１を判定する。
【００８５】
[0093]一部の実施形態では、アプリケーション内部状態１９２は、追加情報として、例えば、アプリケーション１３６−１が実行を再開する時に用いられることになる再開情報と、アプリケーション１３６−１によって表示されているかまたは表示される準備ができている情報を示すユーザインタフェース状態情報と、アプリケーション１３６−１の以前の状態またはビューにユーザが戻ることを可能にするための状態の待ち行列と、ユーザが行った以前の動作のやり直しまたは取り消しの待ち行列とのうちの１つ以上を含んでいる。
【００８６】
[0094]イベントモニタ１７１は、周辺装置インタフェース１１８からイベント情報を受信する。イベント情報には、サブイベント（例えば、マルチタッチジェスチャの一部として、タッチセンシティブディスプレイ１１２上のユーザのタッチ）についての情報が含まれる。周辺装置インタフェース１１８は、Ｉ／Ｏサブシステム１０６、または、例えば近接センサ１６６のようなセンサ、加速度計１６８、および／または（音声回路部１１０を通して）マイク１１３から受信する情報を送信する。周辺装置インタフェース１１８がＩ／Ｏサブシステム１０６から受信する情報は、タッチセンシティブディスプレイ１１２またはタッチセンシティブ表面からの情報を含んでいる。
【００８７】
[0095]一部の実施形態では、イベントモニタ１７１は、所定の間隔で周辺装置インタフェース１１８に要求を送信する。それに応じて、周辺装置インタフェース１１８は、イベント情報を送信する。その他の実施形態では、周辺装置インタフェース１１８は、重大なイベント（例えば、所定の雑音閾値を超える、および／または、所定の持続時間を超える入力を受信すること）がある場合に限って、イベント情報を送信する。
【００８８】
[0096]また、一部の実施形態では、イベントソータ１７０は、ヒットビュー判定モジュール１７２および／またはアクティブイベント・レコグナイザ判定モジュール１７３を含んでいる。
【００８９】
[0097]ヒットビュー判定モジュール１７２は、タッチセンシティブディスプレイ１１２が２つ以上のビューを表示した時、サブイベントが１つ以上のビューの中のどこで発生したかを判定するためのソフトウェア手順を提供する。ビューは、ユーザがディスプレイ上で見ることのできる制御部およびその他の要素で構成されている。
【００９０】
[0098]アプリケーションに関連するユーザインタフェースのもう１つの態様は、本明細書ではアプリケーションビューまたはユーザインタフェースウィンドウと呼ばれることもあるビューの集合であり、その中で情報が表示され、タッチに基づくジェスチャが行われる。その中でタッチが検出される（それぞれのアプリケーションの）アプリケーションビューは、アプリケーションのプログラマチック階層またはビュー階層の中のプログラマチックレベルに対応してもよい。例えば、タッチが検出される最低のレベルのビューは、ヒットビューと呼ばれてもよく、適切な入力として認められるイベントの集合は、タッチに基づくジェスチャを開始する最初のタッチのヒットビューに、少なくとも部分的に、基づいて判定されてもよい。
【００９１】
[0099]ヒットビュー判定モジュール１７２は、タッチに基づくジェスチャのサブイベントに関する情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール１７２は、ヒットビューを、サブイベントを処理すべき階層の中の最低のビューとして識別する。ほとんどの状況では、ヒットビューは、最初のサブイベント（すなわち、イベントまたは潜在的イベントを形成するサブイベントのシーケンスの中の最初のサブイベント）が生じる最低レベルのビューである。一旦ヒットビューがヒットビュー判定モジュールによって識別されると、ヒットビューは典型的には、ヒットビューとして識別された同じタッチすなわち入力源に関するすべてのサブイベントを受信する。
【００９２】
[00100]アクティブイベント・レコグナイザ判定モジュール１７３は、ビューの階層の中でどのビューがサブイベントの個別のシーケンスを受信すべきかを判定する。一部の実施形態では、アクティブイベント・レコグナイザ判定モジュール１７３は、ヒットビューだけが、サブイベントの個別のシーケンスを受信するべきだと判定する。その他の実施形態では、アクティブイベント・レコグナイザ判定モジュール１７３は、サブイベントの物理的位置を含むすべてのビューが、アクティブに関わっているビューであると判定し、従って、すべてのアクティブに関わっているビューが、サブイベントの個別のシーケンスを受信すべきだと判定する。その他の実施形態では、たとえタッチサブイベントが、１つの個別のビューに関連するエリアに完全に限定されたとしても、階層の中のより上位のビューは、やはり、アクティブに関わっているビューのままであり続けるだろう。
【００９３】
[00101]イベント発送モジュール１７４は、イベント情報をイベントレコグナイザ（例えばイベントレコグナイザ１８０）へ発送する。アクティブイベント・レコグナイザ判定モジュール１７３を含む実施形態では、イベント発送モジュール１７４は、アクティブイベント・レコグナイザ判定モジュール１７３によって判定されたイベントレコグナイザへイベント情報を配信する。一部の実施形態では、イベント発送モジュール１７４は、それぞれのイベント受信器モジュール１８２によって取得されたイベント情報を、イベント待ち行列に記憶する。
【００９４】
[00102]一部の実施形態では、オペレーティングシステム１２６はイベントソータ１７０を含んでいる。あるいは、アプリケーション１３６−１がイベントソータ１７０を含んでいる。別の実施形態では、イベントソータ１７０は、スタンドアロンモジュールであるかまたは、例えば接触／動きモジュール１３０のような、メモリ１０２の中に記憶された別のモジュールの一部である。
【００９５】
[00103]一部の実施形態では、アプリケーション１３６−１は、１つ以上のアプリケーションビュー１９１を含んでおり、その各々は、アプリケーションのユーザインタフェースのそれぞれのビューの中で生じるタッチイベントを処理するための命令を含んでいる。アプリケーション１３６−１の個々のアプリケーションビュー１９１は、１つ以上のイベントレコグナイザ１８０と、１つ以上のイベントハンドラ１９０とを含んでいる。典型的には、それぞれのアプリケーションビュー１９１は、複数のイベントレコグナイザ１８０と、複数のイベントハンドラ１９０とを含んでいる。他の実施形態では、１つ以上のイベントレコグナイザ１８０は、例えばユーザインタフェースキット（図示せず）かまたは、そこからアプリケーション１３６−１が方法および他のプロパティを継承する高位レベルオブジェクトのような、別個のモジュールの一部である。一部の実施形態では、それぞれのアプリケーションビュー１９１は、データ更新器１７６と、オブジェクト更新器１７７と、ＧＵＩ更新器１７８と、および／または、イベントソータ１７０から受信されたイベントデータ１７９とのうち１つ以上をも含んでいる。
【００９６】
[00104]それぞれのイベントレコグナイザ１８０は、イベント情報（例えばイベントデータ１７９）をイベントソータ１７０から受信し、そして、イベント情報からイベントを識別する。イベントレコグナイザ１８０は、イベント受信器１８２と、イベント比較器１８４とを含んでいる。また、一部の実施形態では、イベントレコグナイザ１８０は、メタデータ１８３と、（サブイベント配信命令を含みうる）イベント配信命令１８８との少なくとも部分集合を含んでいる。
【００９７】
[00105]イベント受信器１８２は、イベント情報をイベントソータ１７０から受信する。イベント情報は、サブイベントについての情報、例えば、タッチまたはタッチの移動を含んでいる。また、サブイベントに依存して、イベント情報は、例えばサブイベントの位置のような、追加情報を含んでいる。また、サブイベントが、タッチの動きに関わる場合、イベント情報は、サブイベントの速度および向きを含んでもよい。一部の実施形態では、イベントは、１つの向きから別の向きへの（例えばポートレートの向きからランドスケープの向きへの、またはその逆の）デバイスの回転を含んでおり、イベント情報は、デバイスの現在の向き（デバイスの姿勢とも呼ばれる）についての対応する情報を含んでいる。
【００９８】
[00106]イベント比較器１８４は、イベント情報を事前設定されたイベントまたはサブイベント定義と比較し、そして、比較に基づいて、イベントもしくはサブイベントを判定するかまたは、イベントもしくはサブイベントの状態を判定または更新する。一部の実施形態では、イベント比較器１８４は、イベント定義１８６を含んでいる。イベント定義１８６は、イベントの定義（例えば、事前設定されたサブイベントのシーケンス）、例えば、イベント１（１８７−１）、イベント２（１８７−２）等を含んでいる。一部の実施形態では、イベント１８７のサブイベントは、例えば、タッチ開始、タッチ終了、タッチ動作、タッチ中止、および複数のタッチを含んでいる。一例では、イベント１（１８７−１）についての定義は、表示されたオブジェクト上の２回のタップである。２回のタップは、例えば、所定の段階についての表示されたオブジェクト上の第１のタッチ（タッチ開始）と、所定の段階についての第１のリフトオフ（タッチ終了）と、所定の段階についての表示されたオブジェクト上の第２のタッチ（タッチ開始）と、所定の段階についての第２のリフトオフ（タッチ終了）とを含んでいる。別の例では、イベント２（１８７−２）についての定義は、表示されたオブジェクト上のドラッギングである。ドラッギングは、例えば、所定の段階についての表示されたオブジェクト上のタッチ（または接触）と、タッチセンシティブディスプレイ１１２を横断するタッチの移動と、タッチのリフトオフ（タッチ終了）とを含んでいる。また、一部の実施形態では、イベントは、イベントに関連するイベントハンドラ１９０についての情報を含んでいる。
【００９９】
[00107]一部の実施形態では、イベント定義１８７は、それぞれのユーザインタフェースオブジェクトについてのイベントの定義を含んでいる。一部の実施形態では、イベント比較器１８４は、どのユーザインタフェースオブジェクトがサブイベントに関連しているかを判定するため、ヒットテストを行う。例えば、３つのユーザインタフェースオブジェクトがタッチセンシティブディスプレイ１１２上に表示されているアプリケーションウィンドウにおいて、タッチセンシティブディスプレイ１１２上でタッチが検出された時、イベント比較器１８４は、３つのユーザインタフェースオブジェクトのうちのどれがタッチ（サブイベント）に関連しているかを判定するため、ヒットテストを行う。個々の表示されたオブジェクトがそれぞれのイベントハンドラ１９０に関連付けられると、イベント比較器は、ヒットテストの結果を用いて、どのイベントハンドラ１９０が起動されるべきかを判定する。例えば、イベント比較器１８４は、ヒットテストをトリガするサブイベントおよびオブジェクトに関連するイベントハンドラを選択する。
【０１００】
[00108]また、一部の実施形態では、それぞれのイベント１８７についての定義は、サブイベントのシーケンスがイベントレコグナイザのイベントタイプに対応しているか否かが判定されるまでイベント情報の配信を遅らせる遅延作用を含んでいる。
【０１０１】
[00109]それぞれのイベントレコグナイザ１８０が、一連のサブイベントはイベント定義１８６の中のいずれのイベントにも合致しないと判定した場合、それぞれのイベントレコグナイザ１８０は、イベント不可能、またはイベントキャンセル状態を入力し、その後は、タッチに基づくジェスチャのその後のサブイベントを無視する。この状況では、もしあれば、ヒットビューについてアクティブであり続けるその他のイベントレコグナイザは、進行中のタッチに基づくジェスチャのサブイベントの追跡と処理とを続ける。
【０１０２】
[00110]一部の実施形態では、それぞれのイベントレコグナイザ１８３は、構成可能なプロパティと、フラグと、および／または、イベント配信システムがどのようにしてアクティブに関わっているイベントレコグナイザへのサブイベント配信を行うかを示すリストとを備えたメタデータ１８３を含んでいる。一部の実施形態では、メタデータ１８３は、構成可能なプロパティと、フラグと、および／または、イベントレコグナイザがどのようにして相互に対話しうるかを示すリストとを含んでいる。一部の実施形態では、メタデータ１８３は、構成可能なプロパティと、フラグと、および／または、サブイベントがビュー階層またはプログラマチック階層の中の多様なレベルへ配信されるかどうかを示すリストとを含んでいる。
【０１０３】
[00111]一部の実施形態では、それぞれのイベントレコグナイザ１８０は、イベントのうちの１つ以上の個別のサブイベントが認識された場合にイベントに関連するイベントハンドラ１９０を起動する。一部の実施形態では、それぞれのイベントレコグナイザ１８０は、イベントに関連するイベント情報をイベントハンドラ１９０に配信する。イベントハンドラ１９０を起動することは、サブイベントをそれぞれのヒットビューに送信すること（および送信を延期すること）とは区別される。一部の実施形態では、イベントレコグナイザ１８０は、認識されたイベントに関連するフラグをスロー(throw)し、そして、フラグに関連するイベントハンドラ１９０は、フラグをキャッチ(catch)して事前設定されたプロセスを行う。
【０１０４】
[00112]一部の実施形態では、イベント配信命令１８８は、イベントハンドラを起動することなくサブイベントについてのイベント情報を配信するサブイベント配信命令を含んでいる。代わりに、サブイベント配信命令は、イベント情報を、一連のイベントハンドラに関連するイベントハンドラに、またはアクティブに関わっているビューに配信する。一連のイベントハンドラにかまたはアクティブに関わっているビューに関連するイベントハンドラは、イベント情報を受信して、所定のプロセスを行う。
【０１０５】
[00113]一部の実施形態では、データ更新器１７６は、アプリケーション１３６−１で用いられるデータを作成して更新する。例えば、データ更新器１７６は、連絡先モジュール１３７の中で用いられる電話番号を更新し、またはビデオプレーヤモジュール１４５の中で用いられるビデオファイルを記憶する。一部の実施形態では、オブジェクト更新器１７７は、アプリケーション１３６−１で用いられるオブジェクトを作成して更新する。例えば、オブジェクト更新器１７７は、新たなユーザインタフェースオブジェクトを作成するかまたは、ユーザインタフェースオブジェクトの位置を更新する。ＧＵＩ更新器１７８は、ＧＵＩを更新する。例えば、ＧＵＩ更新器１７８は、ディスプレイ情報を準備して、それをグラフィックスモジュール１３２へ送信してタッチセンシティブディスプレイ上に表示させる。
【０１０６】
[00114]一部の実施形態では、イベントハンドラ１９０は、データ更新器１７６と、オブジェクト更新器１７７と、ＧＵＩ更新器１７８とを含んでいるかまたはそれらにアクセスする。一部の実施形態では、データ更新器１７６と、オブジェクト更新器１７７と、ＧＵＩ更新器１７８とは、それぞれのアプリケーション１３６−１またはアプリケーションビュー１９１の単一のモジュールの中に含まれている。その他の実施形態では、それらは、２つ以上のソフトウェアモジュールの中に含まれている。
【０１０７】
[00115]理解されるべきだが、タッチセンシティブディスプレイ上のユーザのタッチについてのイベント処理に関する前述の議論は、入力デバイスを使って多機能デバイス１００を操作するための他の形のユーザ入力にも適用されるのであるが、そのすべてがタッチスクリーン上で開始されるのではなく、例えば、マウスの移動やマウスボタンの押し下げを、１つまたは複数のキーボードの押し下げや保持、タッチパッド上のユーザの移動のタップ、ドラッグ、スクロール等、ペンスタイラス入力、デバイスの動き、口頭の命令、検出された目の動き、バイオメトリック入力、および／またはいずれかのそれらの組み合わせと組み合わせるかまたは組み合わせることなく統合し、それらが、認識されることになるイベントを定義するサブイベントに対応する入力として利用されてもよい。
【０１０８】
[00116]図２は、一部の実施形態による、タッチスクリーン１１２を有する携帯用多機能デバイス１００を示す図である。タッチスクリーンは、ユーザインタフェース（ＵＩ）２００の中に１つ以上のグラフィックスを表示してもよい。本実施形態および以下に記述するその他の実施形態では、ユーザは、例えば１つ以上の指２０２（図では原寸に比例して描かれてはいない）または１つ以上のスタイラス２０３（図では原寸に比例して描かれてはいない）を使ってグラフィックスに接触するかまたはタッチすることによって、１つ以上のグラフィックスを選択してもよい。一部の実施形態では、１つ以上のグラフィックスの選択は、ユーザが１つ以上のグラフィックスとの接触を中断する時に行われる。一部の実施形態では、接触には、デバイス１００と接触していた指のジェスチャ、例えば１つ以上のタップ、１つ以上のスワイプ（左から右へ、右から左へ、上へおよび／または下へ）および／またはローリング（左から右へ、右から左へ、上へおよび／または下へ）が含まれうる。一部の実施形態では、グラフィックとの不注意な接触は、グラフィックを選択しなくてもよい。例えば、選択に対応するジェスチャがタップである場合、アプリケーションのアイコンをスワイプするジェスチャは、対応するアプリケーションを選択しなくてもよい。
【０１０９】
[00117]また、デバイス１００は、例えば「ホーム」またはメニューボタン２０４のような、１つ以上の物理的ボタンを含んでいてもよい。前述したように、メニューボタン２０４を用いて、デバイス１００上で実行されうるアプリケーションの集合の中のいずれかのアプリケーション１３６へのナビゲートが行われてもよい。あるいは、一部の実施形態では、メニューボタンは、タッチスクリーン１１２上に表示されるＧＵＩの中のソフトキーとして実装される。
【０１１０】
[00118]一実施形態では、デバイス１００は、タッチスクリーン１１２と、メニューボタン２０４と、デバイスの電源をオン／オフにしてデバイスをロックするためのプッシュボタン２０６と、音声調整ボタン２０８と、ＳＩＭ（Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ  Ｍｏｄｕｌｅ）カードスロット２１０と、ヘッドフォンジャック２１２と、ドッキング／充電用外部ポート１２４とを含んでいる。プッシュボタン２０６を用いて、ボタンを押して事前設定された時間間隔の間ボタンを押された状態に保持することによってデバイスの電源をオン／オフにし、ボタンを押して事前設定された時間間隔が経過する前にボタンを解放することによってデバイスをロックし、および／または、デバイスのロックを解除して、ロック解除プロセスを開始してもよい。また、代替的実施形態では、デバイス１００は、マイク１１３を通して一部の機能の起動または停止のための口頭入力を受け入れてもよい。
【０１１１】
[00119]図３は、一部の実施形態による、ディスプレイとタッチセンシティブ表面とを備えた例示的な多機能デバイスのブロック図である。デバイス３００は携帯用である必要はない。一部の実施形態では、デバイス３００は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディアプレーヤデバイス、ナビゲーションデバイス、（例えば子供の学習玩具のような）教育デバイス、ゲーミングシステム、または制御デバイス（例えばホームまたは業務用コントローラ）である。デバイス３００は、典型的には、１つ以上の処理ユニット（ＣＰＵ）３１０と、１つ以上のネットワーク通信インタフェースまたはその他の通信インタフェース３６０と、メモリ３７０と、これらの構成要素を相互接続するための１つ以上の通信バス３２０とを含んでいる。通信バス３２０は、システムの構成要素間の通信を相互接続して制御する回路部（チップセットと呼ばれることもある）を含んでいてもよい。デバイス３００は、典型的にはタッチスクリーンディスプレイであるディスプレイ３４０を含むＩ／Ｏ（ｉｎｐｕｔ／ｏｕｔｐｕｔ）インタフェース３３０を含んでいる。また、Ｉ／Ｏインタフェース３３０は、キーボードおよび／またはマウス（またはその他のポインティングデバイス）３５０とタッチパッド３５５とを含んでいてもよい。メモリ３７０は、高速ランダムアクセスメモリ、例えばＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭまたはその他のランダムアクセス・ソリッドステート・メモリデバイスを含んでおり、また、不揮発性メモリ、例えば、１つ以上の磁気ディスクストレージデバイス、光学ディスクストレージデバイス、フラッシュメモリデバイス、またはその他の不揮発性ソリッドステート・ストレージデバイスを含んでいてもよい。メモリ３７０は、任意で、ＣＰＵ３１０から離れた位置の１つ以上のストレージデバイスを含んでいてもよい。一部の実施形態では、メモリ３７０は、携帯用多機能デバイス１００（図１）のメモリ１０２の中に記憶されたプログラム、モジュールおよびデータ構造と類似したプログラム、モジュールおよびデータ構造、またはそのサブセットを記憶している。さらに、メモリ３７０は、携帯用多機能デバイス１００のメモリ１０２の中に現存しない追加のプログラム、モジュールおよびデータ構造を記憶してもよい。例えば、デバイス３００のメモリ３７０は、描画モジュール３８０、プレゼンテーションモジュール３８２、ワードプロセッシングモジュール３８４、ウェブサイト作成モジュール３８６、ディスクオーサリングモジュール３８８、および／または、表計算モジュール３９０を記憶してもよいが、一方で、携帯用多機能デバイス１００（図１）のメモリ１０２は、これらのモジュールを記憶しなくてもよい。
【０１１２】
[00120]上記で識別した図３の個々の要素は、前述した１つ以上のメモリデバイスの中に記憶されてもよい。上記で識別した個々のモジュールは、上記の機能を行うための命令の集合に対応する。上記で識別したモジュールまたはプログラム（すなわち、命令の集合）は、別個のソフトウェアプログラム、手順またはモジュールとして実装される必要はなく、それゆえ、これらのモジュールの各種の部分集合が、各種の実施形態の中で組み合わされてもよいし、その他の要領で再構成されてもよい。一部の実施形態では、メモリ３７０は、上記で識別したモジュールおよびデータ構造の部分集合を記憶してもよい。さらに、メモリ３７０は、上述していない追加のモジュールおよびデータ構造を記憶してもよい。
【０１１３】
[00121]次に、携帯用多機能デバイス１００に実装されうるユーザインタフェース（「ＵＩ」）の実施形態に注意を向けよう。
【０１１４】
[00122]図４Ａおよび図４Ｂは、一部の実施形態による、携帯用多機能デバイス１００上のアプリケーションのメニューのための例示的なユーザインタフェースを示す図である。同様のユーザインタフェースがデバイス３００上に実装されてもよい。一部の実施形態では、ユーザインタフェース４００Ａは、以下の要素、またはその部分集合または上位集合を含んでいる。
・例えばセルラーおよびＷｉＦｉ信号のようなワイヤレス通信用の信号強度指標４０２、
・時刻４０４、
・Ｂｌｕｅｔｏｏｔｈ指標４０５、
・電池状態指標４０６、
・以下のような頻繁に使用するアプリケーション用のアイコンを備えたトレイ４０８
・電話１３８、これは、不在着信もしくはボイスメールメッセージの数の指標４１４を含んでいてもよい
・電子メールクライアント１４０、これは未読の電子メールの数の指標４１０を含んでいてもよい
・ブラウザ１４７、
・音楽プレーヤ１４６、および
・その他のアプリケーション用のアイコン、例えば、
・ＩＭ１４１、
・画像管理１４４、
・カメラ１４３、
・ビデオプレーヤ１４５、
・天気１４９−１、
・株式１４９−２、
・エクササイズサポート１４２、
・カレンダ１４８、
・電卓１４９−３、
・アラームクロック１４９−４、
・辞書１４９−５、および
・ユーザ作成によるウィジェット１４９−６。
【０１１５】
[00123]一部の実施形態では、ユーザインタフェース４００Ｂは、以下の要素、またはそれらの部分集合もしくは上位集合を含んでいる。
・上記の４０２、４０４、４０５、４０６、１４１、１４８、１４４、１４３、１４９−３、１４９−２、１４９−１、１４９−４、４１０、４１４、１３８、１４０、および１４７、
・地図１５４、
・メモ１５３、
・設定４１２、これは、以下にさらに述べるように、デバイス１００およびその各種のアプリケーション１３６の設定へのアクセスを提供する
・ビデオおよび音楽プレーヤモジュール１５２、これは、ｉＰｏｄ（Ａｐｐｌｅ  Ｉｎｃ．の登録商標）モジュール１５２とも呼ばれる
・オンラインビデオモジュール１５５、ＹｏｕＴｕｂｅ（Ｇｏｏｇｌｅ  Ｉｎｃ．の登録商標）モジュール１５５とも呼ばれる。
【０１１６】
[00124]下記の記述の中で、「接触（コンタクト）」という用語は、（連絡先リスト、アドレス帳などにおけるエントリを記述するのに用いられる場合を除いて）「タッチジェスチャ」についての省略用語として用いられ、それゆえ、以下で言及または記述された個々の接触は、タッチセンシティブディスプレイまたはその他のタッチセンシティブ表面のセンサ（またはセンサの集合）によって検出されたいずれかの適切なタッチジェスチャであってもよい。さらに、一部の実施形態では、「タッチジェスチャ」は、タッチセンシティブスクリーン１１２またはその他のタッチセンシティブ表面に物理的接触を行う、１つ以上の指または１つ以上のスタイラスによって行われるジェスチャだけではなく、タッチセンシティブスクリーン１１２またはその他のタッチセンシティブ表面の１つ以上のセンサがこれらのジェスチャを検出することができるほどタッチセンシティブスクリーン１１２またはその他のタッチセンシティブ表面に、全体としてまたは部分的に、十分近い状態で行われるジェスチャも含んでいる。
【０１１７】
[00125]「条件付きで使用可能な(conditionally enabled)」ボタンという用語は、使用可能にされた場合には作動可能であり、使用不可にされた場合には作動不可能な、ソフトキーボードまたはユーザインタフェース上に表示されるボタン、キー、またはオブジェクトを意味する。「条件付きで使用可能なボタン」という用語は、ボタンが使用可能か使用不可かは条件によるわけだから、「条件付きで使用不可である(conditionally disabled)ボタン」と論理的に同等である。
【０１１８】
[00126]ソフトボタンまたはオブジェクトに関連する位置でユーザが開始したタッチジェスチャに応じてのソフトボタンまたはその他のユーザインタフェースオブジェクトの作動は、タッチダウンイベント、リフトオフイベント、またはいずれかの他の検出可能なイベントの時点で行われてもよい。「作動(activation)」という用語は、ボタンまたはボタンに関連する機能を作動させるイベントを意味する。例えば、ソフトキーボード上のキーの作動は、キーに対応する文字をテキストバッファに追加するイベントであるか、または、例えばテキスト入力モードを英語の小文字から大文字にシフトすること、キーボードの１つ以上のキーを別の記号または機能を表すためにシフトすること、現在のソフトキーボードをそれぞれの代替キーボードと置換すること等のようなキーボード機能を行うイベントである。
【０１１９】
[00127]次に、例えばデバイス３００または携帯用多機能デバイス１００のような、ディスプレイとタッチセンシティブ表面とを備えた多機能デバイス上で実装されうるユーザインタフェース（「ＵＩ」）と、関連のプロセスとの実施形態に注意を向けよう。
【０１２０】
[00128]図５Ａ乃至５Ｉは、一部の実施形態による、ボタンまたはその他の表示されたオブジェクトを条件付きで作動させるための例示的なインタフェースを示す図である。これらの図の中のインタフェースは、図６Ａ乃至６Ｂおよび図７のプロセスを含めて、以下に記すプロセスを示すのに用いられる。ボタンもしくはオブジェクトを作動させると、その結果、ボタンもしくはオブジェクトに対応する動作または機能が行われるが、場合によっては、行われる動作または機能は、作動されたボタンまたはオブジェクトのＩＤと、ボタンまたはオブジェクトが作動される文脈との両方に依存する。それぞれのボタンまたはオブジェクトの作動に応じて行われる動作の例の網羅的でない集合には、（作動されたボタンまたはオブジェクトに対応する）記号を文書または入力テキストフィールドに追加することと、表示されるキーボードを、現在表示されているキーボードから、作動されたボタンまたはオブジェクトに対応するキーボードに変更することと、作動されたボタンまたはオブジェクトに対応するアプリケーションまたは機能の実行を開始または再開するかまたは表示を再開することとが含まれる。以下に記述するように、場合によっては、ボタンまたはオブジェクトの作動の結果として、一次機能（例えば、入力テキストフィールドに文字または記号を挿入すること）と二次機能（例えば、ユーザインタフェースに表示された１つ以上のボタンまたはオブジェクトの作動を一時的に使用可能または使用不可にすること、または、一次機能に関係する機能の実行を一時的に使用可能または使用不可にすること）との両方が行われる。
【０１２１】
[00129]図５Ａ乃至５Ｉでは、一部の指の接触の移動の大きさが、説明する目的で誇張されることがある。指の接触の移動に関係する図の中のいずれの描写も、本明細書で開示された方法およびデバイスに関連する大きさや縮尺を理解するための必要条件または限定と考えられるべきではない。
【０１２２】
[00130]ＵＩ５００Ａ（図５Ａ）は、デバイス１００のタッチスクリーン１１２上の（例えば、メモモジュール１５３、電子メールクライアントモジュール１４０等のための）例示的なテキスト入力ユーザインタフェースを描いている。この例では、ＵＩ５００Ａは、テキスト入力領域５０２とＱＷＥＲＴＹソフトキーボード５０４とを含んでいる。テキスト入力領域５０２は、テキスト５０６−１を持つ入力テキスト５０６と、位置５０８−Ａにあるカーソル５０８とを含んでいてもよい。一部の実施形態では、ソフトキーボード５０４は、１つ以上の言語に関連付けられている。ソフトキーボード５０４は、１つ以上のソフトボタン（または「ソフトキー」）５１０を含んでいる。ボタン５１０の一部は、それぞれの文字に関連付けられている。例えば、ボタン５１０−Ａは文字「Ｑ」に、ボタン５１０−Ｂは文字「Ｗ」に、ボタン５１０−Ｃは文字「Ｅ」に、そしてボタン５１０−Ｅは復帰改行または強制改行文字に関連付けられている。ボタン５１０の別の一部は、特定のテキスト入力機能または操作に関連付けられている。例えば、ボタン５１０−Ｄは削除／バックスペース操作に、ボタン５１０−Ｆは、（例えば、他のボタン５１０の文字入力を修正するための）シフト機能に関連付けられている。
【０１２３】
[00131]また、キーボード５０４は、キーボードの操作に関係するソフトボタン（または「ソフトキー」）５１２を含んでいる。例えば、ボタン５１２は、ＱＷＥＲＴＹキーボード５０４を数および記号のキーボードに切り換えるためのボタン５１２−Ａと、キーボード５０４を異なる言語に関連付けられたキーボードに切り換えるかまたはキーボード５０４を異なる言語に切り換えるためのボタン５１２−Ｂと、キーボード５０４を隠すためのボタン５１２−Ｃとを含んでいる。それゆえ、この例ではボタン５１２は、モード変更ボタンであり、表示されたソフトキーボードを変更することによって、または、ディスプレイからキーボードを除去することによって、デバイスの操作モードを変更する。
【０１２４】
[00132]ＵＩ５００Ｈ（図５Ｈ）は、デバイス１００のタッチスクリーン１１２上の（例えばメモモジュール１５３、電子メールクライアントモジュール１４０等のための）別の例示的なテキスト入力ユーザインタフェースを描いている。ＵＩ５００Ｈは、テキスト入力領域５０２と数字および記号ソフトキーボード５２０とを含んでいる。テキスト入力領域５０２は、テキスト５０６−１を持つ入力テキスト５０６と、位置５０８−Ａにあるカーソル５０８とを含んでいてもよい。一部の実施形態では、キーボード５２０は、１つ以上の言語に関連付けられている。ソフトキーボード５２０は、１つ以上のソフトボタン（または「ソフトキー」）５２２を含んでいる。ボタン５２２の一部は、それぞれの数字または記号に関連付けられている。例えば、ボタン５２２−Ａは数字「１」に、ボタン５２２−Ｂは数字「２」に、そしてボタン５２２−Ｃはクエスチョンマーク記号（「？」）に関連付けられている。ボタン５２２の別の一部は、特定のテキスト入力機能または操作に関連付けられている。例えば、ボタン５２２−Ｄ、５２２−Ｅ、５２２−Ｆは、ボタン５１０−Ｄ、５１０−Ｅ、５１０−Ｆと、それぞれ同じ機能性を有している。また、キーボード５２２は、ボタン５１２−Ｂおよび５１２−Ｃと同様、アルファベット／文字キーボードを切り替えるためのボタン５１２−Ｄを含んでいる。
【０１２５】
[00133]一部の実施形態では、ボタン５１０または５２２は、無条件に使用可能なボタンであり、ボタン５１２は、条件付きで使用可能なボタンである。条件付きで使用可能なボタン５１２は、それらの作動に関して特定の条件を有するが、無条件に使用可能なボタン５１０および５２２は、それらの条件には制約されない。あるいは、一部の実施形態では、ボタン５１２は特定の条件下で使用不可にされるが、ボタン５１０または５２２は、それらの条件下では使用不可にされない。条件付きで使用可能なボタンの一例は、第２のキーボード（例えば、数字キーまたはその他の記号を有するキーボードであって、少なくともその一部は、キーボード選択ボタンを含む第１のキーボードによっては表示されない）を起動するためのキーボード選択ボタンである。この例では、キーボード選択ボタンは、条件付きで使用可能であるが、それは、他の所定のソフトキーボードボタン（例えば、表示されたソフトキーボードの中のいずれかの文字ボタン）の作動に応じて一時的に使用不可にされるからであり、そうでない場合は、作動のために使用可能にされる。
【０１２６】
[00134]一部の実施形態によると、条件付きで使用可能なそれぞれのボタン５１２の作動の条件は、それぞれのボタン５１２に対応する位置上の接触が、キーボード５０４または５２０上の別のボタンに対応する位置上の接触の検出から開始される事前設定された期間（すなわち、事前設定された時間量の時間ウィンドウ）内に検出されるかどうかであり、ボタン５１２の作動は、時間ウィンドウの間は使用不可にされる。一部の実施形態では、時間ウィンドウは、ボタン５１０、５２２、５１２を含めて、キーボード５０４または５２０上のいずれかのボタン上の接触の検出から開始される。一部の実施形態では、時間ウィンドウは、ボタン５１０または５２０上の接触の検出から開始されるが、ボタン５１２上では開始されない。以下に論じるように、時間ウィンドウは、事前設定された持続時間を有しており、すなわち、事前設定された時間量の間は持続するのだが、それは、一部の実施形態では固定されており（すなわち、不変であり）、その他の実施形態では、可変であるかまたは文脈（コンテキスト）に依存する。
【０１２７】
[00135]ＵＩ５００Ｂ（図５Ｂ）は、タッチスクリーン１１２上の接触５１４を示す。この例では、接触５１４は、タッチスクリーン１１２上でボタン５１０−Ｃの位置に対応する位置５１４−Ａにあり、また、それは、ボタン５１０−Ｃの作動領域にも対応する。位置５１４−Ａでの接触５１４の検出に応じて、文字「ｅ」５１６が入力テキスト５０６に挿入され、テキスト５０６−１がテキスト５０６−２に変わり、カーソル５０８が位置５０８−Ｂへ進む。
【０１２８】
[00136]また、ボタン５１０−Ｃの位置に対応する位置５１４−Ａでの接触５１４の検出によって、事前設定された時間量の時間ウィンドウが開始し、その間、キーボード５０４の条件付きで使用可能な１つ以上のボタン（例えばボタン５１２）の位置に対応するタッチスクリーン１１２上の位置で検出される接触は無視され、これらのボタンは、時間ウィンドウの間は使用不可にされる。一部の実施形態では、時間ウィンドウの事前設定された持続時間は固定され（すなわち、不変で）、例えば２００ミリ秒と５００ミリ秒との間の持続時間を有し、別の例では、時間ウィンドウの事前設定された持続時間は、１５０ミリ秒と７００ミリ秒との間の値に固定され、さらに別の例では、時間ウィンドウの事前設定された持続時間は、３００ミリ秒と７５０ミリ秒との間の値に固定される。その他の実施形態では、時間ウィンドウの長さは、経験則と、ユーザの履歴と、その他の関連の文脈上の情報に依存する。一例では、デバイスが、ユーザのキーストローク間の、またはワード内キーストローク間の平均遅延を測定し、その値を事前設定された平均キーストローク遅延値と比較し、そして、ユーザの平均キーストローク遅延と事前設定された平均との間の差に従って時間ウィンドウの長さを調整する。別の例では、時間ウィンドウの長さは、一組のアプリケーション（例えばメモおよび電子メールアプリケーション）については、他のアプリケーション（または他の複数のアプリケーション）（例えばブラウザアプリケーション）とは異なる。時間ウィンドウは、モード変更抑制時間ウィンドウと呼ばれることもあるが、それは、一部の実施形態では時間ウィンドウの間はキーボードモード変更が抑制されるからである。
【０１２９】
[00137]ＵＩ５００Ｃ（図５Ｃ）は、接触５１４の直後のタッチスクリーン１１２上の接触５１８を示す。ＵＩ５００Ｃは、接触５１８が行われて検出されうるキーボード５０４上の（多くのうちで）３つのありうる位置を示す。この例では、接触５１８は、タッチスクリーン１１２上の位置５１８−Ａ、５１８−Ｂ、または５１８−Ｃで検出されうる。以下の図は、接触５１４に続いてそれぞれの位置５１８−Ａ、５１８−Ｂ、または５１８−Ｃで検出される接触５１８の効果を示す。
【０１３０】
[00138]ＵＩ５００Ｄ（図５Ｄ）は、接触５１４の直後のタッチスクリーン１１２上の接触５１８を示す。この例では、接触５１８は、タッチスクリーン１１２上でボタン５１０−Ｂの位置に対応する位置５１８−Ａにあり、また、それは、ボタン５１０−Ｂの作動領域にも対応している。位置５１８−Ａでの接触５１８の検出に応じて、文字「ｗ」５２０が入力テキスト５０６に挿入され、テキスト５０６−２がテキスト５０６−３に変わり、カーソル５０８が位置５０８−Ｃへ進む。ボタン５１０−Ｂは、接触５１４からの時間ウィンドウによって影響を受けない無条件に使用可能なボタンであり、位置５１８−Ａで検出された接触５１８が接触５１４からの時間ウィンドウの内側で行われようと外側で行われようと、文字の挿入とカーソルの移動とは行われる。
【０１３１】
[00139]さらに、位置５１８−Ａで接触５１８を検出すると、事前設定された時間量を有する新たな時間ウィンドウが始まる。実際上は、時間ウィンドウが接触５１８の検出から開始するかまたはそれに従って調整されるように、時間ウィンドウがシフトされるかまたはそうでなければ変更される。
【０１３２】
[00140]ＵＩ５００Ｅ（図５Ｅ）は、接触５１４の直後のタッチスクリーン１１２上の接触５１８を示す。この例では、接触５１８は、タッチスクリーン１１２上でボタン５１０−Ｄの位置に対応する位置５１８−Ｂにあり、また、それは、ボタン５１０−Ｄの作動領域にも対応している。位置５１８−Ｂでの接触５１８の検出に応じて、テキスト５０６−２の中の文字「ｅ」５１６が削除され、テキスト５０６−２がテキスト５０６−１に戻り、カーソル５０８が位置５０８−Ａへ移動する。ボタン５１０−Ｄは、接触５１４によってトリガされる時間ウィンドウによって影響を受けない無条件に使用可能なボタンであり、位置５１８−Ｂで検出された接触５１８が接触５１４からの時間ウィンドウの内側で行われようと外側で行われようと、文字の削除とカーソルの移動とは行われる。さらに、位置５１８−Ｂで接触５１８を検出すると、新たな時間ウィンドウが始まる。上記で説明したように、時間ウィンドウは事前設定された持続時間を有しており、それは、一部の実施形態では固定されており（すなわち、不変であり）、その他の実施形態では、可変であるかまたは文脈に依存する。
【０１３３】
[00141]ＵＩ５００Ｆ（図５Ｆ）は、接触５１４の直後のタッチスクリーン１１２上の接触５１８を示す。この例では、接触５１８は、タッチスクリーン１１２上でボタン５１２−Ｃの位置に対応する位置５１８−Ｃにあり、また、それは、ボタン５１２−Ｃの作動領域にも対応している。ボタン５１２−Ｃは、接触５１４からの時間ウィンドウによって影響を受ける条件付きで使用可能なボタンである。接触５１８がいつ行われたか（それゆえ、接触５１８がいつ検出されたか）に依存して、位置５１８−Ｃでの接触５１８の検出に応じて、キーボード５０４が隠されるかまたは何も起こらない。時間ウィンドウの中の或る時刻に接触５１８が位置５１８−Ｃで検出された場合、キーボード５０４は隠されず、そしてＵＩ５００Ｆは、表示され続け、接触５１８は無視される。時間ウィンドウの後の或る時刻に接触５１８が位置５１８−Ｃで検出された場合、ＵＩ５００Ｇ（図５Ｇ）に示すように、キーボード５０４は隠される。
【０１３４】
[00142]時系列５５０（原寸に比例して描かれていない）（図５Ｉ）は、上記の接触が検出されうる時刻を描いており、検出された接触によって開始された時刻ウィンドウを示している。時系列５５０は、接触が検出された時刻５５２と、その後の接触が検出されうる時刻５５４、５５６、５５８とを（例えば、時間ウィンドウの時間の長さの中で時刻５５２の前には接触は検出されないと仮定して）描いている。時刻５５２において検出されたボタン５１０（例えば位置５１４−Ａの接触５１４）または５２２（または一部の実施形態では、ボタン５１２を含めて、ソフトキーボード５０４または５２２上のいずれかのボタン）に対応する位置での接触は、時刻５５２から開始される持続時間の時間ウィンドウ５６０−Ａを開始する。時刻５５２で検出された接触の位置に対応するボタンが、作動される。接触が時刻５５４で検出され、その接触がボタン５１０または５２２に対応する位置にある場合には（例えば、接触５１４が、ボタン５１０−Ｃに対応する位置５１４−Ａにある）、対応するボタンが、作動され（例えばボタン５１０−Ｃが作動される）、ボタン５１０または５２０の作動は、時間ウィンドウによっては影響を受けない。接触が時刻５５４で検出され、その接触が条件付きで使用可能なボタンに対応する位置にある場合には（例えば、接触５１８が、ボタン５１２−Ｃに対応する位置５１８−Ｃにある）、対応するボタンの作動が阻止され（例えばボタン５１２−Ｃの作動が阻止され）、条件付きで使用可能なボタンは、時間ウィンドウ５６０−Ａの間は使用不可にされる。他方、時刻５５２と５５８との間に検出される接触が何ら介在することなく、時間ウィンドウ５６０−Ａの外側である時刻５５８に条件付きで使用可能なボタンに対応する位置で接触が検出された場合には、対応する条件付きで使用可能なボタンが作動される。
【０１３５】
[00143]上記の時刻５５２に検出された接触の直後に時刻５５４で検出されたボタン５１０または５２２上の接触は、時間ウィンドウ５６０−Ａと同じ長さを有しうる時間ウィンドウ５６０−Ｂを開始する。時刻５５４で検出された接触の直後の接触が、条件付きで使用可能なボタンに対応する位置での接触であり、かつ、接触が時刻５５６で検出される場合には、条件付きで使用可能なボタンの作動が阻止される。作動が阻止されるのは、たとえ時刻５５６が時間ウィンドウ５６０−Ａの外側であったとしても、時刻５５６は、時間ウィンドウ５６０−Ｂの中にあるからである。代わりに接触が時刻５５８に検出された場合には、時刻５５８は時間ウィンドウ５６０−Ａおよび５６０−Ｂの外側にあるのだから、対応する条件付きで使用可能なボタンが作動される。
【０１３６】
[00144]図６Ａ乃至６Ｂは、一部の実施形態による、ボタンを作動させる方法６００を示すフロー図である。方法６００は、ディスプレイとタッチセンシティブ表面とを備えた多機能デバイス（例えば、図３のデバイス３００または図１の携帯用多機能デバイス）で行われる。一部の実施形態では、ディスプレイはタッチセンシティブディスプレイであり、タッチセンシティブ表面はディスプレイ上にある。
【０１３７】
[00145]下記のように、方法６００は、ユーザにかかる認知上の負担を軽減するかたちでボタンを作動させる直感的なやり方を提供し、それによって、より効率的なヒューマン・マシン・インタフェースを実現する。電池で動作するコンピューティングデバイスにとっては、モード変更ボタンまたはその他の条件付きで使用可能なボタンを不注意で作動することを阻止しながら、ユーザがデバイスをより迅速かつより効率よく使用できるようにすることは、電力を節約し、次回の電池充電までの時間を増加させる。
【０１３８】
[00146]デバイスが、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示する（６０２）。例えば図５Ａで、キーボード５０４がタッチスクリーン１１２上に表示される。キーボード５０４は、無条件に使用可能なボタン５１０と、ボタン５１２とを含んでおり、ボタン５１２のうち１つ以上（例えばボタン５１２−Ｃ）は、条件付きで使用可能なボタンである。別の例として、図５Ｈで、キーボード５２０がタッチスクリーン１１２上に表示される。キーボード５２０は、無条件に使用可能なボタン５２２と、ボタン５１２とを含んでおり、ボタン５１２のうち１つ以上は、条件付きで使用可能なボタンである。
【０１３９】
[00147]一部の実施形態では、条件付きで使用可能な１つ以上のボタンには、キーボードを隠すためのボタン（例えばボタン５１２−Ｃ）（６２０）と、ソフトキーボードに関連する言語を変更するためのボタン（例えばボタン５１２−Ｂ）（６２２）と、ソフトキーボードが第１の言語に関連付けられている場合には、ソフトキーボードを第２の言語に関連付けられたソフトキーボードに切り換えるためのボタン（例えばボタン５１２−Ｂ）（６２４）と、アルファベットキーボードから数字および記号キーボードに切り換えるためのボタン（例えばボタン５１２−Ａ）（６２６）と、数字および記号キーボードからアルファベットキーボードに切り換えるためのボタン（例えばボタン５１２−Ｄ）（６２８）とのうちの１つ以上が含まれる。
【０１４０】
[00148]デバイスは、第１のボタンによる第１の入力を第１の時刻に検出する（６０４）。例えば、図５Ｂで、接触５１４（第１の入力）が、ボタン５１０−Ｃに対応する位置５１４−Ａで時刻５５２（図５Ｉ）に検出される。
【０１４１】
[00149]デバイスは、第１の入力を検出したことに対して第１のボタンを作動させることによって応じる（６０６）。例えば、図５Ｂでは、デバイスは、位置５１４−Ａでの接触５１４の検出に対してボタン５１０−Ｃを作動させることによって応じる。作動の効果には、文字「ｅ」５１６を入力テキスト５０６に挿入することと、カーソル５０８が位置５０８−Ｂに移動することとが含まれる。
【０１４２】
[00150]第１のボタンの作動を検出してそれに対して動作した後、デバイスは第２のボタンによる第２の入力を第２の時刻に検出する（６０８）。例えば、図５Ｃでは、デバイスは、接触５１８を時刻５５２の後の第２の時刻（図５Ｉの時刻５５４または５５６）に検出する。第２の時刻に接触５１８が検出される位置に依存して（例えば、接触５１８によってどのボタンが選択されるかに依存して）、そして、先のボタンの作動によって開始された時間ウィンドウの中に第２の時刻が入るかどうかに依存して、異なる効果が生じうる。
【０１４３】
[00151]第２のボタンによる第２の入力を第２の時刻に検出したことに応じて（６１０）、第１のボタンが無条件に使用可能なボタンであって第２のボタンが無条件に使用可能なボタンである場合、デバイスは第２のボタンを作動させる（６１２）。例えば、図５Ｄで、接触５１８が、無条件に使用可能なボタン５１０−Ｂに対応する位置５１８−Ａで検出される。ボタン５１０−Ｂが作動され、作動の効果には、文字「ｗ」５２０を入力テキスト５０６に挿入することと、カーソル５０８が位置５０８−Ｃに移動することとが含まれる。別の例として、図５Ｅで、代わりに、接触５１８が、無条件に使用可能なボタン５１０−Ｄに対応する位置５１８−Ｄで検出される。ボタン５１０−Ｄが作動され、作動の効果には、文字「ｅ」５１６を入力テキスト５０６から削除することと、カーソル５０８が位置５０８−Ａに移動することとが含まれる。
【０１４４】
[00152]第２のボタンによる第２の入力を第２の時刻に検出したことに応じて（６１０）、第１のボタンが無条件に使用可能なボタンであって第２のボタンが条件付きで使用可能なボタンである場合（６１４）、第２のボタンが作動されるか否かは、接触５１４が検出される第１の時刻と接触５１８が検出される第２の時刻との間の時間枠に依存する。第１の時刻と第２の時刻との間の時間枠が、事前設定された閾値（一部の実施形態では固定値であり、他の実施形態では可変であるかまたは文脈に依存する値である）を上回る場合、デバイスは第２のボタンを作動させる（６１６）。第１の時刻と第２の時刻との間の時間枠が、事前設定された閾値に等しいかまたはそれを下回る（すなわち、第２の接触が、モード変更抑制時間ウィンドウの間に行われる）場合、デバイスは、第２のボタンが作動されるのを阻止する（６１８）。
【０１４５】
[00153]例えば、図５Ｆで、接触５１８が、条件付きで使用可能なボタン５１２−Ｃに対応する位置５１８−Ｃで検出される。接触５１８が時刻５５６に検出された場合には、時刻５５２と時刻５５６との間の時間枠が閾値（時間ウィンドウ５６０−Ａの長さ）を上回り、時刻５５６は時間ウィンドウ５６０−Ａの外側にあることから、ボタン５１２−Ｃは、接触５１８の検出に応じて作動される。作動の効果には、例えば、図５Ｇに示すように、キーボード５０４を隠すことが含まれる。接触５１８が時刻５５４に検出された場合には、時刻５５２と時刻５５４との間の時間枠が閾値に等しいかまたはそれを下回り、時刻５５４は時間ウィンドウ５６０−Ａの上または内側にあることから、ボタン５１２−Ｃの作動が阻止される。この場合、キーボード５０４は、隠されず、ＵＩ５００Ｆは表示され続ける。
【０１４６】
[00154]方法６００の一部の操作が組み合わされてもよいし、および／または、一部の操作の順序が変更されてもよい。上記の図６Ａ乃至６Ｂの議論（および以下の図７の議論）は、「ボタン」および「ソフトキーボード」という用語を使っているが、方法６００および７００のその他の実施形態は、ボタン以外のオブジェクトに関してユーザが開始した作動、例えばキーボード以外のアイコンにも適用可能である。さらに、方法６００は、所定のボタンを条件付きで、かつ、一時的に使用不可にすることを記述しており、それを条件付き作動不能化とも呼ぶが、方法６００のその他の実施形態は、デバイスのユーザインタフェースまたはデバイスによって実行されるアプリケーションの中の各種のボタンまたはその他のオブジェクトを条件付きで、かつ、一時的に使用可能にすることにも適用可能であり、それを条件付き作動可能化とも呼ぶ。例えば、方法６００の操作６１６と６１８との役割が逆転している実施形態では、方法は、一時的かつ条件付きで、ボタン（例えばキーボードのボタンまたはキーボード以外のボタン）またはオブジェクトの特定の集合を、別のボタンまたはオブジェクトの作動に応じて使用可能にする。
【０１４７】
[00155]図７は、一部の実施形態による、ボタンを作動させる方法７００を示すフロー図である。方法７００は、ディスプレイとタッチセンシティブ表面とを備えた多機能デバイス（例えば図３のデバイス３００、または図１の携帯用多機能デバイス１００）で行われる。一部の実施形態では、ディスプレイはタッチスクリーンディスプレイであり、タッチセンシティブ表面はディスプレイ上にある。
【０１４８】
[00156]以下に記すように、方法７００は、ボタンを作動させる直感的なやり方を提供する。方法は、ボタンを作動させる際のユーザにかかる認知上の負担を軽減し、それによって、より効率的なヒューマン・マシン・インタフェースを実現する。電池で動作するコンピューティングデバイスにとっては、ユーザがボタンをより迅速かつより効率よく作動させられるようにすることは、電力を節約し、次回の電池充電までの時間を増加させる。
【０１４９】
[00157]デバイスは、無条件に使用可能な複数のボタンと条件付きで使用可能な１つ以上のボタンとを含む複数のボタンを有するソフトキーボードを表示する。例えば、図５Ａで、キーボード５０４がタッチスクリーン１１２上に表示される。キーボード５０４は、ボタン５１０とボタン５１２とを含んでおり、ボタン５１２のうち１つ以上は（例えばボタン５１２−Ｃ）、条件付きで使用可能である。別の例として、図５Ｈで、キーボード５２０がタッチスクリーン１１２上に表示される。キーボード５２０は、無条件に使用可能なボタン５２２とボタン５１２とを含んでおり、ボタン５１２のうち１つ以上は、条件付きで使用可能なボタンである。
【０１５０】
[00158]デバイスは、無条件に使用可能なそれぞれのボタンによる第１の入力を第１の時刻に検出する（７０４）。例えば、図５Ｂで、接触５１４（第１の入力）が、無条件に使用可能なボタン５１０−Ｃに対応する位置５１４−Ａで時刻５５２に検出される。
【０１５１】
[00159]第１の入力を第１の時刻に検出したことに応じて（７０６）、デバイスは、無条件に使用可能なそれぞれのボタンを作動させ（７０８）、そして、第１の時刻から開始される事前設定された時間枠の間、条件付きで使用可能なボタンのうち少なくとも１つを使用不可にする（７１０）。例えば、図５Ｂで、デバイスは、時刻５５２における位置５１４−Ａでの接触５１４の検出に対してボタン５１０−Ｃを作動させることによって応じる。作動の効果には、文字「ｅ」５１６を入力テキスト５０６に挿入することと、カーソル５０８が位置５０８−Ｂに移動することとが含まれる。さらに、接触５１４の検出に応じて、時刻５５２から開始される時間ウィンドウ５６０−Ａの間、ボタン５１２−Ｃが使用不可にされる。
【０１５２】
[00160]デバイスは、第１の入力に応じて使用不可にされた条件付きで使用可能であるボタンによる第２の入力を検出し、第２の入力は事前設定された時間枠の中にある第２の時刻に検出される（７１２）。例えば、図５Ｆで、接触５１８が、時間ウィンドウ５６０−Ａの中にある時刻５５４に、時刻５５２における接触５１４の検出に応じて使用不可にされたボタン５１２−Ｃに対応する位置５１８−Ｃで検出される。
【０１５３】
[00161]第２の入力を第２の時刻に検出したこと応じて、デバイスは第２の入力を無視する（７１４）。例えば、位置５１８−Ｃでの接触５１８にもかかわらず、キーボード５０４は隠されず（すなわち、ＵＩ５００Ｆは表示され続け）、位置５１８−Ｃにおける接触５１８は無視される。
【０１５４】
[00162]条件付きで使用可能なボタンを実装するための上記の方法および装置は、他の実施形態においても、ソフトキーボード以外のユーザインタフェースに条件付きで使用可能または条件付きで使用不可にされるキー、ボタン、またはその他のオブジェクトを実装する目的で、利用することができる。
【０１５５】
[00163]上記の情報処理方法における動作は、１つ以上の機能モジュールを、例えば汎用プロセッサまたは特定用途チップのような情報処理装置の中で実行することによって実装されてもよい。これらのモジュールと、これらのモジュールの組み合わせと、および／または、それらの組み合わせに（例えば、図１Ａ、１Ｂおよび３に関して上述したように）一般的なハードウェアを伴うものとは、本発明の保護の範囲内にすべて含まれている。
【０１５６】
[00164]例えば、図６Ａ、６Ｂおよび７に示した動作が、図１Ａ乃至１Ｃに示した構成要素によって実装されうる。例えば、「第１のボタンによる第１の入力を第１の時刻に検出する」（６０４）は、イベントソータ１７０、イベントレコグナイザ１８０、およびイベントハンドラ１９０によって実装されうる。イベントソータ１７０の中のイベントモニタ１７１はタッチセンシティブディスプレイ１１２上の接触を検出し、イベント発送モジュール１７４は、イベント情報をアプリケーション１３６−１に配信する。この場合、アプリケーション１３６−１は、ソフトキーボードおよびテキスト表示領域を操作するための方法およびグラフィカルユーザインタフェースを含んでいる。アプリケーション１３６−１のそれぞれのイベントレコグナイザ１８０は、イベント情報をそれぞれのイベント定義１８６と比較して、タッチセンシティブ表面上の第１の位置での第１の接触が、例えばソフトキーボードの中の具体的なボタンまたはキーのような、事前設定されたイベントまたはサブイベントに対応するかどうかを判定する。事前設定されたイベントまたはサブイベントが検出された場合、イベントレコグナイザ１８０は、第１の接触の検出に関連するイベントハンドラ１９０を起動する。イベントハンドラ１９０は、データ更新器１７６またはオブジェクト更新器１７７を利用するかまたは呼び出して、データまたはテキスト表示領域を更新しうる。同様に、当業者であれば、他のプロセスが、図１Ａ乃至１Ｃに示す構成要素に基づいてどのようにして実装されうるかは、明らかであろう。
【０１５７】
[00165]説明のための前述の記述は、特定の実施形態に関して記述してきた。しかし、上記の例示的議論は、網羅的であることも、開示されたのと違わぬ形態に本発明を限定することも、意図されていない。上記の教示内容に照らして、多くの修正形態および変形形態が可能である。実施形態は、本発明の原理とその実際の適用とを最も良く説明し、それによって当業者が本発明と、意図された個別の用途に適した各種の修正を伴う各種の実施形態とを最も良く利用できるようにすることを目的として選ばれ、記述されてきた。
【図１Ａ】
0005607182.tif 000002
【図１Ｂ】
0005607182.tif 000003
【図１Ｃ】
0005607182.tif 000004
【図２】
0005607182.tif 000005
【図３】
0005607182.tif 000006
【図４Ａ】
0005607182.tif 000007
【図４Ｂ】
0005607182.tif 000008
【図５Ａ】
0005607182.tif 000009
【図５Ｂ】
0005607182.tif 000010
【図５Ｃ】
0005607182.tif 000011
【図５Ｄ】
0005607182.tif 000012
【図５Ｅ】
0005607182.tif 000013
【図５Ｆ】
0005607182.tif 000014
【図５Ｇ】
0005607182.tif 000015
【図５Ｈ】
0005607182.tif 000016
【図５Ｉ】
0005607182.tif 000017
【図６Ａ】
0005607182.tif 000018
【図６Ｂ】
0005607182.tif 000019
【図７】
0005607182.tif 000020