(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0041】
本明細書で説明される方法、デバイス、及びGUIは、ユーザインタフェースオブジェクトの操作を、より効率的かつユーザにとって直感的にさせる、視覚フィードバック及び/又は触覚フィードバックを提供する。例えば、トラックパッドのクリック動作が、アクティブ化閾値に到達するために必要な接触強度(例えば、接触力、接触圧、又はそれらの代替)から切り離されるシステムでは、そのデバイスは、異なるアクティブ化イベントに関する異なる触知出力(例えば、「異なるクリック」)を生成することができる(例えば、それにより、特定の結果を達成するクリックは、結果を生み出さないクリック、又はその特定の結果とは異なる結果を達成するクリックから差異化される)。加えて、触知出力は、ユーザインタフェースオブジェクトが、特定の位置、境界、若しくは方向に移動される場合、又はイベントがデバイスで発生する場合に、触知出力(例えば、「戻り止め」)が生成されるなどの、接触の強度の増大に関連しない他のイベントに応答して生成することができる。
【0042】
加えて、トラックパッド又はタッチスクリーンディスプレイが、1つ又は2つよりも多くの(例えば、単純なオン/オフ、2値強度判定よりも多くの)特定の強度値を含む、接触強度の範囲に敏感であるシステムでは、ユーザインタフェースは、その範囲内での接触の強度を示す応答(例えば、視覚又は触知キュー)を提供することができる。いくつかの実装では、入力に対する事前アクティブ化閾値応答及び/又は事後アクティブ化閾値応答が、連続アニメーションとして表示される。そのような応答の一実施例として、動作を実行するためのアクティブ化閾値を依然として下回る、接触強度の増大の検出に応答して、その動作のプレビューが表示される。そのような応答の別の実施例として、動作に対するアクティブ化閾値に到達した後でさえも、その動作に関連付けられたアニメーションが継続する。これらの実施例の双方とも、ユーザの接触の力又は圧力に対する継続的応答をユーザに提供するものであり、このことにより、より豊かでより直感的な視覚フィードバック及び/又は触覚フィードバックが、ユーザに提供される。より具体的には、そのような継続的な力応答は、軽く押圧することにより、動作をプレビューし、及び/又は深く押圧することにより、その動作に対応する既定のユーザインタフェース状態を押し「退ける」か、若しくは「通す」ことが可能であるという経験を、ユーザに与える。
【0043】
更には、接触強度の範囲に敏感であるタッチ感知面を備えるデバイスに関しては、そのデバイスによって複数の接触強度閾値を監視することができ、異なる機能を異なる接触強度閾値にマッピングすることができる。このことは、第2の「深い押圧」強度閾値での接触の強度の増大、又はその強度閾値を超える接触の強度の増大が、接触の強度が第1の「アクティブ化」強度閾値と第2の「深い押圧」強度閾値との間である場合に実行される動作とは異なる動作を、デバイスに実行させることになることを知っているユーザに、拡張機能への容易なアクセスを提供する、利用可能な「ジェスチャ空間」を増大させるために役立つ。第1の「アクティブ化」強度閾値での周知の機能性を維持しつつ、第2の「深い押圧」強度閾値に追加機能性を割り当てる利点は、いくつかの状況では、追加機能性によって混乱する経験の浅いユーザが、第1の「アクティブ化」強度閾値までの強度を単に適用することによって、周知の機能性を使用することができる一方で、より経験豊富なユーザが、第2の「深い押圧」強度閾値での強度を適用することによって、その追加機能性を活用することができる点である。
【0044】
更には、接触強度の範囲に敏感であるタッチ感知面を備えるデバイスに関しては、そのデバイスは、単一の継続的接触でユーザが複雑な動作を実行することを可能にすることによって、追加機能性を提供することができる。例えば、オブジェクトのグループを選択する場合、ユーザは、タッチ感知面の周囲で継続的接触を移動させることができ、ドラッグしつつ押圧する(例えば、「深い押圧」強度閾値よりも大きい強度を適用する)ことにより、追加要素を選択に加えることができる。この方式で、ユーザは、ユーザインタフェースと直感的にやりとりすることができ、接触と共により強く押圧することにより、ユーザインタフェース内のオブジェクトは、「より定着した」ものとなる。
【0045】
クリック動作が、アクティブ化閾値に到達するために必要な力から切り離され、かつ/又は、デバイスが広範囲の接触強度に敏感な、デバイス上の直感的なユーザインタフェースを提供するための、数多くの異なる手法を、以下で説明する。これらの方法(任意選択的に、対応する併用)のうちの1つ以上を使用することが、ユーザに追加の情報又は機能を直観的に提供するユーザインタフェースを提供することを支援し、したがって、ユーザの認知的負担を低減し、ヒューマン−マシンインタフェースを高める。そのようなヒューマン−マシンインタフェースの改善により、ユーザは、より速く、より効率的にデバイスを使用することが可能となる。バッテリ動作デバイスに関しては、これらの改善により、電力が節約され、バッテリを充電する間隔が増大する。説明を簡単にするために、これらの方法のうちのいくつかの例示的実施例を含む、システム、方法、及びユーザインタフェースが以下で説明されている。
●多くの電子デバイスは、ユーザ入力の圧力を感知する。例えば、圧力感知ボタンを備えるデバイスは、ボタンと一体型になった圧力センサの圧力測定値に基づいて、ボタンがユーザによって押された量を判定する。しかしながら、このような方法は、同時に検出された複数の異なる接触の強度を推定するための方法を提供せず、したがって、複数の接触によって強度感知ユーザインタフェースと対話するための方法を提供しない。デバイスは、タッチ感知面上の複数の接触を検出する間に、タッチ感知面上の複数の接触の総強度(例えば、複数の強度センサの対応する強度センサから受信した強度測定値の和)の第1の部分を複数の接触の第1の接触に割り当て、かつ総強度の第2の部分を複数の接触の第2の接触に割り当て、それにより、デバイスが同時に検出された複数の接触の強度を推定し、便利かつ効率的なユーザインタフェースを制御するためにこの情報を使用することを可能にすることにより、これらの方法を改善する。具体的には、
図5A〜
図5Lは、例示的なユーザインタフェース、及び総強度の対応する部分が複数の接触に割り当てられたタッチ感知面との接触を示す。
図6A〜
図6Cは、総強度の対応する部分を複数の接触に割り当てる方法を示すフロー図である。
図5A〜
図5Lの描写は、
図6A〜
図6Cのプロセスを説明するために使用される。
●多くの電子デバイスは、入力と対応する出力との間の入出力関係に従って制御される様々なユーザインタフェースオブジェクトを含むグラフィカルユーザインタフェースを有する。いくつかの状況では、入力と対応する出力との間に固定の入出力関係が存在する。しかしながら、固定の入出力関係は、ユーザが実現を希望する可能性がある出力の特定の範囲が存在する場合、ユーザにとって煩わしく、非効率的になり得る。また、過度に単純な可変の入出力関係も、ユーザが入出力関係の不連続性に気付いた場合、ユーザを混乱及び当惑させ得る。以下で説明される実施形態は、ユーザインタフェースオブジェクトと対話する時にタッチ入力からディスプレイ出力への関係間を遷移する効率的かつ直感的な方法を提供し、それにより、デバイスが便利かつ効率的なユーザインタフェースを制御することを可能にする。具体的には、
図8A〜
図8Vは、タッチ感知面上の入力を使用してタッチ入力からディスプレイ出力への関係間を遷移するための例示的なユーザインタフェースを示す。
図9A〜
図9Cは、タッチ感知面上の入力を使用してタッチ入力からディスプレイ出力への関係間を遷移する方法を示すフロー図である。更に、
図8A〜
図8Vのユーザインタフェースは、
図9A〜
図9Cを参照して以下に説明される処理を示すために使用される。
●多くの電子デバイスはタッチ感知面を有する。タッチ感知面は、任意選択的に複数の強度センサを利用し、かつタッチ感知面上のロケーションによって変化する最大強度検出閾値を有する。この最大強度検出閾値の相違には、最大強度検出閾値の最小公倍数である均一の最大強度検出閾値をタッチ感知面全体に対して使用することにより対処し得る。しかしながら、この手法はデバイスを最大限の能力で使用することができず、したがって、より効率が低く、より有効性が低いユーザインタフェースを提供する。以下で説明される実施形態は、タッチ感知面の感知度が最も低い部分における最大強度閾値を上回る最大強度検出閾値を利用するように入出力関係を動的に調整することにより、これらの方法を改善する。以下で説明される実施形態は、接触強度の変化及び強度検出の変化する動的範囲に合わせて出力を調整する効率的かつ直感的な方法を提供し、それにより、デバイスが便利かつ効率的なユーザインタフェースを制御することを可能にする。具体的には、
図11B〜
図11Uは、いくつかの実施形態に係る、接触強度の(例えば、タッチ感知面上の入力に対応する)変化及び強度検出の変化する動的範囲に合わせて出力を調整するための例示的なユーザインタフェースを示す。
図12A〜
図12Dは、いくつかの実施形態に係る、接触強度の(例えば、タッチ感知面上の入力に対応する)変化及び強度検出の変化する動的範囲に合わせて出力を調整する方法を示すフロー図である。更に、
図11B〜
図11Uのユーザインタフェースは、
図12A〜
図12Dを参照して以下に説明される処理を示すために使用される。
例示的デバイス
【0046】
実施例が添付の図面に示されている実施形態が、詳細に参照される。以下の詳細な説明では、説明される様々な実施形態の完全な理解を提供するために、数多くの具体的な詳細が記載される。しかしながら、説明されている様々な実施形態は、これらの具体的な詳細を伴わずとも実践し得ることが、当業者には明らかであろう。他の例においては、周知の方法、手続き、コンポーネント、回路、及びネットワークは、実施形態の態様を不必要に不明瞭なものとしないよう、詳細には説明されていない。
【0047】
本明細書では、第1、第2などの用語は、いくつかの実例で、様々な要素を説明するために使用されるが、これらの要素は、それらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためのみに使用される。例えば、説明されている様々な実施形態の範囲から逸脱することなく、第1の接触は、第2の接触と称することができ、同様に、第2の接触は、第1の接触と称し得る。第1の接点及び第2の接点は両方接点であるが、それらは同一の接点ではない。
【0048】
本明細書で説明される様々な実施形態の説明で使用される用語法は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。様々な記載の実施形態、及び添付の特許請求の範囲で使用される時に、単数形「a」、「an」、及びthe」は、文脈が別途明確に示さない限り、複数形をも含むことが意図されている。本明細書で使用される時に、用語「及び/又は」が、関連するリスト化された項目のうちの1つ以上の任意の全ての可能な組み合わせを指し、これを含むことをも理解されるであろう。更に、用語「includes(含む)」、「including(含む)」、「comprises(含む)」及び/又は「comprising(含む)」が、本明細書で使用される時に、述べられた特徴、整数、ステップ、動作、要素、及び/又はコンポーネントの存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、コンポーネント、及び/又はその群の存在又は追加を除外しないことが理解されるであろう。
【0049】
本明細書で使用される時に、用語「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)((述べられる条件又はイベント)の検出に応答して)」を意味すると、任意選択的に、解釈する。
【0050】
電子デバイス、かかるデバイスのユーザインタフェース、及びかかるデバイスを用いるための関連付けられたプロセスの実施形態が説明されている。いくつかの実施形態において、デバイスは、モバイル電話などのポータブル通信デバイスであって、PDA及び/又はミュージックプレーヤ機能などのその他の機能も含む。ポータブル多機能デバイスの例示的な実施例には、カリフォルニア州クパチーノのApple Inc.社製のiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)が挙げられるが、これらに限定されない。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたラップトップ又はタブレットコンピュータなど他のポータブル電子デバイスも使用できる。また、いくつかの実施形態において、このデバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたデスクトップコンピュータであることを理解されたい。
【0051】
以下の考察において、ディスプレイとタッチ感知式表面を有する電子デバイスが説明されている。しかし、この電子デバイスが、物理キーボード、マウス、及び/又はジョイスティックなどの1つ以上の他の物理ユーザインタフェース機器を、任意選択的に、含むことを理解されたい。
【0052】
デバイスは、典型的には、1つ以上の様々なアプリケーションをサポートする。これらのアプリケーションには、例えば、作図アプリケーション、プレゼンテーションアプリケーション、文書作成アプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、ビデオ会議アプリケーション、電子メールアプリケーション、インスタントメッセージアプリケーション、ワークアウトのサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタルミュージックプレイヤーアプリケーション、及び/又はデジタルビデオプレイヤーアプリケーションが含まれる。
【0053】
このデバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能並びに機器上に表示される対応する情報は、1つのアプリケーションから次のアプリケーションへ、及び/又は対応するアプリケーションの中で、任意選択的に、調整し、及び/又は変更される。この方式で、そのデバイスの共通の(タッチ感知面などの)物理アーキテクチャは、ユーザにとって直観的かつ透過的なユーザインタフェースを備える種々のアプリケーションを、任意選択的にサポートする。
【0054】
タッチ感知ディスプレイを備えたポータブルデバイスの実施形態に注目を向ける。
図1Aは、いくつかの実施形態に係る、タッチ感知式ディスプレイ112を有するポータブル多機能デバイス100を説明するためのブロック図である。タッチ感知ディスプレイ112は、便宜上「タッチスクリーン」と呼ばれる場合があり、タッチ感知ディスプレイシステムとして既知であるか、又はそのように呼ばれる場合もある。機器100は、メモリ102(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)、メモリコントローラ122、1つ以上の処理ユニット(CPU)120、周辺機器インタフェース118、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、入出力(I/O)サブシステム106、他の入力又は制御機器116、及び外部ポート124を含む。機器100は、1つ以上の光センサ164を、任意選択的に、含む。デバイス100は、デバイス100(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)上の接触の強度を検出するための、1つ以上の強度センサ165を、任意選択的に備える。デバイス100は、デバイス100上に触知出力を生成する(例えば、デバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などの、タッチ感知面上に触知出力を生成する)ための、1つ以上の触知出力発生器167を、任意選択的に備える。これらの構成要素は、1つ以上の通信バス又は信号ライン103を介して、任意選択的に、通信する。
【0055】
本明細書及び特許請求の範囲で使用される時に、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指接触)の力又は圧力(単位面積当りの力)、あるいはタッチ感知面上の接触の力又は圧力の代替物(代用物)を指す。接触の強度は、少なくとも4つの異なる数値を含み、より典型的には、数百以上の異なる数値(例えば、少なくとも256)を含む、数値の範囲を有する。接触の強度は、様々な方法及び様々なセンサ、又はセンサの組み合わせを使用して、任意選択的に、判定(又は、測定)される。例えば、タッチ感知面の下に又は隣接して配置された1つ以上のセンサは、タッチ感知面上の様々な点における力を測定するために、任意選択的に、用いられる。いくつかの実装において、複数の力センサの力測定値は、接触の推定の力を判定するために組み合わされる(例えば、加重平均される)。同様に、スタイラスの感圧性先端部を任意選択的に使用して、タッチ感知面上のスタイラスの圧力を判定する。別の方法としては、タッチ感知面上で検出される接触領域のサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化が、タッチ感知面上の接触の力又は圧力の代用物として、任意選択的に、用いられる。いくつかの実装では、これらの接触力又は圧力の代替測定値を直接使用して、強度閾値が超過されているか否かを判定する(例えば、この強度閾値は、代替測定値に対応する単位で説明される)。いくつかの実装において、接触の力又は圧力の代替的測定値は、推定される力又は圧力に変換され、この推定される力又は圧力を用いて、強度閾値を超えているか判定される(例えば、強度閾値は、圧力の単位で測定された圧力閾値である)。
【0056】
本明細書及び特許請求の範囲で使用される時に、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、デバイスの別の構成要素(例えば、筐体)に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、機器又は機器の構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況において、物理的変位によって生成された触覚出力は、機器又は機器の構成要素の物理的特性の認識された変化に相当する触感としてユーザによって解釈される。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として、任意選択的に、解釈される。いくつかの場合、ユーザの移動により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がない時でさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じる。別の例として、タッチ感知面の移動は、タッチ感知面の円滑度に変化がない時でさえ、タッチ感知面の「粗さ」としてユーザによって、任意選択的に、解釈又は感じられる。このようなユーザによるタッチの解釈は、ユーザの個別の感覚認知によるが、大多数のユーザに共通したタッチの感覚認知が数多くある。したがって、触覚出力が、典型的ユーザの感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触覚出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成する機器、又は機器の構成要素の物理的変位に対応する。
【0057】
デバイス100は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス100は、示されるものよりも多いか又は少ない構成要素を任意選択的に有するか、2つ以上の構成要素を任意選択的に組み合わせるか、又は構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。
図1Aに示される様々な構成要素は、1つ以上の信号処理、及び/又はアプリケーション固有の集積回路を含む、ハードウェア、ソフトウェア、又はハードウェア及びソフトウェアの両方の組み合わせで実現される。
【0058】
メモリ102は、任意選択的に高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性半導体メモリデバイスなどの、不揮発性メモリも含む。CPU 120及び周辺機器インタフェース118などの、機器100の他の構成要素によるメモリ102へのアクセスは、メモリコントローラ122により、任意選択的に、制御される。
【0059】
周辺機器インタフェース118は、デバイスの入力及び出力周辺機器をCPU 120及びメモリ102に結合するために使用してもよい。1つ以上のプロセッサ120は、デバイス100のための様々な機能を実行するため並びにデータ処理を行うために、メモリ102に記憶された様々なソフトウェアプログラム及び/若しくは命令セットを走らせたり、又は実行したりする。
【0060】
いくつかの実施形態では、周辺機器インタフェース118、CPU 120、及びメモリコントローラ122は、任意選択的に、チップ104などの単一チップ上に実装される。いくつかの他の実施形態において、これらは、個別のチップ上に、任意選択的に、実装される。
【0061】
RF(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を受信したり送信したりする。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(SIM)カード、メモリなどを含むがこれらに限定されない、上記の機能を実行するための周知の回路を、任意選択的に、含む。RF回路108は、インターネット情報検索システム(WWW)とも呼ばれるインターネットなどのネットワーク、イントラネット及び/又はセルラー電話ネットワークなどの無線ネットワーク、ワイアレスローカルエリアネットワーク(LAN)及び/又はメトロポリタンエリアネットワーク(MAN)、及び無線通信による他の機器と、任意選択的に、通信する。無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを、任意選択的に使用し、それらの通信規格、通信プロトコル、及び通信技術としては、移動通信用のグローバルシステム(GSM(登録商標))、拡張データGSM(登録商標)環境(EDGE)、高速ダウンリンクパケット接続(HSDPA)、高速アップリンクパケット接続(HSUPA)、Evolution,Data−Only(EV−DO)、HSPA、HSPA+、デュアルセルHSPA(DC−HSPDA)、ロングタームエボリューション(LTE)、近距離無線通信(NFC)、広帯域符号分割多元接続(W−CDMA)、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、Bluetooth(登録商標)、Wireless Fidelity(Wi−Fi)(登録商標)(例えば、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、及び/若しくはIEEE 802.11n)、ボイスオーバーインターネットプロトコル(VoIP)、Wi−MAX、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(IMAP)及び/若しくはポストオフィスプロトコル(POP))、インスタントメッセージング(例えば、拡張可能メッセージング及びプレゼンスプロトコル(XMPP)、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル(SIMPLE)、インスタントメッセージング及びプレゼンスサービス(IMPS))、及び/又はショートメッセージサービス(SMS)、又は本文書の出願日現在までに未だ開発されていない通信プロトコルを含む任意の他の好適な通信プロトコルが挙げられるが、これらに限定されない。
【0062】
オーディオ回路機構110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路機構110は、周辺機器インタフェース118からオーディオデータを受信し、そのオーディオデータを電気信号に変換し、その電気信号をスピーカ111に送信する。スピーカ111は、その電気信号を人間の耳に聞こえる音波に変換する。オーディオ回路機構110はまた、マイクロフォン113によって音波から変換された電気信号も受信する。オーディオ回路機構110は、その電気信号をオーディオデータに変換し、そのオーディオデータを、処理のために周辺機器インタフェース118に送信する。音声データは、周辺機器インタフェース118によって任意選択的に、メモリ102及び/若しくはRF回路108から取り込まれ、並びに/又はメモリ102及び/若しくはRF回路108へ送出される。いくつかの実施形態において、オーディオ回路機構110は更にヘッドセットジャック(例えば、
図2の212)を備える。ヘッドセットジャックは、オーディオ回路機構110と、出力専用ヘッドホン又は出力(例えば、片耳又は両耳用のヘッドホン)及び入力(例えば、マイクロフォン)の両方を持つヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器との間のインタフェースを提供する。
【0063】
I/Oサブシステム106は、周辺機器インタフェース118に、タッチスクリーン112及び他の入力制御デバイス116などのデバイス100の入出力周辺機器を結合する。I/Oサブシステム106は、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及び他の入力又は制御機器用の1つ以上の入力コントローラ160を、任意選択的に、含む。1つ以上の入力コントローラ160は、他の入力又は制御デバイス116から/へ電気信号を受信/送信する。他の入力制御機器116は、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイアル、スライダースイッチ、ジョイスティック、クリックホイールなどを、任意選択的に、含む。いくつかの代替的実施形態において、入力コントローラ(1つ又は複数)160は、キーボード、赤外線ポート、USBポート、及びマウスなどのポインタ機器のうちのいずれかに、任意選択的に、連結される(又は、いずれにも連結されない)。1つ以上のボタン(例えば、
図2の208)は、スピーカ111及び/又はマイクロフォン113の音量調節のためのアップ/ダウンボタンを、任意選択的に、含む。1つ以上のボタンは、プッシュボタン(例えば、
図2の206)を、任意選択的に、含む。
【0064】
タッチ感知ディスプレイ112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチスクリーン112から/へ電気信号を受信及び/又は送信する。タッチスクリーン112は、ユーザへ視覚出力を表示する。視覚出力は、グラフィック、テキスト、アイコン、映像、及びこれらの任意の組み合わせ(総称して「グラフィック」と称する)を、任意選択的に、含む。いくつかの実施形態において、視覚出力の一部又は全ては、ユーザインタフェースオブジェクトに対応する。
【0065】
タッチスクリーン112は、触覚及び/若しくは触感の接触に基づくユーザからの入力を受け付けるタッチ感知面、センサ、又はセンサのセットを有している。タッチスクリーン112及びディスプレイコントローラ156(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)は、タッチスクリーン112上で接触(及び任意の移動又は接触の中断)を検出し、検出された接触をタッチスクリーン112上に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との対話に変換する。ある例示的な実施形態では、タッチスクリーン112とユーザとの間の接触点は、ユーザの指に対応する。
【0066】
タッチスクリーン112は、任意選択的に、LCD(液晶ディスプレイ)技術、LPD(発光ポリマーディスプレイ)技術、又はLED(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術が使用される。タッチスクリーン112及びディスプレイコントローラ156は、静電容量技術、抵抗性技術、赤外線技術、及び表面弾性波技術、並びに、タッチスクリーン112との1つ以上の接触点を判定するための他の近接センサアレイ又は他の要素を含むが、これらに限定されない、現在公知の若しくは後日に開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及び任意の移動又はその中断を、任意選択的に、検出する。例示的な実施形態において、カリフォルニア州クパチーノのApple Inc.社製iPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)などに見られる、投影相互静電容量感知技術が用いられている。
【0067】
タッチスクリーン112は、任意選択的に、100dpiを超えるビデオ解像度を有する。いくつかの実施形態において、タッチスクリーンは約160dpiのビデオ解像度を有する。ユーザは、スタイラス、指などの任意の好適なオブジェクト又は付属器を使用して、タッチスクリーン112と、任意選択的に、接触する。いくつかの実施形態において、ユーザインタフェースは、主として指ベースの接触及びジェスチャで機能するように設計され、タッチスクリーン上の指の接触面積が広いことにより、スタイラスベースの入力よりも精度が低いことがある。いくつかの実施形態において、デバイスは、粗い指ベースの入力を正確なポインタ/カーソル位置又はユーザの望むアクションを実行するためのコマンドへ変換する。
【0068】
いくつかの実施形態では、タッチスクリーンに加えて、デバイス100は、特定の機能をアクティブ化又は非アクティブ化させるためのタッチパッド(図示せず)を、任意選択的に含む。いくつかの実施形態において、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知エリアである。タッチパッドは、任意選択的に、タッチスクリーン112とは別個のタッチ感知面、又はタッチスクリーンによって形成されたタッチ感知面の延長である。
【0069】
デバイス100は更に、様々なコンポーネントに電力を供給するための電力システム162を含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態インジケータ(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他のコンポーネントを含む。
【0070】
機器100は、1つ以上の光センサ164も、任意選択的に、含む。
図1Aは、I/Oサブシステム106内の光学センサコントローラ158に結合された光学センサを示す。光センサ164は、電荷結合デバイス機器(CCD)又は相補的金属酸化物半導体(CMOS)フォトトランジスタを、任意選択的に、含む。光センサ164は、1つ以上のレンズを通して投影された、環境からの光を受光し、その光を画像を表すデータに変換する。撮像モジュール143(カメラモジュールとも称する)と併用して、光センサ164は、静止画像又は映像を、任意選択的に、キャプチャする。いくつかの実施形態において、タッチスクリーンディスプレイを静止画像及び/又は映像取得のためのビューファインダとして使用することができるように、光センサは、機器の前面のタッチスクリーンディスプレイ112の反対側である、機器100の背面に配置されている。いくつかの実施形態において、ユーザがタッチスクリーンディスプレイ上で他のビデオ会議参加者を見ている間に、ユーザの画像を、ビデオ会議のために、任意選択的に、得るように、別の光センサが機器の前面に配置される。
【0071】
デバイス100はまた、1つ以上の接触強度センサ165も任意選択的に含む。
図1Aは、I/Oサブシステム106内の強度センサコントローラ159に連結された接触強度センサを示す。接触強度センサ165は、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用するセンサ)を、任意選択的に、含む。接触強度センサ165は、環境から接触強度情報(例えば、圧力情報又は圧力情報のプロキシ)を受信する。いくつかの実施形態において、少なくとも1つの接触強度センサが、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に併置されているか、又は近接している。いくつかの実施形態において、少なくとも1つの接触強度センサが、機器100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、機器100の背面に配置されている。
【0072】
機器100は、1つ以上の近接センサ166も、任意選択的に、含む。
図1Aは、周辺機器インタフェース118に結合された近接センサ166を示す。あるいは、近接センサ166は、I/Oサブシステム106内の入力コントローラ160に連結される。いくつかの実施形態において、多機能デバイスがユーザの耳の近くに配置されている場合(例えば、ユーザが電話通話を行っている場合)、近接センサがオフになり、タッチスクリーン112が無効になる。
【0073】
デバイス100はまた、1つ以上の触知出力生成器167も任意選択的に含む。
図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に連結された触覚出力生成器を示す。触覚出力生成器167は、スピーカ又は他の音声構成要素などの1つ以上の電気音響機器及び/又はモータ、ソレノイド、電気活性ポリマ、圧電アクチュエータ、静電アクチュエータ、又は他の触覚出力構成要素(例えば、機器上で電気信号を触覚出力に変換する構成要素)などの、エネルギーを直線運動に変換する電気機械機器を、任意選択的に、含む。接触強度センサ165は、触覚フィードバックモジュール133から触覚フィードバック生成命令を受信し、機器100のユーザが感知できる触覚出力を機器100上で生成する。いくつかの実施形態において、少なくとも1つの触覚出力生成器が、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)と併置されているか、又は近接しており、タッチ感知面を垂直方向に(例えば、機器100の表面の内/外)又は横方向(例えば、機器100の表面と同一の平面の前後方向)に移動することによって触覚出力を、任意選択的に、生成する。いくつかの実施形態において、少なくとも1つの触覚出力生成器センサが、機器100の前面に配置されたタッチスクリーンディスプレイ112の反対側である、機器100の背面に配置されている。
【0074】
デバイス100はまた、1つ以上の加速度計168も任意選択的に含む。
図1Aは、周辺機器インタフェース118に結合された加速度計168を示す。あるいは、加速度計168は、I/Oサブシステム106内の入力コントローラ160に、任意選択的に、連結される。いくつかの実施形態において、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、ポートレートビュー又はランドスケープビューでタッチスクリーンディスプレイ上に表示される。デバイス100は、必要に応じて、加速度計(1つ又は複数)168に加えて、磁力計(図示せず)並びにデバイス100の位置及び向き(例えば、ポートレート又はランドスケープ)に関する情報を取得するためのGPS(又はGLONASS又は他のグローバルナビゲーションシステム)受信部(図示せず)を備える。
【0075】
いくつかの実施形態において、メモリ102に記憶されたソフトウェアコンポーネントは、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、グラフィックモジュール(又は命令セット)132、テキスト入力モジュール(又は命令セット)134、全地球測位システム(GPS)モジュール(又は命令セット)135、及びアプリケーション(命令セット)136を含む。更に、いくつかの実施形態において、メモリ102は、
図1A及び3に示すように、デバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、存在する場合には、いずれのアプリケーションが現在アクティブであるかを示す、アクティブアプリケーション状態、いずれのアプリケーション、ビュー、又は他の情報が、タッチスクリーンディスプレイ112の様々な領域を占有するかを示す、ディスプレイ状態、デバイスの様々なセンサ及び入力制御デバイス116から取得した情報を含む、センサ状態、並びにデバイスの場所及び/又は姿勢に関する場所情報のうちの、1つ以上を含む。
【0076】
オペレーティングシステム126(例えば、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するための様々なソフトウェアコンポーネント及び/又はドライバを含み、様々なハードウェアとソフトウェアコンポーネントとの間の通信を容易にする。
【0077】
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェアコンポーネントを含む。外部ポート124(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えば、インターネット、無線LANなど)を介して間接的に他のデバイスに結合するように適合される。いくつかの実施形態において、外部ポートは、iPod(Apple Inc.の商標)デバイス上で使用される30ピンコネクタと同一の、又はこれに類似した及び/若しくは互換性のあるマルチピン(例えば、30ピン)コネクタである。
【0078】
接触/動きモジュール130は、(ディスプレイコントローラ156と併用して)タッチスクリーン112及び他のタッチ感知機器(例えば、タッチパッド又は物理的なクリックホイール)との接触を、任意選択的に、検出する。接触/動きモジュール130は、接触が生じたか否かを判定すること(例えば、指を下ろすイベントを検出すること)、接触の強度(例えば、接触の力若しくは圧力、又は接触の力若しくは圧力の代替物)を判定すること、接触の移動が存在するか否かを判定し、タッチ感知面を横断する移動を追跡すること(例えば、指をドラッグする1つ以上のイベントを検出すること)、及び接触が停止したか否かを判定すること(例えば、指を上げるイベント又は接触の中断を検出すること)などの、接触の検出に関する種々の動作を実行するための、種々のソフトウェアコンポーネントを含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データにより表される接触点の移動を判定することは、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを、任意選択的に、含む。これらの動作は、任意選択的に、単一の接触(例えば、1つの指の接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触)に適用される。いくつかの実施形態において、コンタクト/動作モジュール130及びディスプレイコントローラ156は、タッチパッド上のコンタクトを検知する。
【0079】
いくつかの実施形態において、接触/動きモジュール130は、1つ以上の強度閾値のセットを用いて、動作がユーザによって実行されたか判定する(例えば、ユーザがアイコンを「クリックしたか」を判定する)。いくつかの実施形態において、少なくとも強度閾値のサブセットが、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されず、機器100の物理ハードウェアを変更することなく調整し得る)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更することなく広範囲の既定の閾値のうちのいずれかに設定し得る。加えて、いくつかの実装では、デバイスのユーザには、(例えば、個別の強度閾値を調節することによって、かつ/又は、システムレベルのクリック「強度」パラメータを使用して、一度に複数の強度閾値を調節することによって)強度閾値のセットのうちの1つ以上を調節するための、ソフトウェア設定が提供される。
【0080】
接触/動きモジュール130は、ユーザによるジェスチャ入力を、任意選択的に、検出する。タッチ感知面上での様々なジェスチャは、様々な接触パターン及び接触強度を有する。したがって、ジェスチャは、特定の接触パターンを検出することによって、任意選択的に、検出される。例えば、フィンガタップジェスチャの検出は、フィンガダウンイベントを検出し、続いてフィンガダウンイベント(例えば、アイコンの位置)と同一の位置(又は、実質的に同一の位置)でのフィンガアップ(リフトオフ)イベントを検出することを含む。他の実施例として、タッチ感知面でのフィンガスワイプジェスチャの検出は、フィンガダウンイベントを検出し、続いて1つ以上のフィンガドラッギングイベントを検出し、その後、フィンガアップ(リフトオフ)イベントを検出することを含む。
【0081】
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含めた、タッチスクリーン112又は他のディスプレイ上にグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。本明細書で使用する時に、用語「グラフィック」は、ユーザに対して表示することができる任意のオブジェクトを含み、それらのオブジェクトとしては、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどが挙げられるが、これらに限定されない。
【0082】
いくつかの実施形態において、グラフィックモジュール132は、使用されるグラフィックを表すデータを記憶する。対応するグラフィックには、対応するコードが、任意選択的に、割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて座標データ及び他のグラフィック特性データと共に、表示されるグラフィックを指定する1つ以上のコードを受信して、次いで、ディスプレイコントローラ156に出力するためのスクリーン画像データを生成する。
【0083】
触覚フィードバックモジュール133は、ユーザの機器100との対話に応答して機器100上の1つ以上の位置で触覚出力を発生するために触覚出力生成器(1つ又は複数)167が使用する命令を生成するための様々なソフトウェア構成要素を含む。
【0084】
テキスト入力モジュール134は、任意選択的に、グラフィックモジュール132の構成要素であるが、様々なアプリケーション(例えば、連絡先137、電子メール140、IM 141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)にテキストを入力するためのソフトキーボードを提供する。
【0085】
GPSモジュール135は、機器のロケーションを判定し、この情報を様々なアプリケーション(例えば、ロケーション別のダイアル発呼で使用するための電話138へ、ピクチャ/映像メタデータとしてカメラ143へ、及び気象ウィジェット、地方のイエローページウィジェット、及びマップ/ナビゲーションウィジェットなどのロケーション別のサービスを提供するアプリケーションへ)で使用するために提供する。
【0086】
アプリケーション136は、任意選択的に、以下のモジュール(又は、命令のセット)、又はそれらの部分集合若しくは上位集合を含む。
●コンタクトモジュール137(アドレス帳又はコンタクトリストとも呼ぶ)
●電話モジュール138
●ビデオ会議モジュール139
●電子メールクライアントモジュール140
●インスタントメッセージ(IM)モジュール141
●ワークアウトのサポートモジュール142
●静止画像及び/又はビデオ画像用カメラモジュール143
●画像管理モジュール144
●ブラウザモジュール147
●カレンダモジュール148
●ウィジェットモジュール149。任意選択的に、気象ウィジェット149−1、ストックウィジェット149−2、計算機ウィジェット149−3、アラームクロックウィジェット149−4、辞書ウィジェット149−5、及びユーザによって得られた他のウィジェット、並びにユーザ作成ウィジェット149−6のうちの1つ以上を含む。
●ユーザ作成ウィジェット149−6を作成するためのウィジェット作成モジュール150
●検索モジュール151
●任意選択的にビデオプレーヤモジュールと音楽プレーヤモジュールで構成された、ビデオ及び音楽プレーヤモジュール152、
●ノートモジュール153
●地図モジュール154、及び/又は
●オンラインビデオモジュール155。
【0087】
任意選択的にメモリ102内に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
【0088】
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、連絡先モジュール137は、任意選択的に、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192内に記憶される)アドレス帳又は連絡先リストを管理するために使用され、この管理には、アドレス帳に名前(1つ又は複数)を追加すること、アドレス帳から名前(1つ又は複数)を削除すること、電話番号(1つ又は複数)、電子メールアドレス(1つ又は複数)、実際の住所(1つ又は複数)、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類して並び替えること、電話138、ビデオ会議139、電子メール140、又はIM 141などによる通信を開始及び/又は促進するために、電話番号又は電子メールアドレスを提供することなどが含まれる。
【0089】
RF回路機構108、オーディオ回路機構110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、電話モジュール138は、電話番号に対応する一連の文字を入力し、アドレス帳137内の1つ以上の電話番号にアクセスし、入力されている電話番号を修正し、対応する電話番号をダイアルし、会話を実施し、会話が完了した際に接続を切るか又は電話を切るために、任意選択的に使用される。上述のように、無線通信は、複数の通信規格、プロトコル、及び技術のうちのいずれかを、任意選択的に、使用する。
【0090】
RF回路108、オーディオ回路機構110、スピーカ111、マイクロフォン113、タッチスクリーン112、ディスプレイコントローラ156、光センサ164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先リスト137、及び電話モジュール138と関連して、ビデオ会議モジュール139は、ユーザの指示に従って、ユーザと1人以上の他の参加者との間のビデオ会議を開始し、行い、終了するための実行可能命令を含む。
【0091】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、電子メールクライアントモジュール140は、ユーザの指示に応答して、電子メールを作成し、送信し、受信し、管理するための実行可能命令を含む。画像管理モジュール144と関連して、電子メールクライアントモジュール140により、カメラモジュール143で撮影した静止画像又はビデオを作成し、電子メールを送ることが非常に簡単になる。
【0092】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、インスタントメッセージモジュール141は、インスタントメッセージに対応する文字のシーケンスを入力したり、入力済みの文字を修正したり、対応するインスタントメッセージを送信したり(例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス(SMS)若しくはマルチメディアメッセージサービス(MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージのためのXMPP、SIMPLE、若しくはIMPSを使用して)、インスタントメッセージを受信して、受信したインスタントメッセージを表示したりするための実行可能命令を含む。いくつかの実施形態において、送信及び/又は受信されたインスタントメッセージは、MMS及び/又は拡張メッセージングサービス(EMS)でサポートされるように、グラフィック、写真、オーディオファイル、映像ファイル、及び/又は他の添付を、任意選択的に、含む。本明細書で使用する時に、「インスタントメッセージング」とは、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されるメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE又はIMPSを使用して送信されるメッセージ)の双方を示す。
【0093】
RF回路108、タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽再生ジュール146と関連して、トレーニングサポートモジュール142は、トレーニングを作成したり(例えば、時間、距離、及び/又はカロリー消費目標に関して)、トレーニングセンサ(スポーツデバイス)と通信したり、トレーニングセンサデータを受信したり、トレーニングを監視するために用いられるセンサを較正したり、トレーニングのための音楽を選択して再生したり、トレーニングデータを表示、記憶、送信したりするための実行可能命令を含む。
【0094】
タッチスクリーン112、ディスプレイコントローラ156、光センサ(1つ又は複数)164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、及び画像管理モジュール144と関連して、カメラモジュール143は、静止画像又はビデオ(ビデオストリームを含む)をキャプチャしてメモリ102にそれらを記憶したり、静止画像又はビデオの特徴を変更したり、又はメモリ102から静止画像若しくは動画を削除したりするための実行可能命令を含む。
【0095】
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びカメラモジュール143と関連して、画像管理モジュール144は、静止画像及び/又はビデオを配置し、修正し(例えば、編集し)、また別の方法で操作し、ラベルを付け、削除し、提示し(例えば、デジタルスライドショー又はアルバム内で)、並びに記憶したりするための実行可能命令を含む。
【0096】
RF回路108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、ブラウザモジュール147は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付及び他のファイルを検索し、リンク付け、受信し、表示することを含むユーザの指示に従い、インターネットをブラウズするための実行可能命令を含む。
【0097】
RF回路機構108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と共に、カレンダモジュール148は、カレンダ、及びカレンダに関連付けられたデータ(例えば、カレンダ項目、to doリストなど)を、ユーザの指示に従って作成し、表示し、修正し、記憶するための、実行可能命令を含む。
【0098】
RF回路機構108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と共に、ウィジェットモジュール149は、ユーザによって任意選択的にダウンロードされ、使用されるミニアプリケーション(例えば、気象ウィジェット149−1、株価ウィジェット149−2、計算機ウィジェット149−3、アラーム時計ウィジェット149−4、及び辞書ウィジェット149−5)、又はユーザによって作成されるミニアプリケーション(例えば、ユーザ作成ウィジェット149−6)である。いくつかの実施形態において、ウィジェットは、HTML(ハイパーテキストマークアップ言語)ファイル、CSS(カスケーディングスタイルシート)ファイル、及びJavaScript(登録商標)ファイルを含む。いくつかの実施形態では、ウィジェットは、XML(拡張可能マークアップ言語)ファイル及びJavaScript(登録商標)ファイル(例えば、Yahoo!(登録商標)ウィジェット)を含む。
【0099】
RF回路機構108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と共に、ウィジェット作成モジュール150は、ウィジェットを作成する(例えば、ウェブページのユーザ指定箇所をウィジェットに変える)ために、ユーザによって任意選択的に使用される。
【0100】
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と関連して、検索モジュール151は、ユーザの指示に従い、1つ以上の検索判断基準(例えば、1つ以上のユーザ指定の検索語句)と一致する、メモリ102内のテキスト、音楽、音、画像、ビデオ、及び/又は他のファイルを検索するための実行可能命令を含む。
【0101】
タッチスクリーン112、ディスプレイシステムコントローラ156、コンタクトモジュール130、図形モジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と協働して、ビデオ及びミュージックモジュール152は、ユーザが、MP3又はAACファイルなどの1つ以上のファイルフォーマットに記憶されている記録されたミュージック及びその他のサウンドファイルをダウンロード及び再生することを可能にする実行可能な命令と、(例えば、タッチスクリーン112上又は外部ポート124を介して外部に接続されたディスプレイ)で動画を表示、提示又は再生する実行可能な命令と、を有する。いくつかの実施形態において、機器100は、任意選択的に、iPod(Apple Inc.の登録商標)などのMP3プレーヤの機能を含む。
【0102】
タッチスクリーン112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と共に、メモモジュール153は、ユーザの指示に従って、メモ、To Doリストなどを作成及び管理するための、実行可能命令を含む。
【0103】
RF回路機構108、タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と共に、地図モジュール154は、ユーザの指示に従って、地図、及び地図に関連付けられたデータ(例えば、運転方向、特定の場所若しくはその付近の店舗及び関心対象の他の地点についてのデータ、並びに場所に基づく他のデータ)を受信し、表示し、修正し、記憶するために、任意選択的に使用される。
【0104】
タッチスクリーン112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、オーディオ回路機構110、スピーカ111、RF回路108、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と関連して、オンラインビデオモジュール155は、ユーザがH.264などの1つ以上のファイル形式のオンラインビデオにアクセスし、ブラウズし、受信し(例えば、ストリーミング及び/又はダウンロードにより)、再生し(例えば、タッチスクリーン上で又は外部ポート124を介して接続された外部のディスプレイ上で)、特定のオンラインビデオへのリンクを含む電子メールを送信し、別の方法で管理できるようにする命令を含む。いくつかの実施形態においては、電子メールクライアントモジュール140ではなく、インスタントメッセージモジュール141が、特定のオンラインビデオへのリンクを送るために用いられる。
【0105】
上記で識別されたモジュール及びアプリケーションの各々は、1つ又はそれ以上の上記の機能を実行するための実行可能命令セット及び本出願に記載の方法(例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(すなわち、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実施形態において、任意選択的に、組み合わせ、又は再配置される。いくつかの実施形態において、メモリ102は、上記の識別されたモジュール及びデータ構造のサブセットを、任意選択的に、記憶する。更に、メモリ102は、上述されていない追加のモジュール及びデータ構造を、任意選択的に、記憶する。
【0106】
いくつかの実施形態において、デバイス100は、デバイス上の機能の既定のセットの動作が排他的にタッチスクリーン及び/又はタッチパッドを介して実行されるデバイスである。機器100の動作のための主要入力制御機器としてタッチスクリーン及び/又はタッチパッドを使用することにより、機器100上の物理的な入力制御機器(プッシュボタン、ダイアル、及び類似物など)の数を、任意選択的に、減らす。
【0107】
排他的にタッチスクリーン及び/又はタッチパッドを介して実行される、既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態において、タッチパッドは、ユーザによってタッチされると、機器100上に表示される任意のユーザインタフェースから、メインメニュ、ホームメニュ、又はルートメニュへ機器100をナビゲートする。かかる実施形態において、「メニュボタン」はタッチパッドを使って実装される。いくつかの他の実施形態におい、メニュボタンは、タッチパッドの代わりに、物理的なプッシュボタン又は他の物理的な入力制御機器である。
【0108】
図1Bは、いくつかの実施形態に係る、イベント処理用の例示的コンポーネントを説明するためのブロック図である。いくつかの実施形態において、メモリ102(
図1A)又は370(
図3)は、(例えば、オペレーティングシステム126内の)イベントソータ170及び対応するアプリケーション136−1(例えば、上記のアプリケーション137〜151、155、380〜390のいずれか)を有する。
【0109】
イベントソータ170は、イベント情報を受信し、イベント情報を配信するアプリケーション136−1及びアプリケーション136−1のアプリケーションビュー191を決定する。イベントソータ170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態において、アプリケーション136−1は、アプリケーションがアクティブ又は実行中の時に、タッチ感知ディスプレイ112で上に表示される現在のアプリケーションビュー(1つ又は複数)を示す、アプリケーション内部状態192を含む。いくつかの実施形態において、デバイス/グローバル内部状態157は、現在アクティブなアプリケーション(1つ又は複数)を判定する時にイベントソータ170によって使用され、アプリケーション内部状態192は、イベント情報の配信先のアプリケーションビュー191を決定する時にイベントソータ170によって使用される。
【0110】
いくつかの実施形態において、アプリケーション内部状態192は、追加情報として、例えば、アプリケーション136−1が実行を再開する際に用いられる再開情報、アプリケーション136−1により表示されている又は表示の準備ができている情報を示すユーザインタフェース状態情報、ユーザがアプリケーション136−1の以前の状態又はビューに戻ることを可能にするための状態の待ち行列、及びユーザが以前にとったアクションのやり直し/アンドゥの待ち行列のうちの1つ以上を含む。
【0111】
イベントモニタ171は、周辺機器インーフェース118よりイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイ112上のユーザタッチ)の情報を含む。周辺機器インタフェース118は、I/Oサブシステム106又は(オーディオ回路機構110を介して)近接センサ166、加速度計(1つ又は複数)168、及び/若しくはマイクロフォン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイ112又はタッチ感知面からの情報を含む。
【0112】
いくつかの実施形態において、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。これに応じて、周辺機器インタフェース118は、イベント情報を送信する。他の実施形態において、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を超える、及び/又は所定時間以上の入力を受け付けること)がある場合にのみイベント情報を送信する。
【0113】
いくつかの実施形態において、イベントソータ170は更に、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173を含む。
【0114】
ヒットビュー判定モジュール172は、タッチ感知ディスプレイ112が1つ以上のビューを表示した際に、1つ以上のビュー内のどこにおいてサブイベントが発生したかを判定するためのソフトウェア手続きを提供する。ビューは、ユーザがディスプレイ上で見ることができる制御及びその他の要素で構成されている。
【0115】
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書中では、情報が表示されタッチベースのジェスチャが発生する、アプリケーションビュー又はユーザインタフェースウィンドウと呼ばれることもあるビューのセットである。タッチが検出される(対応するアプリケーションの)アプリケーションビューは、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに、任意選択的に、対応する。例えば、タッチが検出される最低レベルのビューは、任意選択的に、ヒットビューと呼ばれ、適切な入力として認識されるイベントのセットは、少なくとも部分的に、タッチベースのジェスチャを開始する最初のタッチのヒットビューに基づいて、任意選択的に、判定される。
【0116】
ヒットビュー判定モジュール172は、タッチベースのジェスチャのサブイベントに関連した情報を受信する。階層として編成された複数のビューがアプリケーションにある場合は、ヒットビュー判定モジュール172は、ヒットビューを、サブイベントを処理すべき階層の中の最低のビューとして識別する。ほとんどの状況では、ヒットビューは、最初のサブイベント(すなわち、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける最初のサブイベント)が発生する最低レベルのビューである。ヒットビューがヒットビュー判定モジュールによって識別されると、ヒットビューは、典型的には、それがヒットビューとして識別された、同一のタッチ又は入力ソースに関連する全てのサブイベントを受信する。
【0117】
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(1つ又は複数)がサブイベントの特定のシーケンスを受信するべきかを判定する。いくつかの実施形態において、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信するべきであると判定する。他の実施形態において、アクティブイベント認識部判定モジュール173は、サブイベントの物理的な位置を含む全てのビューはアクティブに関わっているビューであると判定し、したがって、全てのアクティブに関わっているビューは、サブイベントの特定のシーケンスを受信するべきであると判定する。他の実施形態において、タッチサブイベントがある特定のビューに関連付けられた領域に完全に限定されたとしても、階層の上位のビューはアクティブに関わっているビューのままであるであろう。
【0118】
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えば、イベント認識部180)に送信する。アクティブイベント認識部判定モジュール173を含む実施形態において、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態において、イベントディスパッチャモジュール174は、対応するイベントレシーバーモジュール182により取得されるイベント情報をイベント待ち行列内に記憶する。
【0119】
いくつかの実施形態において、オペレーティングシステム126は、イベントソータ170を含む。あるいは、アプリケーション136−1がイベントソータ170を含む。更に他の実施形態において、イベントソータ170は、スタンドアロンモジュール、又は接触/動きモジュール130などのメモリ102に記憶された他のモジュールの一部である。
【0120】
いくつかの実施形態では、アプリケーション136−1は、そのアプリケーションのユーザインタフェースの各ビュー内で発生するタッチイベントを処理するための命令を各々が含む、複数のイベントハンドラ190及び1つ以上のアプリケーションビュー191を含む。アプリケーション136−1の対応するアプリケーションビュー191は、1つ以上のイベント認識部180を含む。典型的に、対応するアプリケーョンビュー191は、複数のイベント認識部180を含む。他の実施形態において、イベント認識部180の1つ以上は、ユーザインタフェースキット(図示せず)又はアプリケーション136−1が方法及び他の性質を継承する上位レベルのオブジェクトなど、別個のモジュールの一部である。いくつかの実施形態において、対応するイベントハンドラ190は、データアップデータ176、オブジェクトアップデータ177、GUIアップデータ178、及び/又はイベントソータ170から受信したイベントデータ179のうちの1つ以上を含む。イベントハンドラ190は、アプリケーション内部状態192を更新するために、任意選択的に、データアップデータ176、オブジェクトアップデータ177、又はGUIアップデータ178を利用するか、若しくは呼び出す。あるいは、アプリケーションビュー191の1つ以上は、1つ以上の対応するイベントハンドラ190を備える。また、いくつかの実施形態において、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178の1つ以上が対応するアプリケーションビュー191内に含まれている。
【0121】
各イベント認識部180は、イベントソータ170からイベント情報(例えば、イベントデータ179)を受信して、そのイベント情報からイベントを特定する。イベント認識部180は、イベントレシーバー182及びイベント比較部184を含む。いくつかの実施形態において、イベント認識部180は更に、メタデータ183及びイベント配布命令188(任意選択的に、サブイベント配布命令を含む)の少なくともサブセットを含む。
【0122】
イベントレシーバー182は、イベントソータ170よりイベント情報を受信する。イベント情報は、例えば、タッチ又はタッチの移動などのサブイベントの情報を含む。サブイベントによっては、イベント情報は、サブイベントの位置などの追加情報を更に含む。サブイベントが、タッチの移動に関わる時に、イベント情報は、サブイベントの速度及び方向を、任意選択的に、更に含む。いくつかの実施形態において、イベントは、ある方向から別の方向へ(例えば、ポートレートの向きからランドスケープの向きへ、又はその逆)のデバイスの回転を含み、イベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)についての対応する情報を含む。
【0123】
イベント比較部184は、イベント情報を既定のイベント又はサブイベントの定義と比較し、その比較により、イベント又はサブイベントを判定、又はイベント若しくはサブイベントの状態を判定又は更新する。いくつかの実施形態において、イベント比較部184は、イベント定義186を含む。イベント定義186は、イベントの定義(例えば、サブイベントの既定のシーケンス)、例えば、イベント1(187−1)、イベント2(187−2)、及びその他を含有する。いくつかの実施形態において、イベント187内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの中止、及び複数のタッチを含む。ある実施例において、イベント1(187−1)の定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上の所定の段階についての第1のタッチ(タッチ開始)、所定の段階についての第1のリフトオフ(タッチ終了)、表示されたオブジェクト上の所定の段階についての第2のタッチ(タッチ開始)、及び所定の段階についての第2のリフトオフ(タッチ終了)を含む。別の実施形態において、イベント2(187−2)の定義は、表示されたオブジェクト上のドラッギングである。ドラッギングは、例えば、表示されたオブジェクト上の所定の段階についてのタッチ(又は接触)、タッチ感知ディスプレイ112にわたるタッチの移動、及びタッチのリフトオフ(タッチ終了)を含む。いくつかの実施形態において、イベントは、1つ以上の関連するイベントハンドラ190についての情報も含む。
【0124】
いくつかの実施形態において、イベント定義187は、対応するユーザインタフェースオブジェクト用のイベントの定義を含む。いくつかの実施形態において、イベント比較部184は、サブイベントに関連付けられたユーザインタフェースオブジェクトを判定するヒットテストを実行する。例えば、3つのユーザインタフェースオブジェクトがタッチ感知ディスプレイ112に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイ112上でタッチが検出されると、イベント比較部184は、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定するためのヒットテストを行う。表示された対応するオブジェクトが、対応するイベントハンドラ190に関連付けられている場合、イベント比較部はヒットテストの結果を用いて、アクティブにする必要のあるイベントハンドラ190を判定する。例えば、イベント比較部184は、サブイベント及びヒットテストのトリガとなるオブジェクトに関連付けられたイベントハンドラを選択する。
【0125】
いくつかの実施形態では、各イベント187に関する定義はまた、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまで、イベント情報の配信を遅延させる、遅延作用も含む。
【0126】
対応するイベント認識部180は、一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判断した場合、対応するイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチベースのジェスチャの次のサブイベントを無視する。この状況では、もしあれば、ヒットビューについてアクティブのままである他のイベント認識部は、進行中のタッチベースのジェスチャのサブイベントの追跡及び処理を続行する。
【0127】
いくつかの実施形態において、対応するイベント認識部180は、構成可能なプロパティ、フラグ、及び/又はイベント配信システムがアクティブに関わっているイベント認識部にどのようにサブイベント配信を実行するかについて示すリストを持つメタデータ183を含む。いくつかの実施形態において、メタデータ183は、イベント認識部が互いにどのように対話し得るかについて示す構成可能なプロパティ、フラグ、及び/又はリストを含む。いくつかの実施形態において、メタデータ183は、構成可能なプロパティ、フラグ、及び/又はサブイベントがビュー階層又はプログラム階層内の様々なレベルに配信されるかどうかを示すリストを含む。
【0128】
いくつかの実施形態において、対応するイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識された時に、イベントに関連付けられたイベントハンドラ190をアクティブ化する。いくつかの実施形態において、対応するイベント認識部180は、イベントハンドラ190に、イベントに関連付けられたイベント情報を配信する。イベントハンドラ190をアクティブ化することと、対応するヒットビューにサブイベントを送信(及び送信を延期する)することとは、区別される。いくつかの実施形態において、イベント認識部180は、認識されたイベントに関連付けられたフラグをスローし、フラグに関連付けられたイベントハンドラ190はフラグをキャッチし、既定の処理を実行する。
【0129】
いくつかの実施形態において、イベント配信命令188は、イベントハンドラをアクティブ化せずにサブイベントに関するイベント情報を配信するサブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連したイベントハンドラ又はアクティブに関わっているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関わっているビューに関連付けられているイベントハンドラは、イベント情報を受信し、所定の処理を実行する。
【0130】
いくつかの実施形態において、データアップデータ176は、アプリケーション136−1で使用されるデータを作成及び更新する。例えば、データアップデータ176は、連絡先モジュール137で使用される電話番号を更新したり、ビデオプレーヤモジュール145で使用されるビデオファイルを記憶したりする。いくつかの実施形態において、オブジェクトアップデータ177は、アプリケーション136−1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクトアップデータ176は、新たなユーザインタフェースオブジェクトを作成したり、ユーザインタフェースオブジェクトの位置を更新したりする。GUIアップデータ178は、GUIを更新する。例えば、GUIアップデータ178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するため、表示情報をグラフィックモジュール132に送信する。
【0131】
いくつかの実施形態では、イベントハンドラ(1つ又は複数)190は、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178を含むか、若しくはそれらに対するアクセスを有する。いくつかの実施形態において、データアップデータ176、オブジェクトアップデータ177、及びGUIアップデータ178は、対応するアプリケーション136−1又はアプリケーションビュー191の単一のモジュールに含まれる。他の実施形態において、それらは、2つ以上のソフトウェアモジュールに含まれる。
【0132】
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の論考はまた、入力デバイスを使用して多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、その全てがタッチスクリーン上で開始されるわけではないことが理解されよう。例えば、単一又は複数のキーボードの押圧又は保持に、任意選択的に、合わせたマウスの移動及びマウスボタンの押圧、タッチパッド上でのタップ、ドラッグ、スクロール等の接触移動、ペンスタイラス入力、機器の移動、口頭での命令、検出された眼球運動、バイオメトリック入力、及び/又はこれらの任意の組み合わせが、認識対象のイベントを画成するサブイベントに対応する入力として、任意選択的に、利用される。
【0133】
図2は、いくつかの実施形態に係る、タッチスクリーン112を有するポータブル多機能デバイス100を示す図である。タッチスクリーンは、ユーザインタフェース(UI)200内に1つ以上のグラフィックを、任意選択的に、表示する。後述する実施形態並びに本実施形態において、ユーザは、例えば、1本以上の指202(図には、正確な縮尺率では描かれていない)又は1つ以上のスタイラス203(図には、正確な縮尺率では描かれていない)を用いてグラフィック上でジェスチャを行うことにより、グラフィックのうちの1つ以上を選択できる。いくつかの実施形態において、ユーザが1つ以上のグラフィックとの接触を断った際に、1つ以上のグラフィックの選択が生じる。いくつかの実施形態において、ジェスチャは、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上方向へ、及び/又は下方向へ)、及び/又は機器100と接触した指のローリング(右から左へ、左から右へ、上方向へ、及び/又は下方向へ)を、任意選択的に、含む。いくつかの実装又は状況において、グラフィックとの偶発的な接触は、グラフィックを選択しない例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスワイプするスワイプジェスチャは、対応するアプリケーションを、任意選択的に、選択しない。
【0134】
デバイス100はまた、「ホーム」又はメニュボタン204などの、1つ以上の物理ボタンも任意選択的に含む。前述のように、メニュボタン204は、機器100上で、任意選択的に、実行するアプリケーションのセット内の任意のアプリケーション136へのナビゲーションに、任意選択的に、使用される。あるいは、いくつかの実施形態において、メニュボタンは、タッチスクリーン112に表示されたGUIにおけるソフトキーとして実装されている。
【0135】
ある実施形態において、デバイス100は、タッチスクリーン112、メニュボタン204、デバイスへの電源をオン/オフしてデバイスをロックするためのプッシュボタン206、音量調整ボタン(1つ又は複数)208、受信者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、ボタンを押して押された状態を既定の時間保ち続けることで、機器上の電源をオン/オフし、ボタンを押して既定の時間間隔が経過する前にボタンを解放することにより機器をロックし、及び/又は機器をロック解除若しくはロック解除処理を開始するために、任意選択的に、用いる。代替的実施形態において、機器100はまた、マイクロフォン113を通して、いくつかの機能をアクティブ化し、又はディアクティブ化するための口頭入力を受け付ける。また、機器100は、タッチスクリーン112への接触の強度を検出するための1つ以上の接触強度センサ165及び/又は機器100のユーザの触覚出力を生成するための1つ以上の触覚出力生成器167を、任意選択的に、含む。
【0136】
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備えた例示的な多機能デバイスのブロック図である。デバイス300は、ポータブルでなくてもよい。いくつかの実施形態では、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディア再生デバイス、ナビゲーションデバイス、教育デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は産業用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310、1つ以上のネットワーク又は他の通信インタフェース360、メモリ370、及びこれらの構成要素を相互接続するための1つ以上の通信バス320を含む。通信バス320は、システム構成要素間の通信を相互接続及び制御する回路(チップセットと称することがある)を、任意選択的に含む。デバイス300は、典型的にはタッチスクリーンディスプレイである、ディスプレイ340を備える、入出力(I/O)インタフェース330を含む。入出力インタフェース330は、また、キーボード及び/又はマウス(又は他のポインティングデバイス)350並びにタッチパッド355、デバイス300上に触知出力を発生させるための(例えば、
図1Aを参照して上述された触知出力発生器(1つ又は複数)167と同様の)触知出力発生器357、センサ359(例えば、光センサ、加速度センサ、近接センサ、タッチ感知センサ、及び/又は
図1Aを参照して上述された接触強度センサ(1つ又は複数)165と同様の接触強度センサ)を、任意選択的に含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの、不揮発性メモリを含む。メモリ370は、CPU(1つ又は複数)310からは離れて位置する1つ以上の記憶機器を、任意選択的に、含む。いくつかの実施形態において、メモリ370は、ポータブル多機能機器100(
図1A)のメモリ102に記憶されたプログラム、モジュール、及びデータ構造に類似のプログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。更に、メモリ370は、携帯型多機能機器100のメモリ102内に存在しない追加プログラム、モジュール、及びデータ構造を記憶し得る。例えば、機器300のメモリ370は、描画モジュール380、プレゼンテーションモジュール382、文書作成モジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を、任意選択的に記憶するが、携帯型多機能機器100(
図1A)のメモリ102は、これらのモジュールを、任意選択的に記憶しない。
【0137】
上記で特定された
図3の要素の各々は、任意選択的に、前述のメモリデバイスのうちの1つ以上に記憶される。上記で識別された対応するモジュールの各々は、上述した機能を実行するための命令セットに対応する。上述の識別されたモジュール又はプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実施される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットを、任意選択的に、組み合わされるか、又は別の方法で再配置される。いくつかの実施形態において、メモリ370は、上述の識別されたモジュール及びデータ構造のサブセットを、任意選択的に記憶する。更に、メモリ370は、上述されていない追加のモジュール及びデータ構造を、任意選択的に記憶する。
【0138】
ここで、ポータブル多機能デバイス100上に任意選択的に実装される、ユーザインタフェース(「UI」)の実施形態に注意を向ける。
【0139】
図4Aは、いくつかの実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニュの例示的ユーザインタフェースを示す。同様のユーザインタフェースが機器300上に。任意選択的に、実装され得る。いくつかの実施形態において、ユーザインタフェース400は次の要素若しくはそのサブセット又はスーパーセットを有する:
●セルラー信号及びWi−Fi信号などの無線通信(1つ又は複数)用信号強度インジケータ(1つ又は複数)402
●タイム404
●Bluetooth(登録商標)インジケータ405
●バッテリ状態インジケータ406
●以下のような頻繁に使用されるアプリケーションのアイコンを有するトレイ408
○不在着信又はボイスメールメッセージの数のインジケータ414を、任意選択的に含む、「電話」とラベル付けされた電話モジュール138のアイコン416、
○未読電子メールの数の標識410を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140用のアイコン418、
○「ブラウザ」とラベル付けされたブラウザモジュール147のアイコン420、及び
○「iPod」とラベル付けされた、iPod(Apple Inc.の登録商標)モジュール152とも称される映像及びミュージックプレーヤモジュール152のアイコン422、並びに
●以下のものなどの、その他のアプリケーションのアイコン
○「テキスト」とラベル付けされたIMモジュール141のアイコン424、
○「カレンダ」とラベル付けされたカレンダモジュール148のアイコン426、
○「写真」とラベル付けされた画像管理モジュール144のアイコン428、
○「カメラ」とラベル付けされたカメラモジュール143のアイコン430、
○「オンライン映像」とラベル付けされたオンライン映像モジュール155のアイコン432、
○「株式」とラベル付けされた株式ウィジェット149−2のアイコン434、
○「マップ」とラベル付けされたマップモジュール154のアイコン436、
○「天気」とラベル付けされた気象ウィジェット149−1のアイコン438、
○「クリック」とラベル付けされた目覚まし時計ウィジェット149−4のアイコン440、
○「トレーニングサポート」とラベル付けされたトレーニングサポートモジュール142のアイコン442、
○「ノート」とラベル付けされたノートモジュール153のアイコン444、及び
○機器100及びその様々なアプリケーション136の設定へのアクセスを提供する、設定アプリケーション又はモジュールのアイコン446。
【0140】
図4Aに示されているアイコンのラベルは、単に例示的であることが理解されよう。例えば、映像及びミュージックプレーヤモジュール152のアイコン422は、「ミュージック」又は「ミュージックプレーヤ」としてラベル付けされている。他のラベルは、様々なアプリケーション用に用いられ得る。いくつかの実施形態では、対応するアプリケーションアイコンに対するラベルは、対応するアプリケーションアイコンに対応するアプリケーションの名前を含む。いくつかの実施形態において、特定のアプリケーションアイコンのラベルは、特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
【0141】
図4Bは、ディスプレイ450(例えば、タッチスクリーンディスプレイ112)とは別個のタッチ感知面451(例えば、
図3のタブレット又はタッチパッド355)を備えたデバイス(例えば、
図3のデバイス300)上の例示的なユーザインタフェースを示す。デバイス300は、また、タッチ感知面451上の接触の強度を検出するための、1つ以上の接触強度センサ(例えば、センサ357のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を発生させるための、1つ以上の触知出力発生器359を、任意選択的に含む。
【0142】
以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ112上の入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、いくつかの実施形態では、デバイスは、
図4Bに示すように、ディスプレイとは別個のタッチ感知面上で入力を検出する。いくつかの実施形態において、タッチ感知面(例えば、
図4Bの451)は、ディスプレイ(例えば、450)上の主軸(例えば、
図4Bの453)に対応する主軸(例えば、
図4Bの452)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上の対応するロケーションに対応するロケーション(例えば、
図4Bにおいて、460は468と対応し、462は470と対応する)でのタッチ感知面451との接触(例えば、
図4Bの460及び462)を検出する。このように、タッチ感知面がディスプレイとは別々のものである場合、タッチ感知面(例えば、
図4Bの451)上でデバイスによって検出されたユーザ入力(例えば、接触460及び462、及びそれらの移動)は、多機能デバイスのディスプレイ(例えば、
図4Bの450)上のユーザインタフェースを操作するためにデバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに、任意選択的に使用されることを理解されたい。
【0143】
更には、以下の説明は、主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャ)を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、(例えば、接触の代わりに)マウスクリックと置換され、その後、(例えば、接触の移動の代わりに)スワイプの経路に沿ってカーソルの移動が行われる。別の実施例として、タップジェスチャは、(例えば、接触の検出に続いて接触の検出を停止する代わりに)カーソルがタップジェスチャの位置上に配置される間、任意選択的に、マウスクリックと置換される。同様に、複数のユーザ入力が同時に検出される時に、複数のコンピュータマウスが同時に、任意選択的に用いられ、又はマウスと指接触が同時に用いられることが理解されよう。
【0144】
本明細書で使用される時に、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインタフェースの現在の部分を示す、入力要素を指す。カーソル又は他のロケーションマーカを含む実装において、カーソルは、タッチ感知面(例えば、
図3のタッチパッド355、又は
図4Bのタッチ感知面451)上で入力(例えば、押圧入力)が検出された時に、カーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上にある時に、「フォーカスセレクタ」として機能し、特定のユーザインタフェース要素が、検出された入力に従って調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的なやりとりを可能にする、タッチスクリーンディスプレイ(例えば、
図1Aのタッチ感知ディスプレイシステム112、又は
図4Aのタッチスクリーン112)を含むいくつかの実装では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」の役割を果たすため、入力(例えば、接触による押圧入力)が、タッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)のロケーションで検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。いくつかの実装において、(例えば、タブキー又は矢印キーを使ったフォーカスの1つのボタンから別のボタンへの移動により)タッチスクリーン上の対応するカーソルの移動又は接触の移動なしに、フォーカスが、ユーザインタフェースの1つの領域からユーザインタフェースの別の領域に移動される。これらの実装において、フォーカスセレクタは、ユーザインタフェースの異なる領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが取る特定のフォームに関係なく、フォーカスセレクタは、全体的に、ユーザのユーザインタフェースとの意図した(例えば、ユーザが対話したいと思っているユーザインタフェースの要素を機器に指示することによる)対話を伝達するように、ユーザによって制御されたユーザインタフェース要素(又は、タッチスクリーンディスプレイ上の接触)である。例えば、押圧入力がタッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で検出された時に対応するボタンの上にあるフォーカスセレクタ(例えば、カーソル、接触又は選択ボックス)の位置は、(機器のディスプレイ上に示されている他のユーザインタフェース要素とは反対に)ユーザが、対応するボタンをアクティブ化しようとしていることを指示する。
【0145】
以下で説明されるユーザインタフェースの図は、1つ以上の強度閾値(例えば、接触検出強度閾値IT
0、軽押圧強度閾値IT
L、深い押圧強度閾値IT
D、及び/又は1つ以上の他の強度閾値)に対する、タッチ感知面上の接触の現在の強度を示す、様々な強度の図表を含む。この強度図は、典型的には、表示されるユーザインタフェースの一部ではないが、それらの図の解釈に役立てるために提供される。いくつかの実施形態では、軽い押圧強度閾値は、典型的には物理マウスのボタン又はトラックパッドのクリックに関連付けられた動作を、デバイスが実行することになる強度に相当する。いくつかの実施形態では、深い押圧強度閾値は、典型的には物理マウスのボタン又はトラックパッドのクリックに関連付けられた動作とは異なる動作を、デバイスが実行することになる強度に相当する。いくつかの実施形態では、軽い押圧強度閾値を下回る(例えば、かつ、それを下回ると接触がもはや検出されない名目の接触検出強度閾値IT
0を上回る)強度で接触が検出される場合、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の移動に従って、フォーカスセレクタを移動させることになる。全般的には、特に明記しない限り、これらの強度閾値は、異なるユーザインタフェースのセット間でも一貫している。
【0146】
軽い押圧強度閾値IT
Lを下回る強度から、軽押圧強度閾値IT
Lと深い押圧強度閾値IT
Dとの間の強度への、接触の強度の増大は、「軽い押圧」入力と称される場合がある。深い押圧強度閾値IT
Dを下回る強度から、深い押圧強度閾値IT
Dを上回る強度への、接触の強度の増大は、「深い押圧」入力と称される場合がある。接触検出強度閾値IT
0を下回る強度から、接触検出強度閾値IT
0と軽い押圧強度閾値IT
Lとの間の強度への、接触の強度の増大は、タッチ面上の接触の検出と称される場合がある。接触検出強度閾値IT
0を上回る強度から、接触強度閾値IT
0を下回る強度への、接触の強度の減少は、タッチ面からの接触のリフトオフの検出と称される場合がある。いくつかの実施形態では、IT
0はゼロである。いくつかの実施形態では、IT
0はゼロよりも大きい。いくつかの図では、影付きの円又は楕円が、タッチ感知面上の接触の強度を表すために使用される。いくつかの図では、影なしの円又は楕円は、対応する接触の強度を指定することなく、タッチ感知面上の対応する接触を表すために使用される。
【0147】
本明細書で説明されるいくつかの実施形態では、1つ以上の動作は、対応する押圧入力を含むジェスチャの検出に応答して、又は対応する接触(又は、複数の接触)で実行される対応する押圧入力の検出に応答して実行され、それらの対応する押圧入力は、少なくとも部分的に、押圧入力強度閾値を上回る接触(又は、複数の接触)の強度の増大の検出に基づいて検出される。いくつかの実施形態では、対応する動作は、押圧入力強度閾値を上回る、対応する接触の強度の増大(例えば、対応する押圧入力の「ダウンストローク」)の検出に応答して、実行される。いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る、対応する接触の強度の増大、及び後続の押圧入力強度閾値を下回る接触の強度の減少を含み、対応する動作は、その後続の押圧入力閾値を下回る対応する接触の強度の減少(例えば、対応する押圧入力の「アップストローク」)の検出に応答して、実行される。
【0148】
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある偶発的入力を回避するために、強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関連性を有するヒステリシス強度閾値を、定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりもX強度単位低いか、又は、ヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な比率である)。それゆえ、いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る、対応する接触の強度の増大、及び後続の、押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、対応する動作は、そのヒステリシス強度閾値を下回る、後続の対応する接触の強度の減少(例えば、対応する押圧入力の「アップストローク」)の検出に応答して、実行される。同様に、いくつかの実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から、押圧入力強度閾値以上の強度への、接触の強度の増大、及び任意選択的に、ヒステリシス強度以下の強度への、後続の接触の強度の減少を検出する場合にのみ、検出され、対応する動作は、その押圧入力(例えば、状況に応じて、接触の強度の増大、又は接触の強度の減少)の検出に応答して、実行される。
【0149】
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応答して、又はその押圧入力を含むジェスチャに応答して実行される動作の説明は、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、及び/又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少のいずれかの検出に応答して、任意選択的にトリガされる。更には、押圧入力強度閾値を下回る、接触の強度の減少の検出に応答して、動作が実行されるとして説明される実施例では、その動作は、押圧入力強度閾値に対応し、かつ押圧入力強度閾値よりも低い、ヒステリシス強度閾値を下回る、接触の強度の減少の検出に応答して、任意選択的に実行される。
ユーザインタフェース及び関連するプロセス
総強度の対応する部分の複数の接触への割当
【0150】
多くの電子デバイスは、ユーザ入力の圧力を感知する。例えば、圧力感知ボタンを備えるデバイスは、ボタンと一体型になった圧力センサの圧力測定値に基づいて、ボタンがユーザによって押された量を判定する。しかしながら、このような方法は、同時に検出された複数の異なる接触の強度を推定するための方法を提供せず、したがって、複数の接触によって強度感知ユーザインタフェースと対話するための方法を提供しない。デバイスは、タッチ感知面上の複数の接触を検出する間に、タッチ感知面上の複数の接触の総強度(例えば、複数の強度センサの対応する強度センサから受信した強度測定値の和)の第1の部分を複数の接触の第1の接触に割り当て、かつ総強度の第2の部分を複数の接触の第2の接触に割り当てることにより、これらの方法を改善する。デバイスは、少なくとも部分的に、複数の強度センサの第1の強度センサから受信した第1の強度測定値と、複数の強度センサの第2の強度センサから受信した第2の強度測定値と、タッチ感知面に対する第1の強度センサのロケーションと、タッチ感知面に対する第2の強度センサのロケーションと、第1の接触の1つ以上の特性(例えば、力の中心に対する第1の接触のロケーション)のセットの値と第2の接触の1つ以上の特性のセットの対応する値との間の比較と、に基づいて総強度を複数の接触に割り当て、それにより、デバイスが同時に検出された複数の接触の強度を推定し、便利かつ効率的なユーザインタフェースを制御するためにこの情報を使用することを可能にする。
【0151】
図5A〜
図5Lは、いくつかの実施形態に係る、例示的なユーザインタフェース、及び総強度の対応する部分が複数の接触に割り当てられたタッチ感知面との接触を示す。これらの図の描写は、
図6A〜
図6Cのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。
図5B及び
図5H〜
図5Kは、強度単位に対する強度センサの現在の強度測定値を示す強度図を含む。
図5F及び
図5H〜
図5Jは、強度単位に対するタッチ感知面上の複数の接触の現在の強度を示す強度図を含む。
【0152】
いくつかの実装では、対応する接触に割り当てられた強度が、複数の異なる強度閾値のうちの1つ以上、例えば接触検出強度閾値「IT
0」、軽い押圧強度閾値「IT
L」及び深い押圧強度閾値「IT
D」のうちの1つ以上と比較された後、本明細書に記載されている他の方法(例えば、パラグラフ[0045]に記載されているもの)に関連して詳細に説明されている比較の結果に従って、1つ以上の動作が実行される。
【0153】
いくつかの実施形態では、デバイスは、別個のディスプレイ(例えば、ディスプレイ450)及び別個のタッチ感知面(例えば、タッチ感知面451)を備える電子デバイスである。いくつかの実施形態では、デバイスは、ポータブル多機能デバイス100であり、ディスプレイは、タッチ感知ディスプレイシステム112であり、タッチ感知面は、ディスプレイ上に触知出力発生器167を含む(
図1A)。説明の便宜上、
図5A〜
図5L及び
図6A〜
図6Cを参照して説明される実施形態は、ディスプレイ450及び別個のタッチ感知面451を参照して説明される。しかしながら、類似の動作が、
図5A〜
図5Lに示されるユーザインタフェースをタッチ感知ディスプレイシステム112上に表示する間、
図5A〜
図5Lで説明される接触をタッチ感知ディスプレイシステム112上で検出したことに応じて、タッチ感知ディスプレイシステム112を備えるデバイス上で、任意選択的に実行される。いくつかの実装では、フォーカスセレクタが、任意選択的に、対応する接触、接触に対応する代表的な点(例えば、対応する接触の重心、又は対応する接触に関連付けられた点)、又はタッチ感知ディスプレイシステム112上で検出された2つ以上の接触の重心若しくは力の中心である。
【0154】
図5Aは、複数の強度センサ12902を備えるタッチ感知面451を示す。いくつかの実装では、タッチ感知面451が4つ以上の強度センサ12902を有する。この実施例では、複数の強度センサ12902(例えば、4つの強度センサ)の各々が、タッチ感知面451の対応する角部に配置される。
【0155】
図5Bは、タッチ感知面451上の複数の接触12904を検出することを示す。この実施例では、タッチ感知面451上で検出された接触の個数(例えば、5つの接触12904)が強度センサの個数(例えば、4つの強度センサ12902)を上回る。いくつかの実施形態では、検出された接触のカウント(例えば、
図5Bでは5)が強度センサユニットのカウント(例えば、
図5Bでは4)を上回る。
図5Bは、タッチ感知面451上で複数の接触12904が検出される間の、対応する強度センサ12902の対応する強度測定値(例えば、対応するセンサにおいて登録された圧力の測定値)を更に示す。この実施例では、強度センサ12902−1及び12902−4の強度測定値がそれぞれ9強度単位であり、かつ強度センサ12902−2及び12902−3の強度測定値がそれぞれ7強度単位である。更に、いくつかの実装では、総強度が複数の強度センサ12902の強度測定値の和であり、この実施例では32強度単位である。
図5B〜
図5Iの接触12904の配置は、必ずしもヒューマンユーザ入力に典型的のものではない。
【0156】
図5Cは、少なくとも部分的に、タッチ感知面451に対する強度センサ12902のロケーション(例えば、対応する強度センサ12902はタッチ感知面451の対応する角部に配置される)及び強度センサ12902の強度測定値(例えば、
図5Bの強度センサ12902の強度測定値)に基づいて、タッチ感知面451上の力の中心12906を判定することを示す。いくつかの実装では、力の中心12906のx及びy構成要素が、x=α(Bx−Ax)/(Bx+Ax)及びy=β(Dy−Cy)/(Dy+Cy)などの既定の数学関数を使用して判定され、Axはセンサ12902−3及び12902−4の測定された強度の和であり、Bxはセンサ12902−1及び12902−2の測定された強度の和であり、Cyはセンサ12902−2及び12902−3の測定された強度の和であり、Dyはセンサ12902−1及び12902−4の測定された強度の和であり、α及びβはスケーリングファクタである。
【0157】
図5Dは、力の中心12906から強度センサ12902までの距離を示す。この実施例では、力の中心12906からセンサ12902−1及び12902−4までの距離(例えば、それぞれD
S1及びD
S4)が、力の中心12906からセンサ12902−2及び12902−3までの距離(例えば、それぞれD
S2及びD
S3)よりも短い。この実施例では、強度センサ12902−1及び12902−4の強度測定値(例えば、
図5Bではそれぞれ9強度単位)が強度センサ12902−2及び12902−3の強度測定値(例えば、
図5Bではそれぞれ7強度単位)よりも大きいため、力の中心12906は、センサ12902−1及び12902−4により近い。
【0158】
図5Eは、力の中心12906に対する接触12904のロケーションを判定することを示す。この実施例では、力の中心12906から接触12904−1、12904−2及び12904−5までの距離(例えば、それぞれD
C1、D
C2及びD
C5)が、力の中心12906から接触12904−3及び12904−4までの距離(例えば、それぞれD
C3及びD
C4)よりも短い。
【0159】
図5Fは、総強度(例えば、
図5Bでは、強度センサ12902の強度測定値の和である32強度単位)を、力の中心12906からの距離(例えば、
図5Eでは、対応するD
C距離)に基づいて接触12904に割り当てることを示す。この実施例では、接触12904−1、12904−2及び12904−5の各々に総強度のうちの8強度単位が割り当てられ、接触12904−3及び12904−4の各々に総強度のうちの4強度単位が割り当てられる。より一般的には、いくつかの実装では、既定の数学関数I
j=A・(Dj/ΣD
i)に従って、総強度Aの一部である対応する強度I
jが対応する接触jに割り当てられ、D
jは対応する接触jから力の中心までの距離であり、ΣD
iは全ての対応する接触(例えば、i=1から最後まで)から力の中心までの距離の和である。
【0160】
図5Gは、少なくとも部分的に、第1の接触及び第2の接触に割り当てられた総強度の部分に基づいて動作を実行することを示す。この実施例では、接触12904の各々が、タッチ感知面451上の対応する位置(a)から対応する位置(b)に移動する(例えば、接触12904−1は位置12904−1−aから位置12904−1−bに移動する)。
図5Gは、対応する接触12904の位置の変化に従ってディスプレイ450上に線12908を表示すること、及び
図5Fを参照して上述した、対応した対応する接触12904に割り当てられた強度に従ってディスプレイ450上に線12908の線幅を表示することを更に示す。この実施例では、線12908の対応する長さが、
図5Gの接触12904の位置の対応した対応する変化にマッピングされる(例えば、線12908−1の長さは位置12904−1−aから位置12904−1−bまでの接触12904−1の位置の変化にマッピングされ、線12908−3の長さは位置12904−3−aから位置12904−3−bまでの接触12904−3の位置の変化にマッピングされる)。更に、この実施例では、線12908の幅が、
図5Fを参照して上述した、接触12904に割り当てられた対応した対応する強度にマッピングされる(例えば、線12908−1の幅は、
図5Fの接触12904−1に割り当てられた強度である8強度単位にマッピングされ、線12908−3の幅は、
図5Fの接触12904−3に割り当てられた強度である4強度単位にマッピングされる)。
【0161】
図5Hは、(例えば、
図5Hの強度センサ12902の強度測定値により)
図5Cの力の中心12906よりも接触12904−1に近いロケーションにある、力の中心12910を示す。この実施例では、強度センサ12902−1及び12902−4の強度測定値がそれぞれ10強度単位であり、かつ強度センサ12902−2及び12902−3の強度測定値がそれぞれ6強度単位である(例えば、総強度は、強度センサ12902の強度測定値の和である32強度単位である)。
【0162】
図5Iは、(例えば、
図5Iの強度センサ12902の強度測定値により)
図5Cの力の中心12906よりも接触12904−3及び12904−4に近いロケーションにある、力の中心12912を示す。この実施例では、強度センサ12902−2及び12902−3の強度測定値がそれぞれ9強度単位であり、強度センサ12902−1及び12902−4の強度測定値がそれぞれ7強度単位である(例えば、総強度は、強度センサ12902の強度測定値の和である32強度単位である)。
【0163】
図5Jは、タッチ感知面451上で検出された接触12914を示す(例えば、接触12914は、
図5Cの接触12904よりも、タッチ感知面451の底部端の近くに配置されている)。
図5Jは、接触12914に対して、
図5Jの接触12914に割り当てられた強度が
図5Fの接触12904に割り当てられた強度と同一になるようなロケーションにある、力の中心12916を更に示す。
【0164】
図5Kは、タッチ感知面451上で検出された複数の接触12918を示す。この実施例では、6つの接触がタッチ感知面451上で検出される(例えば、接触12918は、ヒューマンユーザの手のひらの一部を含む、ヒューマンユーザの右手を表す)。
図5Kは、タッチ感知面451上の偶発的な接触(例えば、ヒューマンユーザの手のひらの一部である接触12918−6)を識別することを更に示す。この実施例では、強度センサ12902−1及び12902−4の強度測定値がそれぞれ10強度単位であり、かつ強度センサ12902−2及び12902−3の強度測定値がそれぞれ5強度単位である(例えば、総強度は、強度センサ12902の強度測定値の和である30強度単位である)。
【0165】
図5Lは、タッチ感知面451上の対応する偶発的な接触(例えば、偶発的な手のひら接触12918−6)の存在に対して補正することを示す。この実施例では、偶発的な接触12918−6が無視され、手のひら入力による強度寄与が、任意選択的に(例えば、検出された合計強度を偶発的な接触12918−6に一切割り当てることなく、検出された合計強度を使用して接触の強度を計算することによって)他の接触に帰せられる。代替として、接触寄与の評価基準(例えば、接触12918−6の形状、示面積及び/又は強度)に基づいて力の中心12920を判定する時に、強度センサ12902の強度測定値への偶発的な接触12918−6の推定された寄与が取り消される。例えば、いくつかの実装では、接触が既定の接触寄与評価基準を満たすことができない時に、接触が少なくとも力の中心を判定する目的において無視されるか、偶発的な接触12918−6の(例えば、偶発的な接触12918−6の接触サイズ又は既定値に基づいて)推定された強度寄与が、加重平均から減算される。
図5Lは、総強度(例えば、合計30強度単位)の一部を接触12918に(例えば、接触12918−6を無視して)割り当てることを更に示す。
図5Lは、それが無視されることにより、又は
図5Kにおける強度センサ12902の強度測定値へのその推定された寄与の取消しにより取り消された、接触12918−6を更に示す。
【0166】
図6A〜
図6Cは、いくつかの実施形態に係る、総強度の対応する部分を複数の接触に割り当てる方法13000を示すフロー図である。方法13000は、ディスプレイ及びタッチ感知面を備える電子デバイス(例えば、デバイス300、
図3、又はポータブル多機能デバイス100、
図1A)において実行される。いくつかの実施形態において、ディスプレイはタッチスクリーンディスプレイであり、タッチ感知面がディスプレイ上にある。いくつかの実施形態において、ディスプレイはタッチ感知面から分離している。方法13000におけるいくつかの動作は任意選択的に組み合わされ、及び/又はいくつかの動作の順序は任意選択的に変更される。
【0167】
以下で説明されるように、方法13000は、総強度の対応する部分を複数の接触に割り当てるための直感的な方法を提供する。方法は、総強度の対応する部分を複数の接触に割り当てる時の、ユーザに対する認知負担を軽減し、それにより、より効率的なヒューマン−マシンインタフェースを作り出す。バッテリ作動電子デバイスの場合、ユーザが総強度の対応する部分を、より速く、より効率的に複数の接触に割り当てることを可能にすることは、電力を節約し、バッテリ充電間隔を長くする。
【0168】
デバイスは、タッチ感知面上の複数の接触を検出し、複数の強度センサがタッチ感知面との接触の強度を検出する(13002)。例えば、
図5Bは、デバイスが、タッチ感知面451上で複数の強度センサ12902(例えば、4つの強度センサ)を介して複数の接触12904(例えば、5つの接触)を検出することを示す。
【0169】
いくつかの実施形態では、複数の強度センサが、少なくとも4つの強度センサを含む(13004)。例えば、
図5Bは、4つの強度センサ12902を示す。いくつかの実施形態では、検出された接触の個数が強度センサの個数を上回る(例えば、デバイスがタッチ感知面上の5つの接触を検出し、タッチ感知面の対応する角部に1つずつ、4つの強度センサがある)(13006)。例えば、
図5Bは、5つの検出された接触(例えば、接触12904)及び4つの強度センサ12902を示す(例えば、検出された接触12904のカウントが、強度センサユニット12902のカウントを上回る)。
【0170】
いくつかの実施形態では、タッチ感知面が複数の対応する角部を有し、かつ複数の強度センサの各対応する強度センサが、対応した対応する角部に隣接して配置される(13008)。例えば、
図5Bは、タッチ感知面451の対応する角部に隣接して配置された、複数の強度センサ12902の対応する強度センサを示す。
【0171】
いくつかの実施形態では、複数の強度センサがデバイスの周辺部(例えば、タッチ感知面の周辺部)を画定し、かつ複数の接触が、複数の強度センサによって画定された周辺部内で検出される(13010)。例えば、
図5Bは、タッチ感知面451の周辺部を画定する強度センサ12902、及び強度センサ12902によって画定された周辺部内で検出された複数の接触12902を示す。
【0172】
複数の接触を検出する間(13012)、デバイスは、複数の強度センサの第1の強度センサから第1の強度測定値を受信し(13014)、またデバイスは、第1の強度センサは複数の強度センサの第2の強度センサとは異なる、第2の強度センサから第2の強度測定値を受信する。(13016)。例えば、
図5Bは、デバイスが、タッチ感知面451上の複数の接触12904を検出する間に、第1の強度センサ(例えば、強度センサ12902−1)から第1の強度測定値(例えば、強度センサ12902−1の強度測定値)を受信し、また、第2の強度センサ(例えば、強度センサ12902−2)から第2の強度測定値(例えば、強度センサ12902−2の強度測定値)を受信することを示す。
【0173】
複数の接触を検出する間(13012)、デバイスは、接触の総強度の第1の部分を第1の接触に割り当て、かつ接触の総強度の第2の部分を第2の接触に割り当てる(13018)。例えば、
図5Bは、接触の総強度(例えば、強度センサ12902の強度測定値の和である32強度単位)を示す。例えば、
図5Fは、デバイスがタッチ感知面451上の複数の接触12904を検出する間に、デバイスが、接触の総強度の第1の部分を第1の接触12904−1に割り当てる(例えば、接触12904−1の強度が8強度単位である)ことを示す。例えば、
図5Fは、デバイスがタッチ感知面451上の複数の接触12904を検出する間に、デバイスが、総強度の第2の部分を第2の接触12904−2に割り当てる(例えば、接触12904−2の強度が8強度単位である)ことも示す。
【0174】
デバイスは、総強度の一部を複数の接触に割り当て(13018)、これは少なくとも部分的に、第1の強度測定値と、第2の強度測定値と、タッチ感知面に対する第1の強度センサのロケーションと、タッチ感知面に対する第2の強度センサのロケーションと、に基づく(13020)。例えば、
図5Fは、デバイスが、少なくとも部分的に、
図5Bの強度センサ12902−1の第1の強度測定値と、
図5Bの強度センサ12902−2の第2の強度測定値と、
図5Bのタッチ感知面451に対する第1の強度センサ12902−1のロケーションと、
図5Bのタッチ感知面451に対する第2の強度センサ12902−2のロケーションと、に基づいて総強度(例えば、32強度単位)を複数の接触12904に割り当てることを示す。
【0175】
デバイスはまた、総強度の一部を複数の接触に割り当て(13018)、これは少なくとも部分的に、第1の接触の1つ以上の特性(例えば、ロケーション、力の中心からの距離、接触サイズ)のセットの値と第2の接触の1つ以上の特性のセットの対応する値との間の比較に基づく(13022)。例えば、
図5Fは、少なくとも部分的に、デバイスが、第1の接触12904−1の1つ以上の特性(例えば、
図5Eの力の中心12906から接触12904−1までの距離であるD
C1)のセットの値と第2の接触12904−2の1つ以上の特性(例えば、
図5Eの力の中心12906から接触12904−2までの距離であるD
C2)のセットの対応する値との間の比較にも基づいて総強度(例えば、32強度単位)を複数の接触に割り当てることを示す。
【0176】
いくつかの実施形態では、対応する接触に対する1つ以上の特性のセットが、タッチ感知面上の対応する接触のロケーションを含む(13024)。タッチ感知面上の接触のロケーションは、任意選択的に、他の1つ以上の検出された接触に対するか、力の中心(例えば、
図5Eの対応する接触12904の対応するD
C距離)に対するか、1つ以上の強度センサに対する。いくつかの実施形態では、対応する接触の1つ以上の特性のセットが、タッチ感知面上の対応する接触の接触サイズを含む(13026)。いくつかの実施形態では、指がタッチ感知面上に押下されると、指のより多くの部分がタッチ感知面と接触するため、接触の相対的な強度が、部分的に絶対接触サイズ又は接触サイズの変化に基づいて判定され得る。したがって、ユーザが指をより強くタッチ感知面上に押下すると、指に対応する接触のサイズが増加する。
【0177】
いくつかの実施形態では、デバイスがある個数の強度センサを含み、総強度がある個数の検出された接触間で分割され、検出された接触の個数が強度センサの個数を上回る(13028)。いくつかの実装では、強度センサの個数が4つ以上である。例えば、
図5Fは、タッチ感知面451上で検出されたある個数の接触12904間で分割された総強度(例えば、
図5Bの強度センサ12902の強度測定値の和である32強度単位)を示す(例えば、
図5Fの接触12904の強度の和は、総強度である32強度単位に等しい)。また、例えば、
図5Fでは、検出された接触12904の個数(例えば、5つ)が強度センサ12902の個数(例えば、4つ)を上回る。
【0178】
複数の接触を検出したことに応じて、デバイスは、少なくとも部分的に、第1の接触に割り当てられた総強度の部分に基づいて動作を実行する(13030)。いくつかの実施形態では、複数の接触を検出するための手段が複数の接触を検出している間、動作を実行するための手段が可能になる。いくつかの実施形態では、動作が、少なくとも部分的に、第2の接触に割り当てられた総強度の部分に基づく(13032)。例えば、
図5Gは、デバイスが、少なくとも部分的に、第1の接触及び第2の接触に割り当てられた総強度の部分に基づいて動作(例えば、ディスプレイ450上に線12908を表示すること)を実行することを示す(例えば、線12908−1及び12908−2の幅は、
図5Fの対応する接触12904−1及び12904−2にそれぞれ割り当てられた強度に対応する)。
【0179】
いくつかの実施形態では、デバイスが、少なくとも部分的に、タッチ感知面に対する第1の強度センサのロケーションと、タッチ感知面に対する第2の強度センサのロケーションと、第1の強度センサの第1の強度測定値と、第2の強度センサの第2の強度測定値と、に基づいて、タッチ感知面上の力の中心を判定する(13034)。いくつかの実施形態では、力の中心が、強度センサ12902のロケーション(例えば、対応する強度センサ12902から力の中心12906までの対応するD
S距離)の加重平均であり、強度センサ12902の各々の強度寄与が、対応する強度センサに対応した対応する強度測定値に従って重み付けされる。例えば、
図5Cは、少なくとも部分的に、タッチ感知面451に対する第1の強度センサ12902−1のロケーションと、タッチ感知面451に対する第2の強度センサ12902−2のロケーションと、
図5Bの第1の強度センサ12902−1の第1の強度測定値と、
図5Bの第2の強度センサ12902−2の第2の強度測定値と、に基づいて判定された力の中心12906を示す。いくつかの実施形態では、タッチ感知面上の力の中心が、タッチ感知面上の接触の強度の一部を割り当てること(上で動作13018を参照して、より詳細に説明されている)の前に、又はその一部として判定される。
【0180】
いくつかの実施形態では、力の中心を判定することが、タッチ感知面上の1つ以上の偶発的な接触(例えば、手のひら接触又は偶発的な指接触)を識別することと、タッチ感知面上の対応する偶発的な接触の存在に対して補正する(例えば、偶発的な接触を無視するか、総強度への偶発的な接触の推定された寄与を取り消す)ことと、を含む(13036)。例えば、
図5Lは、力の中心13020を判定する時に、タッチ感知面451上の偶発的な接触(例えば、接触12918−6)を識別することと、タッチ感知面451上の接触12918−6の存在に対して(例えば、
図5Kにおける強度センサ12902の強度測定値への偶発的な接触12918−6の推定された寄与を取り消すことによって)補正することと、を示す。
【0181】
いくつかの実施形態では、デバイスが、力の中心に対する第1の接触のロケーションを判定し、力の中心に対する第2の接触のロケーションを判定し、力の中心に対する第1の接触のロケーションに基づいて総強度の第1の部分を第1の接触に割り当て、力の中心に対する第2の接触のロケーションに基づいて総強度の第2の部分を第2の接触に割り当てる(13038)。いくつかの実施形態では、力の中心に対する第1の接触のロケーションと力の中心に対する第2の接触のロケーションとの間の比較に基づいて、力の中心により近い接触に、より大きい強度が割り当てられるように、第1の接触及び第2の接触を含む検出された接触間で総強度が分割される(例えば、対応する接触の強度寄与が力の中心までの接触の距離に比例するという前提に基づいて、総強度が接触に割り当てられる)。いくつかの実装では、
図5Cを参照して上述した既定の数学関数を使用して、力の中心が判定される。更に、いくつかの実装では、
図5Fを参照して上述した既定の数学関数を使用して、対応する検出された接触に割り当てられる総強度の部分が判定される。いくつかの実施形態では、接触のロケーションが、タッチ感知面上の接触の強度の一部を割り当てること(上で動作13018を参照して、より詳細に説明されている)の前に、又はその一部として判定される。
【0182】
例えば、複数の接触の強度寄与は、力の中心が複数の接触のロケーションの加重平均に従ってタッチ感知面上に配置されるように判定され、対応する接触の各々のロケーションは、対応する接触に割り当てられた総強度の対応する部分に従って重み付けされる(例えば、特定の接触に割り当てられる総強度の部分は、加重平均の計算を反転させ、合計強度、加重平均のロケーション及び接触のロケーションを基に、異なる接触の重みを判定するために計算を逆方向に行うことによって、判定される)。例えば、4つの強度センサがタッチ感知面上の対応する点(例えば、力の中心)において4強度単位の総強度を識別し、デバイスがタッチ感知面上で2つの接触を検出し、第1の接触が対応する点から1cmにあり、第2の接触が対応する点から3cmにあり、かつ第1の接触の真向かいにある場合、デバイスは強度の75%(例えば、3強度単位)を第1の接触に、かつ強度の25%(例えば、1強度単位)を第2の接触に割り当てるであろう。
【0183】
例えば、デバイスが、
図5Eは、力の中心12906に対する第1の接触12904−1のロケーション(例えば、距離D
C1)及び力の中心12906に対する第2の接触12904−2のロケーション(例えば、距離D
C2)を判定することを示す。例えば、
図5Fは、デバイスが、力の中心12906に対する第1の接触12904−1のロケーション(例えば、距離D
C1)に基づいて総強度(例えば、
図5Bの強度センサ12902の強度測定値の和)の第1の部分を第1の接触12904−1に(例えば、接触12904−1の強度である8強度単位)、かつ力の中心12906に対する第2の接触12904−2のロケーション(例えば、距離D
C2)に基づいて総強度(例えば、
図5Bの強度センサ12902の強度測定値の和)の第2の部分を第2の接触12904−2に(例えば、接触12904−2の強度である8強度単位)割り当てることを更に示す。
図6A〜
図6Cにおける動作について記載された特定の順序は単なる例示であり、記載された順序が、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者は、本願に記載されている動作の順番を変更する様々な方法を認識されるであろう。加えて、本記載の方法及びに関して本明細書に記載の他の処理の詳細(例えば、パラグラフ[0045]に記載したものは、
図6A〜
図6Cに関連して上述した方法13000と類似の様式で適用可能であることに留意されたい。例えば、方法13000を参照して上述されている接触は、本明細書に記載されている他の方法(例えば、パラグラフ[0045]に記載されているもの)を参照して本明細書で説明されている接触の特徴のうちの1つ以上を、任意選択的に、有する。簡略化するため、これらの詳細の説明はここでは反復しない。
【0184】
いくつかの実施形態によれば、
図7は、説明される様々な実施形態の理念に従って構成された電子デバイス13100の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実施するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図7で説明されている機能ブロックが、様々な説明されている実施形態の原理を実装するように組み合わされ、又はサブブロックに分離され得ることが当業者には理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0185】
図7に示されるように、電子デバイス13100は、情報を表示するように構成された表示ユニット13102と、接触を受けるように構成されたタッチ感知面ユニット13104と、タッチ感知面ユニット13104との接触の強度を検出するための複数の強度センサユニット13106と、表示ユニット13102、タッチ感知面ユニット13104及び強度センサユニット13106に結合された処理ユニット13108と、を含む。いくつかの実施形態では、処理ユニット13108が、検出ユニット13110と、受信ユニット13112と、割当ユニット13114と、実行ユニット13116と、判定ユニット13118と、識別ユニット13120と、補正ユニット13122と、を含む。
【0186】
処理ユニット13108は、タッチ感知面ユニット13104上の複数の接触を(例えば、検出ユニット13110によって)検出するように構成される。複数の接触を検出する間、処理ユニット13108は、複数の強度センサユニット13106の第1の強度センサユニット13106−1から第1の強度測定値を(例えば、受信ユニット13112によって)受信し、第1の強度センサユニット13106−1は複数の強度センサユニット13106の第2の強度センサユニット13106−2とは異なる、第2の強度センサユニット13106−2から第2の強度測定値を(例えば、受信ユニット13112によって)受信し、接触の総強度の第1の部分を(例えば、割当ユニット13114によって)第1の接触に割り当て、かつ総強度の第2の部分を第2の接触に(例えば、割当ユニット13114によって)割り当てるように更に構成される。処理ユニット13108は、少なくとも部分的に、第1の強度測定値と、第2の強度測定値と、タッチ感知面ユニット13104に対する第1の強度センサユニット13106−1のロケーションと、タッチ感知面ユニット13104に対する第2の強度センサユニット13106−2のロケーションと、第1の接触の1つ以上の特性のセットの値と第2の接触の1つ以上の特性のセットの対応する値との間の比較と、に基づいて総強度を(例えば、割当ユニット13114によって)割り当てるように構成される。複数の接触を検出したことに応じて、処理ユニット13108は、少なくとも部分的に、第1の接触に割り当てられた総強度の部分に基づいて動作を(例えば、実行ユニット13116によって)実行するように更に構成される。
【0187】
いくつかの実施形態では、動作が、少なくとも部分的に、第2の接触に割り当てられた総強度の部分に基づく。
【0188】
いくつかの実施形態では、検出された接触の個数が強度センサユニット13106の個数を上回る。
【0189】
いくつかの実施形態では、デバイスがある個数の強度センサユニット13106を含み、総強度がある個数の検出された接触間で分割され、検出された接触の個数が強度センサユニット13106の数を上回る。
【0190】
いくつかの実施形態では、複数の強度センサユニット13106がデバイス上の周辺部を画定し、かつ複数の接触が複数の強度センサユニット13106によって画定された周辺部内で検出される。
【0191】
いくつかの実施形態では、複数の強度センサユニット13106が少なくとも4つの強度センサユニットを含む。
【0192】
いくつかの実施形態では、タッチ感知面ユニット13104が複数の対応する角部を有し、かつ複数の強度センサユニット13106の各対応する強度センサユニットが、対応した対応する角部に隣接して配置される。
【0193】
いくつかの実施形態では、対応する接触に対する1つ以上の特性のセットが、タッチ感知面ユニット13104上の対応する接触のロケーションを含む。
【0194】
いくつかの実施形態では、対応する接触の1つ以上の特性のセットが、タッチ感知面ユニット13104上の対応する接触の接触サイズを含む。
【0195】
いくつかの実施形態では、処理ユニット13108が、少なくとも部分的に、タッチ感知面ユニット13104に対する第1の強度センサユニット13106−1のロケーションと、タッチ感知面ユニット13104に対する第2の強度センサユニット13106−2のロケーションと、第1の強度センサユニット13106−1の第1の強度測定値と、第2の強度センサユニット13106−2の第2の強度測定値と、に基づいてタッチ感知面ユニット13104上の力の中心を(例えば、判定ユニット13118によって)判定するように更に構成される。
【0196】
いくつかの実施形態では、力の中心を(例えば、判定ユニット13118によって)判定することが、タッチ感知面ユニット13104上の1つ以上の偶発的な接触を(例えば、識別ユニット13120によって)識別することと、タッチ感知面ユニット13104上の対応する偶発的な接触の存在に対して(例えば、補正ユニット13122によって)補正することと、を含む。
【0197】
いくつかの実施形態では、処理ユニット13108が、力の中心に対する第1の接触のロケーションを(例えば、判定ユニット13118によって)判定し、力の中心に対する第2の接触のロケーションを(例えば、判定ユニット13118によって)判定し、総強度の第1の部分を力の中心に対する第1の接触のロケーションに基づいて第1の接触に(例えば、割当ユニット13114によって)割り当て、総強度の第2の部分を力の中心に対する第2の接触のロケーションに基づいて第2の接触に(例えば、割当ユニット13114によって)割り当てるように構成される。
【0198】
上述の情報処理方法での動作は、汎用プロセッサ(例えば、
図1A及び
図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
【0199】
図6A〜
図6Cを参照して上述された動作は、
図1A〜
図1B、又は
図7に示される構成要素によって、任意選択的に実施される。例えば、検出動作13002、受信動作13014〜13016、割当動作13018及び判定動作13034は、イベントソータ170、イベント認識部180及びイベントハンドラ190により、任意選択的に実施される。イベントソータ170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に渡す。アプリケーション136−1の対応するイベント認識部180は、イベント情報を対応するイベント定義186と比較し、タッチ感知式表面上の第1の位置における第1のコンタクトが、ユーザインタフェース上でのオブジェクトの選択などの所定のイベント又はサブイベントに対応するかどうかを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を任意選択的に利用するか又は呼び出す。いくつかの実施形態において、イベントハンドラ190は、アプリケーションにより表示されるものを更新するための対応するGUIアップデータ178にアクセスする。同様に、当業者には、
図1A〜
図1Bに示すコンポーネントに基づいて他のプロセスをどのように実装し得るか明らかであろう。
タッチ入力からディスプレイ出力への関係間の遷移
【0200】
多くの電子デバイスは、入力と対応する出力との間の入出力関係に従って制御される様々なユーザインタフェースオブジェクトを含むグラフィカルユーザインタフェースを有する。いくつかの状況では、入力と対応する出力との間に固定の入出力関係が存在する。しかしながら、固定の入出力関係は、ユーザが実現を希望する可能性がある出力の特定の範囲が存在する場合、ユーザにとって煩わしく、非効率的になり得る。しかしながら、可変の入出力関係も、ユーザが入出力関係の不連続性に気付いた場合、ユーザを混乱及び当惑させ得る。以下で説明される実施形態は、ユーザインタフェースオブジェクトと対話する時にタッチ入力からディスプレイ出力への関係間を遷移する効率的かつ直感的な方法を提供することにより、これらの方法を改善する。具体的には、以下で説明されるいくつかの実施形態によれば、いくつかのユーザインタフェースオブジェクトが、ユーザ入力、特にタッチ入力に応じてそれらのオブジェクトの表示方法を制御するタッチ入力からディスプレイ出力への2つ以上の関係を有する。例えば、いくつかの状況では、ファイルフォルダを開くと、ユーザ入力の特性に依存する複数の段階又はオプションを含むアニメーション進行が発生する。
【0201】
図8A〜
図8Vは、いくつかの実施形態に係る、タッチ感知面上の入力を使用してタッチ入力からディスプレイ出力への関係間を遷移するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースを使用して、
図9A〜
図9Cを参照して以下に説明される処理を含む、以下に説明される処理を示す。
図8B〜
図8I及び
図8N〜
図8Tは、対応する閾値(例えば、「IT
D」)を含む複数の強度閾値に対する、タッチ感知面上の接触の現在の強度を示す強度図を含む。いくつかの実施形態では、IT
Dを参照して以下で説明されるものと同様の動作は、異なる強度閾値(例えば、「IT
L」)を参照して実行される。
【0202】
図8Aは、デバイス(例えば、デバイス300)のディスプレイ450上に表示され、かつタッチ感知面451上の入力(例えば、指接触)に応答する、ファイルアイコン13205を含む例示的なユーザインタフェース13204を示す。
図8Aは、タッチ感知面451上の接触の強度を検出するための強度センサ13208を更に示す。
図8Aは、接触13202及び接触13202の強度、並びにタッチ感知面451上の接触13202及び強度センサ13208の相対的なロケーションに対応する追加強度範囲13210も示す。いくつかの実施形態によれば、
図8Aは、タッチ感知面451上で検出された入力13202に対応する、フォーカスセレクタの表示された描出(例えば、カーソル13206)も示す。
【0203】
いくつかの実施形態では、デバイスは、別個のディスプレイ(例えば、ディスプレイ450)及び別個のタッチ感知面(例えば、タッチ感知面451)を備える電子デバイスである。いくつかの実施形態では、デバイスはポータブル多機能デバイス100であり、ディスプレイはタッチ感知ディスプレイシステム112であり、タッチ感知面はディスプレイ上に接触強度センサ(1つ又は複数)165を含む(
図1A)。説明の便宜上、
図8A〜
図8K及び
図9A〜
図9Cを参照して説明される実施形態は、ディスプレイ450及び別個のタッチ感知面451を参照して論じられるが、しかしながら、類似の動作は、タッチ感知ディスプレイシステム112を備えるデバイス上で、
図8A〜
図8Kに示されるユーザインタフェースをタッチ感知ディスプレイシステム112上に表示する間に、
図8A〜
図8Kで説明される接触をタッチ感知ディスプレイシステム112上で検出することに応じて、任意選択的に実行され、そのような実施形態では、フォーカスセレクタは、カーソル13206の代わりに、任意選択的に、タッチ感知ディスプレイシステム112上で検出される、対応する接触、接触に対応する代表点(例えば、対応する接触の重心、又は対応する接触に関連付けられる点)、又は2つ以上の接触の重心である。同様に、(例えば、
図8M〜
図8Vに示される)タッチ感知ディスプレイシステム112を参照して説明される実施形態について、類似の動作は、任意選択的に、ディスプレイ450上に
図8M〜
図8Vに示すユーザインタフェースを表示しながら、タッチ感知面451上で
図8M〜
図8Vに記載の接触を検出したことに応じて、ディスプレイ450及び別個のタッチ感知面451を有するデバイス上で実行される。ディスプレイ450及びタッチ感知面451がタッチスクリーン112に代わる実施形態では、フォーカスセレクタは、任意選択的に、対応する接触(例えば、
図8M〜
図8Vの接触13228)の代わりとなるカーソル、虫めがね若しくはスポットライト、接触に対応する代表点、又はタッチ感知ディスプレイシステム112上で検出された2つ以上の接触の重心である。
【0204】
いくつかの実施形態では、カーソル13206が、タッチ感知面451が受けた接触に従って判定されたディスプレイ450上の位置にある、フォーカスセレクタの表示された描出である。他の実装では、フォーカスセレクタが、異なる表示された描出(例えば、虫めがね)を有する。代替として、いくつかの実装では、フォーカスセレクタの描出が表示されない。例えば、タッチ感知ディスプレイシステムを使用する実装では、フォーカスセレクタの位置が、ディスプレイ上の接触又はジェスチャのロケーションに対応する。更に、本明細書では、フォーカスセレクタの位置がディスプレイ上のユーザインタフェースオブジェクトのロケーションに対応する時に、フォーカスセレクタが、ユーザインタフェースオブジェクトの「上にある」ものとして定義される。
【0205】
図8B〜
図8Kは、接触の強度に従ってアニメーションの進行を調整する実施例を示す。
図8B〜
図8Eは、接触13202の強度がIT
Lをわずかに上回る強度からIT
Dをわずかに下回る強度まで増加した時に第1のタッチ入力からディスプレイ出力への関係に従って進行する、ファイルアイコン13205に関連付けられたファイルを表示するアニメーションを示す。
図8Fは、接触13202の強度がIT
Dに達した時の、アニメーション進行の遷移点を示す。
図8G〜
図8Iは、接触13202の強度がIT
Dを上回って増加した時に第2のタッチ入力からディスプレイ出力の関係に従って進行するアニメーションを示す。
図8J〜
図8Kは、接触13202のリフトオフ、及びファイルアイコン13205に関連付けられたファイルの図形表現を
図8Fに示された状態に戻す(例えば、跳ね返す)アニメーションを示す。
【0206】
図8Lは、入力の変化(例えば、指接触の強度の変化)に応じて出力を調整する実施例を示す。
図8Lは、IT
LとIT
Dとの間の強度値の第1の範囲13212に対応する第1のタッチ入力からディスプレイ出力への応答13216(例えば、線形応答)を示す。
図8Lは、強度IT
Dに対応するタッチ入力からディスプレイ出力への応答の遷移点13217、及びIT
DとIT
MAXとの間の強度値の第2の範囲13214に対応する第2のタッチ入力からディスプレイ出力への応答13218(例えば、3次スプライン応答)への円滑な遷移も示す。
図8Lは、入力がIT
MAXに近付いた時に最大出力13220に近付く出力を更に示す。
【0207】
図8Mは、入力(例えば、指接触)に応答するメニュバー13227を含む、タッチ感知ディスプレイ13222上に表示された例示的なユーザインタフェース13226を示す。
図8Mは、タッチ感知ディスプレイ13222上の接触の強度を検出するための強度センサ13232を更に示す。
【0208】
図8N〜
図8Vは、接触の強度に従ってアニメーションの進行を調整する別の実施例を示す。
図8N〜
図8Oは、メニュバー13227上の「ツール」オプションを介して検出された接触13228及び接触13228の強度、並びにタッチ感知ディスプレイ13222上の接触13228及び強度センサ13232の相対的なロケーションに対応する追加強度範囲13230を示す。
図8N〜
図8Oは、接触13228の強度の変化に従って出力応答(例えば、アニメーション進行)を表示するグラフ13236を更に示す。
図8N〜
図8Oでは、「ツール」サブメニュ13240のアニメーションが、接触13228の強度がIT
0をわずかに上回る強度(
図8N)からIT
Lをわずかに下回る強度(
図8O)まで増加した時に、第1のタッチ入力からディスプレイ出力への応答に従って進行する。
図8Pは、IT
Lに達した接触13228の強度、及びタッチ入力からディスプレイ出力への遷移点13238に達したアニメーション進行を示す。
図8Pは、「ツール」サブメニュ13240の全体も示す。
図8Q〜
図8Tは、接触13228の強度がIT
Lを上回って増加した時に第2のタッチ入力からディスプレイ出力への応答に従って進行する、「ツール」サブメニュ13240のアニメーションを示す。
図8U〜
図8Vは、接触13228のリフトオフ、及び「ツール」サブメニュ13240のグラフィック表示を
図8Pに示された状態に戻す(例えば、跳ね返す)アニメーションを示す。
【0209】
図9A〜
図9Cは、いくつかの実施形態に係る、入出力関係(例えば、タッチ入力からディスプレイ出力への関係)間を遷移する方法13300を示すフロー図である。方法13300は、ディスプレイとタッチ感知面とを有する電子デバイス(例えば、
図3のデバイス300又は
図1Aのポータブル多機能デバイス100)において実行される。いくつかの実施形態において、ディスプレイはタッチスクリーンディスプレイであり、タッチ感知面がディスプレイ上にある。いくつかの実施形態において、ディスプレイはタッチ感知面から分離している。方法13300のいくつかの動作が、任意選択的に、組み合わされ、及び/又は、いくつかの動作の順序が、任意選択的に変えられる。
【0210】
以下で説明されるように、方法13300は、入出力関係間を遷移するための直感的な方法を提供する。その方法は、ユーザインタフェース階層をナビゲートする際の、ユーザに対する認知負担を軽減し、それにより、より効率的なヒューマン−マシンインタフェースを作り出す。バッテリ作動電子デバイスの場合、ユーザがタッチ入力からディスプレイ出力への関係間を、より速く、より効率的に遷移することを可能にすることは、電力を節約し、バッテリ充電間隔を長くする。
【0211】
いくつかの実施形態では、デバイスが、複数のユーザインタフェースオブジェクトを含むユーザインタフェースを表示し、複数のユーザインタフェースオブジェクトは、対応するアクティブ化強度閾値(例えば、ユーザインタフェースオブジェクトの対応するものに対応するアクティブ化強度閾値)を上回る強度を有する押圧入力に応答し、ユーザインタフェースオブジェクトのうちの2つ以上に対する対応するアクティブ化強度閾値は、遷移強度値と同一のである(13301)。例えば、対応するフォーカスセレクタがユーザインタフェース要素の上にある間、遷移強度値を上回る強度を有する接触を検出したことに応じて、1つ以上のボタン、リンク、メニュ又は他の選択可能なユーザインタフェース要素がデバイスによって選択される。これらの実施形態、例えば、
図8Nでは、メニュバー13227内の1つ以上のメニュオプションが、「ツール」オプションと同一のIT
L及び入出力遷移点13238を有する。
【0212】
デバイスが、タッチ感知面上での接触(例えば、指による接触)を検出する(13302)。例えば、
図8Aでは、デバイスがタッチ感知面451上の接触13202を検出する。
【0213】
デバイスは、タッチ感知面上の接触のロケーション(例えば、接触の重心などの接触の代表点の現在の(x,y)位置)を判定する(13304)。例えば、
図8Aのデバイスは、タッチ感知面451上の接触13202の位置を判定する。
【0214】
デバイスは、タッチ感知面上の接触の強度を判定する(13306)。いくつかの実施形態では、タッチ感知面上の接触の強度を判定することが、経時的な接触の強度の変化を検出するために、経時的な接触の強度の複数の測定値を生成することを含む。例えば、
図8Aのデバイスは、タッチ感知面451上の接触13202の強度を判定する。
【0215】
デバイスは、検出された接触に従って応答を表示し(例えば、接触の強度及び/又は接触の強度の変化に従って応答を表示する)、応答は少なくとも部分的に、タッチ感知面上の接触のロケーションにおける強度から応答への入出力マッピングに基づく(13308)。例えば、
図8B〜
図8Kでは、デバイスが接触13202の強度に従ってアニメーション進行を表示する。
【0216】
入出力マッピングは、タッチ感知面上の対応するロケーションに対して、強度値の第1の範囲における強度と応答との間の第1の入出力関係と、強度値の第2の範囲が強度値の第1の範囲とは異なる、強度値の第2の範囲における強度と応答との間の第2の入出力関係と、強度値の第1の範囲が強度値の第2の範囲と合流又は部分的に重複する遷移強度値と、を含み、遷移強度値において、第1の入出力関係は強度の変化に伴う応答の変化の第1のレートを有し、第2の入出力関係は強度の変化に伴う応答の変化の第2のレートを有し、変化の第1のレートは実質的に変化の第2のレートと同一である(13310)。いくつかの実施形態では、変化の第1のレートと変化の第2のレートとの差が10%又は20%以内である時に、変化の第1のレートが実質的に変化の第2のレートと同一である。いくつかの実施形態では、変化の第1のレートが変化の第2のレートと同一である。例えば、
図8N〜
図8Tでは、デバイスが、接触13228の強度に従って進行するアニメーションを表示する。この実施例では、
図8N〜
図8Oが、接触13228の強度がわずかにIT
0を上回る強度からわずかにIT
Lを下回る強度まで増加した時に第1の入出力関係に従って進行するアニメーションを示し、
図8Pが、遷移強度値IT
Lにおけるアニメーションの円滑な遷移を示し、
図8Q〜
図8Tが、接触13228の強度がIT
Lを上回って増加した時に第2の入出力関係に従って進行するアニメーションを示す。
【0217】
いくつかの実施形態では、第2の入出力関係及び第1の入出力関係が、遷移強度値において同一の出力を有する(例えば、第1の入出力関係と第2の入出力関係との間で連続的な遷移が生じる)(13312)。例えば、
図8O〜
図8Qは、遷移強度値IT
Lに対応する入出力遷移点13238における、アニメーション進行の連続的な遷移を示す。
【0218】
いくつかの実施形態では、第1の入出力関係が線形である(13314)。例えば、
図8Lでは、強度値の第1の範囲13212に対応する第1の入出力応答13216が線形である。
【0219】
いくつかの実施形態では、第2の入出力関係が非線形である(例えば、第2の入出力関係が3次スプライン曲線である)(13316)。例えば、
図8Lでは、強度値の第2の範囲13214に対応する第2の入出力応答13218が非線形である。
【0220】
いくつかの実施形態では、接触の強度が遷移強度値を上回って増加した時に、第2の入出力関係が最大出力に漸近的に近付く(13318)。例えば、アニメーションが最大限度を有し、かつタッチ感知面上の接触のロケーションにおける接触の強度が対応する最大強度に向かって増加した時に、アニメーションの最大限度に漸近的に近付く。例えば、
図8Q〜
図8Tでは、接触13228の強度が、タッチ感知ディスプレイ13222上の接触13228のロケーションに対応した対応する最大強度に向かって増加した時に、アニメーションが最大限度13240に漸近的に近付く。
【0221】
いくつかの実施形態では、デバイスの第1の特性(例えば、タッチ感知面上の接触の強度を検出するためのデバイスの動的範囲)が、タッチ感知面上の様々なロケーションによって変化する(13320)。いくつかの実装では、第1の入出力関係がタッチ感知面上の第1のロケーション及び第2のロケーションにおいて同一であり、第2の入出力関係がタッチ感知面上の第1のロケーションにおいて第2のロケーションにおいてとは異なる。例えば、第2の入出力関係は、接触のロケーションにおける強度検出の動的範囲など、接触のロケーションにおける強度を検出することへの制限も考慮しながら、固定された第1の入出力関係から動的な第2の入出力関係への円滑な遷移を提供するように、デバイスの現在の状態に応じて、デバイスによって選択又は定義される。例えば、これらの実施形態では、
図8N〜
図8Pの第1の入出力関係が、タッチ感知ディスプレイ13222上の接触13228の様々なロケーションに対して同一であり、
図8Q〜
図8Tの第2の入出力関係が、タッチ感知ディスプレイ13222上の接触13228の様々なロケーションに対して異なる。
【0222】
いくつかの実施形態では、応答が、値の既定の範囲において特性の現在の値を第1の値から第2の値に変更することを含む(13322)。例えば、ファイルのアニメーション進行を
図8Bの第1の値から
図8Cの第2の値に変更することである。
【0223】
いくつかの実施形態では、応答が、音量、明るさ、ユーザインタフェースオブジェクトの間隔、ユーザインタフェースオブジェクトのサイズ、ユーザインタフェースオブジェクトの不透明度、コンテンツスクラブ及びアニメーション進行のうちの1つ以上を調整することを含む(13324)。例えば、ファイルのアニメーション進行に対する連続的な調整が
図8B〜
図8Kに示される。
【0224】
図9A〜
図9Cにおいて記載された動作の順序は、単なる例示であり、その記載された順序は、動作を実行することができる唯一の順序であることを示す意図ではないことを理解されたい。当業者は、本願に記載されている動作の順番を変更する様々な方法を認識されるであろう。加えて、本記載の方法及びに関して本明細書に記載の他の処理の詳細(例えば、パラグラフ[0045]に記載したものは、
図9A〜
図9Cに関連して上述した方法13300と類似の様式で適用可能であることに留意されたい。例えば、方法13300を参照して上述されている接触、接触ロケーション、接触強度、ユーザインタフェース、入出力マッピング、入出力関係及び応答は、本明細書に記載されている他の方法(例えば、パラグラフ[0045]に記載されているもの)を参照して本明細書で説明されている接触、接触ロケーション、接触強度、ユーザインタフェース、入出力マッピング、入出力関係及び応答の特徴のうちの1つ以上を、任意選択的に、有する。簡略化するため、これらの詳細の説明はここでは反復しない。
【0225】
いくつかの実施形態によれば、
図10は、説明される様々な実施形態の理念に従って構成された電子デバイス13400の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実施するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図10で説明されている機能ブロックが、様々な説明されている実施形態の原理を実装するように組み合わされ、又はサブブロックに分離され得ることが当業者には理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
図10に示されるように、電子デバイス13400は、検出された接触に従って応答を表示するように構成された表示ユニット13402と、ユーザ接触を受けるように構成されたタッチ感知面ユニット13404と、タッチ感知面ユニットとの接触の強度を検出するように構成された1つ以上のセンサユニット13405と、表示ユニット13402、タッチ感知面ユニット13404及びセンサユニット13405に結合された処理ユニット13406と、を含む。いくつかの実施形態では、処理ユニット13406が、検出ユニット13408と、判定ユニット13410と、表示可能化ユニット13412と、を含む。
【0226】
処理ユニット13406は、タッチ感知面ユニット上の接触を(例えば、検出ユニット13408によって)検出し、タッチ感知面ユニット上の接触のロケーションを(例えば、判定ユニット13410によって)判定し、タッチ感知面ユニット上の接触の強度を(例えば、判定ユニット13410によって)判定し、検出された接触に従って応答の表示を(例えば、表示可能化ユニット13412によって)可能にするように構成され、応答は少なくとも部分的に、タッチ感知面ユニット上の接触のロケーションにおける強度から応答への入出力マッピングに基づく。入出力マッピングは、タッチ感知面ユニット上の対応するロケーションに対して、強度値の第1の範囲における強度と応答との間の第1の入出力関係と、強度値の第2の範囲が強度値の第1の範囲とは異なる、強度値の第2の範囲における強度と応答との間の第2の入出力関係と、強度値の第1の範囲が強度値の第2の範囲と合流又は部分的に重複する遷移強度値と、を含む。遷移強度値において、第1の入出力関係は強度の変化に伴う応答の変化の第1のレートを有し、第2の入出力関係は強度の変化に伴う応答の変化の第2のレートを有し、変化の第1のレートは実質的に変化の第2のレートと同一である。
【0227】
いくつかの実施形態では、第2の入出力関係及び第1の入出力関係が、遷移強度値において同一の出力を有する。
【0228】
いくつかの実施形態では、第1の入出力関係が線形である。
【0229】
いくつかの実施形態では、第2の入出力関係が非線形である。
【0230】
いくつかの実施形態では、接触の強度が遷移強度値を上回って増加した時に、第2の入出力関係が最大出力に漸近的に近付く。
【0231】
いくつかの実施形態では、処理ユニット13406が、複数のユーザインタフェースオブジェクトを含むユーザインタフェースの表示を(例えば、表示可能化ユニット13412によって)可能にするように更に構成され、複数のユーザインタフェースオブジェクトは、対応するアクティブ化強度閾値を上回る強度を有する押圧入力に応答し、ユーザインタフェースオブジェクトのうちの2つ以上に対する対応するアクティブ化強度閾値は、遷移強度値と同一である。
【0232】
いくつかの実施形態では、デバイスの第1の特性がタッチ感知面ユニット13404上の様々なロケーションにおいて変化し、第1の入出力関係がタッチ感知面ユニット13404上の第1のロケーション及び第2のロケーションにおいて同一であり、第2の入出力関係がタッチ感知面ユニット13404上の第1のロケーションにおいて第2のロケーションにおいてとは異なる。
【0233】
いくつかの実施形態では、応答が、値の既定の範囲において特性の現在の値を第1の値から第2の値に変更することを含む。
【0234】
いくつかの実施形態では、応答が、音量、明るさ、ユーザインタフェースオブジェクトの間隔、ユーザインタフェースオブジェクトのサイズ、ユーザインタフェースオブジェクトの不透明度、コンテンツスクラブ及びアニメーション進行のうちの1つ以上を調整することを含む。
【0235】
上述の情報処理方法は、汎用プロセッサ(例えば、
図1A及び
図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
図9A〜
図9Cを参照して上述された動作は、
図1A〜
図1B又は
図10に示される構成要素によって、任意選択的に実施される。例えば、検出動作13302、判定動作13304及び13306、並びに表示動作13308は、イベントソータ170、イベント認識部180及びイベントハンドラ190により、任意選択的に実施される。イベントソータ170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に渡す。アプリケーション136−1の対応するイベント認識部180は、イベント情報を対応するイベント定義186と比較し、タッチ感知式表面上の第1の位置における第1のコンタクトが、ユーザインタフェース上でのオブジェクトの選択などの所定のイベント又はサブイベントに対応するかどうかを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を任意選択的に利用するか又は呼び出す。いくつかの実施形態において、イベントハンドラ190は、アプリケーションにより表示されるものを更新するための対応するGUIアップデータ178にアクセスする。同様に、当業者には、
図1A〜
図1Bに示すコンポーネントに基づいて他のプロセスをどのように実装し得るか明らかであろう。
接触強度の変化及び強度検出の変化する動的範囲に合わせた出力の調整
【0236】
多くの電子デバイスはタッチ感知面を有する。タッチ感知面は、任意選択的に複数の強度センサを利用し、かつタッチ感知面上のロケーションによって変化する最大強度検出閾値を有する。この最大強度検出閾値の相違には、最大強度検出閾値の最小公倍数である均一の最大強度検出閾値をタッチ感知面全体に対して使用することにより対処し得る。しかしながら、この手法はデバイスを最大限の能力で使用することができず、したがって、より効率及び有効性が低いユーザインタフェースを提供する。以下で説明される実施形態は、タッチ感知面の感知度が最も低い部分において最大強度閾値を上回る最大強度検出閾値を利用するように入出力関係を動的に調整することにより、これらの方法を改善する。例えば、いくつかの状況では、複数の強度センサを有するタッチ感知面が、第1のロケーションにおいて、500gの力に対応する最大強度、かつ第2のロケーションにおいて、2000gの力に対応する最大強度を有する。この実施例では、第2のロケーションにおいて追加強度範囲を利用することが望ましい。以下で説明される実施形態は、接触強度の変化及び強度検出の変化する動的範囲に合わせて出力を調整する効率的かつ直感的な方法を提供し、それにより、デバイスが便利かつ効率的なユーザインタフェースを制御することを可能にする。
【0237】
図11B〜
図11Uは、いくつかの実施形態に係る、接触強度の変化及び強度検出の変化する動的範囲に合わせて出力を調整するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースを使用して、
図12A〜
図12Dを参照して以下に説明される処理を含む、以下に説明される処理を示す。
図11B〜
図11J及び
図11M〜
図11Uは、対応する閾値(例えば、「IT
D」)を含む複数の強度閾値に対する、タッチ感知面上の接触の現在の強度を示す強度図を含む。いくつかの実施形態では、IT
Dを参照して以下で説明されるものと同様の動作は、異なる強度閾値(例えば、「IT
L」)を参照して実行される。
【0238】
図11Aは、入力の変化(例えば、指接触の強度の変化)に応じて出力を調整する実施例を示す。
図11Aは、強度値の範囲IT
L〜IT
Dに対応する第1の入出力応答13502(例えば、線形応答)と、強度IT
Dに対応する入出力応答遷移点13504と、強度値の範囲IT
D〜IT
MAX1に対応する第2の入出力応答13506(例えば、3次スプライン応答)への円滑な遷移と、入力がIT
MAX1に近付いた時に最大出力13508に近付く出力と、を含む、第1の入出力マッピング13501を示す。
図11Aは、強度値の範囲IT
L〜IT
Dに対応する第1の入出力応答13510と、強度IT
Dに対応する入出力応答遷移点13512、強度値の範囲IT
D〜IT
MAX2に対応する第2の入出力応答13514への円滑な遷移と、入力がIT
MAX2に近付いた時に最大出力13516に近付く出力と、を含む、第2の入出力マッピング13509を更に示す。
【0239】
図11Bは、タッチ感知ディスプレイ13518上に表示された、メニュバー13521及びツールサブメニュ13523を含む例示的なユーザインタフェース13520を示す。
図11Bは、タッチ感知ディスプレイ13518上の接触の強度を検出するための強度センサ13522を更に示す。
図11Bは、接触13524及び接触13524の強度、並びにタッチ感知ディスプレイ13518上の接触13524及び強度センサ13522の相対的なロケーションに対応する追加動的範囲13526も示す。
図11Bは、接触13528及び接触13528の強度、並びにタッチ感知ディスプレイ13518上の接触13528及び強度センサ13522の相対的なロケーションに対応する追加動的範囲13530を更に示す。
【0240】
図11C〜
図11Lは、接触の強度に従ってアニメーションの進行を調整する実施例を示す。
図11Cは、デバイス(例えば、デバイス300)のディスプレイ450上に表示された、ファイルアイコン13534を含むユーザインタフェース13532を示す。
図11Cは、タッチ感知面451上で検出された接触13540、IT
Lを下回る接触13540の強度、強度センサ13538、並びにタッチ感知面451上の接触13540及び強度センサ13538の相対的なロケーションに対応する追加動的範囲13542を更に示す。いくつかの実施形態によれば、
図11C〜
図11Lは、タッチ感知面451上で検出された入力13540に対応する、フォーカスセレクタの表示された描出(例えば、カーソル13536)を示す。
図11D〜
図11Gは、接触13540の強度がIT
LからIT
Dをわずかに下回る強度まで増加した時に第1の入出力関係に従って進行する、ファイルアイコン13505に関連付けられたファイルを表示するアニメーションを示す。
図11Hは、接触13540の強度がIT
Dに達した時の、アニメーション進行の遷移点を示す。
図11I〜
図11Jは、接触13540の強度がIT
Dを上回って増加した時に第2の入出力関係に従って進行するアニメーションを示す。
図11K〜
図11Lは、接触13540のリフトオフ、及びファイルアイコン13534に関連付けられたファイルのグラフィック表示を
図11Hに示された状態に戻す(例えば、跳ね返す)アニメーションを示す。
【0241】
いくつかの実施形態では、デバイスは、別個のディスプレイ(例えば、ディスプレイ450)及び別個のタッチ感知面(例えば、タッチ感知面451)を備える電子デバイスである。いくつかの実施形態では、デバイスはポータブル多機能デバイス100であり、ディスプレイはタッチ感知ディスプレイシステム112であり、タッチ感知面はディスプレイ上に接触強度センサ(1つ又は複数)165を含む(
図1A)。
【0242】
いくつかの実施形態では、デバイスは、別個のディスプレイ(例えば、ディスプレイ450)及び別個のタッチ感知面(例えば、タッチ感知面451)を備える電子デバイスである。いくつかの実施形態では、デバイスはポータブル多機能デバイス100であり、ディスプレイはタッチ感知ディスプレイシステム112であり、タッチ感知面はディスプレイ上に接触強度センサ165を含む(
図1A)。説明の便宜上、
図11C〜
図11Uを参照して説明される実施形態は、ディスプレイ450及び別々のタッチ感知面451を参照して記載される。しかしながら、任意選択的に、
図11C〜
図11Uに示されるユーザインタフェースをタッチ感知ディスプレイシステム112上に表示する間に、タッチ感知ディスプレイシステム112上での
図11C〜
図11Uで説明される接触を検出することに応答して、タッチ感知ディスプレイシステム112を有するデバイス上で類似する動作が実行される。そのような実施形態では、任意選択的に、フォーカスセレクタは、カーソル13536の代わりに、対応する接触、接触に対応する表示点(例えば、対応する接触の重心又は対応する接触と関連付けられた点)、又はタッチ感知ディスプレイシステム112上で検出される2つ以上の接触の重心である。
【0243】
図11M〜
図11Uは、接触の強度に従ってアニメーションの進行を調整する別の実施例を示す。
図11Mは、デバイス(例えば、デバイス300)のディスプレイ450上に表示された、ファイルアイコン13546を含むユーザインタフェース13544を示す。
図11Mは、タッチ感知面451上で検出された接触13548、IT
Lを下回る接触13548の強度、強度センサ13538、並びにタッチ感知面451上の接触13548及び強度センサ13538の相対的なロケーションに対応する追加動的範囲13550を更に示す。
図11N〜
図11Qは、接触13548の強度がIT
LからIT
Dをわずかに下回る強度まで増加した時に第1の入出力関係に従って進行する、ファイルアイコン13546に関連付けられたファイルを表示するアニメーションを示す。
図11Rは、接触13548の強度がIT
Dに達した時の、アニメーション進行の遷移点を示す。
図11S〜
図11Uは、接触13548の強度がIT
Dを上回って増加した時に第2の入出力関係に従って進行するアニメーションを示す。
【0244】
図12A〜
図12Dは、いくつかの実施形態に係る、接触強度の変化及び強度検出の変化する動的範囲に合わせて出力を調整する方法13600を示すフロー図である。方法13600は、ディスプレイ及びタッチ感知面を備える電子デバイス(例えば、
図3のデバイス300又は
図1Aのポータブル多機能デバイス100)において実行される。いくつかの実施形態において、ディスプレイはタッチスクリーンディスプレイであり、タッチ感知面がディスプレイ上にある。いくつかの実施形態において、ディスプレイはタッチ感知面から分離している。方法13600のいくつかの動作が、任意選択的に、組み合わされ、及び/又は、いくつかの動作の順序が、任意選択的に変えられる。
【0245】
以下で説明されるように、方法13600は、接触強度の変化に合わせて、かつ接触のロケーションに従って変化する動的入力範囲に従ってユーザインタフェースの出力を調整するための直感的な方法を提供する。その方法は、ユーザインタフェース階層をナビゲートする際の、ユーザに対する認知負担を軽減し、それにより、より効率的なヒューマン−マシンインタフェースを作り出す。バッテリ作動電子デバイスの場合、接触強度の変化及び強度検出の変化する動的範囲に合わせて出力を調整する間、ユーザがユーザインタフェース階層内を、より速く、より効率的にナビゲートすることを可能にすることは、電力を節約し、バッテリ充電間隔を長くする。
【0246】
デバイスが、タッチ感知面上での接触(例えば、指による接触)を検出する(13602)。例えば、
図11Bでは、デバイスがタッチ感知ディスプレイ13518上の接触13524を検出する。
【0247】
デバイスはタッチ感知面上の接触の対応するロケーション(例えば、接触の重心などの接触の代表点の現在の(x,y)位置)を判定し、タッチ感知面上の対応するロケーションは、接触の強度を検出するための対応する動的範囲を有する(13604)。例えば、
図11Bのデバイスは、接触13524のロケーション及び対応する追加強度範囲13526を判定する。
【0248】
いくつかの実施形態では、デバイスが対応するロケーションに対する対応する動的範囲を判定することは、対応するロケーションにおける接触の強度を検出するためのデバイスの動的範囲に関する記憶された情報(例えば、以前にデバイスにおいて又はリモートコンピュータシステムにおいて記憶された情報)を取得することを含む(13606)。例えば、これらの実施形態では、
図11Bのデバイスが、接触13524のロケーションに対応する追加動的範囲13526に関する記憶された情報を取得する。
【0249】
デバイスは、タッチ感知面上の対応するロケーションにおける接触の強度を判定する(13608)。いくつかの実施形態では、タッチ感知面上の接触の強度を判定することが、経時的な接触の強度の変化を検出するために、経時的な接触の強度の複数の測定を実施することを含む。例えば、
図11Bのデバイスは、接触13524の強度を判定する。
【0250】
いくつかの実施形態では、タッチ感知面との接触の強度を検出するためのセンサがタッチ感知面の周辺部の周囲に配置された複数の強度センサ(例えば、強度センサがトラックパッドの角部に隣接して配置される)を含み、かつタッチ感知面の周辺部付近のロケーションがタッチ感知面の中心付近のロケーションよりも低い動的範囲を有する(13610)。例えば、
図11Cのデバイスは、タッチ感知面451の角部に隣接して配置された強度センサ13538を含む。
【0251】
デバイスは、接触の強度の変化を検出する(13612)。いくつかの実施形態では、接触が対応するロケーションに残っている間に、接触の強度の変化が検出される。例えば、
図11C〜
図11Dは、タッチ感知面451上の接触13540を検出するデバイス、及び
図11CのIT
Lを下回る強度から
図11DのIT
Lまでの、接触13540の強度の増加を示す。
【0252】
タッチ感知面上の対応するロケーションにおける接触の強度の変化を検出したことに応じて、デバイスは出力を調整する(13614)。例えば、
図11C〜
図11Lでは、デバイスが、ファイルアイコン13534に関連付けられたファイルのアニメーション進行を調整する。
【0253】
対応するロケーションが第1の動的範囲を有するという判定に従って、出力は、対応するロケーションにおける接触の強度の変化、及び第1の動的範囲に対応する強度から応答への第1の入出力マッピングに従って調整される(13616)。例えば、
図11C〜
図11Lでは、デバイスが、ファイルアイコン13534に関連付けられたファイルのアニメーション進行を調整する。
図11C〜
図11Jは、タッチ感知面451上の接触13540のロケーション及び対応する追加動的範囲13542を更に示す。この実施例では、アニメーションが、接触13540の強度の変化、及び追加動的範囲13542に対応する入出力マッピングに従って進行する。
【0254】
逆に、対応するロケーションが第1の動的範囲とは異なる第2の動的範囲を有するという判定に従って、出力は、対応するロケーションにおける接触の強度の変化、及び第2の動的範囲に対応する強度から応答への第2の入出力マッピングに従って調整され、第2の入出力マッピングは第1の入出力マッピングとは異なる(13618)。例えば、
図11M〜
図11Uでは、デバイスが、ファイルアイコン13546に関連付けられたファイルのアニメーション進行を調整する。
図11M〜
図11Uは、タッチ感知面451上の接触13548のロケーション、及び
図11Cの追加動的範囲13542とは異なる対応する追加動的範囲13550を更に示す。この実施例では、アニメーションが、接触13548の強度の変化、及び追加動的範囲13550に対応する入出力マッピングに従って進行する。
【0255】
いくつかの実施形態では、第2の動的範囲が第1の動的範囲よりも高く(例えば、第2の動的範囲が、第1の動的範囲よりも大きい強度値の範囲を含む)、かつ第2の入出力マッピングが強度を第1の動的範囲外の1つ以上の強度値に対する出力値にマッピングする(例えば、第2の動的範囲が、第1の動的範囲の最大検出可能強度よりも高い最大検出可能強度を含む)(13620)。例えば、
図11Bでは、デバイスが、対応する追加動的範囲13526を有する第1のロケーションにおける接触13524、及び対応する追加動的範囲13530を有する第2のロケーションにおける接触13528を検出する。この実施例では、第2のロケーションにおける接触13528が、接触13524のロケーションに関連付けられた動的範囲外の複数の強度値を含む、より大きい動的範囲を有する。
【0256】
いくつかの実施形態では、第1の動的範囲の上限が、タッチ感知面上の第1のロケーションにおける第1の強度検出限界に対応する第1の強度に基づいて判定され、かつ第2の動的範囲の上限が、タッチ感知面上の第1のロケーションとは異なる第2のロケーションにおける第2の強度検出限界に対応する、第1の強度とは異なる第2の強度に基づいて判定される(13622)。いくつかの実施形態では、第1の強度検出限界が、デバイスが第1のロケーションにおいて検出可能な最大強度である、実際の、理論上の、又は推定された強度に基づいて判定される。いくつかの実施形態では、第2の強度検出限界が、デバイスが第2のロケーションにおいて検出可能な最大強度である、実際の、理論上の、又は推定された強度に基づいて判定される。これらの実施形態、例えば、
図11Bでは、追加動的範囲13526が、接触13524のロケーションに関連付けられた第1の強度検出限界に対応し、かつ追加動的範囲13530が、接触13528のロケーションに関連付けられた第2の強度検出限界に対応する。
【0257】
いくつかの実施形態では、第1の入出力マッピングが、デバイスが第1の強度に近い強度値(例えば、第1の動的範囲の上限)を検出した時に対応する最大出力に漸近的に近付き、かつ第2の入出力マッピングが、デバイスが第2の強度に近い強度値(例えば、第2の動的範囲の上限)を検出した時に対応する(例えば、同一の対応する)最大出力に漸近的に近付く(13624)。いくつかの実施形態では、両方の入出力マッピングが、最大検出可能強度において、アニメーションの同一の最終状態に近付くが、入出力マッピングの最大検出可能強度は異なる。したがって、デバイスが第2のロケーションにおいてアニメーションの最終状態に達する強度とは異なる強度で、デバイスは第1のロケーションにおいてアニメーションの最終状態に達する。例えば、
図11Aは、最大応答値13508を有する第1の入出力マッピング13501、及び最大応答値13516を有する第2の入出力マッピング13509を示す。
図11Aは、最大応答値13508に漸近的に近付く第1の入出力マッピング13501の出力応答、及び最大応答値13516に漸近的に近付く第2の入出力マッピング13509の出力応答を更に示す。この実施例及びこれらの実施形態では、最大応答値13508が最大応答値13516と同一である。
【0258】
いくつかの実施形態では、第1の入出力マッピングが、強度値の第1の範囲を出力の対応する範囲にマッピングし、かつ第2の入出力マッピングが、強度値の第1の範囲とは異なる強度値の第2の範囲を出力の対応する範囲(例えば、同一の対応する範囲)にマッピングする(13626)。例えば、第1のロケーションにおいて、0〜500gの力が出力値の既定の範囲(例えば、0〜130%のアニメーション進行)にマッピングされ、かつ第2のロケーションにおいて、0〜2000gの力が出力値の同一の既定の範囲(例えば、0〜130%のアニメーション進行)にマッピングされる。例えば、これらの実施形態では、
図11C〜
図11Jに示されるアニメーション進行が第1の入出力マッピングに対応し、かつ
図11M〜
図11Uに示されるアニメーション進行が第2の入出力マッピングに対応する。この実施例及びこれらの実施形態では、
図11C〜
図11Jに示されるアニメーション進行が、
図11M〜
図11Uに示されるアニメーション進行と同一の対応する出力範囲に対応する。
【0259】
いくつかの実施形態では、第1の入出力マッピングが、遷移強度値を下回る強度値の範囲に対応する第1の部分(例えば、線形応答部分)、及び遷移強度値を上回る強度値の範囲に対応する第2の部分(例えば、非線形応答部分)を有する(13628)。いくつかの実装では、第2の入出力マッピングが、遷移強度値を下回る強度値の範囲に対応する第1の部分(例えば、線形応答部分)、及び遷移強度値を上回る強度値の範囲に対応する第2の部分(例えば、非線形応答部分)を有する。いくつかの実装では、第1の入出力マッピングの第1の部分が第2の入出力マッピングの第1の部分(例えば、線形部分)と同一であり、かつ第1の入出力マッピングの第2の部分が第2の入出力マッピングの第2の部分(例えば、3次部分)とは異なる。例えば、
図11Aは、強度IT
L〜IT
Dに対応する強度値の第1の範囲13502(例えば、線形部分)及び強度IT
D〜IT
MAX1に対応する強度値の第2の範囲13506(例えば、非線形部分)を含む、第1の入出力マッピング13501を示す。
図11Aは、強度IT
L〜IT
Dに対応する強度値の第1の範囲13510及び強度IT
D〜IT
MAX2に対応する強度値の第2の範囲13514を含む、第2の入出力マッピング13509を更に示す。なお、IT
MAX2はIT
MAX1とは異なり、かつこの実施例では、IT
MAX1よりも高い強度値を表す。これらの実施形態によれば、第1の入出力マッピング13501における強度値の第1の範囲13502は、第2の入出力マッピング13509における強度値の第1の範囲13510と同一であり、かつ第1の入出力マッピング13501における強度値の第2の範囲13506は、第2の入出力マッピング13509における強度値の第2の範囲13514とは異なる。
【0260】
いくつかの実施形態では、デバイスの出力を調整すること(13630)が、接触の最大強度が遷移強度値を下回るという判定に従って、対応するロケーションが第1の動的範囲を有するか第2の動的範囲を有するかにかかわらず、接触の最大強度に従って同一の出力を生成すること(13632)と、接触の最大強度が遷移強度値を上回るという判定に従って、接触の最大強度及び対応するロケーションが第1の動的範囲を有するか第2の動的範囲を有するかに従って異なる出力を生成する(例えば、対応するロケーションが第1の動的範囲を有する時に、デバイスが第1の出力を生成し、かつ対応するロケーションが第2の動的範囲を有する時に、デバイスが第1の出力とは異なる第2の出力を生成する)こと(13634)と、を含む。例えば、デバイスが、タッチ感知面上の2つの異なるロケーションにおいて、2つの実質的に同一の押圧入力を検出した(例えば、第1の動的範囲を有する第1のロケーション及び第2の動的範囲を有する第2のロケーションにおいて、2つの入力が異なる時点で検出された)場合、デバイスは、少なくとも部分的に、ロケーションの動的範囲及び接触の強度が遷移強度を上回るかどうかに依存する出力を生成する。この実施例では、入力が遷移強度を下回る時に、デバイスは2つのロケーションにおいて実質的に同一の出力を生成するが、入力が遷移強度を上回る時に、デバイスは2つの入力が実質的に同一の場合でも、2つのロケーションにおいて異なる出力を生成する。したがって、この実施例では、押圧入力のロケーションの動的範囲が異なるため、出力の差が、遷移強度を上回る強度の範囲に制限される。その結果、この実施例では、デバイスが、遷移強度を下回る強度を有する入力に対して、一定のユーザエクスペリエンスをタッチ感知面全体にわたって維持しながら、追加のフィードバックをユーザに提供するために、タッチ感知面のいくつかの部分(例えば、タッチ感知面の中心、タッチ感知面の中心付近のロケーション(例えば、中心の既定の距離内、又は中心の周囲の既定のウィンドウ内))の増加した動的範囲も利用する。
【0261】
いくつかの実施形態では、第1の入出力マッピングに従ってデバイスの出力を調整する間、デバイスが、第1の動的範囲を有するタッチ感知面上の第1のロケーションから第2の動的範囲を有するタッチ感知面上の第2のロケーションへの接触の移動を検出し(13636)、かつ第1のロケーションから第2のロケーションへの接触の移動を検出したことに応じて、デバイスが、接触が第2のロケーションにある間、デバイスの出力を調整するために引き続き第1の入出力マッピングを使用する(13638)。これらの実施形態では、
図11C〜
図11Jに示されるアニメーションが、接触13540の後続の移動によって変更されない。
【0262】
逆に、いくつかの実施形態では、第1の入出力マッピングに従ってデバイスの出力を調整する間、デバイスが、第1の動的範囲を有するタッチ感知面上の第1のロケーションから第2の動的範囲を有するタッチ感知面上の第2のロケーションへの接触の移動を検出し(13640)、かつ第1のロケーションから第2のロケーションへの接触の移動を検出したことに応じて、デバイスが、接触が第2のロケーションにある間、デバイスの出力を調整するために第2の入出力マッピングを使用する(13642)。いくつかの実施形態では、接触の強度が対応する強度に維持された場合、接触が第1のロケーションから第2のロケーションに移動した時に出力が徐々に変化するように、第1の入出力マッピングと第2の入出力マッピングとの間で円滑な遷移が発生する。これらの実施形態では、
図11C〜
図11Jに示されるアニメーションが、接触13540の後続の移動の結果である接触13540のロケーションに対応する動的範囲に従って調整される。
【0263】
図12A〜
図12Dにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者は、本願に記載されている動作の順番を変更する様々な方法を認識されるであろう。加えて、本記載の方法及びに関して本明細書に記載の他の処理の詳細(例えば、パラグラフ[0045]に記載したもの)は、
図12A〜
図12Dに関連して上述した方法13600と類似の様式で適用可能であることに留意されたい。例えば、方法13600に関連して上述した接触、ジェスチャ、ユーザインタフェースオブジェクト、強度閾値、フォーカスセレクタ、出力及びアニメーションは、任意選択的に、本明細書に記載の他の方法に関連して本明細書で説明されている接触、ジェスチャ、ユーザインタフェースオブジェクト、強度閾値、フォーカスセレクタ、出力及びアニメーションのうちの1つ以上の特徴を有する(例えば、パラグラフ[0045]に記載のもの)。簡略化するため、これらの詳細の説明はここでは反復しない。
【0264】
いくつかの実施形態によれば、
図13は、説明される様々な実施形態の理念に従って構成された電子デバイス13700の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実施するために、ハードウェア、ソフトウェア、又はハードウェアとソフトウェアとの組み合わせによって、任意選択的に実装される。
図13で説明されている機能ブロックが、様々な説明されている実施形態の原理を実装するように組み合わされ、又はサブブロックに分離され得ることが当業者には理解されよう。それゆえ、本明細書での説明は、本明細書で説明される機能ブロックの、あらゆる可能な組み合わせ若しくは分離、又は更なる定義を、任意選択的にサポートする。
【0265】
図13に示されるように、電子デバイス13700は、表示ユニット13702と、ユーザ接触を受けるように構成されたタッチ感知面ユニット13704と、タッチ感知面ユニットとの接触の強度を検出するように構成された1つ以上のセンサユニット13705と、表示ユニット13702、タッチ感知面ユニット13704及びセンサユニット13705に結合された処理ユニット13706と、を含む。いくつかの実施形態では、処理ユニット13706が、ロケーション検出ユニット13708と、接触強度検出ユニット13709と、判定ユニット13710と、調整ユニット13712と、を含む。
【0266】
処理ユニット13706は、タッチ感知面ユニット13704上の接触を(例えば、接触強度検出ユニット13709によって)検出し、タッチ感知面ユニット13704上の接触の対応するロケーションを(例えば、判定ユニット13710によって)判定するように構成され、タッチ感知面ユニット13704上の対応するロケーションは、接触の強度を検出するための対応する動的範囲を有する。処理ユニット13706は、タッチ感知面ユニット13704上の対応するロケーションにおける接触の強度を(例えば、判定ユニット13710によって)判定し、かつ接触の強度の変化を(例えば、接触強度検出ユニット13709によって)検出するように更に構成される。処理ユニット13706は、タッチ感知面13704上の対応するロケーションにおける接触の強度の変化を検出したことに応じて、デバイスの出力を(例えば、調整ユニット13712によって)調整するように更に構成され、対応するロケーションが第1の動的範囲を有するという判定に従って、出力は、対応するロケーションにおける接触の強度の変化、及び第1の動的範囲に対応する強度から応答への第1の入出力マッピングに従って調整され、かつ対応するロケーションが第1の動的範囲とは異なる第2の動的範囲を有するという判定に従って、出力は、対応するロケーションにおける接触の強度の変化、及び第2の動的範囲に対応する強度から応答への第2の入出力マッピングに従って調整され、第2の入出力マッピングは第1の入出力マッピングとは異なる。
【0267】
いくつかの実施形態では、デバイスが対応するロケーションに対する対応する動的範囲を(例えば、判定ユニット13710によって)判定することが、対応するロケーションにおける接触の強度を検出するためのデバイスの動的範囲に関する記憶された情報を取得することを含む。
【0268】
いくつかの実施形態では、第2の動的範囲が第1の動的範囲よりも高く、かつ第2の入出力マッピングが、強度を第1の動的範囲外の1つ以上の強度値に対する出力値にマッピングする。
【0269】
いくつかの実施形態では、第1の動的範囲の上限が、タッチ感知面ユニット13704上の第1のロケーションにおける第1の強度検出限界に対応する第1の強度に基づいて(例えば、判定ユニット13710によって)判定され、かつ第2の動的範囲の上限が、タッチ感知面ユニット13704上の第1のロケーションとは異なる第2のロケーションにおける第2の強度検出限界に対応する、第1の強度とは異なる第2の強度に基づいて(例えば、判定ユニット13710によって)判定される。
【0270】
いくつかの実施形態では、第1の入出力マッピングが、デバイスが第1の強度に近い強度値を(例えば、接触強度検出ユニット13709によって)検出した時に対応する最大出力に漸近的に近付き、かつ第2の入出力マッピングが、デバイスが第2の強度に近い強度値を(例えば、接触強度検出ユニット13709によって)検出した時に対応する最大出力に漸近的に近付く。
【0271】
いくつかの実施形態では、第1の入出力マッピングが、強度値の第1の範囲を出力の対応する範囲にマッピングし、かつ第2の入出力マッピングが、強度値の第1の範囲とは異なる強度値の第2の範囲を出力の対応する範囲にマッピングする。
【0272】
いくつかの実施形態では、第1の入出力マッピングが、遷移強度値を下回る強度値の範囲に対応する第1の部分及び遷移強度値を上回る強度値の範囲に対応する第2の部分を有し、かつ第2の入出力マッピングが、遷移強度値を下回る強度値の範囲に対応する第1の部分及び遷移強度値を上回る強度値の範囲に対応する第2の部分を有し、第1の入出力マッピングの第1の部分が第2の入出力マッピングの第1の部分と同一であり、かつ第1の入出力マッピングの第2の部分が第2の入出力マッピングの第2の部分とは異なる。
【0273】
いくつかの実施形態では、デバイスの出力を(例えば、調整ユニット13712によって)調整することが、接触の最大強度が遷移強度値を下回るという判定に従って、対応するロケーションが第1の動的範囲を有するか第2の動的範囲を有するかにかかわらず、接触の最大強度に従って同一の出力を生成することと、接触の最大強度が遷移強度値を上回るという判定に従って、接触の最大強度及び対応するロケーションが第1の動的範囲を有するか第2の動的範囲を有するかに従って異なる出力を生成することと、を含む。
【0274】
いくつかの実施形態では、タッチ感知面ユニット13704との接触の強度を検出するように構成されたセンサユニット13705が、タッチ感知面ユニット13704の周辺部に配置された複数の強度センサを含み、かつタッチ感知面ユニット13704の周辺部付近のロケーションが、タッチ感知面ユニット13704の中心付近のロケーションよりも低い動的範囲を有する。
【0275】
いくつかの実施形態では、処理ユニット13706が、デバイスの出力を第1の入出力マッピングに従って(例えば、調整ユニット13712によって)調整する間、第1の動的範囲を有するタッチ感知面ユニット13704上の第1のロケーションから第2の動的範囲を有するタッチ感知面ユニット13704上の第2のロケーションへの接触の移動を(例えば、ロケーション検出ユニット13708によって)検出し、かつ第1のロケーションから第2のロケーションへの接触の移動を検出したことに応じて、接触が第2のロケーションにある間、デバイスの出力を(例えば、調整ユニット13712によって)調整するために引き続き第1の入出力マッピングを使用するように更に構成される。
【0276】
いくつかの実施形態では、処理ユニット13706が、デバイスの出力を第1の入出力マッピングに従って(例えば、調整ユニット13712によって)調整する間、第1の動的範囲を有するタッチ感知面ユニット13704上の第1のロケーションから第2の動的範囲を有するタッチ感知面ユニット13704上の第2のロケーションへの接触の移動を(例えば、ロケーション検出ユニット13708によって)検出し、かつ第1のロケーションから第2のロケーションへの接触の移動を検出したことに応じて、接触が第2のロケーションにある間、デバイスの出力を(例えば、調整ユニット13712によって)調整するために第2の入出力マッピングを使用するように更に構成される。
【0277】
上述の情報処理方法での動作は、汎用プロセッサ(例えば、
図1A及び
図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
【0278】
図12A〜
図12Dを参照して上述された動作は、
図1A、1B、又は
図13に示される構成要素によって、任意選択的に実施される。例えば、検出動作13602、13612、13636及び13640、判定動作13604及び13608、並びに調整動作13614は、イベントソータ170、イベント認識部180及びイベントハンドラ190により、任意選択的に実施される。イベントソータ170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に渡す。アプリケーション136−1の対応するイベント認識部180は、イベント情報を対応するイベント定義186と比較し、タッチ感知式表面上の第1の位置における第1のコンタクトが、ユーザインタフェース上でのオブジェクトの選択などの所定のイベント又はサブイベントに対応するかどうかを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連するイベントハンドラ190をアクティブ化させる。イベントハンドラ190は、アプリケーション内部状態192を更新するために、データアップデータ176若しくはオブジェクトアップデータ177を任意選択的に利用するか又は呼び出す。いくつかの実施形態において、イベントハンドラ190は、アプリケーションにより表示されるものを更新するための対応するGUIアップデータ178にアクセスする。同様に、当業者には、
図1A〜
図1Bに示すコンポーネントに基づいて他のプロセスをどのように実装し得るか明らかであろう。
【0279】
これらの動作が上述されている特定の順序は、単なる例示であり、説明される順序が、それらの動作を実行することが可能な唯一の順序であることを示すことを、意図するものではない点を理解されたい。当業者は、本願に記載されている動作の順番を変更する様々な方法を認識されるであろう。更には、本明細書で別個に説明される種々の処理(例えば、パラグラフ[0045]で列挙されるもの)は、様々な配置で互いに組み合わせることができる点に留意されたい。例えば、本明細書で別個に説明される種々の処理(例えば、パラグラフ[0045]で列挙されるもの)のうちのいずれか1つを参照して上述された、接触、ユーザインタフェースオブジェクト、触感覚、強度閾値、及び/又はフォーカスセレクタは、本明細書で説明される他の方法(例えば、パラグラフ[0045]で列挙されるもの)のうちの1つ以上を参照して本明細書で説明された、接触、ジェスチャ、ユーザインタフェースオブジェクト、触感覚、強度閾値、及びフォーカスセレクタの特性のうちの1つ以上を、任意選択的に有する。簡潔性のために、本明細書では、種々の可能な組み合わせの全てを具体的に列挙することはないが、上述の特許請求の範囲は、相互排他的な特許請求の範囲の特長によって排除されない任意の方式で組み合わせることができる点を理解されたい。
【0280】
上述の記載は、説明の目的のために、特定の実施形態を参照して記載されている。しかしながら、上記の例示的な論考は、網羅的であること、又は、説明される種々の実施形態を、開示される厳密な形態に限定することを意図するものではない。多くの変更及び変形が上述の教示に鑑みて可能である。これらの実施形態は、説明される種々の実施形態の原理、及びそれらの実際の適用を最も良好に説明するために、選択及び説明されたものであって、それにより、他の当業者が、想到される具体的な用途に適するような種々の修正を使用して、その説明される種々の実施形態を最も良好に利用することが可能となる。