スタイラスでユーザインタフェースを操作するための多数の異なる手法を、本明細書で説明する。これらの手法のうちの1つ以上を(任意選択的に互いに併せて)使用することにより、ユーザからの入力の数、範囲、及び/又は種類を低減し、より効率的なヒューマンマシンインタフェースを提供する。これにより、ユーザがタッチ感知面を有するデバイスと共にスタイラスをより速くより効率的に使用することができる。バッテリ動作デバイスに関しては、これらの改善により、電力が節約され、バッテリを充電する間隔が増大する。説明を簡単にするために、これらの手法のうちのいくつかの例示的実施例を含む、デバイス及び方法を以下で説明する。
●図7A〜7Jは、スタイラスがタッチ感知面にタッチする前のスタイラスの姿勢状態に対応する目印を表示して更新するための、例示的なユーザインタフェースを示す。図8A〜8Dは、スタイラスがタッチ感知面にタッチする前のスタイラスの姿勢状態に対応する目印を表示して更新する方法を示す流れ図である。図7A〜7Jのユーザインタフェースを使用して、図8A〜8Dのプロセスを示す。
●図10A〜10Kは、スタイラスがタッチ感知面にタッチしている間に、スタイラスの姿勢状態に対応する目印を表示して更新するための、例示的なユーザインタフェースを示す。図11A〜11Dは、スタイラスがタッチ感知面にタッチしている間に、スタイラスの姿勢状態に対応する目印を表示して更新する方法を示す流れ図である。図10A〜10Kのユーザインタフェースを使用して、図11A〜11Dのプロセスを示す。
●図13A〜13Oは、スタイラスからの入力の特性に従ってマークの1つ以上の特性を調整するための例示的なユーザインタフェースを示す。図14A〜14Eは、スタイラスからの入力の特性に従ってマークの1つ以上の特性を調整する方法を示す流れ図である。図13A〜13Oのユーザインタフェースを使用して、図14A〜14Eのプロセスを示す。
●図16A〜16Nは、スタイラス及び指の入力でメッセージを作成するための例示的なユーザインタフェースを示す。図17A〜17C、図18A〜18B、及び図19は、スタイラス及び指の入力でメッセージを作成する方法を示す流れ図である。図16A〜16Nのユーザインタフェースを使用して、図17A〜17C、図18A〜18B、及び図19のプロセスを示す。
●図21A〜21Qは、ロックされたデバイスの描画アプリケーションにアクセスするための例示的なユーザインタフェースを示す。図22A〜22B、図23A〜23B、及び図24A〜24Bは、ロックされたデバイスの描画アプリケーションにアクセスする方法を示す流れ図である。図21A〜21Qのユーザインタフェースを使用して、図22A〜22B、図23A〜23B、及び図24A〜24Bのプロセスを示す。
●図26A〜26Hは、スタイラスを使用して仮想描画手段を選択して使用するための例示的なユーザインタフェースを示す。図27A〜27Cは、スタイラスを使用して仮想描画手段を選択して使用する方法を示す流れ図である。図26A〜26Hのユーザインタフェースを使用して、図27A〜27Cのプロセスを示す。
●図29A〜29Hは、カレンダイベント作成のための例示的なユーザインタフェースを示す。図30A〜30Dは、カレンダイベント作成の方法を示す流れ図である。図29A〜29Hのユーザインタフェースを使用して、図30A〜30Dのプロセスを示す。
●図32A〜32Fは、ビデオの一部分を選択するための例示的なユーザインタフェースを示す。図33A〜33Bは、ビデオの一部分を選択する方法を示す流れ図である。図32A〜32Fのユーザインタフェースを使用して、図33A〜33Bのプロセスを示す。
●図35A〜35Jは、スタイラスでメニューを表示して使用するための例示的なユーザインタフェースを示す。図36A〜36Cは、スタイラスでメニューを表示して使用する方法を示す流れ図である。図35A〜35Jのユーザインタフェースを使用して、図36A〜36Cのプロセスを示す。
例示的なデバイス
ここで、添付図面に実施例が示される実施形態を、詳細に参照する。以下の詳細な説明では、説明されている様々な実施形態の完全な理解を提供するために数多くの具体的な詳細が記載されている。しかしながら、説明されている様々な実施形態は、これらの具体的な詳細を伴わずとも実践し得ることが、当業者には明らかであろう。他の例においては、周知の方法、手順、構成要素、回路、及びネットワークは、実施形態の態様を不必要に不明瞭なものとしないよう、詳細には説明されていない。
本明細書では、第1、第2などの用語は、一部の実施例で、様々な要素を説明するために使用されるが、これらの要素は、それらの用語によって限定されるべきではないことも理解されるであろう。これらの用語は、ある要素を別の要素と区別するためにのみ使用される。例えば、説明されている様々な実施形態の範囲から逸脱することなく、第1の接触は、第2の接触と称することができ、同様に、第2の接触は、第1の接触と称し得る。第1の接触及び第2の接触は両方接触であるが、文脈がそうではないことを明確に示さない限り、それらは同じ接触ではない。
本明細書で説明される様々な実施形態の説明で使用される用語法は、特定の実施形態を説明することのみを目的とするものであって、限定することを意図するものではない。説明される様々な実施形態の説明及び添付の特許請求の範囲で使用されるとき、単数形「a」、「an」、及び「the」は、文脈がそうではないことを明確に示さない限り、複数形もまた含むことが意図される。本明細書で使用されるときに、用語「及び/又は」が、関連する列挙された項目のうちの1つ以上のすべての可能な任意の組み合わせを指し、かつこれを含むことをもまた理解されたい。用語「includes(含む)」、「including(含む)」、「comprises(含む、備える)」及び/又は「comprising(含む、備える)」は、本明細書で使用されるとき、述べられた特徴、整数、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、整数、ステップ、動作、要素、構成要素、及び/又はそれらの群、の存在又は追加を除外しないことが更に理解されるであろう。
本明細書で使用されるとき、用語「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)((記述される条件又はイベント)の検出に応じて)」を意味するものと解釈される。
電子デバイス、そのようなデバイス用のユーザインタフェース、及びそのようなデバイスを使用するための関連プロセスの、実施形態を説明する。いくつかの実施形態では、このデバイスは、PDA機能及び/又は音楽プレーヤ機能などの、他の機能をも含む、モバイル電話機などのポータブル通信デバイスである。ポータブル多機能デバイスの例示的な実施形態は、限定を伴わずに、Apple Inc.(Cupertino,California)のiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスを含む。タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えたラップトップ又はタブレットコンピュータなどの他のポータブル電子デバイスも、任意選択的に、使用される。また、いくつかの実施形態では、このデバイスはポータブル通信デバイスではなく、タッチ感知面(例えば、タッチスクリーンディスプレイ及び/又はタッチパッド)を備えるデスクトップコンピュータであることを理解されたい。
以下の説明では、ディスプレイ及びタッチ感知面を備える電子デバイスについて説明する。しかし、この電子デバイスは、物理キーボード、マウス、及び/又はジョイスティックなどの1つ以上の他の物理ユーザインタフェースデバイスを任意選択的に含むことを理解されたい。
このデバイスは、一般的に、描画アプリケーション、プレゼンテーションアプリケーション、ワードプロセッシングアプリケーション、ウェブサイト作成アプリケーション、ディスクオーサリングアプリケーション、スプレッドシートアプリケーション、ゲームアプリケーション、電話アプリケーション、ビデオ会議アプリケーション、電子メールアプリケーション、インスタントメッセージングアプリケーション、トレーニングサポートアプリケーション、写真管理アプリケーション、デジタルカメラアプリケーション、デジタルビデオカメラアプリケーション、ウェブブラウジングアプリケーション、デジタル音楽プレーヤアプリケーション及び/又はデジタルビデオプレーヤアプリケーションのうちの1つ以上などの様々なアプリケーションをサポートする。
本デバイス上で実行される様々なアプリケーションは、タッチ感知面などの、少なくとも1つの共通の物理ユーザインタフェースデバイスを、任意選択的に使用する。タッチ感知面の1つ以上の機能、並びにデバイス上に表示される対応する情報は、アプリケーションごとに、及び/又は対応するアプリケーション内で、任意選択的に、調節及び/又は変更される。このように、デバイスの共通の(タッチ感知面などの)物理アーキテクチャは、ユーザにとって直感的かつ透過的なユーザインタフェースを有する様々なアプリケーションを、任意選択的にサポートする。
次に、タッチ感知ディスプレイを備えるポータブルデバイスの実施形態に注意を向ける。図1Aは、いくつかの実施形態に係る、タッチ感知ディスプレイシステム112を備えたポータブル多機能デバイス100を示すブロック図である。タッチ感知ディスプレイシステム112は、便宜上「タッチスクリーン」と呼ばれる場合があり、単にタッチ感知ディスプレイと呼ばれる場合もある。デバイス100は、メモリ102(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)、メモリコントローラ120、1つ以上の処理ユニット(CPU)122、周辺機器インタフェース118、RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、入出力(input/output)(I/O)サブシステム106、その他の入力又は制御デバイス116、及び外部ポート124を含む。デバイス100は、1つ以上の光センサ164を任意選択的に含む。デバイス100は、デバイス100(例えば、デバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面)上の接触の強度を検出するための、1つ以上の強度センサ165を任意選択的に含む。デバイス100は、デバイス100上に触知出力を生成する(例えば、デバイス100のタッチ感知ディスプレイシステム112又はデバイス300のタッチパッド355などの、タッチ感知面上に触知出力を生成する)ための、1つ以上の触知出力生成器163を任意選択的に含む。これらの構成要素は、1つ以上の通信バス又は信号ライン103を介して任意選択的に通信する。
本明細書及び特許請求の範囲で使用されるとき、用語「触知出力」は、ユーザの触覚でユーザによって検出されることになる、デバイスの従前の位置に対するデバイスの物理的変位、デバイスの構成要素(例えば、タッチ感知面)の、デバイスの別の構成要素(例えば、筐体)に対する物理的変位、又はデバイスの質量中心に対する構成要素の変位を指す。例えば、デバイス又はデバイスの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況において、物理的変位によって生成された触知出力は、デバイス又はデバイスの構成要素の物理的特性の認識された変化に相当する触感として、ユーザによって解釈される。例えば、タッチ感知面(例えば、タッチ感知ディスプレイ又はトラックパッド)の移動は、ユーザによって、物理アクチュエータボタンの「ダウンクリック」又は「アップクリック」として任意選択的に解釈される。いくつかの場合、ユーザの動作により物理的に押された(例えば、変位された)タッチ感知面に関連付けられた物理アクチュエータボタンの移動がないときでさえ、ユーザは「ダウンクリック」又は「アップクリック」などの触感を感じるであろう。別の実施例として、タッチ感知面の移動は、タッチ感知面の平滑度に変化がない場合であっても、ユーザによって、そのタッチ感知面の「粗さ」として、任意選択的に解釈又は感知される。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるものではあるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「アップクリック」「ダウンクリック」、「粗さ」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
デバイス100は、ポータブル多機能デバイスの一実施例に過ぎず、デバイス100は、示されているものよりも多くの構成要素又は少ない構成要素を任意選択的に有し、2つ以上の構成要素を任意選択的に組み合わせるか、又は、それらの構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。図1Aに示す様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせで実装される。
メモリ102は、任意選択的に高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの、不揮発性メモリも含む。CPU(単数又は複数)122及び周辺機器インタフェース118などの、デバイス100の他の構成要素によるメモリ102へのアクセスは、メモリコントローラ120により任意選択的に制御される。
周辺機器インタフェース118を使用して、このデバイスの入力及び出力周辺機器を、CPU(単数又は複数)122及びメモリ102に結合することができる。1つ以上のプロセッサ122は、デバイス100のための様々な機能を実行するため並びにデータを処理するために、メモリ102に記憶された様々なソフトウェアプログラム及び/若しくは命令セットを動作させたり、又は実行したりする。
いくつかの実施形態では、周辺機器インタフェース118、CPU(単数又は複数)122、及びメモリコントローラ120は、任意選択的に、チップ104などの単一チップ上に実装される。いくつかの他の実施形態において、これらは、個別のチップ上に、任意選択的に実装される。
RF(radio frequency)(無線周波数)回路108は、電磁信号とも呼ばれるRF信号を送受信する。RF回路108は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して通信ネットワーク及び他の通信デバイスと通信する。RF回路108は、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(subscriber identity module)(SIM)カード、メモリなどを含むがこれらに限定されない、これらの機能を実行するための周知の回路を、任意選択的に含んでいる。RF回路108は、任意選択的に、インターネット(ワールドワイドウェブ(World Wide Web)(WWW)とも呼ばれる)、イントラネット及び/又は無線ネットワーク(セルラー電話ネットワーク、無線ローカルエリアネットワーク(local area network)(LAN)及び/又は、メトロポリタンエリアネットワーク(metropolitan area network)(MAN)など)などのネットワーク並びに他のデバイスと、無線通信によって通信する。無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを、任意選択的に使用し、それらの通信規格、通信プロトコル、及び通信技術としては、移動通信用のグローバルシステム(Global System for Mobile Communications)(GSM)、拡張データGSM環境(Enhanced Data GSM Environment)(EDGE)、高速ダウンリンクパケット接続(high-speed downlink packet access)(HSDPA)、高速アップリンクパケット接続(high-speed uplink packet access)(HSUPA)、Evolution,Data−Only(EV−DO)、HSPA、HSPA+、2重セルHSPA(Dual-Cell HSPA)(DC−HSPDA)、ロングタームエボリューション(long term evolution)(LTE)、近距離無線通信(near field communication)(NFC)、広帯域符号分割多元接続(wideband code division multiple access)(W−CDMA)、符号分割多元接続(code division multiple access)(CDMA)、時分割多元接続(time division multiple access)(TDMA)、Bluetooth(登録商標)、Wireless Fidelity(Wi−Fi)(登録商標)(例えば、IEEE 802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE 802.11g、及び/又はIEEE 802.11n)、ボイスオーバーインターネットプロトコル(voice over Internet Protocol)(VoIP)、Wi−MAX、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol)(IMAP)及び/又はポストオフィスプロトコル(post office protocol)(POP))、インスタントメッセージング(例えば、拡張可能メッセージング及びプレゼンスプロトコル(extensible messaging and presence protocol)(XMPP)、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions)(SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service)(IMPS))、及び/又はショートメッセージサービス(Short Message Service)(SMS)、あるいは本文書の出願日現在までにまだ開発されていない通信プロトコルを含めた任意の他の好適な通信プロトコルが挙げられるが、これらに限定されない。
オーディオ回路110、スピーカ111、及びマイクロフォン113は、ユーザとデバイス100との間のオーディオインタフェースを提供する。オーディオ回路110は、周辺機器インタフェース118からオーディオデータを受信し、このオーディオデータを電気信号に変換し、この電気信号をスピーカ111に送信する。スピーカ111は、電気信号を人間の可聴音波に変換する。オーディオ回路110は、マイクロフォン113により音波から変換された電気信号もまた受信する。オーディオ回路110は、電気信号をオーディオデータに変換し、このオーディオデータを処理のために周辺機器インタフェース118に送信する。オーディオデータは、周辺機器インタフェース118によって任意選択的に、メモリ102及び/若しくはRF回路108から取り込まれ、並びに/又はメモリ102及び/若しくはRF回路108へ送信される。いくつかの実施形態では、オーディオ回路110は、更にヘッドセットジャック(例えば、図2の212)を備える。ヘッドセットジャックは、オーディオ回路110と、出力専用ヘッドホン又は出力(例えば、片耳又は両耳用のヘッドホン)及び入力(例えば、マイクロフォン)の両方を有するヘッドセットなどの、取り外し可能なオーディオ入出力周辺機器と、の間のインタフェースを提供する。
I/Oサブシステム106は、タッチ感知ディスプレイシステム112及びその他の入力又は制御デバイス116などの、デバイス100上の入出力周辺機器を周辺機器インタフェース118に結合する。I/Oサブシステム106は、任意選択的に、ディスプレイコントローラ156、光センサコントローラ158、強度センサコントローラ159、触覚フィードバックコントローラ161、及びその他の入力又は制御デバイスのための1つ以上の入力コントローラ160を含む。1つ以上の入力コントローラ160は、その他の入力又は制御デバイス116から電気信号を受信し、それらへ電気信号を送信する。その他の入力又は制御デバイス116は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、ジョイスティック、クリックホイールなどを含む。いくつかの代替的実施形態では、入力コントローラ(単数又は複数)160は、キーボード、赤外線ポート、USBポート、スタイラス、及び/又はマウスなどのポインタデバイスのうちのいずれかに、任意選択的に結合される(又は、いずれにも結合されない)。1つ以上のボタン(例えば、図2の208)は、スピーカ111及び/又はマイクロフォン113の音量調節のためのアップ/ダウンボタンを、任意選択的に含む。1つ以上のボタンは、プッシュボタン(例えば、図2の206)を、任意選択的に含む。
タッチ感知ディスプレイシステム112は、デバイスとユーザとの間の入力インタフェース及び出力インタフェースを提供する。ディスプレイコントローラ156は、タッチ感知ディスプレイシステム112から電気信号を受信し、及び/又はそれへ電気信号を送信する。タッチ感知ディスプレイシステム112は、ユーザに視覚出力を表示する。視覚出力は、グラフィック、テキスト、アイコン、ビデオ、及びこれらの任意の組み合わせ(総称して「グラフィック」と称する)を、任意選択的に含む。いくつかの実施形態では、視覚出力の一部又はすべては、ユーザインタフェースオブジェクトに対応する。
タッチ感知ディスプレイシステム112は、触覚/触知の接触に基づくユーザからの入力を受け付けるタッチ感知面、センサ、又はセンサのセットを有する。タッチ感知ディスプレイシステム112及びディスプレイコントローラ156(メモリ102内の任意の関連モジュール及び/又は命令セットと共に)は、タッチ感知ディスプレイシステム112上で接触(及び任意の移動又は接触の中断)を検出し、検出された接触をタッチ感知ディスプレイシステム112上に表示されたユーザインタフェースオブジェクト(例えば、1つ以上のソフトキー、アイコン、ウェブページ、又は画像)との双方向作用に変換する。ある例示的な実施形態では、タッチ感知ディスプレイシステム112とユーザとの間の接触点は、ユーザの指又はスタイラスに対応する。
タッチ感知ディスプレイシステム112は、任意選択的に、LCD(liquid crystal display)(液晶ディスプレイ)技術、LPD(light emitting polymer display)(発光ポリマーディスプレイ)技術、又はLED(light emitting diode)(発光ダイオード)技術を使用するが、他の実施形態では、他のディスプレイ技術が使用される。タッチ感知ディスプレイシステム112及びディスプレイコントローラ156は、静電容量技術、抵抗性技術、赤外線技術、及び表面音響波技術、並びに、タッチ感知ディスプレイシステム112との1つ以上の接触点を判定するための他の近接センサアレイ又は他の要素を含むが、これらに限定されない、現在既知の若しくは後日に開発される複数のタッチ感知技術のうちのいずれかを使用して、接触及び任意の移動又はその中断を、任意選択的に検出する。ある例示的な実施形態では、California州CupertinoのAppleInc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)などにおいて見られるような、投影された相互キャパシタンス検知技術が使用されている。
タッチ感知ディスプレイシステム112は、任意選択的に、100dpiを超える映像解像度を有する。いくつかの実施形態では、タッチスクリーンの映像解像度は、400dpiを超える(例えば、500dpi、800dpi、又はより高い)。ユーザは、スタイラス、指などの任意の好適な物体又は付属物を使用して、タッチ感知ディスプレイシステム112と、任意選択的に接触する。いくつかの実施形態では、ユーザインタフェースは、指に基づく接触及びジェスチャで機能するように設計され、タッチスクリーン上の指の接触面積が広いことにより、スタイラスに基づく入力よりも精度が低いことがある。一部の実施形態では、デバイスは、指に基づく粗い入力を正確なポインタ/カーソル位置又はユーザの望むアクションを実行するためのコマンドに変換する。
一部の実施形態では、タッチスクリーンに加えて、デバイス100は、特定の機能をアクティブ化又は非アクティブ化させるためのタッチパッド(図示せず)を任意選択的に含む。一部の実施形態では、タッチパッドは、タッチスクリーンとは異なり、視覚出力を表示しない、デバイスのタッチ感知領域である。タッチパッドは、任意選択的に、タッチ感知ディスプレイシステム112とは別個のタッチ感知面、又はタッチスクリーンによって形成されたタッチ感知面の延長である。
デバイス100はまた、様々な構成要素に電力を供給するための電力システム162をも含む。電力システム162は、任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態標識(例えば、発光ダイオード(LED))、並びにポータブルデバイス内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
デバイス100はまた、1つ以上の光センサ164を任意選択的に含む。図1Aは、I/Oサブシステム106内の光センサコントローラ158に結合された光センサを示す。光センサ(単数又は複数)164は、電荷結合デバイス(charge-coupled device)(CCD)又は相補的金属酸化物半導体(complementary metal-oxide semiconductor)(CMOS)フォトトランジスタを、任意選択的に含む。光センサ(単数又は複数)164は、1つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。撮像モジュール143(カメラモジュールとも称する)と連動して、光センサ(単数又は複数)164は、静止画像及び/又はビデオを、任意選択的にキャプチャする。いくつかの実施形態では、タッチスクリーンが静止画像及び/又は映像取得のためのビューファインダとして使用するために有効化されるように、光センサは、デバイスの前面のタッチ感知ディスプレイシステム112の反対側である、デバイス100の背面に配置される。いくつかの実施形態では、(例えば、自撮りのため、ユーザがタッチスクリーン上で他のビデオ会議参加者を見ている間に、ビデオ会議のためなど)ユーザの画像を得るように、別の光センサがデバイスの前面に配置される。
デバイス100はまた、1つ以上の接触強度センサ165も任意選択的に含む。図1Aは、I/Oサブシステム106内の強度センサコントローラ159に結合された接触強度センサを示す。接触強度センサ(単数又は複数)165は、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、タッチ感知面上の接触の力(又は圧力)を測定するために使用するセンサ)を、任意選択的に含む。接触強度センサ(単数又は複数)165は、環境から接触強度情報(例えば、圧力情報又は圧力情報のプロキシ)を受信する。いくつかの実施形態では、少なくとも1つの接触強度センサが、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置されているか、又は、それに近接している。いくつかの実施形態では、少なくとも1つの接触強度センサが、デバイス100の前面に配置されたタッチスクリーンディスプレイシステム112の反対側である、デバイス100の背面に配置されている。
デバイス100は、1つ以上の近接センサ166をも任意選択的に含む。図1Aは、周辺機器インタフェース118と結合された近接センサ166を示す。あるいは、近接センサ166は、I/Oサブシステム106内の入力コントローラ160に結合される。いくつかの実施形態では、多機能デバイスがユーザの耳の近くに配置されている場合(例えば、ユーザが電話通話を行っている場合)、近接センサが、タッチ感知ディスプレイシステム112をオフにして無効にする。
デバイス100はまた、1つ以上の触知出力生成器163も任意選択的に含んでいる。図1Aは、I/Oサブシステム106内の触覚フィードバックコントローラ161に結合された触知出力生成器を示す。触知出力生成器(単数又は複数)163は、スピーカ又は他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などの、エネルギを直線運動に変換する電気機械デバイスを、任意選択的に含む。触知出力生成器(単数又は複数)163は、触覚フィードバックモジュール133から触知フィードバック生成命令を受信し、デバイス100のユーザが感知できる触知出力をデバイス100上で生成する。一部の実施形態において、少なくとも1つの触知出力生成器は、タッチ感知面(例えば、タッチ感知ディスプレイシステム112)に配置されているか、又はそれに近接しており、任意選択的に、タッチ感知面を垂直方向(例えば、デバイス100の表面の内/外)に、又は横方向(例えば、デバイス100の表面と同じ平面内の前後)に動かすことによって、触知出力を生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器センサは、デバイス100の前面に配置されたタッチ感知ディスプレイシステム112の反対側である、デバイス100の背面に配置されている。
デバイス100はまた、デバイスの位置(例えば、姿勢)に関する情報を得るための1つ以上の加速度計167、ジャイロスコープ168、及び/又は磁気計169(例えば、慣性測定ユニット(inertial measurement unit)(IMU)の一部として)を任意選択的に含む。図1Aは、周辺機器インタフェース118に結合された、センサ167、168、及び169を示す。あるいは、センサ167、168、及び169は、I/Oサブシステム106内の入力コントローラ160に、任意選択的に、結合される。いくつかの実施形態では、情報は、1つ以上の加速度計から受信したデータの分析に基づいて、ポートレートビュー又はランドスケープビューでタッチスクリーンディスプレイ上に表示される。デバイス100は、デバイス100の位置に関する情報を得るためのGPS(若しくはGLONASS又は他の全地球的航法システム)受信機(図示せず)を任意選択的に含む。
いくつかの実施形態では、メモリ102に記憶されたソフトウェア構成要素は、オペレーティングシステム126、通信モジュール(又は命令セット)128、接触/動きモジュール(又は命令セット)130、位置モジュール(又は命令セット)131、グラフィックモジュール(又は命令セット)132、触覚フィードバックモジュール(又は命令セット)133、テキスト入力モジュール(又は命令セット)134、全地球測位システム(Global Positioning System)(GPS)モジュール(又は命令セット)135、及びアプリケーション(又は命令セット)136を含む。更に、いくつかの実施形態では、図1A及び図3に示すように、メモリ102はデバイス/グローバル内部状態157を記憶する。デバイス/グローバル内部状態157は、以下の1つ以上を含む。現在アクティブ状態のアプリケーションがある場合、どのアプリケーションがアクティブかを示す、アクティブアプリケーション状態、どのアプリケーション、ビュー、又は他の情報がタッチ感知ディスプレイシステム112の様々な領域を占領しているかを示す、表示状態、デバイスの様々なセンサ及びその他の入力又は制御デバイス116から得られる情報を含む、センサ状態、並びに、デバイスの位置及び/若しくは姿勢に関する位置並びに/又は姿勢情報。
オペレーティングシステム126(例えば、iOS、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、記憶デバイス制御、電力管理など)を制御及び管理するための様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
通信モジュール128は、1つ以上の外部ポート124を介して他のデバイスとの通信を容易にし、RF回路108及び/又は外部ポート124が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート124(例えば、ユニバーサルシリアルバス(Universal Serial Bus)(USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えば、インターネット、無線LANなど)を通して間接的に、他のデバイスに接続するように適応している。いくつかの実施形態では、外部ポートは、カリフォルニア州CupertinoのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスの一部内で使用される30ピンコネクタと同一の、又はこれに類似した及び/若しくは互換性のあるマルチピン(例えば、30ピン)コネクタである。いくつかの実施形態では、外部ポートは、カリフォルニア州CupertinoのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスの一部内で使用されるLightning(登録商標)コネクタと同一の、又はこれに類似した及び/若しくは互換性のあるLightningコネクタである。
接触/動きモジュール130は、任意選択的に、(ディスプレイコントローラ156と連動して)タッチ感知ディスプレイシステム112との接触、及び他のタッチ感知デバイス(例えば、タッチパッド又は物理クリックホイール)との接触を検出する。接触/動きモジュール130は、接触が発生したかどうかの判定(例えば、フィンガダウンイベントの検出)、接触の強度(例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代用)の判定、接触の移動及びタッチ感知面にわたる移動の追跡(例えば、1つ以上のフィンガドラッグイベントの検出)があるかどうかの判定、及び接触が中止したかどうか(例えば、フィンガアップイベント又は接触の中断の検出)の判定などの、(例えば、指又はスタイラスによる)接触の検出に関係する様々な動作を実行するためのソフトウェア構成要素を含む。接触/動きモジュール130は、タッチ感知面から接触データを受信する。一連の接触データにより表現される接触点の移動を判定することは、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを任意選択的に含む。これらの動作は、任意選択的に、単一の接触(例えば、1つの指の接触又はスタイラスの接触)又は複数の同時接触(例えば、「マルチタッチ」/複数の指の接触及び/又はスタイラスの接触)に適用される。一部の実施形態において、接触/動きモジュール130及びディスプレイコントローラ156は、タッチパッド上の接触を検出する。
接触/動きモジュール130は任意選択的に、ユーザによるジェスチャ入力を検出する。タッチ感知面上の異なるジェスチャは、異なる接触パターン(例えば、異なる動き、タイミング、及び/又は検出される接触の強度)を有する。したがって、ジェスチャは、特定の接触パターンを検出することによって、任意選択的に検出される。例えば、フィンガタップジェスチャを検出することは、フィンガダウンイベントを検出し、続いて(例えば、アイコンの位置での)そのフィンガダウンイベントと同じ位置(又は、実質的に同じ位置)でフィンガアップ(リフトオフ)イベントを検出することを含む。別の実施例として、タッチ感知面でのフィンガスワイプジェスチャの検出は、フィンガダウンイベントを検出し、続いて1つ以上のフィンガドラッグイベントを検出し、その後、フィンガアップ(リフトオフ)イベントを検出することを含む。同様に、タップ、スワイプ、ドラッグ、及び他のジェスチャは、スタイラスに対して、スタイラスに対する特定の接触パターンを検出することにより、任意選択的に検出される。
加速度計167、ジャイロスコープ168、及び/又は磁気計169と連動して、位置モジュール131は、特定の座標系内のデバイスの姿勢(ロール、ピッチ、及び/又はヨー)などの、デバイスに関する姿勢情報を任意選択的に検出する。位置モジュール130は、デバイスの位置の検出及びデバイスの位置の変化の検出に関係する、様々な動作を実行するためのソフトウェア構成要素を含む。いくつかの実施形態では、位置モジュール131は、デバイスに対するスタイラスの姿勢状態の検出及びスタイラスの姿勢状態の変化の検出などの、スタイラスに関する姿勢情報を検出するために、デバイスと共に使用されているスタイラスから受信した情報を使用する。
グラフィックモジュール132は、表示されるグラフィックの視覚的効果(例えば、輝度、透明度、彩度、コントラスト、又は他の視覚特性)を変更するための構成要素を含めた、タッチ感知ディスプレイシステム112又は他のディスプレイ上にグラフィックをレンダリングして表示するための、様々な既知のソフトウェア構成要素を含む。本明細書で使用するとき、用語「グラフィック」は、ユーザに対して表示することができる任意のオブジェクトを含み、それらのオブジェクトとしては、テキスト、ウェブページ、アイコン(ソフトキーを含むユーザインタフェースオブジェクトなど)、デジタル画像、ビデオ、アニメーションなどが挙げられるが、これらに限定されない。
いくつかの実施形態では、グラフィックモジュール132は、使用されるグラフィックを表すデータを記憶する。各グラフィックには、対応するコードが、任意選択的に割り当てられる。グラフィックモジュール132は、アプリケーションなどから、必要に応じて、座標データ及び他のグラフィック特性データと共に、表示されることとなるグラフィックを指定する1つ以上のコードを受信し、次にディスプレイコントローラ156に出力する画面の画像データを生成する。
触覚フィードバックモジュール133は、デバイス100とのユーザ対話に応じて、デバイス100上の1つ以上の場所で触知出力を生成するために、触知出力生成器(単数又は複数)163によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
テキスト入力モジュール134は、任意選択的に、グラフィックモジュール132の構成要素であり、様々なアプリケーション(例えば、連絡先137、電子メール140、IM141、ブラウザ147、及びテキスト入力を必要とする任意の他のアプリケーション)でテキストを入力するための、ソフトキーボードを提供する。
GPSモジュール135は、デバイスの位置を判断し、この情報を様々なアプリケーションで使用するために提供する(例えば、ロケーションベースダイヤル発呼で使用するための電話138へ、ピクチャ/ビデオのメタデータとしてカメラ143へ、並びに気象ウィジェット、地方のイエローページウィジェット、及び地図/ナビゲーションウィジェットなどのロケーションベースのサービスを提供するアプリケーションへ)。
アプリケーション136は、任意選択的に以下のモジュール(又は、命令のセット)、又はそれらのサブセット若しくはスーパーセットを含む。
●連絡先モジュール137(時には、アドレス帳又は連絡先リストとも呼ぶ)、
●電話モジュール138、
●ビデオ会議モジュール139、
●電子メールクライアントモジュール140、
●インスタントメッセージング(instant messaging)(IM)モジュール141、
●トレーニングサポートモジュール142、
●静止画像及び/又はビデオ画像用のカメラモジュール143、
●画像管理モジュール144、
●ブラウザモジュール147、
●カレンダモジュール148、
●気象ウィジェット149−1、株式ウィジェット149−2、計算機ウィジェット149−3、アラーム時計ウィジェット149−4、辞書ウィジェット149−5、及びユーザによって取得された他のウィジェット、並びにユーザ作成ウィジェット149−6のうちの1つ以上を任意選択的に含む、ウィジェットモジュール149、
●ユーザ作成ウィジェット149−6を作成するためのウィジェット作成モジュール150、
●検索モジュール151、
●任意選択的にビデオプレーヤモジュールと音楽プレーヤモジュールで構成された、ビデオ及び音楽プレーヤモジュール152、
●メモモジュール153、
●地図モジュール154、及び/又は
●ビデオ編集モジュール155。
任意選択的にメモリ102内に記憶される他のアプリケーション136の例としては、他のワードプロセッシングアプリケーション、他の画像編集アプリケーション、描画アプリケーション、プレゼンテーションアプリケーション、JAVA(登録商標)対応アプリケーション、暗号化、デジタル著作権管理、音声認識、及び音声複製が挙げられる。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、連絡先モジュール137は、(例えば、メモリ102又はメモリ370内の連絡先モジュール137のアプリケーション内部状態192に記憶される)アドレス帳又は連絡先リストを管理する実行可能命令を含み、それには、アドレス帳に名前(単数又は複数)を加えること、アドレス帳から名前(単数又は複数)を削除すること、電話番号(単数又は複数)、メールアドレス(単数又は複数)、住所(単数又は複数)、又は他の情報を名前と関連付けること、画像を名前と関連付けること、名前を分類して並べ替えること、電話番号又は電子メールアドレスを提供して、電話138、ビデオ会議139、電子メール140、若しくはIM141、による通信を開始する及び/又は容易にすることなどが含まれる。
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、電話モジュール138は、電話番号に対応する一連の文字を入力し、アドレス帳137内の1つ以上の電話番号にアクセスし、入力されている電話番号を修正し、それぞれの電話番号をダイヤルし、会話を実行し、会話が完了した際に接続を切るか又は電話を切る、実行可能命令を含む。上述のように、無線通信は、複数の通信規格、プロトコル、及び技術のうちのいずれかを任意選択的に使用する。
RF回路108、オーディオ回路110、スピーカ111、マイクロフォン113、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、連絡先リスト137、及び電話モジュール138と併せて、ビデオ会議モジュール139は、ユーザの指示に従って、ユーザと1人以上の他の参加者との間のビデオ会議を開始し、行い、終了するための実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、電子メールクライアントモジュール140は、ユーザの指示に応じて、電子メールを作成し、送信し、受信し、管理する、実行可能命令を含む。画像管理モジュール144と連携して、電子メールクライアントモジュール140は、カメラモジュール143で撮影された静止画像又はビデオ画像を有する電子メールを作成及び送信することを非常に容易にする。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、インスタントメッセージモジュール141は、インスタントメッセージと対応する文字列を入力し、入力済みの文字を修正し、それぞれのインスタントメッセージを送信し(例えば、電話ベースのインスタントメッセージのためのショートメッセージサービス(SMS)若しくはマルチメディアメッセージサービス(Multimedia Message Service)(MMS)プロトコルを使用して、又はインターネットベースのインスタントメッセージのためのXMPP、SIMPLE、Apple Push Notification Service(APNs)、若しくはIMPSを使用して)、インスタントメッセージを受信してその受信したインスタントメッセージを見る、実行可能命令を含む。いくつかの実施形態では、送信及び/又は受信されたインスタントメッセージは、MMS及び/又は拡張メッセージングサービス(Enhanced Messaging Service)(EMS)でサポートされるように、グラフィック、写真、オーディオファイル、映像ファイル、及び/又は他の添付を任意選択的に、含む。本明細書で使用するとき、「インスタントメッセージ」とは、電話ベースのメッセージ(例えば、SMS又はMMSを使用して送信されたメッセージ)及びインターネットベースのメッセージ(例えば、XMPP、SIMPLE、APNs、又はIMPSを使用して送信されたメッセージ)の両方を意味する。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、地図モジュール154、及び音楽プレーヤモジュール152と併せて、トレーニングサポートモジュール142は、(例えば、時間、距離、及び/又はカロリー消費目標を有する)トレーニングを作成する、(スポーツデバイス及びスマートウォッチ内の)トレーニングセンサと通信する、トレーニングセンサデータを受信し、トレーニングをモニタするために使用されるセンサを較正し、トレーニングのための音楽を選択して再生し、並びに、トレーニングデータを表示し、記憶し、送信するための実行可能命令を含んでいる。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、光センサ(単数又は複数)164、光センサコントローラ158、接触モジュール130、グラフィックモジュール132、及び画像管理モジュール144と併せて、カメラモジュール143は、静止画像又はビデオ(ビデオストリームを含む)をキャプチャしてメモリ102にそれらを記憶する、静止画像又はビデオの特性を修正する、及び/又はメモリ102から静止画像若しくはビデオを削除するための実行可能命令を含む。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィクモジュール132、テキスト入力モジュール134、及びカメラモジュール143と併せて、画像管理モジュール144は、静止画像及び/又はビデオを配置し、修正し(例えば、編集し)又は別の方法で操作し、ラベルをつけ、削除し、提示し(例えば、デジタルスライドショー又はアルバム内で)、並びに記憶する実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、ブラウザモジュール147は、ウェブページ又はそれらの一部、並びにウェブページにリンクされた添付及び他のファイルを検索し、リンク付け、受信し、表示することを含むユーザの指示に従い、インターネットをブラウズする実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、電子メールクライアントモジュール140、及びブラウザモジュール147と併せて、カレンダモジュール148は、ユーザの指示に従い、カレンダ及びカレンダに関連付けられたデータ(例えば、カレンダ項目、すべきことのリストなど)を作成、表示、変更、並びに記憶する実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と併せて、ウィジェットモジュール149は、任意選択的に、ユーザによってダウンロードされ、使用されるミニアプリケーション(例えば、気象ウィジェット149−1、株式ウィジェット149−2、計算機ウィジェット149−3、アラーム時計ウィジェット149−4、及び辞書ウィジェット149−5)、又はユーザによって作成されるミニアプリケーション(例えば、ユーザ作成ウィジェット149−6)である。一部の実施形態において、ウィジェットは、HTML(Hypertext Markup Language)(ハイパーテキストマークアップ言語)ファイル、CSS(Cascading Style Sheets)(カスケーディングスタイルシート)ファイル、及びJavaScript(登録商標)ファイルを含む。一部の実施形態において、ウィジェットは、XML(Extensible Markup Language)(拡張可能マークアップ言語)ファイル及びJavaScriptファイル(例えば、Yahoo!(登録商標)ウィジェット)を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、及びブラウザモジュール147と併せて、ウィジェット作成モジュール150は、ウィジェットを作成する(例えば、ウェブページのユーザ指定部分をウィジェットに変える)実行可能命令を含む。
タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィクモジュール132、及びテキスト入力モジュール134と併せて、検索モジュール151は、ユーザの指示に従い、1つ以上の検索基準(例えば、1つ以上のユーザ指定の検索語句)と一致する、メモリ102内のテキスト、音楽、音、画像、ビデオ、及び/又は他のファイルを検索する実行可能命令を含む。
タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィクモジュール132、オーディオ回路110、スピーカ111、RF回路108、及びブラウザモジュール147と併せて、ビデオ及び音楽プレーヤモジュール152は、MP3又はAACファイルなどの1つ以上のファイル形式で記憶された録音済みの音楽又は他のサウンドファイルをユーザがダウンロード及び再生できるようにする実行可能命令、並びにビデオを(例えば、タッチ感知ディスプレイシステム112上又は無線で若しくは外部ポート124を介して接続された外部のディスプレイ上に)表示、提示、又は別の方法で再生する実行可能命令を含む。いくつかの実施形態では、デバイス100は、任意選択的に、iPod(Apple Inc.の商標)などのMP3プレーヤの機能を備える。
タッチ感知ディスプレイシステム112、ディスプレイコントローラ156、接触モジュール130、グラフィックモジュール132、及びテキスト入力モジュール134と併せて、メモモジュール153は、ユーザの指示に従って、メモ、すべきことのリストなどを作成及び管理する、実行可能命令を含む。
RF回路108、タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、テキスト入力モジュール134、GPSモジュール135、及びブラウザモジュール147と併せて、地図モジュール154は、ユーザの指示に従って、地図及び地図に関連付けられたデータ(例えば、運転方向、特定の場所若しくはその付近の店舗及び他の対象地点についてのデータ、並びに位置に基づく他のデータ)を受信し、表示し、修正し、記憶する実行可能命令を含む。
タッチ感知ディスプレイシステム112、ディスプレイシステムコントローラ156、接触モジュール130、グラフィックモジュール132、オーディオ回路110、スピーカ111、テキスト入力モジュール134と併せて、ビデオ編集モジュール155は、ユーザが映画及び他のビデオ(例えば、Apple Inc.(Cupertino,California)のiMovie(登録商標))を編集できるようにする実行可能命令を含む。
上記で特定されたモジュール及びアプリケーションのそれぞれは、1つ以上の上記の機能を実行する実行可能な命令セット及び本出願に記載の方法(例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(すなわち、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実施形態において、任意選択的に、組み合わされるか、又は別の方法で再配置される。いくつかの実施形態では、メモリ102は、上述の識別されたモジュール及びデータ構造のサブセットを、任意選択的に記憶する。更に、メモリ102は、上述されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
いくつかの実施形態では、デバイス100は、デバイス上の機能の既定のセットの動作が排他的にタッチスクリーン及び/又はタッチパッドを介して実行されるデバイスである。デバイス100の動作のための主要入力制御デバイスとしてタッチスクリーン及び/又はタッチパッドを使用することにより、デバイス100上の物理的な入力制御デバイス(プッシュボタン、ダイヤル、など)の数を、任意選択的に低減する。
排他的にタッチスクリーン及び/又はタッチパッドを介して実行される、既定の機能のセットは、任意選択的に、ユーザインタフェース間のナビゲーションを含む。いくつかの実施形態では、タッチパッドは、ユーザによってタッチされると、デバイス100上に表示される任意のユーザインタフェースから、メインメニュー、ホームメニュー、又はルートメニューへデバイス100をナビゲートする。かかる実施形態では、「メニューボタン」はタッチパッドを用いて実装される。いくつかの他の実施形態では、メニューボタンは、タッチパッドの代わりに、物理プッシュボタン又は他の物理入力制御デバイスである。
図1Bは、いくつかの実施形態に係る、イベント処理のための例示的な構成要素を示すブロック図である。いくつかの実施形態では、メモリ102(図1A内)又は370(図3)は、イベントソート部170(例えば、オペレーティングシステム126内)及び対応するアプリケーション136−1(例えば、上述のアプリケーション136、137〜155、及び380〜390のいずれか)を含む。
イベントソート部170は、イベント情報を受信し、イベント情報が配信されるアプリケーション136−1及びアプリケーション136−1のアプリケーションビュー191を判定する。イベントソート部170は、イベントモニタ171及びイベントディスパッチャモジュール174を含む。いくつかの実施形態では、アプリケーション136−1は、アプリケーションがアクティブ又は実行中のとき、タッチ感知ディスプレイシステム112上に表示される現在のアプリケーションビュー(単数又は複数)を示す、アプリケーション内部状態192を含む。いくつかの実施形態では、デバイス/グローバル内部状態157は、いずれのアプリケーション(単数又は複数)が現在アクティブであるかを判定するために、イベントソート部170によって使用され、アプリケーション内部状態192は、イベント情報が配信されるアプリケーションビュー191を判定するために、イベントソート部170によって使用される。
いくつかの実施形態では、アプリケーション内部状態192は、アプリケーション136−1が実行を再開する際に使用される再開情報、アプリケーション136−1によって情報が表示されているか又は表示の準備が整っていることを示すユーザインタフェース状態情報、ユーザがアプリケーション136−1の以前の状態又はビューに戻ることを可能にするための状態待ち行列、及びユーザが以前に行ったアクションのリドゥ/アンドゥ待ち行列、のうちの1つ以上などの追加情報を含む。
イベントモニタ171は、周辺機器インタフェース118からイベント情報を受信する。イベント情報は、サブイベント(例えば、マルチタッチジェスチャの一部としての、タッチ感知ディスプレイシステム112上でのユーザのタッチ)についての情報を含む。周辺機器インタフェース118は、I/Oサブシステム106又は近接センサ166、加速度計(単数又は複数)167、ジャイロスコープ(単数又は複数)168、磁気計(単数又は複数)169、及び/若しくは(オーディオ回路110を介して)マイクロフォン113などのセンサから受信する情報を送信する。周辺機器インタフェース118がI/Oサブシステム106から受信する情報は、タッチ感知ディスプレイシステム112又はタッチ感知面からの情報を含む。
一部の実施形態では、イベントモニタ171は、所定の間隔で周辺機器インタフェース118に要求を送信する。これに応じて、周辺機器インタフェース118はイベント情報を送信する。他の実施形態では、周辺機器インタフェース118は、重要なイベント(例えば、所定のノイズ閾値を上回り、かつ/又は所定の持続時間を超えた入力を受信すること)が存在する場合にのみ、イベント情報を送信する。
いくつかの実施形態では、イベントソート部170はまた、ヒットビュー判定モジュール172及び/又はアクティブイベント認識部判定モジュール173も含む。
ヒットビュー判定モジュール172は、タッチ感知ディスプレイシステム112が1つより多くのビューを表示した際に、1つ以上のビュー内のどこにおいてサブイベントが発生したかを判定するためのソフトウェア手続きを提供する。ビューは、制御部及びユーザがディスプレイ上で見ることが可能な他の要素で構成される。
アプリケーションに関連付けられたユーザインタフェースの別の態様は、本明細書では、アプリケーションビュー又はユーザインタフェースウィンドウと呼ばれる場合があるビューのセットであり、それらの中で情報が表示され、タッチに基づくジェスチャが生じる。タッチが検出される(それぞれのアプリケーションの)アプリケーションビューは、アプリケーションのプログラム階層又はビュー階層内のプログラムレベルに任意選択的に、対応する。例えば、タッチが検出される最低レベルのビューは任意選択的に、ヒットビューと呼ばれ、適切な入力として認識されるイベントのセットは、少なくとも部分的に、タッチベースのジェスチャを開始する最初のタッチのヒットビューに基づいて任意選択的に、判定される。
ヒットビュー判定モジュール172は、タッチベースのジェスチャのサブイベントと関連付けられた情報を受信する。アプリケーションが、階層として編成された複数のビューを有する場合、ヒットビュー判定モジュール172は、そのサブイベントを処理すべき階層内の最下位のビューとしての、ヒットビューを特定する。ほとんどの状況では、ヒットビューは、起因となるサブイベント(即ち、イベント又は潜在的なイベントを形成するサブイベントのシーケンスにおける最初のサブイベント)が発生する最低レベルのビューである。ヒットビューがヒットビュー判定モジュールによって特定されると、ヒットビューは、典型的には、それがヒットビューとして特定された、同じタッチ又は入力ソースに関連するすべてのサブイベントを受信する。
アクティブイベント認識部判定モジュール173は、ビュー階層内のどのビュー(単数又は複数)がサブイベントの特定のシーケンスを受信すべきかを判定する。一部の実施形態では、アクティブイベント認識部判定モジュール173は、ヒットビューのみがサブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、アクティブイベント認識部判定モジュール173は、サブイベントの物理位置を含むすべてのビューはアクティブに関わっているビューであると判定し、したがって、すべてのアクティブに関わっているビューは、サブイベントの特定のシーケンスを受信すべきであると判定する。他の実施形態では、タッチサブイベントがある特定のビューに関連付けられた領域に完全に限定されたとしても、階層の上位のビューは、依然としてアクティブに関わっているビューであり続ける。
イベントディスパッチャモジュール174は、イベント情報をイベント認識部(例えば、イベント認識部180)に送信する。アクティブイベント認識部判定モジュール173を含む実施形態において、イベントディスパッチャモジュール174は、アクティブイベント認識部判定モジュール173により判定されたイベント認識部にイベント情報を配信する。いくつかの実施形態では、イベントディスパッチャモジュール174は、それぞれのイベント受信部モジュール182により取得されるイベント情報をイベント待ち行列内に記憶する。
いくつかの実施形態では、オペレーティングシステム126は、イベントソート部170を含む。あるいは、アプリケーション136−1はイベントソート部170を含む。更に他の実施形態では、イベントソート部170は、独立型のモジュール、又は接触/動きモジュール130などの、メモリ102に記憶された別のモジュールの一部である。
いくつかの実施形態では、アプリケーション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に含まれる。
対応するイベント認識部180は、イベントソート部170からイベント情報(例えば、イベントデータ179)を受信して、そのイベント情報からイベントを特定する。イベント認識部180は、イベント受信部182及びイベント比較部184を含む。いくつかの実施形態では、イベント認識部180はまた、メタデータ183及び(サブイベント配信命令を任意選択的に含む)イベント配信命令188の、少なくともサブセットも含む。
イベント受信部182は、イベントソート部170からイベント情報を受信する。このイベント情報は、サブイベントについての情報、例えば、タッチ又はタッチの移動についての情報を含む。サブイベントによっては、イベント情報はまた、サブイベントの場所などの追加情報も含む。サブイベントが、タッチの動きに関わるとき、イベント情報は、サブイベントの速さ及び方向を任意選択的に、更に含む。一部の実施形態では、イベントは、1つの向きから別の向きへの(例えば、縦向きから横向きへの、又はその逆の)デバイスの回転を含み、そのイベント情報は、デバイスの現在の向き(デバイスの姿勢とも呼ばれる)についての対応する情報を含む。
イベント比較部184は、イベント情報を既定のイベント又はサブイベントの定義と比較し、その比較に基づいて、イベント又はサブイベントを判定する、あるいはイベント又はサブイベントの状態を判定若しくは更新する。一部の実施形態において、イベント比較部184は、イベント定義186を含む。イベント定義186は、例えば、イベント1(187−1)、イベント2(187−2)などの、イベントの定義(例えば、サブイベントの既定のシーケンス)を含む。いくつかの実施形態において、イベント187内のサブイベントは、例えば、タッチ開始、タッチ終了、タッチの移動、タッチの中止、及び複数のタッチを含む。ある実施例では、イベント1(187−1)の定義は、表示されたオブジェクト上のダブルタップである。ダブルタップは、例えば、表示されたオブジェクト上の所定の段階についての第1のタッチ(タッチ開始)、所定の段階についての第1のリフトオフ(タッチ終了)、表示されたオブジェクト上の所定の段階についての第2のタッチ(タッチ開始)、及び所定の段階についての第2のリフトオフ(タッチ終了)を含む。別の実施例では、イベント2(187−2)の定義は、表示されたオブジェクト上のドラッグ操作である。ドラッグは、例えば、表示されたオブジェクト上の所定の段階についてのタッチ(又は接触)、タッチ感知ディスプレイシステム112にわたるタッチの移動、及びタッチのリフトオフ(タッチ終了)を含む。一部の実施形態では、イベントはまた、1つ以上の関連付けられたイベント処理部190に関する情報も含む。
一部の実施形態では、イベント定義187は、それぞれのユーザインタフェースオブジェクトに関するイベントの定義を含む。一部の実施形態では、イベント比較部184は、サブイベントに関連付けられたユーザインタフェースオブジェクトを判定するヒットテストを実行する。例えば、3つのユーザインタフェースオブジェクトがタッチ感知ディスプレイシステム112上に表示されるアプリケーションビューにおいて、タッチ感知ディスプレイシステム112上でタッチが検出されると、イベント比較部184は、3つのユーザインタフェースオブジェクトのうちのどれがタッチ(サブイベント)に関連付けられているかを判定するためのヒットテストを行う。表示された各オブジェクトが、対応するイベント処理部190に関連付けられている場合、イベント比較部は、ヒットテストの結果を用いて、どのイベント処理部190をアクティブ化すべきかを判定する。例えば、イベント比較部184は、サブイベント及びヒットテストのトリガーとなるオブジェクトに関連付けられたイベント処理部を選択する。
いくつかの実施形態では、各イベント187に関する定義はまた、サブイベントのシーケンスがイベント認識部のイベントタイプに対応するか否かが判定されるまで、イベント情報の送付を遅延させる、遅延作用も含む。
それぞれのイベント認識部180が一連のサブイベントがイベント定義186のイベントのいずれとも一致しないと判定した場合、それぞれのイベント認識部180は、イベント不可能、イベント失敗、又はイベント終了の状態に入り、その後は、タッチに基づくジェスチャの次のサブイベントを無視する。この状況では、ヒットビューに関してアクティブのまま維持される他のイベント認識部があれば、進行中のタッチに基づくジェスチャのサブイベントを、引き続き追跡及び処理する。
一部の実施形態では、それぞれのイベント認識部180は、構成変更可能なプロパティと、フラグと、及び/又はイベント配信システムがアクティブに関わっているイベント認識部にどのようにサブイベント配信を実行するかについて示すリストと、を有するメタデータ183を含む。いくつかの実施形態において、メタデータ183は、構成可能なプロパティ、フラグ、及び/又はイベント認識部が互いにどのように対話するか、若しくは対話し得るかについて示すリストを含む。一部の実施形態では、メタデータ183は、構成変更可能なプロパティと、フラグと、及び/又はサブイベントがビュー階層又はプログラム階層内の様々なレベルに配信されるか否かを示すリストと、を含む。
一部の実施形態では、それぞれのイベント認識部180は、イベントの1つ以上の特定のサブイベントが認識されたときに、イベントに関連付けられたイベント処理部190をアクティブ化する。一部の実施形態では、それぞれのイベント認識部180は、イベントに関連付けられたイベント情報をイベント処理部190に配信する。イベント処理部190をアクティブ化することは、対応するヒットビューにサブイベントを送信(及び送信を延期する)することとは異なる。一部の実施形態では、イベント認識部180は、認識されたイベントに関連付けられたフラグをスローし、フラグに関連付けられたイベント処理部190は、フラグをキャッチし、既定の処理を実行する。
一部の実施形態では、イベント配信命令188は、イベント処理部をアクティブ化せずに、サブイベントに関するイベント情報を配信するサブイベント配信命令を含む。その代わりに、サブイベント配信命令は、一連のサブイベントに関連付けられたイベント処理部又はアクティブに関わっているビューにイベント情報を配信する。一連のサブイベント又はアクティブに関わっているビューに関連付けられたイベント処理部は、イベント情報を受信し、所定の処理を実行する。
一部の実施形態では、データ更新部176は、アプリケーション136−1で使用されるデータを作成及び更新する。例えば、データ更新部176は、連絡先モジュール137で使用される電話番号を更新、又はビデオプレーヤモジュール145で使用されるビデオファイルを記憶する。いくつかの実施形態では、オブジェクト更新部177は、アプリケーション136−1で使用されるオブジェクトを作成及び更新する。例えば、オブジェクト更新部177は、新たなユーザインタフェースオブジェクトを作成するか、又はユーザインタフェースオブジェクトの位置を更新する。GUI更新部178は、GUIを更新する。例えば、GUI更新部178は、表示情報を準備し、タッチ感知ディスプレイ上に表示するため、表示情報をグラフィックモジュール132に送信する。
一部の実施形態では、イベント処理部(単数又は複数)190は、データ更新部176、オブジェクト更新部177、及びGUI更新部178を含むか、若しくはそれらにアクセスすることができる。一部の実施形態では、データ更新部176、オブジェクト更新部177、及びGUI更新部178は、それぞれのアプリケーション136−1又はアプリケーションビュー191の単一モジュールに含まれる。他の実施形態では、それらは、2つ以上のソフトウェアモジュールに含まれる。
タッチ感知ディスプレイ上のユーザのタッチのイベント処理に関する前述の説明はまた、入力デバイスを用いて多機能デバイス100を動作させるための他の形態のユーザ入力にも適用されるが、そのすべてがタッチスクリーン上で開始されるわけではないことを理解されたい。例えば、単一又は複数のキーボードの押下又は保持に任意選択的に合わせたマウスの移動及びマウスボタンの押下、タッチパッド上でのタップ、ドラッグ、スクロールなどの接触移動、ペンスタイラス入力、デバイスの移動、口頭による指示検出された眼球運動、バイオメトリック入力、及び/又はこれらの任意の組み合わせが、認識対象のイベントを定義するサブイベントに対応する入力として任意選択的に利用される。
図2は、いくつかの実施形態に係る、タッチスクリーン(例えば、図1Aのタッチ感知ディスプレイシステム112)を備えたポータブル多機能デバイス100を示す。タッチスクリーンは、ユーザインタフェース(user interface)(UI)200内に1つ以上のグラフィックを、任意選択的に表示する。本実施形態、並びに後述する他の実施形態において、ユーザは、例えば、1本以上の指202(図には、正確な縮尺率では描かれていない)又は1つ以上のスタイラス203(図には、正確な縮尺率では描かれていない)を用いて、グラフィック上でジェスチャを行うことにより、グラフィックのうちの1つ以上を選択することができる。一部の実施形態において、ユーザが1つ以上のグラフィックとの接触を断った際に、その1つ以上のグラフィックの選択が生じる。一部の実施形態では、ジェスチャは、1回以上のタップ、1回以上のスワイプ(左から右へ、右から左へ、上方向へ及び/又は下方向へ)、並びに/又は、デバイス100と接触した指のローリング(右から左へ、左から右へ、上方向へ及び/若しくは下方向へ)を、任意選択的に含む。一部の実装又は状況では、グラフィックとの不測の接触は、そのグラフィックを選択するものではない。例えば、選択に対応するジェスチャがタップである場合、アプリケーションアイコンの上をスイープするスワイプジェスチャは、対応するアプリケーションを任意選択的に選択しない。
デバイス100はまた、「ホーム」又はメニューボタン204などの、1つ以上の物理ボタンも任意選択的に含む。前述のように、メニューボタン204は、デバイス100上で任意選択的に実行する、アプリケーションのセット内の任意のアプリケーション136へのナビゲーションに、任意選択的に使用される。あるいは、いくつかの実施形態では、メニューボタンは、タッチスクリーンディスプレイに表示されたGUIにおけるソフトキーとして実装されている。
いくつかの実施形態では、デバイス100は、タッチスクリーンディスプレイ、メニューボタン204、デバイスへの電源をオン/オフし、デバイスをロックするためのプッシュボタン206、音量調整ボタン(単数又は複数)208、加入者識別モジュール(SIM)カードスロット210、ヘッドセットジャック212、及びドッキング/充電用外部ポート124を含む。プッシュボタン206は、ボタンを押し下げて、既定の時間にわたってボタンを押し下げた状態で保持することによってデバイス上の電源をオン/オフし、ボタンを押し下げて、既定時間が経過する前にボタンを解放することによってデバイスをロックし、及び/又は、デバイスのロックを解除する、若しくは、ロック解除処理を開始するために、任意選択的に使用される。いくつかの実施形態では、デバイス100はまた、マイクロフォン113を通して、一部の機能をアクティブ化し、又はディアクティブ化するための口頭入力を受け付ける。デバイス100はまた、タッチ感知ディスプレイシステム112上の接触の強度を検出するための1つ以上の接触強度センサ165、及び/又は、デバイス100のユーザに対する触知出力を生成するための1つ以上の触知出力生成器163も、任意選択的に含む。
図3は、いくつかの実施形態に係る、ディスプレイ及びタッチ感知面を備える例示的な多機能デバイスのブロック図である。デバイス300は、ポータブル型である必要はない。一部の実施形態において、デバイス300は、ラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、マルチメディア再生デバイス、ナビゲーションデバイス、教育的デバイス(子供の学習玩具など)、ゲームシステム、又は制御デバイス(例えば、家庭用又は業務用コントローラ)である。デバイス300は、典型的には、1つ以上の処理ユニット(CPU)310と、1つ以上のネットワーク又は他の通信インタフェース360と、メモリ370と、これらの構成要素を相互接続するための1つ以上の通信バス320と、を含んでいる。通信バス320は、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることがある)を任意選択的に含む。デバイス300は、典型的にはタッチスクリーンディスプレイであるディスプレイ340を含む入出力(I/O)インタフェース330を含む。I/Oインタフェース330はまた、キーボード及び/又はマウス(又は他のポインティングデバイス)350並びにタッチパッド355、デバイス300上に触知出力を生成するための(例えば、図1Aを参照して上述された触知出力生成器(単数又は複数)163と同様の)触知出力生成器357、センサ359(例えば、図1Aを参照して上述されたセンサ112、164、165、166、167、168、及び169と同様の、タッチ感知センサ、光センサ、接触強度センサ、近接センサ、加速度センサ、姿勢センサ、及び/又は磁気センサ)も、任意選択的に含む。メモリ370は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの、高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの、不揮発性メモリを含む。メモリ370は、CPU(単数又は複数)310から離れて位置する1つ以上の記憶デバイスを任意選択的に含む。いくつかの実施形態では、メモリ370は、ポータブル多機能デバイス100(図1A)のメモリ102に記憶されたプログラム、モジュール、及びデータ構造に類似する、プログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。更に、メモリ370は、ポータブル多機能デバイス100のメモリ102に存在しない追加のプログラム、モジュール、及びデータ構造を、任意選択的に記憶する。例えば、デバイス300のメモリ370は、描画モジュール380、プレゼンテーションモジュール382、ワードプロセッシングモジュール384、ウェブサイト作成モジュール386、ディスクオーサリングモジュール388、及び/又はスプレッドシートモジュール390を、任意選択的に記憶するが、ポータブル多機能デバイス100(図1A)のメモリ102は、これらのモジュールを、任意選択的に記憶しない。
上記で特定された図3の要素のそれぞれは、任意選択的に、上述のメモリデバイスのうちの1つ以上に記憶される。上記で識別されたモジュールうちのそれぞれは、上述した機能を実行するための命令セットに対応する。上述の識別されたモジュール又はプログラム(すなわち、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実施される必要はなく、したがって、様々な実施形態において、これらのモジュールの様々なサブセットは、任意選択的に、組み合わされるか、又は別の方法で再配置される。一部の実施形態において、メモリ370は、上述の識別されたモジュール及びデータ構造のサブセットを任意選択的に記憶する。更に、メモリ370は、上述されていない追加のモジュール及びデータ構造を、任意選択的に記憶する。
図4は、いくつかの実施形態に係る、例示的な電子スタイラス203のブロック図である。電子スタイラス203は、単にスタイラスと呼ばれる場合もある。スタイラス203は、メモリ402(任意選択的に、1つ以上のコンピュータ可読記憶媒体を含む)、メモリコントローラ422、1つ以上の処理ユニット(CPU)420、周辺機器インタフェース418、RF回路408、入出力(I/O)サブシステム406、及びその他の入力又は制御デバイス416を含む。スタイラス203は、外部ポート424、及び1つ以上の光センサ464を任意選択的に含む。スタイラス203は、デバイス100(例えば、スタイラス203がデバイス100のタッチ感知ディスプレイシステム112などのタッチ感知面と共に使用される場合)上の、又は他の表面(例えば、机の表面)上のスタイラス203の接触の強度を検出するための、1つ以上の強度センサ465を任意選択的に含む。スタイラス203は、スタイラス203上で触知出力を生成するための1つ以上の触知出力生成器463を任意選択的に含む。これらの構成要素は、1つ以上の通信バス又は信号ライン403を介して任意選択的に通信する。
いくつかの実施形態では、上述した「触知出力」という用語は、ユーザの触覚でユーザによって検出される、デバイス(例えば、デバイス100)のアクセサリ(例えば、スタイラス203)の、このアクセサリの従前の位置に対する物理的変位、アクセサリの構成要素のアクセサリの別の構成要素に対する物理的変位、又はアクセサリの質量中心に対する構成要素の変位を指す。例えば、アクセサリ又はアクセサリの構成要素が、タッチに敏感なユーザの表面(例えば、ユーザの手の指、手のひら、又は他の部分)に接触している状況において、物理的変位によって生成された触知出力は、アクセサリ又はアクセサリの構成要素の物理的特性の認識された変化に相当する触感として、ユーザによって解釈される。例えば、構成要素(例えば、スタイラス203の筐体)の移動は、ユーザによって、物理アクチュエータボタンの「クリック」として任意選択的に解釈される。いくつかの場合には、ユーザの動作により物理的に押された(例えば、変位された)スタイラスに関連付けられた物理アクチュエータボタンの移動がないときでさえ、ユーザは「クリック」などの触感を感じるであろう。そのようなユーザによるタッチの解釈は、ユーザの個人的な感覚認知に左右されるものではあるが、大多数のユーザに共通する、多くのタッチの感覚認知が存在する。したがって、触知出力が、ユーザの特定の感覚認知(例えば、「クリック」)に対応するものと記述される場合、別途記載のない限り、生成された触知出力は、典型的な(又は、平均的な)ユーザの記述された感覚認知を生成するデバイス、又はデバイスの構成要素の物理的変位に対応する。
スタイラス203は、電子スタイラスの一実施例に過ぎず、スタイラス203は、示されているものよりも多くの構成要素又は少ない構成要素を任意選択的に有し、2つ以上の構成要素を任意選択的に組み合わせるか、又は、それらの構成要素の異なる構成若しくは配置を任意選択的に有することを理解されたい。図4に示す様々な構成要素は、1つ以上の信号処理回路及び/又は特定用途向け集積回路を含む、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせで実装される。
メモリ402は、任意選択的に高速ランダムアクセスメモリを含み、また任意選択的に、1つ以上のフラッシュメモリデバイス、又は他の不揮発性ソリッドステートメモリデバイスなどの、不揮発性メモリも含む。CPU(単数又は複数)420及び周辺機器インタフェース418などの、スタイラス203の他の構成要素によるメモリ402へのアクセスは、メモリコントローラ422により任意選択的に制御される。
周辺機器インタフェース418を使用して、このスタイラスの入力及び出力周辺機器を、CPU(単数又は複数)420及びメモリ402に結合することができる。1つ以上のプロセッサ420は、スタイラス203のための様々な機能を実行しデータを処理するために、メモリ402に記憶された様々なソフトウェアプログラム及び/若しくは命令セットを動作させ、又は実行する。
いくつかの実施形態では、周辺機器インタフェース418、CPU(単数又は複数)420、及びメモリコントローラ422は、任意選択的に、チップ404などの単一チップ上に実装される。いくつかの他の実施形態において、これらは、個別のチップ上に、任意選択的に実装される。
RF(無線周波数)回路408は、電磁信号とも呼ばれるRF信号を送受信する。RF回路408は、電気信号を電磁信号に、又は電磁信号を電気信号に変換し、電磁信号を介して、デバイス100若しくは300、通信ネットワーク、及び/又は他の通信デバイスと通信する。RF回路408は、アンテナシステム、RF送受信機、1つ以上の増幅器、同調器、1つ以上の発振器、デジタル信号プロセッサ、CODECチップセット、加入者識別モジュール(SIM)カード、メモリなどを含むがこれらに限定されない、これらの機能を実行するための周知の回路を、任意選択的に含んでいる。RF回路408は、ワールドワイドウェブ(WWW)とも呼ばれるインターネット、イントラネット、並びに/又は、セルラー電話ネットワーク、無線ローカルエリアネットワーク(LAN)、及び/若しくはメトロポリタンエリアネットワーク(MAN)などの無線ネットワークなどのネットワーク、並びに他のデバイス、と無線通信によって、任意選択的に通信する。無線通信は、複数の通信規格、通信プロトコル、及び通信技術のうちのいずれかを、任意選択的に使用し、それらの通信規格、通信プロトコル、及び通信技術としては、移動通信用のグローバルシステム(Global System for Mobile Communications)(GSM)、拡張データGSM環境(Enhanced Data GSM Environment)(EDGE)、高速ダウンリンクパケット接続(high-speed downlink packet access)(HSDPA)、高速アップリンクパケット接続(high-speed uplink packet access)(HSUPA)、Evolution,Data−Only(EV−DO)、HSPA、HSPA+、2重セルHSPA(Dual-Cell HSPA)(DC−HSPDA)、ロングタームエボリューション(long term evolution)(LTE)、近距離無線通信(near field communication)(NFC)、広帯域符号分割多元接続(wideband code division multiple access)(W−CDMA)、符号分割多元接続(code division multiple access)(CDMA)、時分割多元接続(time division multiple access)(TDMA)、Bluetooth(登録商標)、Wireless Fidelity(Wi−Fi)(登録商標)(例えば、IEEE 802.11a、IEEE 802.11ac、IEEE 802.11ax、IEEE 802.11b、IEEE 802.11g、及び/又はIEEE 802.11n)、ボイスオーバーインターネットプロトコル(voice over Internet Protocol)(VoIP)、Wi−MAX、電子メール用のプロトコル(例えば、インターネットメッセージアクセスプロトコル(Internet message access protocol)(IMAP)及び/又はポストオフィスプロトコル(post office protocol)(POP))、インスタントメッセージング(例えば、拡張可能メッセージング及びプレゼンスプロトコル(extensible messaging and presence protocol)(XMPP)、インスタントメッセージング及びプレゼンス利用拡張向けセッション開始プロトコル(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions)(SIMPLE)、インスタントメッセージング及びプレゼンスサービス(Instant Messaging and Presence Service)(IMPS))、及び/又はショートメッセージサービス(Short Message Service)(SMS)、あるいは本文書の出願日現在までにまだ開発されていない通信プロトコルを含めた任意の他の好適な通信プロトコルが挙げられるが、これらに限定されない。
I/Oサブシステム406は、その他の入力又は制御デバイス416などの、スタイラス203上の入出力周辺機器を周辺機器インタフェース418に結合する。I/Oサブシステム406は、任意選択的に、光センサコントローラ458、強度センサコントローラ459、触覚フィードバックコントローラ461、及びその他の入力又は制御デバイスのための1つ以上の入力コントローラ460を含む。1つ以上の入力コントローラ460は、その他の入力又は制御デバイス416から電気信号を受信し、それらへ電気信号を送信する。その他の入力又は制御デバイス416は、任意選択的に、物理ボタン(例えば、プッシュボタン、ロッカボタンなど)、ダイヤル、スライダスイッチ、クリックホイールなどを含む。いくつかの代替的実施形態では、入力コントローラ(単数又は複数)460は、赤外線ポート及び/又はUSBポートのうちのいずれかに、任意選択的に結合される(又は、いずれにも結合されない)。
スタイラス203はまた、様々な構成要素に電力を供給するための電力システム462をも含む。電力システム462は任意選択的に、電力管理システム、1つ以上の電源(例えば、バッテリ、交流(AC))、再充電システム、停電検出回路、電力コンバータ又はインバータ、電力状態標識(例えば、発光ダイオード(LED))、並びにポータブルデバイス及び/又はポータブルアクセサリ内での電力の生成、管理、及び分配に関連付けられた任意の他の構成要素を含む。
スタイラス203はまた、1つ以上の光センサ464を任意選択的に含む。図4は、I/Oサブシステム406内の光センサコントローラ458に結合された、光センサを示す。光センサ(単数又は複数)464は、電荷結合デバイス(CCD)又は相補的金属酸化物半導体(CMOS)フォトトランジスタを、任意選択的に含む。光センサ(単数又は複数)464は、1つ以上のレンズを通して投影された、環境からの光を受光し、その光を、画像を表すデータに変換する。
スタイラス203はまた、1つ以上の接触強度センサ465も任意選択的に含む。図4は、I/Oサブシステム406内の強度センサコントローラ459に結合された、接触強度センサを示す。接触強度センサ(単数又は複数)465は、1つ以上のピエゾ抵抗ひずみゲージ、電気容量式力センサ、電気力センサ、圧電力センサ、光学力センサ、容量式タッチ感知面、又は他の強度センサ(例えば、表面上の接触の力(又は圧力)を測定するために使用するセンサ)を、任意選択的に含む。接触強度センサ(単数又は複数)465は、環境から接触強度情報(例えば、圧力情報又は圧力情報のプロキシ)を受信する。いくつかの実施形態では、少なくとも1つの接触強度センサが、スタイラス203の先端部に配置されているか、又は、それに近接している。
スタイラス203はまた、1つ以上の近接センサ466を任意選択的に含む。図4は、周辺機器インタフェース418に結合された、近接センサ466を示す。あるいは、近接センサ466は、I/Oサブシステム406内の入力コントローラ460に結合される。いくつかの実施形態では、近接センサは、電子デバイス(例えば、デバイス100)へのスタイラス203の近接を判定する。
スタイラス203はまた、1つ以上の触知出力生成器463も任意選択的に含んでいる。図4は、I/Oサブシステム406内の触覚フィードバックコントローラ461に結合された触知出力生成器を示す。触知出力生成器(単数又は複数)463は、スピーカ又は他のオーディオ構成要素などの1つ以上の電気音響デバイス、及び/又はモータ、ソレノイド、電気活性ポリマー、圧電アクチュエータ、静電アクチュエータ、若しくは他の触知出力生成構成要素(例えば、デバイス上で電気信号を触知出力に変換する構成要素)などの、エネルギを直線運動に変換する電気機械デバイスを、任意選択的に含む。触知出力生成器(単数又は複数)463は、触覚フィードバックモジュール433から触知フィードバック生成命令を受信し、スタイラス203のユーザが感知できる触知出力をスタイラス203上で生成する。いくつかの実施形態では、少なくとも1つの触知出力生成器は、一本のスタイラス203(例えば、本体又は筐体)に配置され、又はそれに近接し、任意選択的に、スタイラス203を垂直方向に(例えば、スタイラス203の全長に平行な方向に)又は横方向に(例えば、スタイラス203の全長に垂直な方向に)移動することにより、触知出力を生成する。
スタイラス203はまた、1つ以上の加速度計467、ジャイロスコープ468、及び/又は磁気計469(例えば、スタイラス203の位置及び姿勢状態に関する情報を得るための慣性測定ユニット(IMU)の一部として)を任意選択的に含む。図4は、周辺機器インタフェース418に結合された、センサ467、468、及び469を示す。あるいは、センサ467、468、及び469は、I/Oサブシステム406内の入力コントローラ460に、任意選択的に、結合される。スタイラス203は、スタイラス203の位置に関する情報を得るためのGPS(若しくはGLONASS又は他の全地球的航法システム)受信機(図示せず)を任意選択的に含む。
一部の実施形態では、メモリ402に記憶されたソフトウェア構成要素は、オペレーティングシステム426、通信モジュール(又は命令セット)428、接触/動きモジュール(又は命令セット)430、位置モジュール(又は命令セット)431、及び全地球測位システム(GPS)モジュール(又は命令セット)435を含む。更に、いくつかの実施形態では、図4に示すように、メモリ402はデバイス/グローバル内部状態457を記憶する。デバイス/グローバル内部状態457は、スタイラスの様々なセンサ及びその他の入力又は制御デバイス416から得られる情報を含むセンサ状態、デバイス(例えば、デバイス100)に対するスタイラスの姿勢(例えば、図5A及び5Bに示すような位置、向き、傾き、ロール、及び/又は距離)に関する情報を含む姿勢状態、及びスタイラスの位置(例えば、GPSモジュール435により判定される)に関する位置情報、のうちの1つ以上を含む。
オペレーティングシステム426(例えば、iOS、Darwin(登録商標)、RTXC(登録商標)、LINUX(登録商標)、UNIX(登録商標)、OS X(登録商標)、WINDOWS(登録商標)、又はVxWorks(登録商標)などの組み込みオペレーティングシステム)は、一般的なシステムタスク(例えば、メモリ管理、電力管理など)を制御及び管理するための様々なソフトウェア構成要素及び/又はドライバを含み、様々なハードウェア構成要素とソフトウェア構成要素との間の通信を容易にする。
通信モジュール428は、任意選択的に1つ以上の外部ポート424を介して他のデバイスとの通信を容易にし、RF回路408及び/又は外部ポート424が受信したデータを処理するための様々なソフトウェア構成要素をも含む。外部ポート424(例えば、ユニバーサルシリアルバス(USB)、FIREWIRE(登録商標)など)は、直接的に、又はネットワーク(例えば、インターネット、無線LANなど)を通して間接的に、他のデバイスに接続するように適応している。いくつかの実施形態では、外部ポートは、カリフォルニア州CupertinoのApple Inc.からのiPhone(登録商標)、iPod Touch(登録商標)、及びiPad(登録商標)デバイスの一部内で使用されるLightning(登録商標)コネクタと同一の、又はこれに類似した及び/若しくは互換性のあるLightningコネクタである。
接触/動きモジュール430は、スタイラス203及びスタイラス203の他のタッチ感知式デバイス(例えば、スタイラス203のボタン又は他のタッチ感知式構成要素)での接触を任意選択的に検出する。接触/動きモジュール430は、接触が発生したかどうかの判定(例えば、タッチダウンイベントの検出)、接触の強度(例えば、接触の力若しくは圧力、又は、接触の力若しくは圧力の代用)の判定、接触の移動があるかどうかの判定及び移動の追跡(例えば、デバイス100のタッチスクリーン112にわたる)、及び接触が中止したかどうかの判定(例えば、リフトオフイベント又は接触の中断の検出)などの、接触の検出(例えば、デバイス100のタッチスクリーン112などのタッチ感知ディスプレイでの、又は机の表面などの別の表面でのスタイラスの先端部の検出)に関係する様々な動作を実行するためのソフトウェア構成要素を含む。いくつかの実施形態では、接触/動きモジュール430は、I/Oサブシステム406から接触データを受信する。一連の接触データにより表現される接触点の移動を判定することは、接触点の速さ(大きさ)、速度(大きさ及び方向)、及び/又は加速度(大きさ及び/又は方向の変化)を判定することを任意選択的に含む。上述したように、いくつかの実施形態では、接触の検出に関係するこれらの動作のうちの1つ以上は、接触/動きモジュール130を使用して(接触/動きモジュール430を使用するスタイラスに加えて又は代わりに)デバイスにより実行される。
接触/動きモジュール430は任意選択的に、スタイラス203によるジェスチャ入力を検出する。スタイラス203での異なるジェスチャは、異なる接触パターン(例えば、異なる動き、タイミング、及び/又は検出される接触の強度)を有する。したがって、ジェスチャは、特定の接触パターンを検出することによって、任意選択的に検出される。例えば、単一のタップジェスチャを検出することは、(例えば、アイコンの位置での)タッチダウンイベントを検出し、続いてそのタッチダウンイベントと同じ位置(又は、実質的に同じ位置)でリフトオフイベントを検出することを含む。別の実施例として、スワイプジェスチャを検出することは、タッチダウンイベントを検出し、続いて、1つ以上の、スタイラスをドラッグするイベントを検出し、その後、続いてリフトオフイベントを検出することを含む。上述したように、いくつかの実施形態では、ジェスチャ検出は、接触/動きモジュール130を使用して(接触/動きモジュール430を使用するスタイラスに加えて又は代わりに)デバイスにより実行される。
加速度計467、ジャイロスコープ468、及び/又は磁気計469と連動して、位置モジュール431は、特定の座標系内のスタイラスの姿勢(ロール、ピッチ、及び/又はヨー)などの、スタイラスに関する姿勢情報を任意選択的に検出する。加速度計467、ジャイロスコープ468、及び/又は磁気計469と連動して、位置モジュール431は、スタイラスのフリック、タップ、及びロールなどのスタイラスの移動ジェスチャを任意選択的に検出する。位置モジュール431は、特定の座標系内のスタイラスの位置の検出及びスタイラスの位置の変化の検出に関係する、様々な動作を実行するためのソフトウェア構成要素を含む。いくつかの実施形態では、位置モジュール431は、デバイスに対するスタイラスの姿勢状態を検出し、デバイスに対するスタイラスの姿勢状態の変化を検出する。上述したように、いくつかの実施形態では、デバイス100又は300は、位置モジュール131を使用して(位置モジュール431を使用するスタイラスに加えて又は代わりに)、デバイスに対するスタイラスの姿勢状態、及びスタイラスの姿勢状態の変化を判定する。
触覚フィードバックモジュール433は、スタイラス203とのユーザ対話に応じて、スタイラス203上の1つ以上の場所で触知出力を生成するために、触知出力生成器(単数又は複数)463によって使用される命令を生成するための、様々なソフトウェア構成要素を含む。
GPSモジュール435は、スタイラスの位置を判定し、この情報を、様々なアプリケーションで使用するために(例えば、紛失したデバイス及び/又はアクセサリを見つけるためのアプリケーションなどの位置に基づくサービスを提供するアプリケーションに)提供する。
上記で特定されたモジュール及びアプリケーションのそれぞれは、1つ以上の上記の機能を実行する実行可能な命令セット及び本出願に記載の方法(例えば、コンピュータにより実行される方法及び本明細書に記載の他の情報処理方法)に対応する。これらのモジュール(すなわち、命令セット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実施形態において、任意選択的に、組み合わされるか、又は別の方法で再配置される。いくつかの実施形態では、メモリ402は、上述の識別されたモジュール及びデータ構造のサブセットを、任意選択的に記憶する。更に、メモリ402は、上述されていない追加のモジュール及びデータ構造を任意選択的に記憶する。
図5A〜5Bは、いくつかの実施形態に係る、タッチ感知面(例えば、デバイス100のタッチスクリーン112)に対するスタイラス203の姿勢状態を示す。いくつかの実施形態では、スタイラス203の姿勢状態は、タッチ感知面上のスタイラスの先端部(又は他の代表部分)の投影の位置(例えば、図5Aの(x、y)位置504)、タッチ感知面に対するスタイラスの向き(例えば、図5Aの向き506)、タッチ感知面に対するスタイラスの傾き(例えば、図5Bの傾き512)、及び/又はタッチ感知面に対するスタイラスの距離(例えば、図5Bの距離514)に対応する(又はそれらを示す)。いくつかの実施形態では、スタイラス203の姿勢状態は、スタイラスのピッチ、ヨー、及び/又はロール(例えば、タッチ感知面(例えば、タッチスクリーン112)又は地表などの特定の座標系に対するスタイラスの姿勢)に対応する(又はそれらを示す)。いくつかの実施形態では、姿勢状態は、姿勢パラメータ(例えば、1つ以上の姿勢パラメータ)のセットを含む。いくつかの実施形態では、姿勢状態は、電子デバイス(例えば、デバイス100)に送信されるスタイラス203からの1つ以上の測定値に従って検出される。例えば、スタイラスは、スタイラスの傾き(例えば、図5Bの傾き512)及び/又は向き(例えば、図5Aの向き506)を測定して、測定値をデバイス100に送信する。いくつかの実施形態では、姿勢状態は、スタイラス203からの1つ以上の測定値に従って検出される姿勢状態の代わりに又はそれと組み合わせて、タッチ感知面(例えば、デバイス100のタッチスクリーン112)によって感知される、スタイラス内の1つ以上の電極からの未処理出力に従って検出される。例えば、タッチ感知面は、スタイラス内の1つ以上の電極からの未処理出力を受信して、未処理出力に基づいて(任意選択的に、スタイラスにより生成されるセンサの測定値に基づいてスタイラスにより提供される姿勢状態情報と併せて)、スタイラスの傾き及び/又は向きを計算する。
図5Aは、いくつかの実施形態による、タッチ感知面の真上の視点からの、タッチ感知面(例えば、デバイス100のタッチスクリーン112)に対するスタイラス203を示す。図5Aで、z軸594は、紙面から出る方向(すなわち、タッチスクリーン112の平面に垂直な方向)を指し、x軸590は、タッチスクリーン112の第1の縁部(例えば、長さ)に平行であり、y軸592は、タッチスクリーン112の第2の縁部(例えば、幅)に平行であり、y軸592は、x軸590に垂直である。
図5Aは、(x、y)位置504でのスタイラス203の先端部を示す。いくつかの実施形態では、スタイラス203の先端部は、タッチ感知面(例えば、タッチスクリーン112)へのスタイラスの近接を判定するように構成された、スタイラスの終端である。いくつかの実施形態では、タッチ感知面上のスタイラスの先端部の投影は、正射影である。換言すれば、タッチ感知面上のスタイラスの先端部の投影は、タッチ感知面の表面に垂直な、スタイラスの先端部からタッチ感知面への線の端部の点(例えば、スタイラスがタッチ感知面に垂直な経路に沿って直接移動された場合にスタイラスの先端部がタッチ感知面にタッチするであろう(x、y)位置504)である。いくつかの実施形態では、タッチスクリーン112の左下隅の(x、y)位置は、位置(0、0)(例えば、(0、0)位置502)であり、タッチスクリーン112上の他の(x、y)位置は、タッチスクリーン112の左下隅に対するものである。あるいは、いくつかの実施形態では、(0、0)位置は、タッチスクリーン112の別の位置に(例えば、タッチスクリーン112の中心に)配置され、他の(x、y)位置は、タッチスクリーン112の(0、0)位置に対するものである。
更に、図5Aは、向き506を有するスタイラス203を示す。いくつかの実施形態では、向き506は、タッチスクリーン112上へのスタイラス203の投影(例えば、タッチスクリーン112上への、スタイラス203の長さ又はスタイラス203の2つの異なる点の投影の間の線に対応する線の正射影)の向きである。いくつかの実施形態では、向き506は、タッチスクリーン112に平行な平面内の少なくとも1つの軸に対するものである。いくつかの実施形態では、向き506は、タッチスクリーン112に平行な平面内の単一の軸(例えば、図5Aに示すような、0度〜360度の範囲の軸508から時計回りの回転角度を有する、軸508)に対するものである。あるいは、いくつかの実施形態では、向き506は、タッチスクリーン112に平行な平面内の一対の軸(例えば、図5Aに示すようなx軸590及びy軸592、又はタッチスクリーン112上に表示されたアプリケーションに関連付けられた一対の軸)に対するものである。
いくつかの実施形態では、タッチ感知ディスプレイ(例えば、デバイス100のタッチスクリーン112)上に、目印(例えば、目印516)が表示される。いくつかの実施形態では、目印516は、スタイラスがタッチ感知ディスプレイにタッチする前に、スタイラスがタッチ感知ディスプレイにタッチする(又はマークをつける)であろう場所を示す。いくつかの実施形態では、目印516は、タッチ感知ディスプレイ上に描かれているマークの一部分である。いくつかの実施形態では、目印516は、タッチ感知ディスプレイ上に描かれているマークとは別個であり、マークがタッチ感知ディスプレイ上に描かれるであろう場所を示す仮想の「ペン先端部」又は他の要素に対応する。
いくつかの実施形態では、目印516は、スタイラス203の姿勢状態に従って表示される。例えば、いくつかの状況では、目印516は、(x、y)位置504から変位され(図5A及び5Bに示すように)、他の状況では、目印516は、(x、y)位置504から変位されない(例えば、傾き512がゼロ度である場合、目印516は、(x、y)位置504に、又はその付近に表示される)。いくつかの実施形態では、目印516は、スタイラスの姿勢状態に従って、異なる色、サイズ(又は半径若しくはエリア)、不透明度、及び/又は他の特性を有して表示される。いくつかの実施形態では、表示される目印は、画素を覆う「ガラス上に」目印を表示するのではなく、目印を通してタッチ感知ディスプレイの「画素上に」伝わるように、タッチ感知ディスプレイ上のガラス層の厚さに相当する。
図5Bは、いくつかの実施形態による、タッチ感知面の側面の視点からの、タッチ感知面(例えば、デバイス100のタッチスクリーン112)に対するスタイラス203を示す。図5Bで、z軸594は、タッチスクリーン112の平面に垂直な方向を指し、x軸590は、タッチスクリーン112の第1の縁部(例えば、長さ)に平行であり、y軸592は、タッチスクリーン112の第2の縁部(例えば、幅)に平行であり、y軸592は、x軸590に垂直である。
図5Bは、傾き512を有するスタイラス203を示す。いくつかの実施形態では、傾き512は、タッチ感知面の表面の法線(単にタッチ感知面の法線とも呼ばれる)(例えば、法線510)に対する角度である。図5Bに示すように、傾き512は、スタイラスがタッチ感知面に垂直/直角である場合(例えば、スタイラス203が法線510に平行である場合)にゼロであり、スタイラスがタッチ感知面と平行に近づいて傾斜すると、傾きは増大する。
更に図5Bは、タッチ感知面に対するスタイラス203の距離514を示す。いくつかの実施形態では、距離514は、タッチ感知面に垂直な方向の、スタイラス203の先端部からタッチ感知面までの距離である。例えば、図5Bで、距離514は、スタイラス203の先端部から(x、y)位置504までの距離である。
「x軸」、「y軸」、及び「z軸」という用語は、本明細書で使用されるとき、特定の図中の特定の方向を示すが、これらの用語が絶対的な方向を指すのではないことが理解されるであろう。換言すれば、「x軸」は、任意の対応する軸であってよく、「y軸」は、x軸とは別個の特定の軸であってよい。一般的には、x軸は、y軸に垂直である。同様に、「z軸」は、「x軸」及び「y軸」とは別個であり、一般的に、「x軸」及び「y軸」の両方に垂直である。
更に図5Bは、ロール518、スタイラス203の全長(長軸)回りの回転を示す。
ここで、ポータブル多機能デバイス100上に任意選択的に実装される、ユーザインタフェース(「UI」)の実施形態に注意を向ける。
図6Aは、いくつかの実施形態に係る、ポータブル多機能デバイス100上のアプリケーションのメニューのための、例示的なユーザインタフェースを示す。同様のユーザインタフェースがデバイス300上に、任意選択的に、実装される。いくつかの実施形態では、ユーザインタフェース600は、以下の要素、又はそれらのサブセット若しくはスーパーセットを含む。
●セルラー及びWi−Fi信号などの無線通信(単数又は複数)のための信号強度インジケータ(単数又は複数)602、
●時刻604、
●Bluetoothインジケータ605、
●バッテリ状態インジケータ606、
●下記などの、頻繁に利用されるアプリケーション用のアイコンを含むトレー608、
○不在着信又は音声メールメッセージの数のインジケータ614を任意選択的に含む、「電話」とラベル付けされた、電話モジュール138用のアイコン616、
○未読電子メールの数のインジケータ610を任意選択的に含む、「メール」とラベル付けされた、電子メールクライアントモジュール140用のアイコン618、
○「ブラウザ」とラベル付けされた、ブラウザモジュール147用のアイコン620、及び
○「iPod」とラベル付けされた、iPod(Apple Inc.の商標)モジュール152とも称されるビデオ及び音楽プレーヤモジュール152用のアイコン622、及び
●下記などの、その他のアプリケーション用のアイコン、
○「メッセージ」とラベル付けされた、IMモジュール141用のアイコン624、
○「カレンダ」とラベル付けされた、カレンダモジュール148用のアイコン626、
○「写真」とラベル付けされた、画像管理モジュール144用のアイコン628、
○「カメラ」とラベル付けされた、カメラモジュール143用のアイコン630、
○「ビデオ編集」とラベル付けされた、ビデオ編集モジュール155用のアイコン632、
○「株価」とラベル付けされた、株式ウィジェット149−2用のアイコン634、
○「マップ」とラベル付けされた、地図モジュール154用のアイコン636、
○「天気」とラベル付けされた、気象ウィジェット149−1用のアイコン638、
○「時計」とラベル付けされた、アラーム時計ウィジェット149−4用のアイコン640、
○「トレーニングサポート」とラベル付けされた、トレーニングサポートモジュール142用のアイコン642、
○「メモ」とラベル付けされた、メモモジュール153用のアイコン644、及び
○デバイス100及びその様々なアプリケーション136に関する設定へのアクセスを提供する、設定アプリケーション若しくはモジュール用のアイコン646。
図6Aに示されているアイコンのラベルは、単に例示的であることに留意されたい。例えば、いくつかの実施形態では、ビデオ及び音楽プレーヤモジュール152用のアイコン622は、「音楽」又は「音楽プレーヤ」とラベル付けされる。他のラベルが、様々なアプリケーションアイコンのために、任意選択的に使用される。一部の実施形態では、それぞれのアプリケーションアイコンに関するラベルは、それぞれのアプリケーションアイコンに対応するアプリケーションの名前を含む。一部の実施形態では、特定のアプリケーションアイコンのラベルは、特定のアプリケーションアイコンに対応するアプリケーションの名前とは異なる。
図6Bは、ディスプレイ650とは別個のタッチ感知面651(例えば、図3のタブレット又はタッチパッド355)を備えたデバイス(例えば、図3のデバイス300)上の例示的なユーザインタフェースを示す。デバイス300はまた、タッチ感知面651上の接触の強度を検出するための1つ以上の接触強度センサ(例えば、センサ359のうちの1つ以上)、及び/又はデバイス300のユーザに対する触知出力を生成するための1つ以上の触知出力生成器359を任意選択的に含む。
図6Bは、ディスプレイ650とは別個のタッチ感知面651(例えば、図3のタブレット又はタッチパッド355)を備えたデバイス(例えば、図3のデバイス300)上の例示的なユーザインタフェースを示す。以下の実施例のうちの多くはタッチスクリーンディスプレイ112上での入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、一部の実施形態では、デバイスは、図6Bに示すように、ディスプレイとは別個のタッチ感知面上での入力を検出する。いくつかの実施形態では、タッチ感知面(例えば、図6Bの651)は、ディスプレイ(例えば、650)上の主軸(例えば、図6Bの653)に対応する主軸(例えば、図6Bの652)を有する。これらの実施形態によれば、デバイスは、ディスプレイ上のそれぞれの位置に対応する位置(例えば、図6Bにおいて、660は668と対応し、662は670と対応する)でのタッチ感知面651との接触(例えば、図6Bの660及び662)を検出する。このように、タッチ感知面がディスプレイとは別個のものである場合、タッチ感知面(例えば、図6Bの651)上でデバイスによって検出されたユーザ入力(例えば、接触660及び662、及びそれらの移動)は、多機能デバイスのディスプレイ(例えば、図6Bの650)上のユーザインタフェースを操作するためにデバイスによって使用される。同様の方法が、本明細書に記載の他のユーザインタフェースに任意選択的に使用されることを理解されたい。
更に加えて、以下の実施例は主に指入力(例えば、指の接触、指のタップジェスチャ、指のスワイプジェスチャなど)を参照して説明されるが、いくつかの実施形態では、それらの指入力のうちの1つ以上は、別の入力デバイスからの入力(例えば、マウスに基づく入力、又はスタイラス入力)で置き換えられることを理解されたい。例えば、スワイプジェスチャは、任意選択的に、(例えば、接触の代わりに)マウスクリックと置換され、その後、(例えば、接触の移動の代わりに)スワイプの経路に沿ってカーソルの移動が行われる。別の実施例として、タップジェスチャは、(例えば、接触の検出に続いて接触の検出を中止する代わりに)カーソルがタップジェスチャの位置上に配置されている間、任意選択的に、マウスクリックと置き換えられる。同様に、複数のユーザ入力が同時に検出されるとき、複数のコンピュータマウスが同時に、任意選択的に用いられているか、又はマウスと指接触が任意選択的に同時に用いられていることが理解されよう。
本明細書にて使用されるとき、用語「フォーカスセレクタ」とは、ユーザが対話しているユーザインタフェースの現在の部分を示す入力要素を指す。カーソル又は他のロケーションマーカを含むいくつかの実装において、カーソルは、タッチ感知面(例えば、図3のタッチパッド355、又は図6Bのタッチ感知面651)上で入力(例えば、押圧入力)が検出されたときに、カーソルが特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の上にある間、「フォーカスセレクタ」として機能し、特定のユーザインタフェース要素が、検出された入力に応じて調整される。タッチスクリーンディスプレイ上のユーザインタフェース要素との直接的な対話を可能にする、タッチスクリーンディスプレイ(例えば、図1Aのタッチ感知ディスプレイシステム112、又は図6Aのタッチスクリーン)を含むいくつかの実装では、タッチスクリーン上で検出される接触が「フォーカスセレクタ」の役割を果たすため、入力(例えば、接触による押圧入力)が、タッチスクリーンディスプレイ上の特定のユーザインタフェース要素(例えば、ボタン、ウィンドウ、スライダ、又は他のユーザインタフェース要素)の位置で検出されると、その特定のユーザインタフェース要素が、検出された入力に従って調節される。一部の実装では、(例えば、タブキー又は矢印キーを使ってフォーカスを1つのボタンから別のボタンに移動させることにより)タッチスクリーンディスプレイ上の対応するカーソルの移動又は接触の移動なしに、フォーカスが、ユーザインタフェースの1つの領域からユーザインタフェースの別の領域に移動される。これらの実装では、フォーカスセレクタは、ユーザインタフェースの異なる領域間でのフォーカスの移動に従って移動する。フォーカスセレクタが採用する具体的な形態とは関わりなく、フォーカスセレクタは、全般的に、ユーザが意図するユーザインタフェースとの対話を(例えば、ユーザが対話することを意図しているユーザインタフェースの要素を、デバイスに示すことによって)伝達するために、ユーザによって制御されるユーザインタフェース要素(又は、タッチスクリーンディスプレイ上での接触)である。例えば、タッチ感知面(例えば、タッチパッド又はタッチスクリーン)上で押圧入力が検出される間の、対応するボタンの上のフォーカスセレクタ(例えば、カーソル、接触、又は選択ボックス)の位置は、その対応するボタンを(そのデバイスのディスプレイ上に示される他のユーザインタフェース要素ではなく)アクティブ化することをユーザが意図していることを示すものである。
本明細書及び特許請求の範囲で使用されるとき、タッチ感知面上の接触の「強度」という用語は、タッチ感知面上の接触(例えば、指の接触又はスタイラスの接触)の力若しくは圧力(単位面積当りの力)、又はタッチ感知面上の接触の力若しくは圧力の代用物(プロキシ)を指す。接触の強度は、少なくとも4つの別個の値を含み、より典型的には、何百もの異なる値(例えば、少なくとも256)を含む、値の範囲を有する。接触の強度は、様々な方法及び様々なセンサ、又はセンサの組み合わせを使用して、任意選択的に、判定(又は、測定)される。例えば、タッチ感知面の下に又は隣接して配置された1つ以上の力センサは、タッチ感知面上の様々な点における力を測定するために、任意選択的に使用される。いくつかの実施形態では、複数の力センサの力測定値を組み合わせて(例えば、加重平均又は合計)、接触の推定の力を判定する。同様に、スタイラスの感圧性先端部を任意選択的に使用して、タッチ感知面上のスタイラスの圧力を判定する。あるいは、タッチ感知面上で検出される接触領域のサイズ及び/若しくはその変化、接触に近接するタッチ感知面の電気容量及び/若しくはその変化、並びに/又は、接触に近接するタッチ感知面の抵抗及び/若しくはその変化が、タッチ感知面上の接触の力又は圧力の代替物として、任意選択的に用いられる。一部の実装では、接触の力又は圧力の代替的測定値は、強度閾値を超えているか否かを判定するために直接に用いられる(例えば、強度閾値は、代替的測定値に対応する単位で記述される)。いくつかの実装では、接触の力又は圧力の代替的測定値は、推定される力又は圧力に変換され、この推定される力又は圧力を用いて、強度閾値を超えているか否かを判定する(例えば、強度閾値は、圧力の単位で測定された圧力閾値である)。接触の強度をユーザ入力の属性として使用することは、アフォーダンスを(例えば、タッチ感知ディスプレイ上に)表示するため、及び/又はユーザ入力を(例えば、タッチ感知ディスプレイ、タッチ感知面、又はノブ若しくはボタンなどの物理的/機械的制御を介して)受信するための面積が制限された、低減されたサイズのデバイスにおいて、ユーザによるアクセスが他の場合に容易には不可能であり得る、追加のデバイス機能へのユーザのアクセスを可能にする。
いくつかの実施形態では、接触/動きモジュール130及び/又は430は、ユーザによって動作が実行されたか否かを判定するための(例えば、ユーザがアイコン上で「クリック」したか否かを判定するための)、1つ以上の強度閾値のセットを使用する。一部の実施形態において、少なくとも強度閾値のサブセットが、ソフトウェアパラメータに従って判定される(例えば、強度閾値は、特定の物理アクチュエータのアクティブ化閾値によって判定されず、デバイス100の物理ハードウェアを変更することなく調整し得る)。例えば、トラックパッド又はタッチスクリーンディスプレイのマウス「クリック」閾値は、トラックパッド又はタッチスクリーンディスプレイハードウェアを変更することなく広範囲の既定の閾値のうちのいずれかに設定し得る。加えて、いくつかの実施形態では、デバイスのユーザには、(例えば、個々の強度閾値を調整することにより、及び/又は「強度」パラメータのシステムレベルのクリックの後すぐに複数の強度閾値を調整することによって)強度閾値のセットのうちの1つ以上を調整するためのソフトウェア設定が提供されている。
本明細書及び特許請求の範囲で使用するとき、接触の「特性強度」という用語は、接触の1つ以上の強度に基づく、その接触の特性を指す。一部の実施形態では、特性強度は複数の強度サンプルに基づく。特性強度は、任意選択的に、既定の数の強度サンプル、又は既定のイベント(例えば、接触を検出した後、接触のリフトオフを検出する前、接触の移動の開始を検出する前若しくは後、接触の終了を検出する前、接触の強度の増加を検出する前若しくは後、及び/又は接触の強度の減少を検出する前若しくは後)に対して所定の期間(例えば、0.05、0.1、0.2、0.5、1、2、5、10秒)内に収集された強度サンプルのセットに基づく。接触の特性強度は、任意選択的に、接触の強度の最大値、接触の強度の中間値(mean value)、接触の強度の平均値(average value)、接触の強度の上位10%値、接触の強度の最大値の半分の値、接触の強度の最大値の90%の値など、のうちの1つ以上に基づく。いくつかの実施形態では、特性強度を判定するために、接触の期間が使用される(例えば、特性強度が経時的な接触の強度の平均であるとき)。一部の実施形態では、動作がユーザによって実行されたか否かを判定するために、特性強度を1つ以上の強度閾値のセットと比較する。例えば、1つ以上の強度閾値のセットは、第1の強度閾値及び第2の強度閾値を含むことができる。この実施例では、第1の閾値を上回らない特性強度を有する接触の結果として第1の動作が実行され、第1の強度閾値を上回り、第2の強度閾値を上回らない特性強度を有する接触の結果として第2の動作が実行され、第2の強度閾値を上回る特性強度を有する接触の結果として第3の動作が実行される。いくつかの実施形態では、特性強度と1つ以上の強度閾値との間の比較が、第1の動作又は第2の動作のいずれを実行するかを判定するために使用されるのではなく、1つ以上の動作を実行するかどうか(例えば、それぞれのオプションを実行するのか、又はそれぞれの動作の実行を省略するのか)を判定するために使用される。
一部の実施形態では、特性強度を判定する目的で、ジェスチャの一部分が特定される。例えば、タッチ感知面は、接触の強度が増加する、開始位置から遷移して終了位置まで達する連続的なスワイプ接触(例えば、ドラッグジェスチャ)を受け取ってもよい。この実施例では、終了位置における接触の特性強度は、連続的なスワイプ接触全体ではなく、そのスワイプ接触の一部分のみ(例えば、終了位置におけるスワイプ接触の部分のみ)に基づいてもよい。一部の実施形態では、接触の特性強度を判定する前に、平滑化アルゴリズムをそのスワイプ接触の強度に適用してもよい。例えば、平滑化アルゴリズムは、任意選択的に、非荷重移動平均平滑化アルゴリズム、三角平滑化アルゴリズム、中央値フィルタ平滑化アルゴリズム、及び/又は指数平滑化アルゴリズム、のうちの1つ以上を含む。いくつかの状況では、これらの平滑化アルゴリズムは、特性強度を判定する目的で、スワイプ接触の強度の小幅な上昇又は低下を除外する。
本明細書で説明されるユーザインタフェースの図は、1つ以上の強度閾値(例えば、接触検出強度閾値IT0、軽い押圧強度閾値ITL、深い押圧強度閾値ITD(例えば、少なくとも最初にILより高い)、及び/又は1つ以上の他の強度閾値(例えば、ILより低い強度閾値IH)に対する、タッチ感知面上の接触の現在の強度を示す、様々な強度の図表を、任意選択的に含む。この強度の図表は、典型的には、表示されるユーザインタフェースの一部ではないが、それらの図の解釈に役立てるために提供される。一部の実施形態では、軽い押圧強度閾値は、物理マウスのボタン又はトラックパッドのクリックに典型的に関連付けられた動作を、デバイスが実行することになる強度に相当する。一部の実施形態では、深い押圧強度閾値は、物理マウスのボタン又はトラックパッドのクリックに典型的に関連付けられた動作とは異なる動作を、デバイスが実行することになる強度に相当する。一部の実施形態では、軽い押圧強度閾値を下回る(例えば、かつ、それを下回ると接触がもはや検出されないわずかな接触検出強度閾値IT0を上回る)特性強度で接触が検出される場合、デバイスは、軽い押圧強度閾値又は深い押圧強度閾値に関連付けられた動作を実行することなく、タッチ感知面上の接触の移動に従って、フォーカスセレクタを移動させる。全般的には、特に明記しない限り、これらの強度閾値は、ユーザインタフェース図の異なるセット間でも一貫している。
いくつかの実施形態では、デバイスにより検出された入力へのデバイスの応答は、入力の間の接触強度に基づく基準による。例えば、いくつかの「軽い押圧」入力に対して、入力の間の第1の強度閾値を上回る接触の強度は第1の応答をトリガーする。いくつかの実施形態では、デバイスにより検出された入力へのデバイスの応答は、入力の間の接触強度及び時間に基づく基準の両方を含む基準による。例えば、いくつかの「深い押圧」入力に対して、入力の間の、軽い押圧に対する第1の強度閾値より大きい第2の強度閾値を上回る接触の強度は、第1の強度閾値との一致と第2の強度閾値との一致との間で遅延時間が経過した場合のみ、第2の応答をトリガーする。この遅延時間は、典型的には、持続時間が200ms未満(例えば、第2の強度閾値の大きさにより、第2の強度閾値が増大すると遅延時間が増大して、40ms、100ms、又は120ms)である。この遅延時間は、偶発的な深い押圧入力を防ぐのに役立つ。別の実施例として、いくつかの「深い押圧」入力に対して、第1の強度閾値が満たされた時点の後で生じる感度が低減した期間が存在する。感度が低減した時間期間の間、第2の強度閾値は増大する。第2の強度閾値のこの一時的な増大もまた、偶発的な深い押圧入力を防ぐのに役立つ。他の深い押圧入力に対して、深い押圧入力の検出への応答は、時間に基づく基準によらない。
いくつかの実施形態では、入力強度閾値及び/又は対応する出力の1つ以上は、ユーザ設定、接触の移動、入力タイミング、実行しているアプリケーション、強度が加わる速度、現在の入力数、ユーザ履歴、環境要因(例えば、周囲ノイズ)、フォーカスセレクタの位置などの、1つ以上の要因に基づいて変化する。例示的な要因は、米国特許出願第14/399,606号及び同第14/624,296号に記載されており、その全体が参照により本明細書に組み込まれる。
軽い押圧強度閾値ITLを下回る強度から、軽い押圧強度閾値ITLと深い押圧強度閾値ITDとの間の強度への、接触の特性強度の増大は、「軽い押圧」入力と称される場合がある。深い押圧強度閾値ITDを下回る強度から、深い押圧強度閾値ITDを上回る強度への、接触の特性強度の増大は、「深い押圧」入力と称される場合がある。接触検出強度閾値IT0を下回る強度から、接触検出強度閾値IT0と軽い押圧強度閾値ITLとの間の強度への、接触の特性強度の増大は、タッチ面上の接触の検出と称される場合がある。接触検出強度閾値IT0を上回る強度から、接触検出強度閾値IT0を下回る強度への、接触の特性強度の減少は、タッチ面からの接触のリフトオフの検出と称される場合がある。いくつかの実施形態では、IT0はゼロである。いくつかの実施形態では、IT0はゼロよりも大きい。いくつかの図では、影付きの円又は楕円が、タッチ感知面上の接触の強度を表すために使用される。いくつかの図では、影なしの円又は楕円は、それぞれの接触の強度を指定することなく、タッチ感知面上のそれぞれの接触を表すために使用される。
本明細書で説明されるいくつかの実施形態では、1つ以上の動作は、それぞれの押圧入力を含むジェスチャの検出に応じて、又はそれぞれの接触(又は、複数の接触)で実行されるそれぞれの押圧入力の検出に応じて実行され、それらのそれぞれの押圧入力は、少なくとも部分的に、押圧入力強度閾値を上回る接触(又は、複数の接触)の強度の増大の検出に基づいて検出される。いくつかの実施形態では、それぞれの動作は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大の検出に応じて、実行される(例えば、それぞれの動作は、それぞれの押圧入力の「ダウンストローク」により実行される)。いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大、及び後続の押圧入力強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、その後続の押圧入力閾値を下回るそれぞれの接触の強度の減少の検出に応じて、実行される(例えば、それぞれの動作は、それぞれの押圧入力の「アップストローク」により実行される)。
いくつかの実施形態では、デバイスは、「ジッタ」と呼ばれる場合がある不測の入力を回避するために、強度ヒステリシスを採用し、デバイスは、押圧入力強度閾値との既定の関連性を有するヒステリシス強度閾値を定義又は選択する(例えば、ヒステリシス強度閾値は、押圧入力強度閾値よりもX強度単位低いか、又は、ヒステリシス強度閾値は、押圧入力強度閾値の75%、90%、若しくは何らかの妥当な比率である)。それゆえ、いくつかの実施形態では、押圧入力は、押圧入力強度閾値を上回る、それぞれの接触の強度の増大、及び後続の、押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少を含み、それぞれの動作は、そのヒステリシス強度閾値を下回る、後続のそれぞれの接触の強度の減少の検出に応じて、実行される(例えば、それぞれの動作は、それぞれの押圧入力の「アップストローク」により実行される)。同様に、一部の実施形態では、押圧入力は、デバイスが、ヒステリシス強度閾値以下の強度から押圧入力強度閾値以上の強度への接触の強度の増大、及び任意選択的に、ヒステリシス強度以下の強度への、後続の接触の強度の減少を検出する場合にのみ検出され、対応する動作は、その押圧入力の検出(例えば、状況に応じて、接触の強度の増大、又は接触の強度の減少)に応じて、実行される。
説明を容易にするために、押圧入力強度閾値に関連付けられた押圧入力に応じて、又はその押圧入力を含むジェスチャに応じて実行される動作の説明は、押圧入力強度閾値を上回る接触の強度の増大、ヒステリシス強度閾値を下回る強度から押圧入力強度閾値を上回る強度への接触の強度の増大、押圧入力強度閾値を下回る接触の強度の減少、又は押圧入力強度閾値に対応するヒステリシス強度閾値を下回る接触の強度の減少の検出に応じて、任意選択的にトリガーされる。更に加えて、押圧入力強度閾値を下回る接触の強度の減少を検出したことに応じて動作が実行されるとして説明される実施例では、その動作は、押圧入力強度閾値に対応し、かつそれよりも低いヒステリシス強度閾値を下回る、接触の強度の減少を検出したことに応じて任意選択的に実行される。上述のように、いくつかの実施形態では、これらの応答のトリガーはまた、一致する時間に基づく基準(例えば、一致する第1の強度閾値と一致する第2の強度閾値との間で遅延時間が経過した)による。
ユーザインタフェース及び関連プロセス
スタイラスがタッチ感知面にタッチする前のスタイラスの姿勢状態に対応する目印を表示して更新する
いくつかの電子デバイスは、そのデバイスのタッチ感知面への入力の追加の方法を提供するために、そのデバイスに関連付けられたスタイラスを使用する。例えば、いくつかのセルラー電話、ラップトップ、及びタブレットは、スタイラスからの入力を受信する能力を有する。しかし、様々な理由(例えば、スタイラス先端部の厚さ、デバイス上のガラスの厚さなど)のため、ユーザは、スタイラスの双方向作用(例えば、マークをつけること)が行われる場所を、スタイラスがタッチ感知面にタッチする前に正確に知ることが難しいと感じる場合がある。以下の実施形態は、スタイラスがタッチ感知ディスプレイにタッチする前に、スタイラスの姿勢状態(例えば、デバイスのタッチ感知ディスプレイに対するスタイラスの距離、傾き、及び/又は向き)に対応する目印を表示して更新することにより、この問題に対処している。
図7A〜7Jは、いくつかの実施形態に係る、スタイラスの姿勢状態に対応する目印を表示して更新するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図8A〜8Dのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ上の(タッチ感知面とディスプレイとが組み合わされている場合、例えば、タッチスクリーン112上の)入力を参照して説明されるが、一部の実施形態において、デバイスは、図6Bに示すように、ディスプレイ650とは別個のタッチ感知面651上で入力を検出する。
いくつかの実施形態では、デバイスは、別個のディスプレイ(例えば、ディスプレイ650)及び別個のタッチ感知面(例えば、タッチ感知面651)を備える電子デバイスである。いくつかの実施形態では、デバイスは、ポータブル多機能デバイス100であり、ディスプレイは、タッチ感知ディスプレイシステム112であり、タッチ感知面は、ディスプレイ上に触知出力生成器163を含む(図1A)。説明を簡便にするために、図7A〜7J及び図8A〜8Dを参照して説明する実施形態は、タッチ感知ディスプレイシステム112を備えたデバイス上で実行される動作を参照して説明する。そのような実施形態では、フォーカスセレクタは、任意選択的に、それぞれの指又はスタイラスの接触、指又はスタイラスの接触に対応する代表的な点(例えば、それぞれの接触の面心又はそれぞれの接触に関連付けられた点)、又は、タッチ感知ディスプレイシステム112上で検出された2つ以上の接触の面心である。しかし、類似した動作が、ディスプレイ650と、別個のタッチ感知面651と、を備えたデバイス上で、ディスプレイ650上に図7A〜7Jに示すユーザインタフェースを表示している間に、タッチ感知面651上(又はその付近)で図7A〜7Jで説明する接触を検出したことに応じて任意選択的に実行される。
図7A〜7Jは、いくつかの実施形態に係る、スタイラスの姿勢状態に対応する目印を表示して更新するための例示的なユーザインタフェースを示す。図7Aは、デバイス100の追加の詳細(例えば、スピーカ111、光センサ164、近接センサ166など)と共にタッチスクリーン112を示すが、明瞭にするために、図7B〜7Jは、デバイス100の他の詳細を示さずに、単にデバイス100のタッチスクリーン112を示す。更に、図7Aは、タッチ感知面(例えば、デバイス100のタッチスクリーン112)の真上の視点から実施例を示すが、図7B〜7Jは、2つの視点、タッチ感知面(例えば、デバイス100のタッチスクリーン112)の真上の視点及びタッチ感知面の側面の視点から実施例を示す。
図7Aは、スタイラス(例えば、スタイラス203)の姿勢状態に対応する目印(例えば、目印716−a)を表示する実施例を示す。この実施例では、スタイラス203は、タッチスクリーン112に対するスタイラス203の向き(例えば、向き706−a)、及びタッチスクリーン112上のスタイラス203の先端部の投影の位置(例えば、(x、y)位置704−a)を有する姿勢状態を有する。図7Aに示すように、スタイラス203がタッチスクリーン112にタッチする前に、スタイラス203が向き706−a(例えば、軸508に対して時計回りの回転角度で約315度)、及び(x、y)位置704−aの先端部投影で配置されている場合、目印716−aは、スタイラス203がタッチスクリーン112にタッチする(又はマークをつける)であろう場所を示すように、タッチスクリーン112上に表示される。いくつかの実施形態では、スタイラスが第1の向きに配置されると、目印は、(x、y)位置704−aに対してタッチスクリーン112上の第1の方向に変位され、スタイラスが第1の向きとは別個の第2の向きに配置されると、目印は、(x、y)位置704−aに対してタッチスクリーン112上の第2の方向に変位される。例えば、図5Aで、スタイラス203が向き506(例えば、軸508に対して時計回りの回転角度で約45度)で配置されると、目印516は、(x、y)位置504に対して南西方向に変位され、図7Aで、スタイラス203が向き706−a(例えば、軸508に対して時計回りの回転角度で約315度)で配置されると、目印716−aは、(x、y)位置704−aに対して南東方向に変位される。
図7B〜7Eは、タッチ感知ディスプレイ(例えば、タッチスクリーン112)に対するスタイラス(例えば、スタイラス203)の距離(例えば、距離714)を変化させて、距離の変化に応じて、表示された目印(例えば、目印716)を更新する実施例を示す。図7B〜7Eで、スタイラスの向き(例えば、向き706−b)、スタイラスの先端部の(x、y)位置(例えば、(x、y)位置704−b)、及びスタイラスの傾き(例えば、傾き712−a)は、一定のままで、スタイラスがタッチ感知ディスプレイに近づいて移動すると、タッチ感知ディスプレイに対するスタイラスの距離は、(例えば、距離714−aから距離714−bに、距離714−cに、距離714−dに)変化する。更に、スタイラス203がタッチスクリーン112に近づいて移動すると、目印はタッチスクリーン112上で更新される(例えば、目印716−bから目印716−cに、目印716−dに、目印716−eに)。この実施例に示すように、いくつかの実施形態では、スタイラス203がタッチスクリーン112に近づいて移動すると、目印は、不透明度を変化させ(例えば、不透明度を増大させて)、サイズ(又は半径若しくはエリア)を変化させ(例えば、サイズを減少させて)、及び/又は色を変化させる(例えば、色を暗くさせて)。
図7E〜7Gは、タッチ感知ディスプレイ(例えば、タッチスクリーン112)に対するスタイラス(例えば、スタイラス203)の傾き(例えば、傾き712)を変化させて、傾きの変化に応じて、表示された目印(例えば、目印716)を更新する実施例を示す。図7E〜7Gで、スタイラスの向き(例えば、向き706−b)、スタイラスの先端部の(x、y)位置(例えば、(x、y)位置704−b)、及びタッチ感知ディスプレイに対するスタイラスの距離(例えば、距離714−d)は、一定のままで、スタイラスがデバイス100と平行に近づいて傾斜すると、スタイラスの傾きは、(例えば、傾き712−aから傾き712−bに、傾き712−cに)変化する。この実施例に示すように、傾きが増大すると、スタイラスの先端部の(x、y)位置と目印との間の距離の大きさは、既定の最大距離に到達するまで増大する。この実施例では、目印716−f(図7Fの)は、既定の最大距離にあるので、スタイラス203の傾きが傾き712−b(図7Fの)から傾き712−c(図7Gの)に変化するが、目印716−fは、同じ位置のままである。
図7Hは、スタイラス(例えば、スタイラス203)が既定の距離より大きくタッチ感知ディスプレイの表面から離れている場合に、タッチ感知ディスプレイ(例えば、タッチスクリーン112)上に目印を表示するのを中止する実施例を示す。図7Bと比較すると、スタイラス203の先端部が閾値710を下回る場合に目印(例えば、目印716−b)が表示されていると、図7Hに示すように、スタイラス203の先端部が閾値710を上回ると(例えば、距離714−eで)、目印は、タッチスクリーン112上に表示するのを中止する。
図7Iは、スタイラス(例えば、スタイラス203)がタッチ感知ディスプレイ(例えば、タッチスクリーン112)の表面と物理的に接触している場合に、目印(例えば、目印716−g)を表示する実施例を示す。いくつかの実施形態では、スタイラス203がタッチスクリーン112と物理的に接触している場合に、タッチスクリーン112から離れるスタイラス203の距離(例えば、距離714−f)は、ゼロより大きいように計算される(例えば、タッチスクリーン112上のガラス層の厚さに相当するように)。いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面と物理的に接触している場合でも、向きの変化に応じて、目印は更新され(図7Aに関して上述したように)、傾きの変化に応じて、目印は更新される(図7E〜7Gに関して上述したように)が、簡潔にするために、ここでは詳細は繰り返さない。
いくつかの実施形態では、スタイラス203がタッチスクリーン112と物理的に接触している場合、目印及びマークの両方が表示される。いくつかの実施形態では、目印は、マークがタッチ感知ディスプレイ上に描かれるであろう場所を示す仮想の「ペン先端部」又は他の要素に対応する。いくつかの実施形態では、マークは、タッチ感知ディスプレイ上の点、線、筆力などである。いくつかの実施形態では、目印は、マークの1つの端部(終端)に対応する。例えば、描かれているマークが線である場合、目印は、描かれている線の端部に対応する(又は隣接する)。いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面と物理的に接触しているときに目印が表示されている場合、目印の形状(及び任意選択的に、色)は、スタイラスによりエミュレートされている仮想描画手段の先端部の形状(及び任意選択的に、色)に対応する。例えば、スタイラスが仮想の黄色の蛍光ペンとして使用されている場合、目印は、黄色の矩形(蛍光ペンのチゼル先端部に対応する)であり、スタイラスがタッチ感知ディスプレイの表面にわたって移動されると、マークが生成される(例えば、スタイラスの経路に沿って目印のサイズ/形状/色を伝搬することにより)。スタイラスが仮想の黄色の蛍光ペンとして使用されており、スタイラスがタッチ感知ディスプレイ上の点にタッチダウンして、その後タッチ感知ディスプレイにわたって移動することなくリフトオフする場合、黄色の矩形マーク(蛍光ペンのチゼル先端部である目印に対応する)は、スタイラスがタッチダウンしたタッチ感知ディスプレイ上の点に表示することができる。
図7Jは、スタイラス(例えば、スタイラス203)がタッチ感知ディスプレイ(例えば、タッチスクリーン112)の表面と物理的に接触している場合に、マーク(例えば、マーク718)を表示して、目印を表示するのを中止する実施例を示す。
図8A〜8Dは、いくつかの実施形態に係る、スタイラスの姿勢状態に対応する目印を表示して更新する方法800を示す流れ図である。方法800は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイは、タッチスクリーンディスプレイであり、タッチ感知面は、ディスプレイ上にある、又はディスプレイと一体化されている(単にタッチ感知ディスプレイとも呼ばれる)。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。いくつかの実施形態では、デバイスは、デバイスに関連付けられたスタイラスからの信号を検出する1つ以上のセンサを含み、スタイラスは、代表部分(例えば、スタイラスの先端部)を含む。いくつかの実施形態では、先端部以外のスタイラス上の部分は、先端部の位置を推定するために使用される。方法800の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
後述するように、方法800は、スタイラスの姿勢状態に対応する目印を表示して更新する直感的な方法を提供する。この方法は、電子デバイスと対話するためにスタイラスを使用する際のユーザからの入力の数、範囲、及び/又は種類を低減し、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的にスタイラスで入力することができることにより、電力が節約され、バッテリを充電する間隔が増大する。
デバイスは、スタイラスの姿勢状態を検出し、スタイラスの姿勢状態は、タッチ感知ディスプレイに対するスタイラスの距離、タッチ感知ディスプレイに対するスタイラスの傾き、及び/又はタッチ感知ディスプレイに対するスタイラスの向きに対応する(又は示す)(802)。例えば、図7Bは、距離714−a、傾き712−a、及び向き706−bに対応する姿勢状態でのスタイラス203を示す。いくつかの実施形態では、姿勢状態は、姿勢パラメータのセット(例えば、1つ以上の姿勢パラメータ)を含む。いくつかの実施形態では、姿勢状態は、電子デバイスに送信されるスタイラスからの1つ以上の測定値に従って検出される。例えば、スタイラスは、スタイラスの傾き及び/又は向きを測定して、その測定値を電子デバイスに送信する。あるいは、いくつかの実施形態では、姿勢状態は、タッチ感知ディスプレイにより感知される、スタイラス内の1つ以上の電極からの未処理出力に従って検出される。例えば、タッチ感知ディスプレイは、スタイラス内の1つ以上の電極からの未処理出力を受信して、未処理出力に基づいて、スタイラスの傾き及び/又は向きを計算する。
いくつかの実施形態では、スタイラスの傾きは、タッチ感知ディスプレイの表面の法線(単にタッチ感知ディスプレイの法線とも呼ばれる)に対する角度であり、スタイラスの向きは、タッチ感知ディスプレイに平行な平面内の少なくとも1つの軸に対する、タッチ感知ディスプレイ上へのスタイラスの投影(例えば、タッチ感知ディスプレイ上へのスタイラスの長さ又はスタイラスの2つの異なる点の投影の間の線に対応する線の正射影)の向きである(804)。例えば、図5Bで、スタイラス203の傾き512は、タッチスクリーン112の法線510に対する角度であり、図5Aで、スタイラス203の向き506は、軸508に対するタッチスクリーン112上へのスタイラス203の投影の向きである。いくつかの実施形態では、タッチ感知ディスプレイ上へのスタイラスの投影の向きは、図5Aの軸508などの単一の軸(例えば、0度〜360度の範囲のこの軸から時計回りの回転角度を有する単一の軸)に対するものである。あるいは、いくつかの実施形態では、タッチ感知ディスプレイ上へのスタイラスの投影の向きは、一対の軸(例えば、図5Aのx軸590及びy軸592などのx軸及びy軸、又はタッチ感知ディスプレイ上に表示されたアプリケーションに関連付けられた一対の軸)に対するものである。
いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面と物理的に接触している場合、タッチ感知ディスプレイから離れるスタイラスの距離は、ゼロより大きいように計算される(例えば、画素を覆う「ガラス上に」目印を表示するのではなく、目印を通してディスプレイの「画素上に」伝わるように、タッチ感知ディスプレイ(例えば、タッチスクリーン112)上のガラス層の厚さに相当するように)(806)。いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面と物理的に接触している場合、タッチ感知ディスプレイから離れるスタイラスの距離は、ゼロより大きいように定義される。例えば、図7Iで、スタイラス203がタッチスクリーン112の表面と物理的に接触している場合、距離714−fは、ゼロより大きいように計算される(又は定義される)。
いくつかの実施形態では、姿勢状態は、タッチ感知ディスプレイ上のスタイラスの先端部(又は他の代表部分)の投影の位置を含む(808)。いくつかの実施形態では、スタイラスの先端部は、タッチ感知ディスプレイへのスタイラスの近接を判定するように構成された、スタイラスの終端である。いくつかの実施形態では、タッチ感知ディスプレイ上のスタイラスの先端部の投影は、正射影である。換言すれば、タッチ感知ディスプレイ上のスタイラスの先端部の投影は、タッチ感知ディスプレイの表面に垂直な、スタイラス先端部からタッチ感知ディスプレイへの線の端部の点である。例えば、図5Bで、(x、y)位置504は、スタイラス203がタッチスクリーン112に垂直な経路に沿って(例えば、法線510の経路に沿って)直接移動された場合にスタイラス203の先端部がタッチスクリーン112に接触するであろう点であるため、タッチスクリーン112上のスタイラス203の先端部の投影である。
いくつかの実施形態では、電子デバイスにより検出可能な(例えば、デバイスのタッチ感知ディスプレイ内の機構により)スタイラスの第1の電極は、スタイラスの先端部に近接しており、電子デバイスにより検出可能な(例えば、デバイスのタッチ感知ディスプレイ内の機構により)スタイラスの第2の電極は、既定の距離だけ第1の電極から変位している(810)。いくつかの実施形態では、スタイラスの第1の電極は、スタイラスの先端部に(又はその付近に)あり、スタイラスの第2の電極は、既定の距離だけ第1の電極から変位したリングである。いくつかの実施形態では、スタイラス203は、図5A〜5Bに示すように、スタイラス203の先端部(又はその付近)の第1の電極、及び既定の距離だけ第1の電極から変位したリングである第2の電極を有し、両方の電極は、デバイス100により(例えば、デバイス100のタッチスクリーン112内の機構により)検出可能である。
デバイスは、スタイラス(例えば、スタイラス203)の検出された姿勢状態に対応するタッチ感知ディスプレイ(例えば、タッチスクリーン112)上の位置を判定する(812)。例として図5A〜5Bを使用して、スタイラス203の検出された姿勢状態に対応するタッチスクリーン112上の位置は、向き506、(x、y)位置504、傾き512、及び/又は距離514により判定される。
デバイスは、スタイラス(例えば、スタイラス203)の姿勢状態に従って、スタイラスがタッチ感知ディスプレイにタッチする前に判定された位置のタッチ感知ディスプレイ(例えば、タッチスクリーン112)上の目印を表示する(814)。いくつかの実施形態では、表示された目印は、スタイラスがタッチ感知ディスプレイにタッチする前に、スタイラスがタッチ感知ディスプレイにタッチする/マークをつけるであろう場所を示す。例えば、図7Bで、スタイラス203がタッチスクリーン112にタッチする前に(スタイラス203がまだ距離714−aタッチスクリーン112から離れているため)、目印716−bが、タッチスクリーン112上に表示されている。いくつかの実施形態では、表示された目印は、タッチ感知ディスプレイのガラスの厚さに相当する。
いくつかの実施形態では、タッチ感知ディスプレイ上に目印を表示することは、判定された位置でのタッチ感知ディスプレイの背景色に従って、目印に対する色を判定することを含む(816)。いくつかの実施形態では、判定された位置でのタッチ感知ディスプレイの背景色に従って目印に対する色を判定することは、判定された位置でのタッチ感知ディスプレイの背景色と対照をなす、目印に対する色を判定することを含む。例えば、いくつかの実施形態では、タッチ感知ディスプレイの背景色が白色である場合、目印に対して判定された色は、灰色若しくは黒色、又は白色と対照をなす別の色である。例えば、図7Bで、タッチスクリーン112の背景色が白色である場所では、目印716−bに対する色は、灰色である。別の実施例として、いくつかの実施形態では、タッチ感知ディスプレイの背景色が黒色である場合、目印に対して判定された色は、白色若しくは黄色、又は黒色と対照をなす別の色である。
デバイスは、スタイラスがタッチ感知ディスプレイ(例えば、タッチスクリーン112)にタッチする前に、スタイラス(例えば、スタイラス203)の距離、傾き、及び/又は向きの変化を検出する(818)。例えば、図7B〜7Eは、スタイラス203がタッチスクリーン112にタッチする前の、タッチスクリーン112からのスタイラス203の距離の変化(例えば、距離714−aから距離714−bに、距離714−cに、距離714−dに)を示す。別の実施例として、図7E〜7Gは、スタイラス203がタッチスクリーン112にタッチする前の、スタイラス203の傾きの変化(例えば、傾き712−aから傾き712−bに、傾き712−cに)を示す。また別の実施例として、図5A及び図7Aは、スタイラス203がタッチスクリーン112にタッチする前の、スタイラス203の向きの変化(例えば、向き506から向き706−aに)を示す。
変化を検出したことに応じて、デバイスは、タッチ感知ディスプレイ(例えば、タッチスクリーン112)上に表示された目印を更新する(820)。例えば、図7B〜7Eは、タッチスクリーン112からのスタイラス203の距離の変化を検出したことに応じて、表示された目印を更新することを示す。距離が、距離714−aから距離714−bに、距離714−cに、距離714−dにそれぞれ変化すると、目印は、目印716−bから目印716−cに、目印716−dに、目印716−eに、タッチスクリーン112上で更新される。別の実施例として、図7E〜7Fは、スタイラス203の傾きの変化を検出したことに応じて、表示された目印を更新することを示す。傾きが、傾き712−aから傾き712−bに変化すると、目印は、目印716−eから目印716−fに、タッチスクリーン112上で更新される。また別の実施例として、図5A及び図7Aは、スタイラス203の向きの変化を検出したことに応じて、表示された目印を更新することを示す。向きが、向き506から向き706−aに変化すると、目印は、目印516から目印716−aに、タッチスクリーン112上で更新される。
いくつかの実施形態では、スタイラス(の先端部又は他の代表部分)が、タッチ感知ディスプレイから第1の距離(ディスプレイに垂直な方向に)離れているとき、目印は、第1の色で表示され、スタイラスが、タッチ感知ディスプレイから第1の距離とは別個の第2の距離(ディスプレイに垂直な方向に)離れているとき、目印は、第1の色とは別個の第2の色で表示される(822)。いくつかの実施形態では、距離が減少すると、目印の色は、暗さが増大する。例えば、図7Bで、スタイラス203の先端部がタッチスクリーン112から距離714−a離れているとき、目印(例えば、目印716−b)は、薄灰色で表示され、図7Dで、スタイラス203の先端部がタッチスクリーン112から距離714−c離れている(例えば、タッチスクリーン112により近い)とき、目印(目印716−d)は、より暗い灰色で表示される。
いくつかの実施形態では、スタイラス(の先端部又は他の代表部分)が、タッチ感知ディスプレイから第1の距離(ディスプレイに垂直な方向に)離れているとき、目印は、第1のサイズ(例えば、半径又はエリア)であり、スタイラスが、タッチ感知ディスプレイから第1の距離とは別個の第2の距離(ディスプレイに垂直な方向に)離れているとき、目印は、第1のサイズとは別個の第2のサイズである(824)。いくつかの実施形態では、距離が減少すると、目印のサイズは、減少する。例えば、図7Bで、スタイラス203の先端部がタッチスクリーン112から距離714−a離れているとき、目印(例えば、目印716−b)は、大きな円であり、図7Dで、スタイラス203の先端部がタッチスクリーン112から距離714−c離れている(例えば、タッチスクリーン112により近い)とき、目印(目印716−d)は、より小さな円である。
いくつかの実施形態では、スタイラス(の先端部又は他の代表部分)が、タッチ感知ディスプレイから第1の距離(ディスプレイに垂直な方向に)離れているとき、目印は、第1の不透明度であり、スタイラスが、タッチ感知ディスプレイから第1の距離とは別個の第2の距離(ディスプレイに垂直な方向に)離れているとき、目印は、第1の不透明度とは別個の第2の不透明度である(826)。いくつかの実施形態では、距離が減少すると、目印の不透明度は、増大する。例えば、図7Bで、スタイラス203の先端部がタッチスクリーン112から距離714−a離れているとき、目印(例えば、目印716−b)は、より不透明でなく、図7Dで、スタイラス203の先端部がタッチスクリーン112から距離714−c離れている(例えば、タッチスクリーン112により近い)とき、目印(目印716−d)は、より不透明である。
いくつかの実施形態では、タッチ感知ディスプレイ上でスタイラスが第1の向きに配置されると、目印は、スタイラスの先端部(又は他の代表部分)の投影に対してタッチ感知ディスプレイ上で第1の方向に変位され、タッチ感知ディスプレイ上でスタイラスが第1の向きとは別個の第2の向きに配置されると、目印は、スタイラスの先端部(又は他の代表部分)の投影に対してタッチ感知ディスプレイ上で第1の方向とは別個の第2の方向に変位される(828)。いくつかの実施形態では、スタイラス(例えば、スタイラス203)の向きが変化すると、スタイラスの先端部の投影(例えば、図5Aの(x、y)位置504)に対する目印(例えば、図5Aの目印516)の方向は、変化する。例えば、図5Aで、スタイラス203が向き506に配置されると、目印516は、(x、y)位置504に対して第1の方向に変位され(例えば、目印516は、(x、y)位置504の南西である、又は目印516は、軸508に対して(x、y)位置504から時計回りの回転角度で225度である)、図7Aで、スタイラス203が向き706−aに配置されると、目印716−aは、(x、y)位置704−aに対して第2の方向に変位される(例えば、目印716は、(x、y)位置704−aの南東である、又は目印716−aは、軸508に対して(x、y)位置704−aから時計回りの回転角度で135度である)。
いくつかの実施形態では、タッチ感知ディスプレイ上で、スタイラスが第1の傾きを有するとき、目印は、スタイラスの先端部(又は他の代表部分)の正射影に対してタッチ感知ディスプレイ上でタッチ感知ディスプレイの平面に平行な方向に第1の距離だけ変位され、タッチ感知ディスプレイ上で、スタイラスが第1の傾きとは別個の第2の傾きを有するとき、目印は、スタイラスの先端部の正射影に対してタッチ感知ディスプレイ上でタッチ感知ディスプレイの平面に平行な方向に第1の距離とは別個の第2の距離だけ変位される(830)。いくつかの実施形態では、方法は、タッチ感知ディスプレイ上のスタイラスの先端部の正射影(例えば、スタイラスがタッチ感知ディスプレイに垂直な経路に沿って(例えば、法線510に沿って)直接移動された場合にスタイラスの先端部がタッチ感知ディスプレイにタッチするであろう図5Bの(x、y)位置504)から、スタイラスの傾きに対応する距離だけ目印を変位させることを含む。例えば、図7Eで、スタイラス203が第1の傾き(例えば、傾き712−a)を有するとき、目印716−eは、(x、y)位置704−bから第1の距離離れており、図7Fで、スタイラス203が第2の傾き(例えば、傾き712−b)を有するとき、目印716−fは、(x、y)位置704−bから第2の距離離れている。いくつかの実施形態では、目印は、スタイラスの傾きが増大すると、先端部の投影からより大きな距離だけ変位される。例えば、スタイラス203が712−aの傾きを有して配置されると、目印716−eは、(x、y)位置704−bに対してより短い距離だけ変位され(図7Eに示すように)、スタイラス203が712−bの増大した傾きを有して配置されると、目印716−fは、(x、y)位置704−bに対してより大きな距離だけ変位される(図7Fに示すように)。いくつかの実施形態では、図5Bに示すように、スタイラスの先端部の正射影からのそれぞれの距離は、ゼロより大きいが、スタイラスの全長に沿って投影された線がタッチスクリーンと交差する点と正射影位置504との間の距離未満である。
いくつかの実施形態では、それぞれの距離は、タッチ感知ディスプレイの平面に平行な方向の既定の最大距離(例えば、タッチ感知ディスプレイ(の平面)に平行な方向の目印と投影との間の)を上回らない(832)。例えば、図7E〜7Gに示すように、第1の距離及び第2の距離(動作830に関して上述したような)は、既定の最大距離を上回らない。いくつかの実施形態では、目印がすでに既定の最大距離にある場合、スタイラスの傾きの更なる増大により、スタイラスの先端部の投影に対する距離の大きさは増大しない。例えば、図7F〜7Gに示すように、スタイラス203の傾きが傾き712−bから傾き712−cに増大するが、目印716−fは、すでに(x、y)位置704−bに対して既定の最大距離にあるため、同じままである。
いくつかの実施形態では、スタイラス(例えば、スタイラス203)がタッチ感知ディスプレイ(例えば、タッチスクリーン112)の表面と接触している場合でも、動作828、830、及び832の詳細が適用される(例えば、動作838に関して及び方法1100に関して後述するように)。例えば、いくつかの実施形態では、スタイラス203がタッチスクリーン112の表面と接触している場合、動作828に関して上述したように、スタイラス(例えば、スタイラス203)の向きが変化すると、スタイラスの先端部の投影(例えば、図5Aの(x、y)位置504)に対する目印(例えば、図5Aの目印516)の方向は、変化する。別の実施例として、いくつかの実施形態では、スタイラス203がタッチスクリーン112の表面と接触している場合、動作830に関して上述したように、スタイラス(例えば、スタイラス203)の傾きが変化すると、目印(例えば、図5Aの目印516)とスタイラスの先端部の投影(例えば、図5Aの(x、y)位置504)との間の距離の大きさは、変化する。また別の実施例として、いくつかの実施形態では、スタイラス203がタッチスクリーン112の表面と接触している場合、動作832に関して上述したように、目印(例えば、図5Aの目印516)とスタイラスの先端部の投影(例えば、図5Aの(x、y)位置504)との間の距離は、既定の最大距離を上回らない。
いくつかの実施形態では、デバイスは、タッチ感知ディスプレイの表面から離れるスタイラス(例えば、スタイラスの先端部)の移動を検出し、タッチ感知ディスプレイの表面から離れるスタイラスの移動を検出したことに応じて、スタイラスが第1の距離未満タッチ感知ディスプレイの表面から離れているという判定に従って、デバイスは、目印の表示を維持しながら、スタイラスの移動に基づいてタッチ感知ディスプレイ上の目印の外観を更新し、スタイラスが第2の距離より大きくタッチ感知ディスプレイの表面から離れているという判定に従って、デバイスは、タッチ感知ディスプレイ上に目印を表示するのを中止する(834)。例えば、図7B〜7Gに示すように、スタイラス203の先端部が第1の距離(例えば、閾値710)未満タッチスクリーン112の表面から離れている場合、デバイスは、タッチスクリーン112上の目印の外観を更新する(例えば、スタイラス203がタッチスクリーン112に近づいて移動すると、目印は、色がより暗く、より不透明に、及び/又はサイズがより小さくなる)。更に、図7Hに示すように、スタイラス203の先端部が第2の距離(例えば、閾値710)より大きくタッチスクリーン112の表面から離れている場合、デバイスは、タッチスクリーン112上に目印を表示するのを中止する。いくつかの実施形態では、第1の距離は、第2の距離と同じである(例えば、図7B及び7Hに示すように、第1の距離及び第2の距離は両方とも、閾値710である)。いくつかの実施形態では、第1の距離は第2の距離未満である。
いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面と物理的に接触しているという判定に従って、デバイスは、姿勢状態に従って、タッチ感知ディスプレイ上にマークを表示して、デバイスは、タッチ感知ディスプレイ上に目印を表示するのを中止する(836)。例えば、図7Jに示すように、スタイラス203がタッチスクリーン112の表面と物理的に接触している場合、デバイスは、マーク718を表示して、タッチスクリーン112上に目印を表示するのを中止する。
いくつかの実施形態では、スタイラスの代表部分(例えば、スタイラスの先端部)がタッチ感知ディスプレイの表面と物理的に接触しているという判定に従って、デバイスは、姿勢状態に従って、タッチ感知ディスプレイ上に目印を表示し、タッチ感知ディスプレイ上の目印の位置は、目印とスタイラスの代表部分との間のタッチ感知ディスプレイの平面に平行な方向の距離が既定の最大距離を上回らないように制約される(838)。例えば、スタイラスの先端部がタッチ感知ディスプレイの表面と物理的に接触している場合、目印は、タッチ感知ディスプレイ上で、目印と先端部との間のタッチ感知ディスプレイの平面に平行な方向の距離を打ち切られて表示される。図7Iに示すように、例えば、スタイラス203がタッチスクリーン112の表面と物理的に接触している場合、デバイスは、目印716−gを表示し、目印716−gと(x、y)位置704−bとの間の距離は、既定の最大距離を上回らない(例えば、スタイラス203の傾きの増大に関わらず)。
いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面にタッチする(又はタッチ感知ディスプレイの所定の距離内に来る)前に、デバイスは、スタイラスの検出された移動に対して、目印を更新して、タッチ感知ディスプレイ上に表示されたアプリケーションのコンテンツを修正することを取り止めることにより応答し、スタイラスがタッチ感知ディスプレイの表面にタッチしている(又はタッチ感知ディスプレイの所定の距離内にある)間に、デバイスは、スタイラスの検出された移動に対して、タッチ感知ディスプレイ上に表示されたアプリケーションのコンテンツを修正することにより応答する(840)。いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面にタッチしている間に、デバイスは、スタイラスの検出された移動に対して、目印を更新することにより応答する。いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面にタッチしている間に、デバイスは、目印を表示するのを中止する(例えば、図7Jに示すように)。いくつかの実施形態では、表示されたアプリケーションのコンテンツを修正することは、そのアプリケーションにより表示されたツールのいずれかを修正すること、及び/又はそのアプリケーションの他のコンテンツを修正することを含む。
いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面と物理的に接触していることを検出したことに応じて、デバイスは、(表示された)目印を第1の状態から第2の状態に滑らかに変化させる(842)。いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面と物理的に接触していることを検出したことに応じて、スタイラスが表示されたコンテンツと双方向作用しているか否かを示すために、目印は、第1の状態から第2の状態に変化する。いくつかの実施形態では、第1の状態は、プレビューモード(例えば、コンテンツがスタイラスの移動により修正されない非双方向作用モード)であり、第2の状態は、双方向作用モード(例えば、コンテンツがスタイラスの移動により修正されるモード)である。任意選択的に、いくつかの実施形態では、第2の状態での目印は、第1の状態での目印より、大きな不透明度及び/又は小さい半径を有する。
図8A〜8Dにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図8A〜図8Dに関連して上述した方法800に類似の方法で適用できることを認識されたい。例えば、方法800を参照して上述したスタイラスの姿勢状態特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力は、任意選択的に、本明細書で説明する他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載したもの)を参照して本明細書に記載のスタイラスの姿勢状態特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力の特性のうちの1つ以上を有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
いくつかの実施形態によれば、図9は、説明される様々な実施形態の原理に従って構成された、電子デバイス900の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図9で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図9に示すように、電子デバイス900は、ユーザインタフェースを表示し、ユーザ接触(スタイラス接触を含む)を受信するように構成されたタッチ感知ディスプレイユニット902と、デバイスに関連付けられたスタイラスからの信号を検出するように構成された1つ以上のセンサユニット906と、タッチ感知ディスプレイユニット902及び1つ以上のセンサユニット906に結合された処理ユニット908と、を含む。いくつかの実施形態では、処理ユニット908は、検出ユニット910、位置判定ユニット912、目印表示ユニット914、変化検出ユニット916、更新ユニット918、マーク表示ユニット920、及びコンテンツ修正ユニット922を含む。
処理ユニット908は、タッチ感知ディスプレイユニット902に対するスタイラスの距離、タッチ感知ディスプレイユニット902に対するスタイラスの傾き、及び/又はタッチ感知ディスプレイユニット902に対するスタイラスの向きに対応する、スタイラスの姿勢状態を検出し(例えば、検出ユニット910で)、スタイラスの検出された姿勢状態に対応するタッチ感知ディスプレイユニット902上の位置を判定し(例えば、位置判定ユニット912で)、スタイラスの姿勢状態に従って、スタイラスがタッチ感知ディスプレイユニット902にタッチする前に判定された位置のタッチ感知ディスプレイユニット902上の目印の表示を有効にし(例えば、目印表示ユニット914で)、スタイラスがタッチ感知ディスプレイユニット902にタッチする前のスタイラスの距離、傾き、及び/又は向きの変化を検出し(例えば、変化検出ユニット916で)、変化を検出したことに応じて、タッチ感知ディスプレイユニット902上に表示された目印を更新する(例えば、更新ユニット918で)、ように構成される。
上述の情報処理方法での動作は、汎用プロセッサ(例えば、図1A及び図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
図8A〜8Dを参照して上述された動作は、図1A〜1B、又は図9に示される構成要素によって、任意選択的に実施される。例えば、検出動作802、位置判定動作812、表示動作814、変化検出動作818、及び更新動作820は、イベントソート部170、イベント認識部180、及びイベント処理部190によって、任意選択的に実施される。イベントソート部170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触(又は近接触)を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配信する。アプリケーション136−1の対応するイベント認識部180は、そのイベント情報を対応するイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触(又は近接触)(又は、デバイスの回転)が、ユーザインタフェース上のオブジェクトの選択、又は1つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベント処理部190をアクティブ化させる。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176若しくはオブジェクト更新部177を、任意選択的に用いるか又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A〜図1Bに示される構成要素に基づいてどのように実施され得るかは明らかであるだろう。
スタイラスがタッチ感知面にタッチしている間にスタイラスの姿勢状態に対応する目印を表示して更新する
いくつかの電子デバイスは、そのデバイスのタッチ感知ディスプレイへの入力の追加の方法を提供するために、そのデバイスに関連付けられたスタイラスを使用する。例えば、いくつかのセルラー電話、ラップトップ、及びタブレットは、スタイラスからの入力を受信する能力を有する。しかし、様々な理由(例えば、スタイラス先端部の厚さ、デバイス上のガラスの厚さなど)のため、ユーザは、スタイラスの双方向作用(例えば、マークをつけること)が行われる場所を、正確に知ることが難しいと感じる場合がある。以下の実施形態は、スタイラスの姿勢状態(例えば、デバイスのタッチ感知ディスプレイに対するスタイラスの距離、傾き、及び/又は向き)に対応する目印を表示して更新することにより、この問題に対処している。目印は、タッチ感知ディスプレイ上でどこにマークがつけられるであろうかを示す。目印を見るのをスタイラスが妨げないように、目印は、スタイラスの先端部からオフセットしている。目印は、ユーザがスタイラスをより正確に配置して使用するのに役立つ。
以下で、図10A〜10Kは、スタイラスの姿勢状態に対応する目印を表示して更新するための例示的なユーザインタフェースを示す。図11A〜11Dは、スタイラスの姿勢状態に対応する目印を表示して更新する方法を示す流れ図である。図10A〜10Kのユーザインタフェースを使用して、図11A〜11Dのプロセスを示す。
図10A〜10Kは、いくつかの実施形態に係る、スタイラスの姿勢状態に対応する目印を表示して更新するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図11A〜11Dのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ上の(タッチ感知面とディスプレイとが組み合わされている場合、例えば、タッチスクリーン112上の)入力を参照して説明されるが、一部の実施形態において、デバイスは、図6Bに示すように、ディスプレイ650とは別個のタッチ感知面651上で入力を検出する。
いくつかの実施形態では、デバイスは、別個のディスプレイ(例えば、ディスプレイ650)及び別個のタッチ感知面(例えば、タッチ感知面651)を備える電子デバイスである。いくつかの実施形態では、デバイスは、ポータブル多機能デバイス100であり、ディスプレイは、タッチ感知ディスプレイシステム112であり、タッチ感知面は、ディスプレイ上に触知出力生成器163を含む(図1A)。説明を簡便にするために、図10A〜10K及び図11A〜11Dを参照して説明する実施形態は、タッチ感知ディスプレイシステム112を備えたデバイス上で実行される動作を参照して説明する。そのような実施形態では、フォーカスセレクタは、任意選択的に、それぞれの指又はスタイラスの接触、指又はスタイラスの接触に対応する代表的な点(例えば、それぞれの接触の面心又はそれぞれの接触に関連付けられた点)、又は、タッチ感知ディスプレイシステム112上で検出された2つ以上の接触の面心である。しかし、類似した動作が、ディスプレイ650と、別個のタッチ感知面651と、を備えたデバイス上で、ディスプレイ650上に図10A〜10Kに示すユーザインタフェースを表示している間に、タッチ感知面651上(又はその付近)で図10A〜10Kで説明する接触を検出したことに応じて、任意選択的に実行される。
図10A〜10Kは、いくつかの実施形態に係る、スタイラスの姿勢状態に対応する目印を表示して更新するための例示的なユーザインタフェースを示す。図10Aは、デバイス100の追加の詳細(例えば、スピーカ111、光センサ164、近接センサ166など)と共にタッチスクリーン112を示すが、明瞭にするために、図10B〜10Kは、デバイス100の他の詳細を示さずに、単にデバイス100のタッチスクリーン112を示す。更に、図10Aは、タッチ感知面(例えば、デバイス100のタッチスクリーン112)の真上の視点から実施例を示すが、図10B〜10Kは、2つの視点、タッチ感知面(例えば、デバイス100のタッチスクリーン112)の真上の視点及びタッチ感知面の側面の視点から実施例を示す。
図10Aは、スタイラス(例えば、スタイラス203)の姿勢状態に対応する目印(例えば、目印1016−a)を表示する実施例を示す。この実施例では、スタイラス203は、タッチスクリーン112に対するスタイラス203の向き(例えば、向き1006−a)、及びタッチスクリーン112上のスタイラス203の先端部の投影の位置(例えば、(x、y)位置1004−a)を有する姿勢状態を有する。図10Aに示すように、スタイラス203が向き1006−a(例えば、軸508に対して時計回りの回転角度で約315度)、及び(x、y)位置1004−aの先端部投影で配置されている場合、目印1016−aは、スタイラス203がタッチスクリーン112にタッチする(又はマークをつける)であろう場所を示すように、タッチスクリーン112上に表示される。いくつかの実施形態では、スタイラスが第1の向きに配置されると、目印は、(x、y)位置1004−aに対してタッチスクリーン112上の第1の方向に変位され、スタイラスが第1の向きとは別個の第2の向きに配置されると、目印は、(x、y)位置1004−aに対してタッチスクリーン112上の第2の方向に変位される。
図10B〜10Cは、タッチ感知ディスプレイ(例えば、タッチスクリーン112)に対するスタイラス(例えば、スタイラス203)の向き(例えば、向き1006)を変化させて、向きの変化に応じて、表示された目印を更新する(例えば、第1の位置に目印1016−bを表示することから、第2の位置に目印1016−cを表示することへ)実施例を示す。図10B〜10Cで、スタイラスの先端部の(x、y)位置(例えば、(x、y)位置1004−b)、スタイラスの傾き(例えば、傾き1012−a)、及びタッチ感知ディスプレイに対するスタイラスの距離(例えば、スタイラスの先端部がタッチ感知ディスプレイと接触しているときの距離1014−a)は、一定のままであり、タッチ感知ディスプレイに対するスタイラスの向きは、変化する(例えば、向き1006−aから向き1006−bに)。スタイラス203の向きが、向き1006−a(例えば、軸508に対して時計回りの回転角度で約315度)から向き1006−b(例えば、軸508に対して時計回りの回転角度で約45度)に変化すると、表示された目印は、タッチスクリーン112上で更新される(例えば、目印1016−bから目印1016−cに)。
図10C〜10Eは、タッチ感知ディスプレイ(例えば、タッチスクリーン112)に対するスタイラス(例えば、スタイラス203)の傾き(例えば、傾き1012)を変化させて、傾きの変化に応じて、表示された目印(例えば、目印1016)を更新する実施例を示す。図10C〜10Eで、スタイラスの向き(例えば、向き1006−b)、スタイラスの先端部の(x、y)位置(例えば、(x、y)位置1004−b)、及びタッチ感知ディスプレイに対するスタイラスの距離(例えば、スタイラスの先端部がタッチ感知ディスプレイと接触しているときの距離1014−d)は、一定のままで、スタイラスがデバイス100と平行に近づいて傾斜すると、スタイラスの傾きは、(例えば、傾き1012−aから傾き1012−bに、傾き1012−cに)変化する。この実施例に示すように、傾きが増大すると、スタイラスの先端部の(x、y)位置と目印との間の距離の大きさは、既定の最大距離に到達するまで増大する。この実施例では、目印1016−d(図10Dの)は、既定の最大距離にあるので、スタイラス203の傾きが傾き1012−b(図10Dの)から傾き1012−c(図10Eの)に変化するが、目印1016−dは、同じ位置のままである。
図10F〜10Iは、タッチ感知ディスプレイ(例えば、タッチスクリーン112)に対するスタイラス(例えば、スタイラス203)の距離(例えば、距離1014)を変化させて、距離の変化に応じて、表示された目印(例えば、目印1016)を更新する実施例を示す。いくつかの実施形態では、姿勢状態は、タッチ感知ディスプレイ上のスタイラスの先端部(又は他の代表部分)の投影の位置を含む。いくつかの実施形態では、スタイラスの先端部は、タッチ感知ディスプレイへのスタイラスの近接を判定するように構成された、スタイラスの終端である。いくつかの実施形態では、タッチ感知ディスプレイ上のスタイラスの先端部の投影は、正射影である。換言すれば、タッチ感知ディスプレイ上のスタイラスの先端部の投影は、タッチ感知ディスプレイの表面に垂直な、スタイラス先端部からタッチ感知ディスプレイへの線の端部の点である。例えば、図10F〜10Iで、(x、y)位置1004−bは、スタイラス203がタッチスクリーン112に垂直な経路に沿って(例えば、法線510の経路に沿って)直接移動された場合にスタイラス203の先端部がタッチスクリーン112に接触するであろう点であるため、タッチスクリーン112上のスタイラス203の先端部の投影である。
図10F〜10Iで、スタイラスの向き(例えば、向き1006−b)、スタイラスの先端部の投影の(x、y)位置(例えば、(x、y)位置1004−b)、及びスタイラスの傾き(例えば、傾き1012−a)は、一定のままで、スタイラスがタッチ感知ディスプレイから離れて移動すると、タッチ感知ディスプレイに対するスタイラスの距離は、(例えば、距離1014−bから距離1014−cに、距離1014−dに、距離1014−eに)変化する。更に、スタイラス203がタッチスクリーン112から離れて移動すると、表示された目印はタッチスクリーン112上で更新される(例えば、目印1016−eから目印1016−fに、目印1016−gに、目印1016−hに)。この実施例に示すように、いくつかの実施形態では、スタイラス203がタッチスクリーン112に近づいて移動すると、目印は、不透明度を変化させ(例えば、不透明度を減少させて)、サイズ(又は半径若しくはエリア)を変化させ(例えば、サイズを増大させて)、及び/又は色を変化させる(例えば、色を明るくさせて)。
図10Jは、スタイラス(例えば、スタイラス203)が既定の距離より大きくタッチ感知ディスプレイの表面から離れている場合に、タッチ感知ディスプレイ(例えば、タッチスクリーン112)上に目印を表示するのを中止する実施例を示す。図10F〜10Iと比較すると、スタイラス203の先端部が閾値1010を下回る場合に目印(例えば、それぞれ目印1016−e、目印1016−f、目印1016−g、目印1016−h)が表示されていると、図10Jに示すように、スタイラス203の先端部が閾値1010を上回ると、目印は、タッチスクリーン112上に表示するのを中止する。
図10B〜10Eは、スタイラス(例えば、スタイラス203)がタッチ感知ディスプレイ(例えば、タッチスクリーン112)の表面と物理的に接触している場合に、目印(例えば、目印1016−b、目印1016−c、及び目印1016−d)を表示する実施例を示す。いくつかの実施形態では、スタイラス203がタッチスクリーン112と物理的に接触している場合に、タッチスクリーン112から離れるスタイラス203の距離(例えば、距離1014−a)は、ゼロより大きいように計算される(例えば、タッチスクリーン112上のガラス層の厚さに相当するように)。いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面と物理的に接触している場合、向きの変化に応じて、目印は更新され(図10Aに関して上述したように)、傾きの変化に応じて、目印は更新される(図10C〜10Eに関して上述したように)が、簡潔にするために、ここでは詳細は繰り返さない。
いくつかの実施形態では、スタイラス203がタッチスクリーン112と物理的に接触している場合、目印及びマークの両方が表示される。いくつかの実施形態では、目印は、マークがタッチ感知ディスプレイ上に描かれるであろう場所を示す仮想の「ペン先端部」又は他の要素に対応する。いくつかの実施形態では、マークは、タッチ感知ディスプレイ上の点、線、筆力などである。いくつかの実施形態では、目印は、マークの1つの端部(終端)に対応する。例えば、描かれているマークが線である場合、目印は、描かれている線の端部に対応する(又は隣接する)。いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面と物理的に接触しているときに目印が表示されている場合、目印の形状(及び任意選択的に、色)は、スタイラスによりエミュレートされている仮想描画手段の先端部の形状(及び任意選択的に、色)に対応する。例えば、スタイラスが仮想の黄色の蛍光ペンとして使用されている場合、目印は、黄色の矩形(蛍光ペンのチゼル先端部に対応する)であり、スタイラスがタッチ感知ディスプレイの表面にわたって移動されると、マークが生成される(例えば、スタイラスの経路に沿って目印のサイズ/形状/色を伝搬することにより)。スタイラスが仮想の黄色の蛍光ペンとして使用されており、スタイラスがタッチ感知ディスプレイ上の点にタッチダウンして、その後タッチ感知ディスプレイにわたって移動することなくリフトオフする場合、黄色の矩形マーク(蛍光ペンのチゼル先端部である目印に対応する)は、スタイラスがタッチダウンしたタッチ感知ディスプレイ上の点に表示することができる。
図10Kは、スタイラス(例えば、スタイラス203)がタッチ感知ディスプレイ(例えば、タッチスクリーン112)の表面と物理的に接触している場合に、マーク(例えば、マーク1018)を表示して、目印を表示するのを中止する実施例を示す。
図11A〜11Dは、いくつかの実施形態に係る、スタイラスの姿勢状態に対応する目印を表示して更新する方法1100を示す流れ図である。方法1100は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイは、タッチスクリーンディスプレイであり、タッチ感知面は、ディスプレイ上にある、又はディスプレイと一体化されている(単にタッチ感知ディスプレイとも呼ばれる)。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。いくつかの実施形態では、デバイスは、デバイスに関連付けられたスタイラスからの信号を検出する1つ以上のセンサを含み、スタイラスは、先端部(又は他の代表部分)を含む。いくつかの実施形態では、先端部以外のスタイラス上の部分は、先端部の位置を推定するために使用される。方法1100の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
後述するように、方法1100は、スタイラスの姿勢状態に対応する目印を表示して更新する直感的な方法を提供する。目印は、ユーザがスタイラスをより正確に配置して使用するのに役立つ。この方法は、電子デバイスと対話するためにスタイラスを使用する際のユーザからの入力の数、範囲、及び/又は種類を低減し、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的にスタイラスで入力することができることにより、電力が節約され、バッテリを充電する間隔が増大する。
デバイスは、スタイラスの先端部(又は他の代表部分)がタッチ感知ディスプレイと接触している間に、タッチ感知ディスプレイ上のスタイラスの先端部の位置、タッチ感知ディスプレイに対するスタイラスの傾き、及びタッチ感知ディスプレイに対するスタイラスの向きに対応する(又は示す)、スタイラスの姿勢状態を検出する(1102)。図10Cは、例えば、(x、y)位置1004−b、傾き1012−a、及び向き1006−bに対応する姿勢状態でのスタイラス203を示す。いくつかの実施形態では、姿勢状態は、姿勢パラメータのセット(例えば、1つ以上の姿勢パラメータ)を含む。いくつかの実施形態では、姿勢状態は、タッチ感知ディスプレイ(例えば、タッチスクリーン112)に対するものである。いくつかの実施形態では、姿勢状態は、電子デバイスに送信されるスタイラスからの1つ以上の測定値に従って検出される。例えば、スタイラスは、スタイラスの傾き及び/又は向きを測定して、その測定値を電子デバイスに送信する。あるいは、いくつかの実施形態では、姿勢状態は、タッチ感知ディスプレイにより感知される、スタイラス内の1つ以上の電極からの未処理出力に従って検出される。例えば、タッチ感知ディスプレイは、スタイラス内の1つ以上の電極からの未処理出力を受信して、未処理出力に基づいて、スタイラスの傾き及び/又は向きを計算する。
いくつかの実施形態では、スタイラスの傾きは、タッチ感知ディスプレイの表面の法線(単にタッチ感知ディスプレイの法線とも呼ばれる)に対する角度であり、スタイラスの向きは、タッチ感知ディスプレイに平行な平面内の少なくとも1つの軸に対する、タッチ感知ディスプレイ上へのスタイラスの投影(例えば、タッチ感知ディスプレイ上へのスタイラスの長さ又はスタイラスの2つの異なる点の投影の間の線に対応する線の正射影)の向きである(1104)。例えば、図5Bで、スタイラス203の傾き512は、タッチスクリーン112の法線510に対する角度であり、図5Aで、スタイラス203の向き506は、軸508に対するタッチスクリーン112上へのスタイラス203の投影の向きである。いくつかの実施形態では、タッチ感知ディスプレイ上へのスタイラスの投影の向きは、図5Aの軸508などの単一の軸(例えば、0度〜360度の範囲のこの軸から時計回りの回転角度を有する単一の軸)に対するものである。あるいは、いくつかの実施形態では、タッチ感知ディスプレイ上へのスタイラスの投影の向きは、一対の軸(例えば、図5Aのx軸590及びy軸592などのx軸及びy軸、又はタッチ感知ディスプレイ上に表示されたアプリケーションに関連付けられた一対の軸)に対するものである。
いくつかの実施形態では、姿勢状態は、タッチ感知ディスプレイに対するスタイラスの距離を含む(1106)。例えば、図10B〜10Eで、タッチスクリーン112に対するスタイラス203の距離は、距離1014−aである(例えば、スタイラスの先端部がタッチスクリーン112と接触しているとき)。別の実施例として、図10F〜10Jで、スタイラスがタッチスクリーン112から離れて移動すると、タッチスクリーン112に対するスタイラス203の距離は、変化する(例えば、距離1014−bから距離1014−cに、距離1014−dに、距離1014−eに、距離1014−fに)。
いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面と物理的に接触している場合、タッチ感知ディスプレイから離れるスタイラスの距離は、ゼロより大きいように計算される(例えば、画素を覆う「ガラス上に」目印を表示するのではなく、目印を通してディスプレイの「画素上に」伝わるように、タッチ感知ディスプレイ(例えば、タッチスクリーン112)上のガラス層の厚さに相当するように)(1108)。いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面と物理的に接触している場合、タッチ感知ディスプレイから離れるスタイラスの距離は、ゼロより大きいように定義される。例えば、図10B〜10Eで、スタイラス203がタッチスクリーン112の表面と物理的に接触している場合、距離1014−aは、ゼロより大きいように計算される(又は定義される)。
いくつかの実施形態では、電子デバイスにより検出可能な(例えば、デバイスのタッチ感知ディスプレイ内の機構により)スタイラスの第1の電極は、スタイラスの先端部に近接しており、電子デバイスにより検出可能な(例えば、デバイスのタッチ感知ディスプレイ内の機構により)スタイラスの第2の電極は、既定の距離だけ第1の電極から変位している(1110)。いくつかの実施形態では、スタイラスの第1の電極は、スタイラスの先端部に(又はその付近に)あり、スタイラスの第2の電極は、既定の距離だけ第1の電極から変位したリングである。いくつかの実施形態では、スタイラス203は、図5A〜5Bに示すように、スタイラス203の先端部(又はその付近)の第1の電極、及び既定の距離だけ第1の電極から変位したリングである第2の電極を有し、両方の電極は、デバイス100により(例えば、デバイス100のタッチスクリーン112内の機構により)検出可能である。
デバイスは、スタイラス(例えば、スタイラス203)の検出された姿勢状態に対応するタッチ感知ディスプレイ(例えば、タッチスクリーン112)上の第1の位置を判定する(1112)。例として図10Bを使用して、スタイラス203の検出された姿勢状態に対応するタッチスクリーン112上の位置は、(x、y)位置1004−b、傾き1012−a、及び/又は向き1006−aにより判定される。
デバイスは、タッチ感知ディスプレイ(例えば、タッチスクリーン112)上で、タッチ感知ディスプレイ上のスタイラスの先端部の位置から第1のオフセットにある、スタイラスの検出された姿勢状態に対応する第1の位置(動作1112で判定された)に目印を表示する(1114)。例えば、図10Bで、目印1016−bは、スタイラス203の検出された姿勢状態に対応する第1の位置に表示され、目印1016−bは、(x、y)位置1004−bから第1のオフセットにある。いくつかの実施形態では、タッチ感知ディスプレイ上に描かれているマークは、目印として機能する。いくつかの実施形態では、目印は、タッチ感知ディスプレイ上に描かれているマークとは別個である。いくつかの実施形態では、上述したように、目印は、マークがタッチ感知ディスプレイ上に描かれるであろう場所を示す仮想の「ペン先端部」又は他の要素に対応する。いくつかの実施形態では、マークは、タッチ感知ディスプレイ上の点、線、筆力などである。いくつかの実施形態では、図10Bに示すように、それぞれのオフセットは、スタイラスの先端部からそれぞれの目印までの距離、及びタッチ感知ディスプレイの平面に平行な方向の、それぞれの目印とスタイラスの先端部との間の線の向き(図示せず)を含む。いくつかの実施形態では、表示された目印は、タッチ感知ディスプレイのガラスの厚さに相当する。
いくつかの実施形態では、タッチ感知ディスプレイ上に目印を表示することは、判定された位置でのタッチ感知ディスプレイの背景色に従って、目印に対する色を判定することを含む(1116)。いくつかの実施形態では、判定された位置でのタッチ感知ディスプレイの背景色に従って目印に対する色を判定することは、判定された位置でのタッチ感知ディスプレイの背景色と対照をなす、目印に対する色を判定することを含む。例えば、いくつかの実施形態では、タッチ感知ディスプレイの背景色が白色である場合、目印に対して判定された色は、灰色若しくは黒色、又は白色と対照をなす別の色である。例えば、図10Bで、タッチスクリーン112の背景色が白色である場所では、目印1016−bに対する色は、黒色である。別の実施例として、いくつかの実施形態では、タッチ感知ディスプレイの背景色が黒色である場合、目印に対して判定された色は、白色若しくは黄色、又は黒色と対照をなす別の色である。
デバイスは、スタイラス(例えば、スタイラス203)の向きの変化を検出する(1118)。例えば、図10B〜10Cは、スタイラス203の向きの変化(例えば、向き1006−aから向き1006−bへ)を示す。
スタイラス(例えば、スタイラス203)の向きの変化を検出したことに応じて、デバイスは、スタイラスの向きの変化に対応するタッチ感知ディスプレイ(例えば、タッチスクリーン112)上の第2の位置を判定し、第2の位置は、タッチ感知ディスプレイ上のスタイラスの先端部の位置から第2のオフセットにある(1120)。例えば、図10Cで、目印1016−cは、スタイラス203の検出された姿勢状態に対応する第2の位置に表示されており、目印1016−cは、(x、y)位置1004−bから第2のオフセットにある。
いくつかの実施形態では、タッチ感知ディスプレイ上でスタイラスが第1の向きに配置されると、目印は、スタイラスの先端部(又は他の代表部分)の投影に対してタッチ感知ディスプレイ上で第1の方向に変位され、タッチ感知ディスプレイ上でスタイラスが第1の向きとは別個の第2の向きに配置されると、目印は、スタイラスの先端部(又は他の代表部分)の投影に対してタッチ感知ディスプレイ上で第1の方向とは別個の第2の方向に変位される(1122)。いくつかの実施形態では、スタイラス(例えば、スタイラス203)の向きが変化すると、スタイラスの先端部の投影(例えば、図7Bの(x、y)位置1004ーb)に対する目印(例えば、図7Bの目印1016ーb)の方向は、変化する。例えば、図10Bで、スタイラス203が向き1006−aに配置されると、目印1016−bは、(x、y)位置1004−bに対して第1の方向に変位され(例えば、目印1016−bは、(x、y)位置1004−bの南東である、又は目印1016−bは、軸508に対して(x、y)位置1004−bから時計回りの回転角度で135度である)、図10Cで、スタイラス203が向き1006−bに配置されると、目印1016−cは、(x、y)位置1004−bに対して第2の方向に変位される(例えば、目印1016ーcは、(x、y)位置1004−bの南西である、又は目印1016−cは、軸508に対して(x、y)位置1004−bから時計回りの回転角度で225度である)。
いくつかの実施形態では、タッチ感知ディスプレイ上のスタイラスの先端部の位置が、固定位置にある(例えば、図10B〜10Dで、(x、y)位置1004−bが、固定位置にある)間に、デバイスは、タッチ感知ディスプレイ上で異なる2つ以上の位置に目印を表示する(1124)。例えば、方法は、タッチ感知ディスプレイ上のスタイラスの先端部の位置が同じままである間に、目印の位置を変化させる(例えば、第1の位置から第2の位置に)ことを含む。図10B及び10Cで、例えば、タッチスクリーン112上のスタイラス203の先端部の位置が固定位置にある(例えば、(x、y)位置1004−bに固定されている)間に、デバイスは、タッチスクリーン112上で異なる2つの位置(例えば、目印1016−bの位置、及び目印1016−cの位置)に目印を表示する。更に、図10Dで、動作1126に関して以下に説明するように、タッチスクリーン112上のスタイラス203の先端部の位置が同じ固定位置にある(例えば、(x、y)位置1004−bに固定されている)間に、デバイスは、タッチスクリーン112上で第3の位置(例えば、目印1016−dの位置)に目印を表示する。
いくつかの実施形態では、デバイスは、スタイラスの傾きの変化を検出し、スタイラスの傾きの変化を検出したことに応じて、デバイスは、タッチ感知ディスプレイ上のスタイラスの先端部の位置から第3のオフセットにある、スタイラスの傾きの変化に対応するタッチ感知ディスプレイ上の第3の位置を判定し、デバイスは、タッチ感知ディスプレイ上で第3の位置に目印を表示する(1126)。例えば、図10C〜10Dは、スタイラス203の傾きの変化(例えば、傾き1012−aから傾き1012−bへ)を示し、目印1016−dは、スタイラス203の姿勢状態に対応する第3の位置に表示され、目印1016−dは、(x、y)位置1004−bから第3のオフセットにある。いくつかの実施形態では、方法は、(1)スタイラスの向き及びスタイラスの傾きの両方の変化を検出することと、(2)スタイラスの向き及びスタイラスの傾きの両方の変化を検出したことに応じて、(a)タッチ感知ディスプレイ上のスタイラスの先端部の位置から第4のオフセットにある、向き及び傾きの変化に対応するタッチ感知ディスプレイ上の第4の位置を判定することと、(b)タッチ感知ディスプレイ上で第4の位置に目印を表示することと、を含む。いくつかの実施形態では、方法は、タッチ感知ディスプレイ上のスタイラスの先端部の位置の変化を検出することと、タッチ感知ディスプレイ上のスタイラスの先端部の位置の変化を検出したことに応じて、異なる位置に目印を表示することとを含む。
いくつかの実施形態では、タッチ感知ディスプレイ上で、スタイラスが第1の傾きを有するとき、目印は、スタイラスの先端部(又は他の代表部分)の正射影に対してタッチ感知ディスプレイ上でタッチ感知ディスプレイの平面に平行な方向に第1の距離だけ変位され、タッチ感知ディスプレイ上で、スタイラスが第1の傾きとは別個の第2の傾きを有するとき、目印は、スタイラスの先端部の正射影に対してタッチ感知ディスプレイ上でタッチ感知ディスプレイの平面に平行な方向に第1の距離とは別個の第2の距離だけ変位される(1128)。いくつかの実施形態では、方法は、タッチ感知ディスプレイ上のスタイラスの先端部の位置(例えば、図10Cの(x、y)位置1004−b)からスタイラスの傾きに基づく距離だけ目印を変位させることを含む。例えば、図10Cで、スタイラス203が第1の傾き(例えば、傾き1012−a)を有するとき、目印1016−cは、(x、y)位置1004−bから第1の距離離れており、図10Dで、スタイラス203が第2の傾き(例えば、傾き1012−b)を有するとき、目印1016−dは、(x、y)位置1004−bから第2の距離離れている。いくつかの実施形態では、目印は、スタイラスの傾きが増大すると、先端部の投影(又はタッチ感知ディスプレイ上の先端部の位置)からより大きな距離だけ変位される。例えば、スタイラス203が1012−aの傾きを有して配置されると、目印1016−cは、(x、y)位置1004−bに対してより短い距離だけ変位され(図10Cに示すように)、スタイラス203が1012−bの増大した傾きを有して配置されると、目印1016−dは、(x、y)位置1004−bに対してより大きな距離だけ変位される(図10Dに示すように)。
いくつかの実施形態では、それぞれの距離は、タッチ感知ディスプレイの平面に平行な方向の既定の最大距離(例えば、タッチ感知ディスプレイ(の平面)に平行な方向の目印とスタイラスの先端部の(x、y)位置との間の)を上回らない(1130)。例えば、図10D〜10Eに示すように、第1の距離及び第2の距離(動作1128に関して上述したような)は、既定の最大距離を上回らない。いくつかの実施形態では、目印がすでに既定の最大距離にある場合、スタイラスの傾きの更なる増大により、スタイラスの先端部の(x、y)位置に対する距離の大きさは増大しない。例えば、図10D〜10Eに示すように、スタイラス203の傾きが傾き1012−bから傾き1012−cに増大するが、目印1016−dは、すでに(x、y)位置1004−bに対して既定の最大距離にあるため、同じままである。
いくつかの実施形態では、デバイスは、タッチ感知ディスプレイの表面から離れるスタイラス(例えば、スタイラスの先端部)の移動を検出し、タッチ感知ディスプレイの表面から離れるスタイラスの移動を検出したことに応じて、スタイラスが第1の距離未満タッチ感知ディスプレイの表面から離れているという判定に従って、デバイスは、目印の表示を維持しながら、スタイラスの移動に基づいてタッチ感知ディスプレイ上の目印の外観を更新し、スタイラスが第2の距離より大きくタッチ感知ディスプレイの表面から離れているという判定に従って、デバイスは、タッチ感知ディスプレイ上に目印を表示するのを中止する(1132)。例えば、図10F〜10Iに示すように、スタイラス203の先端部が第1の距離(例えば、閾値1010)未満タッチスクリーン112の表面から離れている場合、デバイスは、タッチスクリーン112上の目印の外観を更新する(例えば、スタイラス203がタッチスクリーン112から離れて移動すると、目印は、色がより明るく、より不透明でなく、及び/又はサイズがより大きくなる)。更に、図10Jに示すように、スタイラス203の先端部が第2の距離(例えば、閾値1010)より大きくタッチスクリーン112の表面から離れている場合、デバイスは、タッチスクリーン112上に目印を表示するのを中止する。いくつかの実施形態では、第1の距離は、第2の距離と同じである(例えば、図10F〜10Jに示すように、第1の距離及び第2の距離は両方とも、閾値1010である)。いくつかの実施形態では、第1の距離は第2の距離未満である。
いくつかの実施形態では、スタイラスの代表部分(例えば、スタイラスの先端部)がタッチ感知ディスプレイの表面と物理的に接触しているという判定に従って、デバイスは、姿勢状態に従って、タッチ感知ディスプレイ上に目印を表示し、タッチ感知ディスプレイ上の目印の位置は、目印とスタイラスの代表部分との間のタッチ感知ディスプレイの平面に平行な方向の距離が既定の最大距離を上回らないように制約される(1134)。例えば、スタイラスの先端部がタッチ感知ディスプレイの表面と物理的に接触している場合、目印は、タッチ感知ディスプレイ上で、目印と先端部との間のタッチ感知ディスプレイの平面に平行な方向の距離を打ち切られて表示される。図10D〜10Eに示すように、例えば、スタイラス203がタッチスクリーン112の表面と物理的に接触している場合、デバイスは、目印1016−dを表示し、目印1016−gと(x、y)位置1004−bとの間の距離は、既定の最大距離を上回らない(例えば、スタイラス203の傾きの増大に関わらず)。
図11A〜11Dにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図11A〜図11Dに関連して上述した方法1100に類似の方法で適用できることを認識されたい。例えば、方法1100を参照して上述したスタイラスの姿勢状態特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力は、任意選択的に、本明細書で説明する他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載したもの)を参照して本明細書に記載のスタイラスの姿勢状態特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力の特性のうちの1つ以上を有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
いくつかの実施形態により、図12は、説明される様々な実施形態の原理に従って構成された、電子デバイス1200の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図12で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図12に示すように、電子デバイス1200は、ユーザインタフェースを表示し、ユーザ接触(スタイラス接触を含む)を受信するように構成されたタッチ感知ディスプレイユニッ1202トと、デバイスに関連付けられた、先端部を含むスタイラスからの信号を検出するように構成された1つ以上のセンサユニット1206と、タッチ感知ディスプレイユニット1202及び1つ以上のセンサユニット1206に結合された処理ユニット1208と、を含む。いくつかの実施形態では、処理ユニット1208は、検出ユニット1210と、位置判定ユニット1212と、目印表示ユニット1214と、変化検出ユニット1216と、更新ユニット1218とを含む。
処理ユニット1208は、スタイラスの先端部がタッチ感知ディスプレイユニット1202と接触している間に、タッチ感知ディスプレイユニット1202上のスタイラスの先端部の位置、タッチ感知ディスプレイユニット1202に対するスタイラスの傾き、及びタッチ感知ディスプレイユニット1202に対するスタイラスの向きに対応する、スタイラスの姿勢状態を検出し(例えば、検出ユニット1210で)、スタイラスの検出された姿勢状態に対応するタッチ感知ディスプレイユニット1202上の第1の位置を判定し(例えば、位置判定ユニット1212で)、タッチ感知ディスプレイユニット1202上で、タッチ感知ディスプレイユニット1202上のスタイラスの先端部の位置から第1のオフセットにある、スタイラスの検出された姿勢状態に対応する第1の位置の目印の表示を有効にし(例えば、目印表示ユニット1214で)、スタイラスの向きの変化を検出し(例えば、変化検出ユニット1216で)、スタイラスの向きの変化を検出したことに応じて、タッチ感知ディスプレイユニット1202上のスタイラスの先端部の位置から第2のオフセットにある、スタイラスの向きの変化に対応するタッチ感知ディスプレイユニット1202上の第2の位置を判定し(例えば、位置判定ユニット1212で)、タッチ感知ディスプレイユニット1202上で第2の位置の目印の表示を有効にする(例えば、目印表示ユニット1214で)、ように構成される。
上述の情報処理方法での動作は、汎用プロセッサ(例えば、図1A及び図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
図11A〜11Dを参照して上述された動作は、図1A〜1B、又は図12に示される構成要素によって、任意選択的に実施される。例えば、検出動作1102、位置判定動作1112、表示動作1114、変化検出動作1118、及び判定/表示動作1120は、イベントソート部170、イベント認識部180、及びイベント処理部190によって、任意選択的に実施される。イベントソート部170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触(又は近接触)を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配信する。アプリケーション136−1の対応するイベント認識部180は、そのイベント情報を対応するイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触(又は近接触)(又は、デバイスの回転)が、ユーザインタフェース上のオブジェクトの選択、又は1つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベント処理部190をアクティブ化させる。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176若しくはオブジェクト更新部177を、任意選択的に用いるか又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A〜図1Bに示される構成要素に基づいてどのように実施され得るかは明らかであるだろう。
スタイラスからの入力の特性に従ってマークの1つ以上の特性を調整する
いくつかの電子デバイスは、そのデバイスのタッチ感知面への入力の追加の方法を提供するために、そのデバイスに関連付けられたスタイラスを使用する。例えば、いくつかのセルラー電話、ラップトップ、及びタブレットは、スタイラスからの入力を受信する能力を有する。しかし、ユーザは、1つ以上の仮想描画手段(例えば、鉛筆、ブラシ、筆ペンなど)をエミュレートするためにスタイラスを所望する場合があり、その場合、デバイスと共にスタイラスを使用することにより、紙の上で描画手段を使用するのと類似したユーザエクスペリエンスを提供する。加えて、ユーザは、紙の上での描画手段で可能なものを上回る描画能力を提供するために、スタイラス及びデバイスを所望する場合がある(例えば、スタイラスが右方向に移動しているとき赤色のペンのマークをつけることから、スタイラスが左方向に移動しているとき青色のペンのマークをつけることに変更すること、又はスタイラスの接触強度が低いとき赤色のペンのマークをつけることから、スタイラスの接触強度が高いとき青色のペンのマークをつけることに変更すること)。以下の実施形態は、スタイラスによりエミュレートされている仮想描画手段、及びスタイラスからの入力の特性に従って、スタイラスからのマークの1つ以上の特性を調整することにより、これらの問題に対処する。
以下、図13A〜13Oは、いくつかの実施形態に係る、スタイラスからの入力の特性に従ってマークの1つ以上の特性を調整するための例示的なユーザインタフェースを示す。図14A〜14Eは、いくつかの実施形態に係る、スタイラスからの入力の特性に従ってマークの1つ以上の特性を調整する方法を示す流れ図である。図13A〜13Oのユーザインタフェースを使用して、図14A〜14Eのプロセスを示す。
図13A〜13Oは、いくつかの実施形態に係る、スタイラスからの入力の特性に従ってマークの1つ以上の特性を調整するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図14A〜14Eのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ上の(タッチ感知面とディスプレイとが組み合わされている場合、例えば、タッチスクリーン112上の)入力を参照して説明されるが、一部の実施形態において、デバイスは、図6Bに示すように、ディスプレイ650とは別個のタッチ感知面651上で入力を検出する。
いくつかの実施形態では、デバイスは、別個のディスプレイ(例えば、ディスプレイ650)及び別個のタッチ感知面(例えば、タッチ感知面651)を備える電子デバイスである。いくつかの実施形態では、デバイスは、ポータブル多機能デバイス100であり、ディスプレイは、タッチ感知ディスプレイシステム112であり、タッチ感知面は、ディスプレイ上に触知出力生成器163を含む(図1A)。説明を簡便にするために、図13A〜13Oを参照して説明する実施形態は、タッチ感知ディスプレイシステム112を備えたデバイス上で実行される動作を参照して説明する。そのような実施形態では、フォーカスセレクタは、任意選択的に、それぞれの指又はスタイラスの接触、指又はスタイラスの接触に対応する代表的な点(例えば、それぞれの接触の面心又はそれぞれの接触に関連付けられた点)、又は、タッチ感知ディスプレイシステム112上で検出された2つ以上の接触の面心である。しかし、類似した動作が、ディスプレイ650と、別個のタッチ感知面651と、を備えたデバイス上で、ディスプレイ650上に図13A〜13Oに示すユーザインタフェースを表示している間に、タッチ感知面651上(又はその付近)で図13A〜13Oで説明する接触を検出したことに応じて、任意選択的に実行される。
図13A〜13Oは、いくつかの実施形態に係る、スタイラスからの入力の特性に従ってマークの1つ以上の特性を調整するための例示的なユーザインタフェースを示す。図13Aは、デバイス100の追加の詳細(例えば、スピーカ111、光センサ164、近接センサ166など)と共にタッチスクリーン112を示すが、明瞭にするために、図13B〜13Oは、デバイス100の他の詳細を示さずに、単にデバイス100のタッチスクリーン112を示す。更に、図13Aは、タッチ感知面(例えば、デバイス100のタッチスクリーン112)の真上の視点から実施例を示すが、図13B〜13Oは、2つの視点、タッチ感知面(例えば、デバイス100のタッチスクリーン112)の真上の視点及びタッチ感知面の側面の視点から実施例を示す。
図13Aは、スタイラス(例えば、スタイラス203)の姿勢状態に対応する目印(例えば、目印1316−a)を表示する実施例を示す。この実施例では、スタイラス203は、タッチスクリーン112に対するスタイラス203の向き(例えば、向き1306−a)、及びタッチスクリーン112上のスタイラス203の先端部の投影の位置(例えば、(x、y)位置1304−a)を有する姿勢状態を有する。図13Aに示すように、スタイラス203が向き1306−a(例えば、軸508に対して時計回りの回転角度で約315度)、及び(x、y)位置1304−aの先端部投影で配置されている場合、目印1316−aは、スタイラス203がタッチスクリーン112にタッチする(又はマークをつける)であろう場所を示すように、タッチスクリーン112上に表示される。いくつかの実施形態では、スタイラスが第1の向きに配置されると、目印は、(x、y)位置1304−aに対してタッチスクリーン112上の第1の方向に変位され、スタイラスが第1の向きとは別個の第2の向きに配置されると、目印は、(x、y)位置1304−aに対してタッチスクリーン112上の第2の方向に変位される。
いくつかの実施形態では、スタイラスからの入力中のスタイラスの姿勢状態は、単一の静的な姿勢状態ではなく、むしろ、スタイラスの姿勢状態は、一般的に、スタイラスからの入力中に変化する(かつ、スタイラスからの入力の複数の特性と呼ばれる場合がある)。例えば、スタイラス203からの入力の複数の特性は、タッチスクリーン112に対するスタイラス203の向き(例えば、向き1306−a)、入力中のタッチスクリーン112にわたるスタイラス203の移動の方向(「方向性」)、タッチスクリーン112に対するスタイラス203の傾き、タッチスクリーン112上のスタイラス203の接触強度、及び/又はタッチスクリーン112上若しくは付近のスタイラス203の移動の速度を含む。
図13B〜13C、及び図13H〜13Lは、スタイラス(例えば、スタイラス203)がタッチ感知面(例えば、タッチスクリーン112)の表面と物理的に接触している場合に、目印(例えば、目印1316−b、目印1316−c、目印1316−h、目印1316−i、目印1316−j、目印1316−k、及び目印1316−l)を表示する実施例を示す。いくつかの実施形態では、スタイラス203がタッチスクリーン112と物理的に接触している場合に、タッチスクリーン112から離れるスタイラス203の距離(例えば、距離1314−a)は、ゼロより大きいように計算される(例えば、タッチスクリーン112上のガラス層の厚さに相当するように)。いくつかの実施形態では、スタイラスがタッチ感知面の表面と物理的に接触している場合、向きの変化に応じて、目印は更新され(図13B〜13Cに関して以下に説明するように)、傾きの変化に応じて、目印は更新される(上述したように)が、簡潔にするために、ここでは詳細は繰り返さない。
いくつかの実施形態では、スタイラス203がタッチスクリーン112と物理的に接触している場合、目印及びマークの両方が表示される(例えば、図13H〜13Lで)。いくつかの実施形態では、目印は、マークがタッチ感知ディスプレイ(例えば、タッチスクリーン112)上に描かれるであろう場所を示す仮想の「ペン先端部」又は他の要素に対応する。いくつかの実施形態では、マークは、タッチ感知ディスプレイ上の点、線、筆力などである。いくつかの実施形態では、目印は、マークの1つの端部(終端)に対応する(例えば、図13D〜13G、及び図13M〜13Oで)。例えば、描かれているマークが線である場合、目印は、描かれている線の端部に対応する(又は隣接する)。いくつかの実施形態では、スタイラスがタッチ感知ディスプレイの表面と物理的に接触しているときに目印が表示されている場合、目印の形状(及び任意選択的に、色)は、スタイラスによりエミュレートされている仮想描画手段の先端部の形状(及び任意選択的に、色)に対応する。例えば、スタイラスが仮想の黄色の蛍光ペンとして使用されている場合、目印は、黄色の矩形(蛍光ペンのチゼル先端部に対応する)であり、スタイラスがタッチ感知ディスプレイの表面にわたって移動されると、マークが生成される(例えば、スタイラスの経路に沿って目印のサイズ/形状/色を伝搬することにより)。スタイラスが仮想の黄色の蛍光ペンとして使用されており、スタイラスがタッチ感知ディスプレイ上の点にタッチダウンして、その後タッチ感知ディスプレイにわたって移動することなくリフトオフする場合、黄色の矩形マーク(蛍光ペンのチゼル先端部である目印に対応する)は、スタイラスがタッチダウンしたタッチ感知ディスプレイ上の点に表示することができる。
図13B〜13Cは、タッチ感知ディスプレイ(例えば、タッチスクリーン112)に対するスタイラス(例えば、スタイラス203)の向き(例えば、向き1306)を変化させて、向きの変化に応じて、表示された目印を更新する(例えば、第1の位置に目印1316−bを表示することから、第2の位置に目印1316−cを表示することへ)実施例を示す。図13B〜13Cで、スタイラスの先端部の(x、y)位置(例えば、(x、y)位置1304−b)、スタイラスの傾き(例えば、傾き1312−a)、及びタッチ感知ディスプレイに対するスタイラスの距離(例えば、スタイラスの先端部がタッチ感知ディスプレイと接触しているときの距離1314−a)は、一定のままであり、タッチ感知ディスプレイに対するスタイラスの向きは、変化する(例えば、向き1306−aから向き1306−bに)。スタイラス203の向きが、向き1306−a(例えば、軸508に対して時計回りの回転角度で約315度)から向き1306−b(例えば、軸508に対して時計回りの回転角度で約45度)に変化すると、表示された目印は、タッチスクリーン112上で更新される(例えば、目印1316−bから目印1316−cに)。
図13D〜13Eは、スタイラス(例えば、スタイラス203)からの入力中に方向性を変化させ、方向性の変化に応じて、方向性が変化するとマークの幅を変化させることによりマーク(例えば、マーク1330)を調整する実施例を示す。図13D〜13Eで、スタイラスの向き(例えば、向き1306−b)、スタイラスの傾き(例えば、傾き1312−a)、及びタッチ感知ディスプレイに対するスタイラスの距離(例えば、スタイラスの先端部がタッチ感知ディスプレイと接触しているときの距離1314−a)は、一定のままであり、スタイラスの方向性は、変化する(例えば、(x、y)位置1304−cで下方向に移動することから(x、y)位置1304−dで上方向に移動することに)。いくつかの実施形態では、図13D〜13Eのスタイラス203は、書道の筆致用のペンをエミュレートしている。図13Dで、スタイラス203が1つの方向(例えば、下方向)に移動すると、マーク(例えば、目印1316−dのマーク1330−a)の幅は、増大し、図13Eで、スタイラス203が別の方向(例えば、上方向)に移動すると、マークの幅(例えば、目印1316−eのマーク1330−b)は、減少する。いくつかの実施形態では、図13D〜13Eに示すように、スタイラスが第1の方向(例えば、上方向)に移動している間の第1の(例えば、細い)幅から、スタイラスが第1の方向と反対の第2の方向(例えば、下方向)に移動している間の第2の(例えば、太い)幅への漸進的遷移が存在する。
いくつかの実施形態では、スタイラス203の方向性の変化に応じて、方向性が変化すると、マークの色が変化する。いくつかの実施形態では、マークは、方向性の変化と共に、微妙な色の変化を有する。例えば、スタイラス203が第1の方向に移動すると、マーク(例えば、マーク1330)の色は、明るい色であり、スタイラス203が第2の方向に移動すると、マーク(例えば、マーク1330)の色は、同じ色のより暗いものである。実施例として図13D〜13Eを使用して、いくつかの実施形態では、スタイラス203が下方向に移動する(かつマークの幅が増大する)と、マークの色は、薄青色であり、スタイラス203が上方向に移動する(かつマークの幅が減少する)と、マークの色は、より暗い青色である。
図13F〜13Gは、タッチ感知ディスプレイ(例えば、タッチスクリーン112)に対するスタイラス(例えば、スタイラス203)の傾き(例えば、傾き1312)を変化させて、傾きの変化に応じて、傾きが増大するとマークの幅を増大させることによりマーク(例えば、マーク1332)を調整する実施例を示す。図13F〜13Gで、スタイラスの向き(例えば、向き1306−b)、及びタッチ感知ディスプレイに対するスタイラスの距離(例えば、スタイラスの先端部がタッチ感知ディスプレイと接触しているときの距離1314−a)は、一定のままで、スタイラス203からの入力中にスタイラスがタッチスクリーン112と平行に近づいて傾斜すると、スタイラスの傾きは、(例えば、傾き1312−bから傾き1312−cに)変化する。いくつかの実施形態では、図13F〜13Gのスタイラス203は、ブラシをエミュレートしている。この実施例に示すように、傾きが増大すると、マーク(例えば、マーク1332)の幅は、増大する。図13Fで、傾きが相対的に小さい(例えば、傾き1312−b)とき、マークの幅は、細く、(例えば、目印1316−fで)、図13Gで、傾きが相対的に大きい(例えば、傾き1312−c)とき、マークの幅は、太い(例えば、目印1316−gで)。
図13H〜13Jは、入力中のスタイラスの接触強度(例えば、タッチ感知面(例えば、タッチスクリーン112)上のスタイラス(例えば、スタイラス203)の接触の強度に対応するパラメータ)を変化させて、接触強度の変化に応じて、接触強度が増大するとマークの幅を増大させることによりマーク(例えば、マーク1334)を調整する実施例を示す。図13H〜13Jで、スタイラスの向き(例えば、向き1306−b)、スタイラスの傾き(例えば、傾き1312−a)、及びタッチ感知ディスプレイに対するスタイラスの距離(例えば、スタイラスの先端部がタッチ感知ディスプレイと接触しているときの距離1314−a)は、一定のままで、スタイラス203からの入力中に接触強度が増大すると、スタイラスの接触強度は、(例えば、図13Hの接触強度1322−aから図13Iの接触強度1322−bに、図13Jの接触強度1322−cに)変化する。いくつかの実施形態では、図13H〜13Jのスタイラス203は、鉛筆、又はペン、又はブラシをエミュレートしている。図13H〜13Jに示すように、接触強度が増大すると(例えば、接触の強度1320に対応する接触強度1322が暗くなることにより示すように)、マーク(例えば、マーク1334)の幅は、増大する。図13Hで、接触強度が相対的に低い(例えば、接触強度1322−aで)とき、マークの幅は、細い(例えば、目印1316−hで)。図13Iで、接触強度が中間である(例えば、接触強度1322−bで)とき、マークの幅は、中間で(例えば、目印1316−iで)ある。図13Jで、接触強度が相対的に高い(例えば、接触強度1322−cで)とき、マークの幅は、太い(例えば、目印1316−jで)。
加えて、図13H〜13Jに示さないが、いくつかの実施形態では、スタイラス203の接触強度の変化に応じて、接触強度が変化すると、マークの色が変化する。いくつかの実施形態では、接触強度が増大すると、マークの色は、第1の色から第2の色に漸進的に遷移する。いくつかの実施形態では、スタイラス203の接触強度が増大すると、マーク(例えば、マーク1334)の色は、第1の色(例えば、赤色)から第2の色(例えば、青色)に変化し、漸進的遷移の間のマークの色は、第1の色及び第2の色の混合(例えば、紫色)を含む。説明のための実施例として図13H〜13Jを使用して、スタイラス203の接触強度が増大すると、マーク(例えば、マーク1334)の色は、赤色から青色に漸進的に遷移する(例えば、赤色から、紫色に、青色に)。図13Hで、接触強度が相対的に低い(例えば、接触強度1322−aで)とき、マークの色は、赤色である(例えば、目印1316−hで)。図13Iで、接触強度が中間である(例えば、接触強度1322−bで)とき、マークの色は、紫色(例えば、目印1316−iで赤色及び青色の混合)である。図13Jで、接触強度が相対的に高い(例えば、接触強度1322−cで)とき、マークの色は、青色である(例えば、目印1316−jで)。同様に、いくつかの実施形態では、接触強度が減少すると、マークの色は、第2の色から第1の色に漸進的に遷移する。
図13K〜13Lは、入力中にスタイラス(例えば、スタイラス203)の接触強度を変化させて、接触強度の変化に応じて、接触強度が増大するとマークの不透明度を増大することによりマーク(例えば、マーク1336)を調整する実施例を示す。図13K〜13Lで、スタイラスの向き(例えば、向き1306−b)、スタイラスの傾き(例えば、傾き1312−a)、及びタッチ感知ディスプレイに対するスタイラスの距離(例えば、スタイラスの先端部がタッチ感知ディスプレイと接触しているときの距離1314−a)は、一定のままで、スタイラス203からの入力中に接触強度が増大すると、スタイラスの接触強度は、(例えば、図13Kの接触強度1322−dから図13Lの接触強度1322−eに)変化する。いくつかの実施形態では、図13K〜13Lのスタイラス203は、鉛筆、又はボールペン、又はブラシをエミュレートしている。図13K〜13Lに示すように、接触強度が増大すると(例えば、接触の強度1320に対応する接触強度1322が暗くなることにより示すように)、マーク(例えば、マーク1336)の不透明度は、増大する。図13Kで、接触強度が相対的に低い(例えば、接触強度1322−dで)とき、マークの不透明度は、薄い(例えば、目印1316−kで)。図13Lで、接触強度がより高い(例えば、接触強度1322−eで)とき、マークの不透明度は、より濃い(例えば、目印1316−lで)。
図13Mは、入力中にスタイラス(例えば、スタイラス203)の移動の速度を変化させて、速度の変化に応じて、速度が増大するとマークの幅を減少することによりマーク(例えば、マーク1338)を調整する実施例を示す。例えば、マーク1338−aの一画を完了するためにスタイラス203の移動の速度が増大すると、マーク1338−aの幅は、減少する。いくつかの実施形態では、速度の変化に応じて、速度が減少するとマークの幅を増大させることにより、マークは調整される。例えば、マーク1338−bの最後でスタイラス203の移動の速度が減少すると、マーク1338−bの幅は、増大する。いくつかの実施形態では、図13Mのスタイラス203は、中国書道(又は他の字体)用の毛筆をエミュレートしている。あるいは、いくつかの実施形態では、速度の変化に応じて、速度が増大するとマークの幅を増大させる、又は速度が減少するとマークの幅を減少させることにより、マークは、調整される。
図13N〜13Oは、入力中のスタイラス(例えば、スタイラス203)の方向性と向きとの間の(角度の)差を変化させて、方向性と向きとの間の差が変化すると、マークの幅を調整する実施例を示す。図13N〜13Oで、スタイラスの向き(例えば、向き1306−b)、スタイラスの傾き(例えば、傾き1312−a)、及びタッチ感知ディスプレイに対するスタイラスの距離(例えば、スタイラスの先端部がタッチ感知ディスプレイと接触しているときの距離1314−a)は、一定のままであり、スタイラスの方向性は、変化する(例えば、(x、y)位置1304−mで下方向に移動することから(x、y)位置1304−nで右に移動することに)。いくつかの実施形態では、図13N〜13Oのスタイラス203は、チゼル先端部の描画手段(例えば、蛍光ペン、乾式消去マーカなど)をエミュレートしている。図13Nで、スタイラス203が、第1の向き(例えば、軸508に対して時計回りの回転角度で約45度)のままで1つの方向(例えば、軸508に対して時計回りの回転角度で約180度)に移動すると、方向性と向きとの間の(角度の)差は、第1の差(例えば、約135度)であり、マーク(例えば、マーク1340)は、第1の幅(例えば、細い幅)を有する。図13Oで、スタイラス203が、第1の向き(例えば、軸508に対して時計回りの回転角度で約45度)のままで第2の方向(例えば、軸508に対して時計回りの回転角度で約90度)に移動すると、方向性と向きとの間の(角度の)差は、第2の差(例えば、約45度)であり、マーク(例えば、マーク1340)は、第2の幅(例えば、太い幅)を有する。
図14A〜14Eは、いくつかの実施形態に係る、スタイラスからの入力の特性に従ってマークの1つ以上の特性を調整する方法1400を示す流れ図である。方法1400は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイは、タッチスクリーンディスプレイであり、タッチ感知面は、ディスプレイ上にある、又はディスプレイと一体化されている(単にタッチ感知ディスプレイとも呼ばれる)。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。いくつかの実施形態では、デバイスは、デバイスに関連付けられたスタイラスからの信号を検出する1つ以上のセンサを含む。いくつかの実施形態では、スタイラスは、先端部(又は他の代表部分)を含む。いくつかの実施形態では、先端部以外のスタイラス上の部分は、先端部の位置を推定するために使用される。方法1400の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
以下に説明するように、方法1400は、スタイラスからの入力の特性(例えば、向き、移動の方向、傾き、接触強度、及び/又は移動の速度)に従って、マークの1つ以上の特性(例えば、不透明度、幅、及び/又は色)を調整する効率的な方法を提供する。この方法は、紙の上で物理的描画手段を使用するユーザエクスペリエンスに類似の、スタイラス及び電子デバイスを用いたユーザエクスペリエンスを提供する。加えて、この方法は、紙の上で物理的描画手段を使用して可能なものを上回る、スタイラス及び電子デバイスを用いた描画能力を提供する。この方法は、電子デバイスと対話するためにスタイラスを使用する際のユーザからの入力の数、範囲、及び/又は種類を低減し、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的にスタイラスで入力することができることにより、電力が節約され、バッテリを充電する間隔が増大する。
デバイスは、スタイラスからの入力を検出する(1402)。いくつかの実施形態では、スタイラスからの入力は、スタイラスのタッチダウンからスタイラスのリフトオフまでの入力を含む。例えば、図13D〜13Eで、スタイラス(例えば、スタイラス203)からの入力は、マーク(例えば、マーク1330)をつけ始めるタッチスクリーン112上のスタイラス203のタッチダウンから、マークを完了した後のスタイラス203のリフトオフまでの入力を含む。
デバイスは、入力中のタッチ感知面に対するスタイラスの向き及び入力中のタッチ感知面にわたるスタイラスの移動の方向(「方向性」)を含む、スタイラスからの入力の複数の特性を判定する(1404)。例えば、図13Dは、向き1306−b及び下方向の方向性を有するスタイラス203を示し、図13Eは、向き1306−b及び上方向の方向性を有するスタイラス203を示す。向きは、図13D〜13Eで変化していないが、一般的に、入力中のスタイラスの向きは、単一の向きではない。むしろ、向きは、一般的に入力中に変化する。更に、一般的に、入力中のスタイラスの方向性は、単一の方向性ではない。むしろ、図13D〜13Eに示すように、方向性は、一般的に入力中に変化する。いくつかの実施形態では、入力の複数の特性は、タッチ感知面(例えば、タッチスクリーン112)に対するものである。
いくつかの実施形態では、スタイラスからの入力の複数の特性(例えば、タッチ感知面に対するスタイラスの向き、タッチ感知面に対するスタイラスの傾きなどに対応する)は、電子デバイスに送信されるスタイラスからの1つ以上の測定値に従って検出される。例えば、スタイラスは、スタイラスの傾き及び/又は向きを測定して、その測定値を電子デバイスに送信する。あるいは、いくつかの実施形態では、入力の複数の特性は、タッチ感知面により感知される、スタイラス内の1つ以上の電極からの未処理出力に従って検出される。例えば、タッチ感知面は、スタイラス内の1つ以上の電極からの未処理出力を受信して、未処理出力に基づいて、スタイラスの傾き及び/又は向きを計算する。
いくつかの実施形態では、スタイラスの傾きは、タッチ感知面に平行な平面内の少なくとも1つの軸に対する、タッチ感知面上へのスタイラスの投影(例えば、タッチ感知面上へのスタイラスの長さ又はスタイラスの2つの異なる点の投影の間の線に対応する線の正射影)の向きである(1406)。例えば、図5Aで、スタイラス203の向き506は、軸508に対するタッチスクリーン112上へのスタイラス203の投影の向きである。いくつかの実施形態では、タッチ感知面上へのスタイラスの投影の向きは、図5Aの軸508などの単一の軸(例えば、0度〜360度の範囲のこの軸から時計回りの回転角度を有する単一の軸)に対するものである。あるいは、いくつかの実施形態では、タッチ感知面上へのスタイラスの投影の向きは、一対の軸(例えば、図5Aのx軸590及びy軸592などのx軸及びy軸、又はディスプレイ上に表示されたアプリケーションに関連付けられた一対の軸)に対するものである。
スタイラス(例えば、スタイラス203)からの入力を検出したことに応じて(1408)、デバイスは、不透明度、幅、及び/又は色を含む特性を有する、ディスプレイ上に表示されるマークを生成する(1410)。例えば、図13Dで、スタイラス203からの入力を検出したことに応じて、デバイスは、不透明度、幅、及び/又は色を含む特性を有する、マーク1330−aを生成する。
更に、スタイラスからの入力を検出したことに応じて(1408)、デバイスは、スタイラスによりエミュレートされている仮想描画手段、及び入力中のスタイラスからの入力の複数の特性の変化に従って、マークの1つ以上の特性を調整する(1412)。いくつかの実施形態では、エミュレートされている仮想描画手段は、表示されるメニュー(例えば、仮想の鉛筆、ペン、ブラシ、蛍光ペン、筆ペンなどを有するパレット)を介してその手段を選択するユーザにより判定される。いくつかの実施形態では、エミュレートされている仮想描画手段は、スタイラスでのユーザのジェスチャ(例えば、スタイラスの胴体の回転、スタイラス上での単一のタップ又はダブルタップなど)により判定される。マークの幅などのマークの特性のうちのいずれか1つは、スタイラスからの入力の複数の特性のサブセットに、又はそのうちの単一のものにも基づいて調整することができる。例えば、図13D〜13Eで、マーク1330の1つ以上の特性(例えば、幅及び/又は色)は、筆ペンをエミュレートするスタイラス203、及び入力中のスタイラス203の方向性の変化に従って調整される。別の実施例として、図13F〜13Gで、マーク1332の1つ以上の特性(例えば、幅)は、ブラシをエミュレートするスタイラス203、及び入力中のスタイラス203の傾きの変化に従って調整される。また別の実施例として、図13H〜13Jで、マーク1334の1つ以上の特性(例えば、幅)は、ブラシ(又は鉛筆又はペン)をエミュレートするスタイラス203、及び入力中のスタイラス203の接触強度の変化に従って調整される。また別の実施例として、図13K〜13Lで、マーク1336の1つ以上の特性(例えば、不透明度)は、鉛筆(又はブラシ又はペン)をエミュレートするスタイラス203、及び入力中のスタイラス203の接触強度の変化に従って調整される。
いくつかの実施形態では、マークの1つ以上の特性を調整することは、方向性と向きとの間の(角度の)差が変化すると、マークの幅を調整することを含む(1414)。例えば、図13N〜13Oで、スタイラス203の方向性と向きとの間の角度の差が変化する(例えば、図13Nの約135度の角度の差から、図13Oの約45度の角度の差へ)と、マーク1340の幅は、変化する(例えば、幅が増大する)。別の実施例として、図13N〜13Oのスタイラス203が、方向性と向きとの間の角度の差を同じに維持するように向きを変化させながら円を描くために使用された場合、その円は、全体を通して同じ幅を有するであろう。対照的に、図13N〜13Oのスタイラス203が、スタイラス203の固定された向きを保持しながら円を描くために使用された場合、その円の上部及び下部は第1の幅(例えば、太い)を有し、その円の左及び右は、第2の幅(例えば、細い)を有するであろう。
いくつかの実施形態では、デバイスは、入力中の方向性の変化を検出し、方向性の変化を検出したことに応じて、方向性が変化するとマークの幅を変化させることによりマークを調整する(1416)。いくつかの実施形態では、仮想描画手段がペン(例えば、書道用のペン)である場合、入力中のスタイラスからの入力の複数の特性の変化に従ってマークの特性を調整することは、方向性が変化するとマークの幅を変化させることを含む。いくつかの実施形態では、図13D〜13Eに示すように、スタイラスからの入力が上昇する場合、マークの幅は、減少し、スタイラスからの入力が下降する場合、マークの幅は、増大する。いくつかの実施形態では、図13D〜13Eに示すように、スタイラスが第1の方向(例えば、上方向)に移動している間の第1の(例えば、細い)幅から、スタイラスが第1の方向と反対の第2の方向(例えば、下方向)に移動している間の第2の(例えば、太い)幅への漸進的遷移が存在する。
いくつかの実施形態では、デバイスは、入力中の方向性の変化を検出し、方向性の変化を検出したことに応じて、方向性が変化するとマークの色を変化させることによりマークを調整する(1418)。いくつかの実施形態では、入力中のスタイラスからの入力の複数の特性の変化に従ってマークの特性を調整することは、方向性が変化するとマークの色を変化させることを含む。いくつかの実施形態では、図13D〜13Eに関して上述したように、マークは、右方向に移動する間に薄青色であり、かつ左方向に移動する間により暗い青色である、又は下方向に移動する間に薄青色であり、かつ上方向に移動する間により暗い青色であるなどの、方向性の変化と共に微妙な色の変化を有する。いくつかの実施形態では、マークは、右方向に移動する間に青色であり、かつ左方向に移動する間に赤色であるなどの(対応する物理的描画手段では起こり得ない)、方向性の変化と共に大幅な色の変化を有する。
いくつかの実施形態では、スタイラスからの入力の複数の特性は、タッチ感知面の表面の法線(単にタッチ感知面の法線とも呼ばれる)に対する角度であるスタイラスの傾きを含む(1420)。いくつかの実施形態では、傾きは、スタイラスがタッチ感知面に垂直/直角である場合にゼロであり、スタイラスがタッチ感知面と平行に近づいて傾斜すると、傾きは増大する。例えば、図13F〜13Gで、スタイラス203が法線510に位置合わせされる場合に、スタイラス203の傾きは、ゼロであろう。図13Fから図13Gへと、スタイラス203の傾きは、傾き1312−bから傾き1312−cへと増大する。いくつかの実施形態では、傾きは、マークの1つ以上の特性に対する調整因子として機能する。
いくつかの実施形態では、デバイスは、スタイラスの傾きの変化を検出し、スタイラスの傾きの変化を検出したことに応じて、傾きが増大するとマークの幅を増大させることによりマークを調整する(1422)。いくつかの実施形態では、入力中のスタイラスからの入力の複数の特性の変化に従ってマークの特性を調整することは、傾きが変化するとマークの幅を変化させることを含む。例えば、図13F〜13Gに示すように、仮想描画手段がブラシである場合、マークの1つ以上の特性を調整することは、傾きが増大するとマークの幅を増大させることを含む。
いくつかの実施形態では、スタイラスからの入力の複数の特性は、タッチ感知面上のスタイラスの接触の強度に対応するパラメータである、接触強度を含む(1424)。例えば、図13H〜13Jで、スタイラス203の接触強度は、図13Hの接触強度1322−aから、図13Iの接触強度1322−bに、図13Jの接触強度1322−cに増大する。いくつかの実施形態では、接触強度は、マークの1つ以上の特性に対する調整因子として機能する。
いくつかの実施形態では、デバイスは、入力中のスタイラスの接触強度の変化を検出し、接触強度の変化を検出したことに応じて、接触強度が増大するとマークの不透明度を増大させることによりマークを調整する(1426)。いくつかの実施形態では、入力中のスタイラスからの入力の複数の特性の変化に従ってマークの特性を調整することは、接触強度が変化するとマークの不透明度を変化させることを含む。いくつかの実施形態では、図13K〜13Lに示すように、仮想描画手段が鉛筆、ボールペン、又はブラシである場合、マークの1つ以上の特性を調整することは、接触強度が増大するとマークの不透明度を増大させることを含む。
いくつかの実施形態では、デバイスは、スタイラスの接触強度の変化を検出し、接触強度の変化を検出したことに応じて、接触強度が増大するとマークの幅を増大させることによりマークを調整する(1428)。いくつかの実施形態では、入力中のスタイラスからの入力の複数の特性の変化に従ってマークの特性を調整することは、接触強度が変化するとマークの幅を変化させることを含む。いくつかの実施形態では、図13H〜13Jに示すように、仮想描画手段が鉛筆、ペン、又はブラシである場合、マークの1つ以上の特性を調整することは、接触強度が増大するとマークの幅を増大させることを含む。
いくつかの実施形態では、デバイスは、スタイラスの接触強度の変化を検出し、接触強度の変化を検出したことに応じて、接触強度が変化するとマークの色を変化させることによりマークを調整する(1430)。いくつかの実施形態では、入力中のスタイラスからの入力の複数の特性の変化に従ってマークの特性を調整することは、接触強度が変化するとマークの色を変化させることを含む。いくつかの実施形態では、接触強度が増大すると、マークの色は、第1の色から第2の色に漸進的に遷移し、漸進的遷移の間のマークの色は、第1の色及び第2の色の混合を含む。例えば、図13H〜13Jに関して上述したように、接触強度が増大すると、マークの色は、赤色から青色に漸進的に遷移する(例えば、赤色から、紫色に、青色に)。
いくつかの実施形態では、デバイスは、スタイラスからの入力の複数の特性のうちの1つ以上の特性の変化を検出し、1つ以上の特性の変化を検出したことに応じて、スタイラスによりエミュレートされる仮想描画手段を、第1の仮想描画手段から第2の仮想描画手段に変更する(1432)。いくつかの実施形態では、スタイラスによりエミュレートされる仮想描画手段は、傾きに基づいて判定される。例えば、スタイラスの傾きが既定閾値角度(例えば、10、15、20、又は25度などの)未満である場合、スタイラスは、仮想のペン又は鉛筆をエミュレートし、スタイラスの傾きが既定閾値角度(例えば、10、15、20、又は25度などの)より大きい場合、スタイラスは、仮想の蛍光ペンをエミュレートする。スタイラスによりエミュレートされる仮想描画手段を第1の仮想描画手段から第2の仮想描画手段に変更することの詳細は、方法2700に関して以下に説明し、簡潔にするために、ここでは詳細は繰り返さない。いくつかの実施形態では、スタイラスによりエミュレートされる仮想描画手段は、スタイラスによるジェスチャ(例えば、胴体の回転ジェスチャ)によって判定される。いくつかの実施形態では、スタイラスによりエミュレートされる仮想描画手段は、仮想描画手段の表示されたメニューからの明示的選択によって判定される。
いくつかの実施形態では、スタイラスによりエミュレートされている仮想描画手段が第1の仮想描画手段(例えば、ペン手段)であり、かつスタイラスがディスプレイ上にマークをつけるのに能動的に関与していない(例えば、スタイラスがタッチ感知面と接触していない)間に、デバイスは、スタイラスからの入力の複数の特性の第1の変化を検出し、スタイラスからの入力の複数の特性の第1の変化を検出したことに応じて、デバイスは、第1の仮想描画手段から、第1の描画手段とは異なる第2の仮想描画手段(例えば、蛍光ペン手段)に切り換え、スタイラスによりエミュレートされている仮想描画手段が第2の仮想描画手段である間に、デバイスは、スタイラスからの入力の複数の特性の第2の変化(例えば、スタイラスからの入力の複数の特性の第1の変化の反転)を検出し、スタイラスからの入力の複数の特性の第2の変化を検出したことに応じて、スタイラスがディスプレイ上にマークをつけるのに能動的に関与していない(例えば、スタイラスがタッチ感知面と接触していない)という判定に従って、デバイスは、第2の仮想描画手段から、第3の仮想描画手段(例えば、第1の仮想描画手段と同じ)に切り換え、スタイラスがディスプレイ上にマークをつけるのに能動的に関与している(例えば、スタイラスがタッチ感知面と接触しており、かつデバイスにディスプレイ上の第2の仮想描画手段からマークを表示させるようにタッチ感知面上を移動した)という判定に従って、デバイスは、第2の仮想描画手段の選択を維持する(1434)。いくつかの実施形態では、第3の仮想描画手段は、第1の仮想描画手段と同じである。いくつかの実施形態では、第2の仮想描画手段の選択が維持されている間に、第2の仮想描画手段により生じるマークの1つ以上の特性は、スタイラスからの入力の複数の特性の第2の変化に従って調整される。例えば、スタイラスの方向性、傾き、及び/又は接触強度が変化すると、第2の仮想描画手段により生じるマークの幅は、変化する。仮想描画手段を切り換えること及び/又はその選択を維持することの更なる詳細は、方法2700に関して以下に説明し、簡潔にするために、詳細はここでは繰り返さない。
いくつかの実施形態では、デバイスは、タッチ感知面上又はその付近のスタイラスの移動の速度の変化を検出し、速度の変化を検出したことに応じて、速度が増大するとマークの幅を減少させることによりマークを調整する(1436)。いくつかの実施形態では、入力中のスタイラスからの入力の複数の特性の変化に従ってマークの特性を調整することは、タッチ感知面上又はその付近のスタイラスの移動の速度が変化するとマークの幅を変化させることを含む。いくつかの実施形態では、図13Mに示すように(例えば、マーク1338−aにより)、仮想描画手段が毛筆である場合、マークの1つ以上の特性を調整することは、速度が増大するとマークの幅を減少させることを含む。いくつかの実施形態では、図13Mに示すように(例えば、マーク1338−bにより)、仮想描画手段が毛筆である場合、マークの1つ以上の特性を調整することは、速度が減少するとマークの幅を増大させることを含む。あるいは、いくつかの実施形態では、速度の変化に応じて、速度が増大するとマークの幅を増大させる、又は速度が減少するとマークの幅を減少させることにより、マークは、調整される。
いくつかの実施形態では、スタイラスによりエミュレートされている仮想描画手段は、仮想描画手段の群のうちの1つであり、描画手段の群内の4つの仮想描画手段のそれぞれに対して、デバイスは、スタイラスからの入力の異なる特性に従って、マークの幅を調整する(1438)。例えば、仮想の鉛筆に対して、マークの幅は、接触強度に従って調整される(例えば、図13H〜13Jに示すように、接触強度が増大すると、幅は増大する)。仮想のボールペンに対して、マークの幅は、速度に従って調整される(例えば、図13Mのマーク1338−aと同様に、速度が増大すると、幅は減少する)。仮想のブラシに対して、マークの幅は、傾きに従って調整される(例えば、図13F〜13Gに示すように、傾きが増大すると、幅は増大する)。仮想の筆ペンに対して、マークの幅は、方向性に従って調整される(例えば、図13D〜13Eに示すように、幅は第1の方向性で増大し、幅は、第2の方向性で減少する)。
いくつかの実施形態では、スタイラスによりエミュレートされている仮想描画手段は、仮想描画手段の群のうちの1つであり、描画手段の群内の2つの仮想描画手段のそれぞれに対して、デバイスは、スタイラスからの入力の異なる特性に従って、マークの不透明度を調整する(1440)。例えば、仮想の鉛筆に対して、マークの不透明度は、接触強度に従って調整され(例えば、図13K〜13Lに示すように、接触強度が増大すると、不透明度は増大する)、仮想の先の細いペンに対して、マークの不透明度は、速度に従って調整される(例えば、速度が増大すると、不透明度は減少する)。
いくつかの実施形態では、スタイラスによりエミュレートされている仮想描画手段は、仮想描画手段の群のうちの1つであり、描画手段の群内の2つの仮想描画手段のそれぞれに対して、デバイスは、入力の同じ特性(例えば、向き、方向性、傾き、接触強度、又は速度)の変化に応じて、マークの別個の特性(例えば、幅、不透明度、色など)を調整する(1442)。例えば、以下の表1に示すように、仮想の鉛筆に対して、マークの幅は、接触強度に従って調整され、仮想のボールペン又は仮想のブラシのいずれかに対して、マークの不透明度は、接触強度に従って調整される。別の実施例として、仮想の先の細いペンに対して、マークの不透明度は、速度に従って調整され、仮想のボールペン又は仮想の毛筆のいずれかに対して、マークの幅は、速度に従って調整される。表1の異なる仮想描画手段に対する入力特性とマークの特性との間の関係は、あり得る関係の単なる例示であることに留意されたい。
図14A〜14Eにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図14A〜図14Eに関連して上述した方法1400に類似の方法で適用できることを認識されたい。例えば、方法1400を参照して上述したスタイラスの入力特性(姿勢状態特性と呼ばれる場合もある)、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力は、任意選択的に、本明細書で説明する他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載したもの)を参照して本明細書に記載のスタイラスの入力特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力の特性のうちの1つ以上を有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
いくつかの実施形態により、図15は、説明される様々な実施形態の原理に従って構成された、電子デバイス1500の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図15で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図15に示すように、電子デバイス1500は、ユーザインタフェースを表示するように構成されたディスプレイユニット1502と、ユーザの接触を受信するように構成された、タッチ感知面ユニット1504と、デバイスに関連付けられたスタイラスからの信号を検出するように構成された1つ以上のセンサユニット1506と、ディスプレイユニット1502、タッチ感知面ユニット1504、及び1つ以上のセンサユニット1506に結合された処理ユニット1508と、を含む。いくつかの実施形態では、処理ユニット1508は、検出ユニット1510と、特性ユニット1512と、生成ユニット1514と、マーク調整ユニット1516と、変更ユニット1518とを含む。
処理ユニット1508は、スタイラスからの入力を検出し(例えば、検出ユニット1510で)、入力中のタッチ感知面ユニット1504に対するスタイラスの向き及び入力中のタッチ感知面ユニット1504にわたるスタイラスの移動の方向(「方向性」)を含む、スタイラスからの入力の複数の特性を判定し(例えば、特性ユニット1512で)、スタイラスからの入力を検出したことに応じて、不透明度、幅、及び/又は色を含む特性を有する、ディスプレイユニット1502上に表示されるマークを生成し(例えば、生成ユニット1514で)、スタイラスによりエミュレートされている仮想描画手段、及び入力中のスタイラスからの入力の複数の特性の変化に従って、マークの1つ以上の特性を調整する(例えば、マーク調整ユニット1516で)、ように構成される。
上述の情報処理方法での動作は、汎用プロセッサ(例えば、図1A及び図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
図14A〜14Eを参照して上述された動作は、図1A〜1B、又は図15に示される構成要素によって、任意選択的に実施される。例えば、検出動作1402、判定動作1404、生成動作1410、及び調整動作1412は、イベントソート部170、イベント認識部180、イベント処理部190によって、任意選択的に、実施される。イベントソート部170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触(又は近接触)を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配信する。アプリケーション136−1の対応するイベント認識部180は、そのイベント情報を対応するイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触(又は近接触)(又は、デバイスの回転)が、ユーザインタフェース上のオブジェクトの選択、又は1つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベント処理部190をアクティブ化させる。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176若しくはオブジェクト更新部177を、任意選択的に用いるか又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A〜図1Bに示される構成要素に基づいてどのように実施され得るかは明らかであるだろう。
スタイラス及び指の入力でメッセージを作成する
スタイラス及び指の入力でメッセージを作成するための、改良された方法を備えた電子デバイスが本明細書で開示され、この方法は、以下を含む。
●より効率的に通信を作成するために、いくつかのデバイスは、入力が指で行われる場合、テキストメッセージをキー入力するための仮想キーボードを表示することにより、通信(例えば、インスタントメッセージ又は電子メール)を作成する要求に対応する入力に応答し、入力がスタイラスで行われる場合、デバイスは、描画キャンバスを表示する。
●通信内のデジタル画像(例えば、描かれていてインスタントメッセージとして送信されるデジタル写真)上での描画を容易にするために、いくつかのデバイスは、通信アプリケーションの入力エリア内にデジタル画像を表示すること、かつまたデジタル画像上の描画のための、デジタル画像内に含まれる色に基づく色を含むカラーパレットを表示することにより、特定のデジタル画像の選択に応答する。
●インスタントメッセージの会話内の第1のユーザに、第2のユーザが返答をキー入力しているか又は返答を描いているかを示すために、いくつかのデバイスは、第2のユーザが返答をキー入力している場合にキー入力メッセージ作成インジケータを表示し、第2のユーザが返答を描いている場合に描画メッセージ作成インジケータを表示する。
かかる方法は、スタイラス及び指の入力でメッセージを作成するための従来の方法を、任意選択的に補完するか、又は置き換える。かかる方法は、ユーザからの入力の数、範囲、及び/又は種類を低減し、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作デバイスに関しては、かかる方法により、電力が節約され、バッテリを充電する間隔が増大する。
以下、図16A〜16Nは、いくつかの実施形態に係る、スタイラス及び指の入力でメッセージを作成するための例示的なユーザインタフェースを示す。図17A〜17C、図18A〜18B、及び図19は、いくつかの実施形態に係る、スタイラス及び指の入力でメッセージを作成する方法を示す流れ図である。図16A〜16Nのユーザインタフェースを使用して、図17A〜17C、図18A〜18B、及び図19のプロセスを示す。
以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ上の入力(タッチ感知面とディスプレイとが組み合わされている場合)を参照して説明されるが、一部の実施形態において、デバイスは、別個のディスプレイ(例えば、ディスプレイ650)と、別個のタッチ感知面(例えば、タッチ感知面651)とを備えた電子デバイスである。いくつかの実施形態では、デバイスは、ポータブル多機能デバイス100であり、ディスプレイは、タッチ感知ディスプレイシステム112であり、タッチ感知面は、ディスプレイ上に触知出力生成器163を含む(図1A)。説明を簡便にするために、図16A〜16N及び図17A〜17C、図18A〜18B、及び図19を参照して説明する実施形態は、タッチ感知ディスプレイシステム112を備えたデバイス上で実行される動作を参照して説明する。そのような実施形態では、フォーカスセレクタは、任意選択的に、それぞれの指又はスタイラスの接触、指又はスタイラスの接触に対応する代表的な点(例えば、それぞれの接触の面心又はそれぞれの接触に関連付けられた点)、又は、タッチ感知ディスプレイシステム112上で検出された2つ以上の接触の面心である。しかし、類似した動作が、ディスプレイ650と、別個のタッチ感知面651と、を備えたデバイス上で、フォーカスセレクタと共に、ディスプレイ650上に図16A〜16Nに示すユーザインタフェースを表示している間に、タッチ感知面651上で図16A〜16Nで説明する接触を検出したことに応じて、任意選択的に実行される。
図16Aは、第1のユーザに関連付けられたデバイス上の通信アプリケーション(例えば、インスタントメッセージングアプリケーション)内の例示的なユーザインタフェース1600を示す。ユーザインタフェースは、第1のユーザと第2のユーザとの間のインスタントメッセージングの会話1604を表示する、セッションウィンドウ1602を含む。いくつかの実施形態では、第1のユーザからのインスタントメッセージ1605は、コンテンツバルーン内のセッションウィンドウの1つの側に沿ったコンテンツバルーン内に表示され、第2のユーザからのインスタントメッセージ1606は、セッションウィンドウの反対側に沿ったコンテンツバルーン内に表示される。
図16Aはまた、第1のユーザに、第2のユーザがキー入力で返答を作成している(例えば、第2のユーザに関連付けられたデバイス上の仮想キーボードで)ことを示す、例示的なキー入力メッセージ作成インジケータ「...」1608を示す。
図16Bで、キー入力メッセージ作成インジケータ「...」1608は、第2のユーザにより作成されたインスタントメッセージ1610(例えば、「私は戻りました。あなたは?」)を含むコンテンツバルーンにより置き換えられる。
図16Cは、第1のユーザに、第2のユーザがキー入力された返答ではなく、描かれた返答を作成している(例えば、描画キャンバス上に指又はスタイラスで)ことを示す、例示的な描画メッセージ作成インジケータ1612(例えば、波状の線又は他のグラフィック)を示す。いくつかの実施形態では、描画メッセージ作成インジケータ1612は、アニメーションされる(例えば、ルーピングアニメーション)。
図16Dで、描画メッセージ作成インジケータ1612は、第2のユーザにより作成された描画1614(例えば、一杯のコーヒー)を含むコンテンツバルーンにより置き換えられる。
図16Dはまた、通信(例えば、新規のインスタントメッセージ)を作成する要求(第1のユーザによる)に対応する例示的な指入力を示す。この実施例では、指入力は、キー入力エリア1618上の指接触1616により行われるタップジェスチャなどのジェスチャである。
図16Eは、指接触1616による指入力に応じて、キーボード1620が表示されることを示す。図16Eはまた、第1のユーザがキー入力エリア1618内に(例えば、キーボード1620上のタップジェスチャ又は他の指入力で)テキスト(例えば、「はーい、コーヒーを飲みましょう」)を入力することができることを示す。
図16Dの指入力の代替案として、図16Fは、通信(例えば、新規のインスタントメッセージ)を作成する要求(第1のユーザによる)に対応する例示的なスタイラス203の入力を示す。この実施例では、スタイラス入力は、キー入力エリア1618上のスタイラス203により行われるタップジェスチャなどのジェスチャである。
図16Gは、スタイラス入力(例えば、キー入力エリア1618上のスタイラス203により行われるタップジェスチャ)に応じて、描画キャンバス1622が表示されることを示す。描画キャンバス1622は、スタイラス及び/又は指で描くためのより大きなエリアを提供するために、キー入力エリア1618より大きい。いくつかの実施形態では、描画キャンバス1622を表示している間に、デバイスは、描画キャンバス1622上の指接触1624により行われるタップジェスチャなどの、キー入力する要求を検出する。キー入力する要求を検出したことに応じて、デバイスは、描画キャンバス1622の表示(図16G)を、キー入力用のコンテンツ入力領域(例えば、キー入力エリア1618)の表示(図16E)に置き換える。
図16Gの代替案として、図16Hは、通信を作成する要求(第1のユーザによる)に対応するスタイラス入力(例えば、図16Fのキー入力エリア1618上のスタイラス203により行われるタップジェスチャ)に応じて、描画キャンバス1622及びキーボード1620が表示されることを示す。
図16Hはまた、スタイラス203により行われるマークで描画1626を行い、インスタントメッセージとして描画1626を送信する要求に対応する入力(例えば、送信ボタン1627上のスタイラス又は指接触1628により行われるタップジェスチャなどのジェスチャ)を検出することを示す。
図16Iは、描画を送信する要求に対応する入力を検出したことに応じて、描画1626を送信して、描画キャンバス1622の表示を維持することを示す。
図16Iの代替案として、図16Jは、描画を送信する要求に対応する入力を検出したことに応じて、描画1626を送信して、描画キャンバスを表示するのを中止することを示す。図16Jで、描画キャンバス1622は、キー入力エリア1618により置き換えられる。
図16J〜16Kは、インスタントメッセージに使用するためのデジタル画像を選択する例示的な方法を示す。図16Jは、画像選択モードに入る要求に対応する入力(例えば、写真アイコン1631上のスタイラス又は指接触1630により行われるタップジェスチャなどのジェスチャ)を検出することを示す。図16Kは、デジタル画像を選択するための例示的なユーザインタフェースの表示を示す。いくつかの実施形態では、画像選択モード内でデジタル画像を選択するための追加のユーザインタフェース(図示せず)が存在する。図16Kはまた、デジタル画像の選択を検出すること(例えば、写真1634上のスタイラス又は指接触1632により行われるタップジェスチャなどのジェスチャを検出すること)を示す。デジタル画像1634は、複数の色(画像1634内の異なる濃淡により表わされる)を含むカラー画像である。
図16Lは、通信アプリケーションの入力エリア(例えば、描画キャンバス1622)内にデジタル画像を表示し、かつまたデジタル画像1634上に描くための色を含むカラーパレット1636を表示することにより、デジタル画像1634の選択に応答することを示す。カラーパレット1636内に表示される色は、デジタル画像1634内に含まれる色に基づく。図16Lはまた、パレット1636内の色のうちの1つを選択する入力(例えば、パレット1636内の色のうちの1つの上のスタイラス203によるタップジェスチャ)を示す。
図16Mは、パレット1636からの色で描く画像1634上の描画入力を示す。例えば、スタイラス入力を使用して、パレット1636からの1つの色で「Tall」、及びパレット1636からの別の色で「Trees」を描く。図16Mはまた、インスタントメッセージとして上に描かれた状態の画像1634を送信する要求に対応する入力(例えば、送信ボタン1627上のスタイラス又は指接触1638により行われるタップジェスチャなどのジェスチャ)を検出することを示す。
図16Nは、画像を送信する要求に対応する入力を検出したことに応じて、上に描かれた状態の画像1634を送信し、インスタントメッセージの会話1604内にインスタントメッセージとして上に描かれた状態の画像1634を表示し、カラーパレット1636を表示するのを中止することを示す。
図17A〜17Cは、いくつかの実施形態に係る、スタイラス及び指の入力でメッセージを作成するための方法1700を示す流れ図である。方法1700は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイはタッチスクリーンディスプレイであり、タッチ感知面がディスプレイ上にある、又はディスプレイと一体化されている。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。デバイスは、デバイスに関連付けられたスタイラスからの信号を検出する1つ以上のセンサを含む。方法1700の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
以下に説明するように、方法1700は、入力が指で行われる場合、テキストメッセージをキー入力するための仮想キーボードを表示し、入力がスタイラスにより行われる場合、デバイスは、描画キャンバスを表示することにより、デバイスに、通信(例えば、インスタントメッセージ又は電子メール)を作成する要求に対応する入力に応答させことによって、より効率的に通信を作成する。デバイスは、要求が指入力又はスタイラス入力で行われるかに基づいて、通信を作成するための適切な入力ツールを表示する。この方法は、スタイラス及び指の入力でメッセージを作成する際のユーザからの入力の数、範囲、及び/又は種類を低減し、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的にスタイラス及び指の入力でメッセージを入力することができることにより、電力が節約され、バッテリを充電する間隔が増大する。
デバイスは、タッチ感知ディスプレイ上に、通信アプリケーションのユーザインタフェースを表示する(1702)。いくつかの実施形態では、通信アプリケーションは、インスタントメッセージアプリケーションである(例えば、図16A)。いくつかの実施形態では、通信アプリケーションは、電子メールアプリケーションである。
いくつかの実施形態では、通信アプリケーションのユーザインタフェースを表示することは、タッチ感知ディスプレイ上に通信セッションウィンドウ(例えば、ウィンドウ1602)を表示することを含み、通信セッションウィンドウは、第1の参加者と第2の参加者との間のインスタントメッセージングの会話(例えば、会話1604)内の、コンテンツバルーン内の第1の参加者からのインスタントメッセージ(例えば、メッセージ1605)、及びコンテンツバルーン内の第2の参加者からのインスタントメッセージ(例えば、メッセージ1606)を表示する(1704)。いくつかの実施形態では、インスタントメッセージングセッション内のインスタントメッセージは、インスタントメッセージが受信される時間順序に基づいて通信セッションウィンドウ内に垂直方向に表示される。いくつかの実施形態では、第1の参加者からのインスタントメッセージは、通信セッションウィンドウの第1の側(例えば、右側)に表示され、第2の参加者からのインスタントメッセージは、通信セッションウィンドウの第2の側(例えば、左側)に表示される。
いくつかの実施形態では、デバイスは、第2の参加者がインスタントメッセージを作成していることを示す信号を受信し、第2の参加者がインスタントメッセージをキー入力している(例えば、キーボードを使用して)という判定に従って、デバイスは、通信セッションウィンドウ内にキー入力メッセージ作成インジケータ(例えば、図16Aのキー入力メッセージ作成インジケータ1608)を表示する(1706)。いくつかの実施形態では、キー入力メッセージ作成インジケータは、通信セッションウィンドウの第2の側(例えば、左側)の領域内に表示される。いくつかの実施形態では、第2の側の領域内のキー入力メッセージ作成インジケータの垂直方向位置は、キー入力メッセージ作成インジケータが生成された時刻に基づく。第2の参加者がインスタントメッセージを描いている(例えば、スタイラスを使用して)という判定に従って、デバイスは、通信セッションウィンドウ内に、キー入力メッセージ作成インジケータとは別個の描画メッセージ作成インジケータ(例えば、図16Cの描画メッセージ作成インジケータ1612)を表示する。いくつかの実施形態では、描画メッセージ作成インジケータは、通信セッションウィンドウの第2の側(例えば、左側)の領域内に表示される。いくつかの実施形態では、第2の側の領域内の描画メッセージ作成インジケータの垂直方向位置は、描画メッセージ作成インジケータが生成された時刻に基づく。
いくつかの実施形態では、キー入力メッセージ作成インジケータに対応する第2の参加者により作成されたインスタントメッセージを受信したことに応じて、デバイスは、キー入力メッセージ作成インジケータを表示するのを中止し、通信セッションウィンドウ内に第2の参加者により作成されたインスタントメッセージを含むコンテンツバルーンを表示する(1708)。例えば、キー入力メッセージ作成インジケータに対応する第2の参加者により作成されたインスタントメッセージを受信したことに応じて、デバイスは、キー入力メッセージ作成インジケータ1608(図16A)を表示するのを中止し、通信セッションウィンドウ内に第2の参加者により作成されたインスタントメッセージ1610(図16B)を含むコンテンツバルーンを表示する。
いくつかの実施形態では、描画メッセージ作成インジケータに対応する第2の参加者により作成されたインスタントメッセージを受信したことに応じて、デバイスは、描画メッセージ作成インジケータを表示するのを中止し、通信セッションウィンドウ内に第2の参加者により作成された描画インスタントメッセージを含むインスタントメッセージを含むコンテンツバルーンを表示する(1710)。例えば、描画メッセージ作成インジケータに対応する第2の参加者により作成されたインスタントメッセージを受信したことに応じて、デバイスは、描画メッセージ作成インジケータ1612(図16C)を表示するのを中止し、通信セッションウィンドウ内に第2の参加者により作成された描画インスタントメッセージを含むインスタントメッセージ1614(図16D)を含むコンテンツバルーンを表示する。
いくつかの実施形態では、表示されるコンテンツバルーンは、描画インスタントメッセージのサイズに従ってサイズ変更される(例えば、描画インスタントメッセージが送信されると、表示されたコンテンツバルーン内の描画キャンバスは、描画コンテンツに適合するようにトリミングされる)(1712)。いくつかの実施形態では、描画インスタントメッセージは、それが送信者側に表示されるであろうコンテンツバルーン/領域に適合するようにサイズを変更される。
いくつかの実施形態では、描画インスタントメッセージを含むコンテンツバルーンを表示することは、タッチ感知ディスプレイ上の通信セッションウィンドウ内に適合するように、描画インスタントメッセージのサイズを変更することを含む(1714)。
デバイスは、通信を作成する要求に対応する入力を検出する(1716)。いくつかの実施形態では、コンテンツ入力領域(例えば、キー入力エリア)は、入力を検出する前に、すでに表示されている。いくつかの実施形態では、通信を開始する要求に対応する入力により、コンテンツ入力領域を表示させる。
通信を作成する要求に対応する入力を検出したことに応じて(1718)、入力が指入力(例えば、図16Dの指入力1616)であるという判定に従って、デバイスは、テキストメッセージ(例えば、テキストを有するインスタントメッセージ)をキー入力するためのキーボード(例えば、図16Eのキーボード1620)を表示し(1720)、入力がスタイラス入力(例えば、図16Fのスタイラス203によるタップ入力)であるという判定に従って、デバイスは、描画メッセージ(例えば、描画を有するインスタントメッセージ)を生成するための描画キャンバス(例えば、図16Gのキャンバス1622)を表示する(1722)。いくつかの実施形態では、描画キャンバスは、スタイラスからの自由形式の入力を受け付けるように構成される。いくつかの実施形態では、描画キャンバスは、通信を作成する要求に対応する入力を検出したことに応じて、キーボードを表示することなく表示される(図16G)。いくつかの実施形態では、カラーパレット1636などの1つ以上の描画ツールは、描画キャンバスと共に表示される。
いくつかの実施形態では、通信を作成する要求に対応する入力は、通信アプリケーションのユーザインタフェース内の第1のサイズを有する表示されたキー入力エリア(例えば、図16D及び16Fのキー入力エリア1618)内で行われる(その中に配置される)。描画キャンバスは、第1のサイズを有するキー入力エリアより大きな第2のサイズを有し、入力がスタイラス入力であるという判定に従って、第2のサイズを有する描画キャンバスは、第1のサイズを有するキー入力エリアを置き換える(例えば、図16F〜16Hに示すように)(1724)。いくつかの実施形態では、入力がスタイラス入力であるという判定に従って、第1のサイズを有するキー入力エリアを第2のサイズを有する描画キャンバスに(例えば、図16Fのキー入力エリア1618から図16Gの描画キャンバス1622へ)遷移させるアニメーションが表示される。
いくつかの実施形態では、入力が指入力であるという判定に従って、第1のサイズを有するキー入力エリアの表示が維持される(1726)。例えば、指入力1616に応じて、図16Dから図16Eに、キー入力エリア1618の表示は維持される。
いくつかの実施形態では、描画キャンバスは、キー入力用のコンテンツ入力領域の初期サイズより大きい(1728)。例えば、描画キャンバス1622(図16G)は、キー入力エリア1618(図16F)より大きい)。いくつかの実施形態では、デバイスは、キー入力用コンテンツ入力領域1618(図16F)から描画キャンバス1622(図16G)への滑らかなアニメーション化された遷移を表示する。いくつかの実施形態では、デバイスは、描画キャンバス1622内の指ジェスチャ(例えば、図16Gの指接触1624でのタップジェスチャ)又は他のユーザ入力を検出したことに応じて、描画キャンバス1622(図16G)からキー入力用コンテンツ入力領域1618(図16E)への滑らかな遷移を表示する。
いくつかの実施形態では、描画メッセージを生成するための描画キャンバスを表示している間に(例えば、図16Gに示すように)、デバイスは、キー入力する要求(例えば、図16Gの指接触1624でのタップジェスチャ)を検出し、キー入力する要求を検出したことに応じて、デバイスは、描画キャンバスの表示をキー入力用のコンテンツ入力領域の表示で置き換え、また任意選択的に、キー入力メッセージを作成するためのキーボードを表示する(例えば、図16Eに示すように)(1730)。
いくつかの実施形態では、描画キャンバスを表示している間に、デバイスは、1つ以上のスタイラス入力に従って行われた1つ以上のマークを有する描画(例えば、図16Hの描画1626)を表示し、描画を送信する要求に対応する入力(例えば、送信ボタン1628上の指入力1627)を検出したことに応じて、デバイスは、描画を送信して、描画キャンバスを表示するのを中止する(例えば、図16Jに示すように)(1732)。いくつかの実施形態では、描画キャンバスの表示は、描画キャンバスより小さなキー入力エリアの表示により置き換えられる(例えば、図16Hの描画キャンバス1622は、図16Jのキー入力エリア1618により置き換えられる)。いくつかの実施形態では、描画が送信されると、描画キャンバスの表示は、維持される(例えば、図16Iに示すように)。
いくつかの実施形態では、デバイスは、描画キャンバス内にデジタル画像を挿入して、デジタル画像上に描くためのデジタル画像の色に基づく色のカスタムパレットを表示する(例えば、図16K〜16Lに示すように)(1734)。いくつかの実施形態では、デジタル画像を挿入した後のスタイラスのタッチダウンは、色のカスタムパレットの表示をトリガーする。いくつかの実施形態では、スタイラス入力で(例えば、図16Kの指入力1632の代わりにスタイラスのタップジェスチャを使用して)デジタル画像を選択したことに応じて、カスタムカラーパレットは表示され、指入力でデジタル画像を選択したことに応じて、カスタムカラーパレットは表示されない。
図17A〜17Cにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図17A〜図17Cに関連して上述した方法1700に類似の方法で適用できることを認識されたい。例えば、方法1700を参照して上述した接触、ジェスチャ、及びアニメーションは、本明細書に記載されている他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)を参照して本明細書で説明されている接触、ジェスチャ、及びアニメーションの特性のうちの1つ以上を、任意選択的に、有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
図18A〜18Bは、いくつかの実施形態に係る、スタイラス及び指の入力でメッセージを作成するための方法1800を示す流れ図である。方法1800は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイはタッチスクリーンディスプレイであり、タッチ感知面がディスプレイ上にある、又はディスプレイと一体化されている。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。いくつかの実施形態では、デバイスは、デバイスに関連付けられたスタイラスからの信号を検出する1つ以上のセンサを含む。方法1800の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
以下に説明するように、方法1800は、通信内のデジタル画像(例えば、描かれていてインスタントメッセージとして送信されるデジタル写真)上の描画を容易にする方法を提供する。デバイスは、通信アプリケーションの入力エリア内にデジタル画像を表示し、かつまたデジタル画像上に描くための色を含むカラーパレットを表示することにより、特定のデジタル画像の選択に応答する。カラーパレット内に表示される色は、デジタル画像内に含まれる色に基づく。したがって、ユーザは、選択されたデジタル画像上で、そのデジタル画像に適応させた色を使用して、直ちに描き始めることができる。この方法は、スタイラス及び指の入力でメッセージを作成する際のユーザからの入力の数、範囲、及び/又は種類を低減し、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的にスタイラス及び指の入力で描画メッセージを入力することができることにより、電力が節約され、バッテリを充電する間隔が増大する。
第1の個人に関連付けられたデバイスは、タッチ感知ディスプレイ上に、通信アプリケーションのユーザインタフェースを表示する(1802)。ユーザインタフェースは、第1の個人と第2の個人との間で交換されたインスタントメッセージを有するコンテンツバルーンを表示する、第1の個人と第2の個人との間のインスタントメッセージングの会話、及び入力エリアを含む(例えば、図16A及び図16Jに示すように)。
デバイスは、デジタル画像の選択を検出する(1804)。デジタル画像は、複数の色を含む。例えば、図16Kは、指入力1632での画像1634の選択を示す。
デジタル画像の選択を検出したことに応じて(1806)、デバイスは、入力エリア内にデジタル画像を表示し(1808)、入力エリア内のデジタル画像上に描くための色を含むカラーパレットを表示する(1810)。例えば、デジタル画像1634の選択を検出したことに応じて(図16K)、デバイスは、図16Lに示すように、描画キャンバス1622内にデジタル画像1634を表示し、入力エリア内のデジタル画像上に描くための色を含むカラーパレット1636を表示する。カラーパレット内に表示された色は、デジタル画像内に含まれた複数の色に基づく(例えば、カラーパレット内の色は、デジタル画像内のN個の最も頻繁に出現する色(ここでNは整数である)などの、画像内の色のサブセットから選択される及び/又は導出される)。デバイスは、カラーパレット内の第1の色を選択する入力を検出する(例えば、図16Lに示すように、カラーパレット内の第1の色の上のスタイラス又は指によるタップを検出する)(1812)。
カラーパレット内の第1の色が選択されている間に(1814)、デバイスは、入力エリア内のデジタル画像上の1つ以上の描画入力を検出し(例えば、入力エリア内のデジタル画像上のスタイラス又は指により行われるジェスチャを検出する)(1816)、1つ以上の描画入力に従って、デジタル画像上に第1の色で描く(例えば、図16Mに示すように)(1818)。
デバイスは、インスタントメッセージングの会話内の第2の個人にインスタントメッセージとして、上に描かれた状態のデジタル画像を送信する要求を検出する(例えば、図16Mの送信ボタン1627上のスタイラス又は指1638によるタップを検出する)(1820)。
インスタントメッセージとして上に描かれた状態のデジタル画像を送信する要求を検出したことに応じて(1822)、デバイスは、インスタントメッセージングの会話内の第2の個人にインスタントメッセージとして、上に描かれた状態のデジタル画像を送信し(1824)、タッチ感知ディスプレイ上にインスタントメッセージングの会話内のインスタントメッセージとして、上に描かれた状態のデジタル画像を表示する(例えば、図16Nに示すように)(1826)。
いくつかの実施形態では、インスタントメッセージとして上に描かれた状態のデジタル画像を送信する要求を検出したことに応じて、デバイスは、入力エリア内のデジタル画像上に描くための、デジタル画像内に含まれる複数の色に基づく色を含むカラーパレットを表示するのを中止する(1828)。例えば、図16Nで、デジタル画像が送信された後で、デジタル画像内に含まれるものに基づく色を含むカラーパレットは、もはや表示されない。
図18A〜18Bにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図18A〜図18Bに関連して上述した方法1800に類似の方法で適用できることを認識されたい。例えば、方法1800を参照して上述した移動、接触、ジェスチャ、及びアニメーションは、本明細書に記載されている他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)を参照して本明細書で説明されている移動、接触、ジェスチャ、及びアニメーションの特性のうちの1つ以上を、任意選択的に、有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
図19は、いくつかの実施形態に係る、スタイラス及び指の入力でメッセージを作成するための方法1900を示す流れ図である。方法1900は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイはタッチスクリーンディスプレイであり、タッチ感知面がディスプレイ上にある、又はディスプレイと一体化されている。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。いくつかの実施形態では、デバイスは、デバイスに関連付けられたスタイラスからの信号を検出する1つ以上のセンサを含む。方法1900の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
以下に説明するように、方法1900は、インスタントメッセージの会話内の第1のユーザに、第2のユーザが返答をキー入力しているか又は返答を描いているかを示す方法を提供する。デバイスは、第2のユーザが返答をキー入力している場合、キー入力メッセージ作成インジケータを表示し、デバイスは、第2のユーザが返答を描いている場合、描画メッセージ作成インジケータを表示する。1種類より多いメッセージ作成インジケータを有することにより、インスタントメッセージングの会話中(一般的に会話中に第1のユーザに相手方が見えない)に次に何が来るのかについて、ユーザにより正確に通知する。この情報は、デバイス上でインスタントメッセージングアプリケーションを使用している間に、特にユーザがデバイス上で他のアプリケーションでマルチタスクをしている場合、ユーザがユーザの時間を管理するのに役立つ。この方法は、スタイラス及び指の入力でインスタントメッセージングの会話を行なう際のユーザからの入力の数、範囲、及び/又は種類を低減し、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的にインスタントメッセージングの会話を行なうことができることにより、電力が節約され、バッテリを充電する間隔が増大する。
第1の個人に関連付けられたデバイスは、タッチ感知ディスプレイ上に、通信アプリケーションのユーザインタフェースを表示する(1902)。ユーザインタフェースは、第1の個人と第2の個人との間のインスタントメッセージングの会話(例えば、図1の会話1604)を含む。インスタントメッセージングの会話は、第1の個人と第2の個人との間で交換されたインスタントメッセージ(例えば、図1のメッセージ1605及び1606)を有するコンテンツバルーン、及び入力エリア(例えば、入力エリア1618)を表示する。
デバイスは、第2の個人がインスタントメッセージを作成していることを示す信号を受信する(1904)。
第2の個人がインスタントメッセージを作成していることを示す信号を受信したことに応じて(1906)、第2の個人がインスタントメッセージをキー入力している(例えば、キーボードを使用して)という判定に従って、デバイスは、通信アプリケーションのユーザインタフェース内にキー入力メッセージ作成インジケータ(例えば、図16Aのキー入力メッセージ作成インジケータ1608)を表示する(1908)。いくつかの実施形態では、キー入力メッセージ作成インジケータは、通信セッションウィンドウの第2の側(例えば、左側)の領域内に表示される。いくつかの実施形態では、第2の側の領域内のキー入力メッセージ作成インジケータの垂直方向位置は、キー入力メッセージ作成インジケータが生成された時刻に基づく。
第2の個人がインスタントメッセージを作成していることを示す信号を受信したことに応じて(1906)、第2の個人がインスタントメッセージを描いている(例えば、スタイラスを使用して)という判定に従って、デバイスは、通信アプリケーションのユーザインタフェース内にキー入力メッセージ作成インジケータとは別個の描画メッセージ作成インジケータ(例えば、図16Cの描画メッセージ作成インジケータ1612)を表示する(1910)。いくつかの実施形態では、描画メッセージ作成インジケータは、通信セッションウィンドウの第2の側(例えば、左側)の領域内に表示される。いくつかの実施形態では、第2の側の領域内の描画メッセージ作成インジケータの垂直方向位置は、描画メッセージ作成インジケータが生成された時刻に基づく。
デバイスは、第2の個人により作成されたインスタントメッセージを受信する(1912)。
キー入力メッセージ作成インジケータに対応する第2の個人により作成されたインスタントメッセージを受信したことに応じて(1914)、デバイスは、キー入力メッセージ作成インジケータ又は描画メッセージ作成インジケータを表示するのを中止し(1916)、インスタントメッセージングの会話内に第2の個人により作成されたインスタントメッセージを含むコンテンツバルーンを表示する(1918)。例えば、図16Aのキー入力メッセージ作成インジケータ1608は、図16Bの対応するキー入力されたインスタントメッセージ1610に置き換えられる。例えば、図16Cの描画メッセージ作成インジケータ1612は、図16Dの対応する描画インスタントメッセージ1614に置き換えられる。
図19における動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図19に関連して上述した方法1900に類似の方法で適用できることを認識されたい。例えば、方法1900を参照して上述した入力及びアニメーションは、本明細書に記載されている他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)を参照して本明細書で説明されている入力及びアニメーションの特性のうちの1つ以上を、任意選択的に、有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
いくつかの実施形態により、図20Aは、説明される様々な実施形態の原理に従って構成された、電子デバイス2000の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図20Aで説明される機能ブロックが、説明される様々な実施形態の原理を実施するように任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図20Aに示すように、電子デバイス2000は、ユーザインタフェースを表示し、ユーザ接触(スタイラス接触を含む)を受信するように構成されたタッチ感知ディスプレイユニット2002と、デバイスに関連付けられたスタイラスからの信号を検出するように構成された1つ以上のセンサユニット2006と、タッチ感知ディスプレイユニット2002及び1つ以上のセンサユニット2006に結合された処理ユニット2008と、を含む。いくつかの実施形態では、処理ユニット2008は、表示有効化ユニット2010と、検出ユニット2012と、受信ユニット2014と、置換ユニット2016と、送信ユニット2018と、挿入ユニット2020とを含む。
処理ユニット2008は、タッチ感知ディスプレイユニット2002上に、通信アプリケーションのユーザインタフェースの表示を有効にし(例えば、表示有効化ユニット2010で)、通信を作成する要求に対応する入力を検出し(例えば、検出ユニット2012で)、通信を作成する要求に対応する入力を検出したことに応じて、入力が指入力であるという判定に従って、テキストメッセージをキー入力するためのキーボードの表示を有効にし(例えば、表示有効化ユニット2010で)、入力がスタイラス入力であるという判定に従って、描画メッセージを生成するための描画キャンバスの表示を有効にする(例えば、表示有効化ユニット2010で)、ように構成される。
いくつかの実施形態により、図20Bは、説明される様々な実施形態の原理に従って構成された、電子デバイス2030の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図20Bで説明される機能ブロックが、説明される様々な実施形態の原理を実施するように任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図20Bに示すように、第1の個人に関連付けられた電子デバイス2030は、ユーザインタフェースを表示し、ユーザ接触(スタイラス接触を含む)を受信するように構成されたタッチ感知ディスプレイユニット2032と、タッチ感知ディスプレイユニット2032に結合された処理ユニット2038とを含む。いくつかの実施形態では、処理ユニット2038は、表示有効化ユニット2040と、検出ユニット2042と、描画ユニット2044と、送信ユニット2046と、受信ユニット2048とを含む。
処理ユニット2038は、タッチ感知ディスプレイユニット2032上に、第1の個人と第2の個人との間で交換されたインスタントメッセージを有するコンテンツバルーンを表示する、第1の個人と第2の個人との間のインスタントメッセージングの会話、及び入力エリアを含む、通信アプリケーションのユーザインタフェースの表示を有効にし(例えば、表示有効化ユニット2040で)、複数の色を含むデジタル画像の選択を検出し(例えば、検出ユニット2042で)、デジタル画像の選択を検出したことに応じて、入力エリア内にデジタル画像の表示を有効にし(例えば、表示有効化ユニット2040で)、入力エリア内のデジタル画像上に描くための、デジタル画像内に含まれる複数の色に基づく色を含むカラーパレットの表示を有効にし(例えば、表示有効化ユニット2040で)、カラーパレット内の第1の色を選択する入力を検出し(例えば、検出ユニット2042で)、カラーパレット内の第1の色が選択されている間に、入力エリア内のデジタル画像上の1つ以上の描画入力を検出し(例えば、検出ユニット2042で)、1つ以上の描画入力に従ってデジタル画像上に第1の色で描き(例えば、描画ユニット2044で)、インスタントメッセージングの会話内の第2の個人にインスタントメッセージとして、上に描かれた状態のデジタル画像を送信する要求を検出し(例えば、検出ユニット2042で)、インスタントメッセージとして上に描かれた状態のデジタル画像を送信する要求を検出したことに応じて、インスタントメッセージングの会話内の第2の個人にインスタントメッセージとして、上に描かれた状態のデジタル画像を送信し(例えば、送信ユニット2046で)、タッチ感知ディスプレイユニット2032上にインスタントメッセージングの会話内のインスタントメッセージとして上に描かれた状態のデジタル画像の表示を有効にする(例えば、表示有効化ユニット2040で)、ように構成される。
上述の情報処理方法での動作は、汎用プロセッサ(例えば、図1A及び図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
図17A〜17C、図18A〜18B、及び図19を参照して上述された動作は、図1A〜1B、又は図20A〜20Bに示される構成要素によって、任意選択的に実施される。例えば、表示動作1702、検出動作1716、表示動作1720、及び表示動作1722は、イベントソート部170、イベント認識部180、及びイベント処理部190によって、任意選択的に、実施される。イベントソート部170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触(又は近接触)を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配信する。アプリケーション136−1の対応するイベント認識部180は、そのイベント情報を対応するイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触(又は近接触)(又は、デバイスの回転)が、ユーザインタフェース上のオブジェクトの選択、又は1つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベント処理部190をアクティブ化させる。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176若しくはオブジェクト更新部177を、任意選択的に用いるか又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A〜図1Bに示される構成要素に基づいてどのように実施され得るかは明らかであるだろう。
ロックされたデバイスの描画アプリケーションにアクセスする
いくつかの電子デバイスは、そのデバイスのタッチ感知ディスプレイへの入力の追加の方法を提供するために、そのデバイスに関連付けられたスタイラスを使用する。例えば、いくつかのセルラー電話、ラップトップ、及びタブレットは、スタイラスからの入力を受信する能力を有する。そのような電子デバイスは、いくつかの例を挙げれば、メモ及び助言を書き留めること、又はスタイラスで描画を生成することを含めて、ユーザが増々多数のコンテンツを生成する機会を有する。多くの場合、そのようなコンテンツを生成する機会においては、ユーザが新鮮な記憶又は一過性のイベントを利用することを所望することがあるため、時間が重要である。しかし、特に、デバイスがロックされた、暗証番号で保護された状態にある場合、描画アプリケーションにアクセスするための既存の方法は、遅くて、即時のコンテンツ生成の妨げである。デバイスがロックされている間にデバイス上の描画アプリケーションにアクセスすることは、一般的に複数のステップを必要とし、それにより、急ぎの使用が有益であるか又は望ましいときの描画アプリケーションの即時の使用を妨げる。以下の実施形態は、ユーザが、ロックスクリーンユーザインタフェース上で、スタイラスからの入力を使用して描画の1つ以上のマークを描き始め、次に、ロックスクリーンユーザインタフェースを制限セッション内での描画アプリケーションに置き換えて、描画アプリケーション内にロックスクリーンユーザインタフェース上で描かれた1つ以上のマークを表示することができるようにすることにより、この問題に対処する。
以下、図21A〜21Qは、ロックされたデバイスの描画アプリケーションにアクセスするための例示的なユーザインタフェースを示す。図22A〜22B、図23A〜23B、及び図24A〜24Bは、ロックされたデバイスの描画アプリケーションにアクセスする方法を示す流れ図である。図21A〜21Qのユーザインタフェースを使用して、図22A〜22B、図23A〜23B、及び図24A〜24Bのプロセスを示す。
図21A〜21Qは、いくつかの実施形態に係る、ロックされたデバイスの描画アプリケーションにアクセスするための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図22A〜22B、図23A〜23B、及び図24A〜24Bのプロセスを含む、以下に説明するプロセスを例示するために使用される。以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ上の(タッチ感知面とディスプレイとが組み合わされている場合、例えば、タッチスクリーン112上の)入力を参照して説明されるが、一部の実施形態において、デバイスは、図6Bに示すように、ディスプレイ650とは別個のタッチ感知面651上で入力を検出する。
いくつかの実施形態では、デバイスは、別個のディスプレイ(例えば、ディスプレイ650)及び別個のタッチ感知面(例えば、タッチ感知面651)を備える電子デバイスである。いくつかの実施形態では、デバイスは、ポータブル多機能デバイス100であり、ディスプレイは、タッチ感知ディスプレイシステム112であり、タッチ感知面は、ディスプレイ上に触知出力生成器163を含む(図1A)。説明を簡便にするために、図21A〜21Q、図22A〜22B、図23A〜23B、及び図24A〜24Bを参照して説明する実施形態は、タッチ感知ディスプレイシステム112(単にタッチスクリーン112とも呼ばれる)を備えたデバイス上で実行される動作を参照して説明する。そのような実施形態では、フォーカスセレクタは、任意選択的に、それぞれの指又はスタイラスの接触、指又はスタイラスの接触に対応する代表的な点(例えば、それぞれの接触の面心又はそれぞれの接触に関連付けられた点)、又は、タッチ感知ディスプレイシステム112上で検出された2つ以上の接触の面心である。しかし、類似した動作が、ディスプレイ650と、別個のタッチ感知面651と、を備えたデバイス上で、ディスプレイ650上に図21A〜21Qに示すユーザインタフェースを表示している間に、タッチ感知面651上(又はその付近)で図21A〜21Qで説明する接触を検出したことに応じて、任意選択的に実行される。
図21A〜21Qは、いくつかの実施形態に係る、ロックされたデバイスのアプリケーション(例えば、描画アプリケーション)にアクセスするための例示的なユーザインタフェースを示す。図21Aは、デバイス100の追加の詳細(例えば、スピーカ111、光センサ164、近接センサ166など)と共にタッチスクリーン112を示すが、明瞭にするために、図21B〜21Qは、デバイス100の他の詳細を示さずに、単にデバイス100のタッチスクリーン112を示す。更に、図21A〜21Qは、タッチ感知面(例えば、デバイス100のタッチスクリーン112)の真上の視点から実施例を示す。
図21Aは、デバイス100のタッチスクリーン112上にロックスクリーンユーザインタフェース(例えば、ロックスクリーンユーザインタフェース2100)を表示する実施例を示す。いくつかの実施形態では、デバイス100がロック状態にある間にユーザによりデバイス100上の物理ボタン(例えば、プッシュボタン206又は「ホーム」若しくはメニューボタン204)がアクティブ化されると、ロックスクリーンユーザインタフェース2100は表示される。いくつかの実施形態では、ロックスクリーンユーザインタフェース2100は、ロックスクリーン画像、現在時刻604、バッテリ状態インジケータ606、及び/又は他の情報を含む。いくつかの実施形態では、ロックスクリーンユーザインタフェース2100は、仮想チャネル2104内のロック解除画像オブジェクト2102などの、デバイスをロック解除するためのユーザインタフェースオブジェクトを含む。例えば、デバイス100は、ロック解除画像オブジェクト2102を、ジェスチャ(例えば、図21Pのドラッグジェスチャ2105)を使用してチャネル2104にわたり1つの端部から他の端部へドラッグすることにより、ロック解除される。デバイス100がパスワード保護(暗証番号保護と呼ばれる場合もある)されている場合、オブジェクト2102がチャネル2104にわたりドラッグされると、図21Qに示すようにロック解除ユーザインタフェース2140が表示される。いくつかの実施形態では、ユーザは、キーパッド2109を使用してパスワードを入力する。正しいパスワードが入力された場合、デバイス100はロック解除される。あるいは、いくつかの実施形態では、デバイス100は、ユーザを認証するための指紋センサを含み、デバイス100は、ユーザの指紋でロック解除される。
図21B〜21Eは、タッチスクリーン112からのリフトオフ(例えば、スタイラス203)に応じて、描画アプリケーションを表示する実施例を示す。図21B〜21Cは、ロックスクリーンユーザインタフェース2100上に、デバイス100に関連付けられたスタイラス(例えば、スタイラス203)からの第1の入力に対応する1つ以上のマーク(例えば、図21Bのマーク2120−a、及び図21Cのマーク2120−b)を表示する実施例を示す。いくつかの実施形態では、デバイス100は、デバイスに関連付けられた電子スタイラス(例えば、スタイラス203)からの信号を検出するように構成される。いくつかの実施形態では、電子スタイラスからの信号を検出することにより、スタイラスをデバイスに動作可能に接続(又は結合)する。図21Cで、マーク2120−bは完了していて、スタイラス203は、タッチスクリーン112からまさにリフトオフしたところである。
図21Dは、スタイラスからの第2の入力に応じて、制限モードで描画アプリケーションを表示する(かつ図21Qのロック解除ユーザインタフェース2140をバイパスする)実施例を示す。図21C〜21Dの実施例では、図21Cのスタイラス203のリフトオフの後で、図21Dで新規メモ入力ユーザインタフェース2110を有する描画アプリケーションが、マーク2120−b(図21Cのロックスクリーンユーザインタフェース2100上に描かれていた)と共に表示される。図21Dに示すように、新規メモ入力ユーザインタフェース2110は、描画入力エリア2118、アイコン(例えば、ナビゲーションアイコン2112、テキストアイコン2114、及びカメラアイコン2116)、及びツールバー2130を含む。いくつかの実施形態では、ツールバー2130は、入力の色を変更する、新規メモを追加する、及び/又はマークをアンドゥするオプションを含む。
図21Eは、制限セッションでの描画アプリケーション用のユーザインタフェース内に1つ以上の追加のマークを描く実施例を示す。例えば、図21Eで、「Buy coffee!」の残部を書くために、追加のマークが、マーク2120−bに追加される。いくつかの実施形態では、スタイラスでのスワイプジェスチャ(例えば、スワイプジェスチャ2132)により、ユーザをロックスクリーンユーザインタフェース(例えば、ロックスクリーンユーザインタフェース2100)に戻す。
図21B〜21Eは、スタイラスでのユーザ入力の実施例を示す。いくつかの実施形態では、ユーザ入力は、スタイラスではなく、指接触により行われる。他の実施形態では、スタイラスに基づく入力とは対照的に、指入力により、ロックスクリーンユーザインタフェース上に描かない(例えば、マークを生成しない)、及び/又は結果として描画アプリケーションの表示にならない。
図21F〜21Hは、スタイラス(例えば、スタイラス203)でタッチスクリーン112上をタップしたことに応じて、描画アプリケーションを表示する実施例を示す。図21F〜21Gは、スタイラス(例えば、スタイラス203)でのタップジェスチャ(例えば、タップジェスチャ2107)、及びタップジェスチャに応じて、制限モードで描画アプリケーションを表示する(かつ図21Qのロック解除ユーザインタフェース2140をバイパスする)実施例を示す。図21Hは、制限セッションでの描画アプリケーション用のユーザインタフェース(例えば、ユーザインタフェース2110)内にスタイラスにより行われた1つ以上のマーク(例えば、マーク2134及びマーク2136)を表示する実施例を示す。いくつかの実施形態では、指でタップジェスチャが実行された場合、描画アプリケーションは表示されない。
図21I〜21Lは、スタイラス(例えば、スタイラス203)でのタッチスクリーン112からのリフトオフに応じて、描画アプリケーションを表示する実施例を示す。図21Iは、ロックスクリーンユーザインタフェース2100上に、デバイス100に関連付けられたスタイラス(例えば、スタイラス203)からの入力に対応するマーク(例えば、ロックスクリーン画像上の犬をトレースすることにより生成されたマーク2122)を表示する実施例を示す。スタイラス203のリフトオフに応じて、デバイス100は、図21Jに示すように、制限モードで描画アプリケーションを表示し、ロックスクリーンユーザインタフェース2100上で行われたマーク2122を表示する。ユーザは、次に、図21Kに示すように、描画アプリケーションの制限セッションで描画を継続する(例えば、マーク2124、マーク2126、及びマーク2128で)ことができる。アンドゥボタンの選択(例えば、図21Lのジェスチャ2134での)に応じて、描画アプリケーションの現在の制限セッションで行われたマークは、1つずつアンドゥされる。実施例として図21Kを使用して、ユーザが、マーク2122、次にマーク2124、次にマーク2126、及び次にマーク2128を描いたとする。その後、アンドゥボタンを一回選択した後で、マーク2128が削除される。アンドゥボタンを再度選択した後で、マーク2126が削除され、結果として図21Lになる。いくつかの実施形態では、描画アプリケーションの制限セッションの間に、ユーザは、描画アプリケーションの現在の制限セッションの間に生成されたコンテンツにアクセスして編集することができるが、描画アプリケーションの無制限セッションの間に生成されたコンテンツ、及び描画アプリケーションの以前の制限セッションの間に生成されたコンテンツにアクセスすることができない。いくつかの実施形態では、描画アプリケーションの制限セッションの間に、描画アプリケーションは、限定された機能を有する(例えば、ナビゲーションアイコン2112、テキストアイコン2114、及び/又はカメラアイコン2116などのアイコンを選択することは、効果がない)。
図21M〜21Oは、スタイラス(例えば、スタイラス203)でのタッチスクリーン112の縁部からスワイプしたことに応じて、描画アプリケーションを表示する実施例を示す。図21Mは、ロックスクリーンユーザインタフェース2100上に、デバイス100に関連付けられたスタイラスからの入力に対応する1つ以上のマーク(例えば、マーク2141及びマーク2142)を表示する実施例を示す。この実施例では、スタイラス203のリフトオフ(例えば、マーク2141をつけることとマーク2142をつけることとの間のスタイラス203のリフトオフ)は、描画アプリケーションの表示をさせない。代わりに、スタイラス203でタッチスクリーン112の縁部からスワイプした(例えば、図21Nのスワイプジェスチャ2106で)ことに応じて、デバイス100は、図21Oに示すように、制限モードで描画アプリケーションを実行して、ロックスクリーンユーザインタフェース上に表示されていた1つ以上のマーク(例えば、マーク2141及びマーク2142)を表示する。
図22A〜22Bは、いくつかの実施形態に係る、ロックされたデバイスのアプリケーション(例えば、描画アプリケーション)にアクセスする方法2200を示す流れ図である。方法2200は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイは、タッチスクリーンディスプレイであり、タッチ感知面は、ディスプレイ上にある、又はディスプレイと一体化されている(単にタッチ感知ディスプレイとも呼ばれる)。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。いくつかの実施形態では、デバイスは、デバイスに関連付けられたスタイラスからの信号を検出する1つ以上のセンサを含む。例えば、デバイスは、電子スタイラスからの信号を検出するように構成される。いくつかの実施形態では、電子スタイラスからの信号を検出することにより、スタイラスをデバイスに動作可能に接続(又は結合)する。方法2200の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
以下に説明するように、方法2200により、ユーザは、ロックスクリーンユーザインタフェース上で直ちに描画を開始し始めることができ、次に、制限セッションでの描画アプリケーション内で描画し続けるシームレスな方法を提供して、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的にスタイラスで入力することができることにより、電力が節約され、バッテリを充電する間隔が増大する。
電子デバイスがロック状態にある間に(2202)、デバイスは、タッチ感知ディスプレイ上にロックスクリーンユーザインタフェースを表示する(2204)。例えば、デバイス100は、デバイス100がロック状態にある間に、図21Aのロックスクリーンユーザインタフェース2100を表示する。いくつかの実施形態では、ロックスクリーンユーザインタフェースは、図21Aに示すように、仮想チャネル2104内のロック解除画像オブジェクト2102などの、デバイスをロック解除するためのユーザインタフェースオブジェクトを含む。いくつかの実施形態では、デバイスは、ユーザを認証するための指紋センサを含み、デバイスは、ユーザの指紋でロック解除される。
タッチ感知ディスプレイ上にロックスクリーンユーザインタフェースを表示している間に、デバイスは、タッチ感知ディスプレイ上で描くスタイラスからの第1の入力を検出する(2206)。例えば、図21Bで、デバイス100は、タッチスクリーン112上で描くスタイラス203からの第1の入力を検出する。いくつかの実施形態では、第1の入力は、スタイラスではなく、指接触により行われる。他の実施形態では、スタイラスに基づく入力とは対照的に、指入力により、タッチ感知ディスプレイ上で描かない、及び/又は結果として制限モードでの描画アプリケーションの表示にならない(動作2210に関して以下に説明するように)。
描くスタイラスからの第1の入力を検出したことに応じて、デバイスは、ロックスクリーンユーザインタフェース上に、スタイラスからの第1の入力に対応する描画の1つ以上のマークを表示する(2208)。図21Bで、例えば、デバイス100は、ロックスクリーンユーザインタフェース2100上に、スタイラス203からの第1の入力に対応するマーク2120−aを表示する。別の実施例として、図21Iで、デバイス100は、ロックスクリーンユーザインタフェース2100上に、スタイラス203からの第1の入力に対応するマーク2122を表示する。
ロックスクリーンユーザインタフェース上に、スタイラスからの第1の入力に対応する描画の1つ以上のマークを表示している間に、デバイスは、制限モードで描画アプリケーションを表示するスタイラスからの第2の入力を検出し、描画アプリケーションを表示するスタイラスからの第2の入力を検出したことに応じて、デバイスは、制限モードで描画アプリケーションを実行して、描画アプリケーション内に描画の1つ以上のマークを表示する(2210)。例えば、ロックスクリーンユーザインタフェース2100上にマーク2122(図21Iの)を表示している間に、デバイス100は、制限モードで描画アプリケーションを表示するスタイラス203からの第2の入力(例えば、図21Iに示すように、スタイラス203でのタッチスクリーン112からのリフトオフ)を検出し、第2の入力(例えば、リフトオフ)を検出したことに応じて、デバイスは、図21Jに示すように、制限モードで描画アプリケーションを実行して、描画アプリケーション内にマーク2122を表示する。描画アプリケーション内に表示される1つ以上のマークは、ロックスクリーンユーザインタフェース上に表示されていた1つ以上のマークを含む。いくつかの実施形態では、第2の入力は、タッチ感知ディスプレイの縁部からのスタイラスでのスワイプジェスチャ(例えば、図21Nのタッチスクリーン112上のスワイプジェスチャ2106)、タッチ感知ディスプレイ上のスタイラスでのタップジェスチャ(例えば、図21Fのタッチスクリーン112上のタップジェスチャ2107)、及び/又はタッチ感知ディスプレイからのスタイラスのリフトオフ(例えば、図21Cでのような、ロックスクリーンユーザインタフェース上にマークを描くドラッグジェスチャの終了での、又は図21Fでのような、タップジェスチャの終了での)を含む。
いくつかの実施形態では、描画アプリケーションを表示するスタイラスからの第2の入力は、スタイラスでタッチ感知ディスプレイの縁部からスワイプすることを含む(2212)。例えば、図21Nは、描画アプリケーションを表示するスタイラス203からの第2の入力としての、タッチスクリーン112上のスワイプジェスチャ2106を示す。
いくつかの実施形態では、描画アプリケーションを表示するスタイラスからの第2の入力は、スタイラスでタッチ感知ディスプレイをタップすることを含む(2214)。例えば、図21Fは、描画アプリケーションを表示するスタイラス203からの第2の入力としての、タッチスクリーン112上のタップジェスチャ2107を示す。図21Fには示されていないが、いくつかの実施形態では、タップジェスチャ2107の前に、ロックスクリーンユーザインタフェース上に、スタイラスからの第1の入力に対応する1つ以上のマークが表示されている。
いくつかの実施形態では、描画アプリケーションを表示するスタイラスからの第2の入力は、スタイラスでのタッチ感知ディスプレイからのリフトオフを含む(2216)。例えば、図21Cは、描画アプリケーションを表示するスタイラス203からの第2の入力としての、タッチスクリーン112からのスタイラス203のリフトオフ(ロックスクリーンユーザインタフェース2100上にマーク2120−bを描くドラッグジェスチャの終了での)を示す。あるいは、図21Fは、描画アプリケーションを表示するスタイラス203からの第2の入力としての、タッチスクリーン112からのスタイラス203のリフトオフ(タップジェスチャ2107の終了での)を示す。
いくつかの実施形態では、制限モードで描画アプリケーションを実行している間に、デバイスは、描画アプリケーションの無制限セッションの間に生成されたコンテンツ、及び描画アプリケーションの以前の制限セッションの間に生成されたコンテンツへのアクセスを提供することなく、描画アプリケーションの現在の制限セッションの間に生成されたコンテンツにユーザがアクセスするのを有効にする(2218)。例えば、図21B〜21Eが図21I〜21Lの前の時刻に行なわれる場合、図21J〜21Lで制限モードで描画アプリケーションを実行している間に、デバイス100は、描画アプリケーションの無制限セッションの間に(例えば、デバイス100がロック解除状態にあった間に)生成されたコンテンツ、及び描画アプリケーションの以前の制限セッションの間に(例えば、図21D〜21Eの制限セッションの間に)生成されたコンテンツへのアクセスを提供することなく、現在の制限セッションの間に(例えば、図21J〜21Lの制限セッションの間に)生成されたコンテンツにユーザがアクセスするのを有効にする。
図22A〜22Bにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図22A〜図22Bに関連して上述した方法2200に類似の方法で適用できることを認識されたい。例えば、方法2200を参照して上述したスタイラスの姿勢状態特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力は、任意選択的に、本明細書で説明する他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載したもの)を参照して本明細書に記載のスタイラスの姿勢状態特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力の特性のうちの1つ以上を有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
図23A〜23Bは、いくつかの実施形態に係る、ロックされたデバイスのアプリケーション(例えば、描画アプリケーション)にアクセスする方法2300を示す流れ図である。方法2300は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイは、タッチスクリーンディスプレイであり、タッチ感知面は、ディスプレイ上にある、又はディスプレイと一体化されている(単にタッチ感知ディスプレイとも呼ばれる)。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。いくつかの実施形態では、デバイスは、デバイスに関連付けられたスタイラスからの信号を検出する1つ以上のセンサを含む。例えば、デバイスは、電子スタイラスからの信号を検出するように構成される。いくつかの実施形態では、電子スタイラスからの信号を検出することにより、スタイラスをデバイスに動作可能に接続(又は結合)する。方法2300の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
以下に説明するように、方法2300は、ロックされたデバイスのアプリケーション(例えば、描画アプリケーション)にアクセスする直感的で迅速な方法を提供する。この方法は、電子デバイスと対話するためにスタイラスを使用する際のユーザからの入力の数、範囲、及び/又は種類を低減し、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的にスタイラスで入力することができることにより、電力が節約され、バッテリを充電する間隔が増大する。
電子デバイスがロック状態にある間に(2302)、デバイスは、タッチ感知ディスプレイ上にロックスクリーンユーザインタフェースを表示する(2304)。例えば、デバイス100は、デバイス100がロック状態にある間に、図21Aのロックスクリーンユーザインタフェース2100を表示する。いくつかの実施形態では、ロックスクリーンユーザインタフェースは、図21Aに示すように、仮想チャネル2104内のロック解除画像オブジェクト2102などの、デバイスをロック解除するためのユーザインタフェースオブジェクトを含む。いくつかの実施形態では、デバイスは、ユーザを認証するための指紋センサを含み、デバイスは、ユーザの指紋でロック解除される。
タッチ感知ディスプレイ上にロックスクリーンユーザインタフェースを表示している間に、デバイスは、ユーザ入力を検出する(2306)。例えば、図21Fは、タッチスクリーン112上にロックスクリーンユーザインタフェース2100が表示されている間に、スタイラス203で実行されるユーザ入力(例えば、タップジェスチャ2107)を示す。
ユーザ入力がスタイラスでの既定の入力であるという判定に従って、デバイスは、ロックスクリーンユーザインタフェースの表示を制限セッションでの描画アプリケーションの表示に置き換える(2308)。例えば、図21F〜21Gは、ユーザ入力がスタイラスでの既定の入力(例えば、スタイラスでのタップジェスチャ)であるという判定に従って、ロックスクリーンユーザインタフェース2100の表示を制限セッションでの描画アプリケーションの表示に(ユーザインタフェース2110に)置き換えることを示す。
ユーザ入力が指のタッチ入力(又は他のスタイラスでないタッチ入力)であるという判定に従って、デバイスは、ロックスクリーンユーザインタフェースの表示を維持して、描画アプリケーションの表示を取り止める(2310)。例えば、図21Fのタップジェスチャ2107が指のタッチ入力(又は他のスタイラスでないタッチ入力)で実行された場合、デバイスは、ロックスクリーンユーザインタフェース2100の表示を維持して、描画アプリケーションの表示を取り止めるであろう。
いくつかの実施形態では、タッチ感知ディスプレイ上にロックスクリーンユーザインタフェースを表示している間に、デバイスは、タッチ感知ディスプレイ上で描くスタイラスからの第1の入力を検出し、描くスタイラスからの第1の入力を検出したことに応じて、デバイスは、ロックスクリーンユーザインタフェース上に、スタイラスからの第1の入力に対応する描画の1つ以上のマークを表示する(2312)。例えば、図21Mで、デバイス100は、タッチスクリーン112上で描くスタイラス203からの第1の入力を検出し、第1の入力を検出したことに応じて、デバイス100は、ロックスクリーンユーザインタフェース2100上に、スタイラス203からの第1の入力に対応するマーク2141及びマーク2142を表示する。
いくつかの実施形態では、ロックスクリーンユーザインタフェース上に、スタイラスからの第1の入力に対応する描画の1つ以上のマークを表示している間に、デバイスは、制限モードで描画アプリケーションを表示するスタイラスからの第2の入力を検出し、描画アプリケーションを表示するスタイラスからの第2の入力を検出したことに応じて、デバイスは、制限モードで描画アプリケーションを実行して、描画アプリケーション内に描画の1つ以上のマークを表示する(2314)。例えば、図21Nで、ロックスクリーンユーザインタフェース2100上にマーク2141及びマーク2142を表示している間に、デバイス100は、制限モードで描画アプリケーションを表示するスタイラス203からの第2の入力(例えば、スワイプジェスチャ2106)を検出し、第2の入力(例えば、スワイプジェスチャ2106)を検出したことに応じて、デバイスは、図21Oに示すように、制限モードで描画アプリケーションを実行して、描画アプリケーション内にマーク2141及び2142を表示する。描画アプリケーション内に表示される1つ以上のマークは、ロックスクリーンユーザインタフェース上に表示されていた1つ以上のマークを含む。
いくつかの実施形態では、ユーザ入力は、タップジェスチャであり、スタイラスでタップジェスチャが実行されたという判定に従って、デバイスは、描画アプリケーションを表示し、指でタップジェスチャが実行されたという判定に従って、デバイスは、描画アプリケーションを表示するのを取り止める(2316)。例えば、図21Fは、ユーザ入力としてのタップジェスチャ2107を示し、スタイラス(例えば、スタイラス203)でタップジェスチャが実行されたため、デバイスは、図21Gに示すように、描画アプリケーションを表示する。しかし、図21Fのタップジェスチャ2107が指で実行された場合、デバイスは、描画アプリケーションを表示するのを取り止める(かつロックスクリーンユーザインタフェース2100の表示を維持する)。
いくつかの実施形態では、ユーザ入力は、スワイプジェスチャであり、スタイラスでスワイプジェスチャが実行されて、かつ描画アプリケーション表示基準を満たすという判定に従って、デバイスは、描画アプリケーションを表示し、指でスワイプジェスチャが実行されて、かつロック解除開始基準を満たすという判定に従って、デバイスは、ロック解除ユーザインタフェースを表示する(2318)。例えば、図21Nは、ユーザ入力としてのスワイプジェスチャ2106を示し、スタイラス(例えば、スタイラス203)でスワイプジェスチャが実行されて、かつ描画アプリケーション表示基準を満たすため、デバイスは、図21Oに示すように、描画アプリケーションを表示する。一方、図21Pは、ユーザ入力としてのスワイプジェスチャ2105を示し、指でスワイプジェスチャが実行されて、かつロック解除開始基準を満たす場合、デバイスは、図21Qに示すように、ロック解除ユーザインタフェース(例えば、ロック解除ユーザインタフェース2140)を表示する。あるいは、いくつかの実施形態では、指でスワイプジェスチャが実行された(かつ特定の基準を満たす)という判定に従って、デバイスは、カメラアプリケーションなどの他の制限アプリケーションを表示する。いくつかの実施形態では、指でスワイプジェスチャが実行されたという判定に従って、デバイスは、ロックスクリーンユーザインタフェースから他の機能及び/又はコンテンツ(例えば、通知センタ及び/又はコントロールセンタ)へのアクセスを提供する。
図23A〜23Bにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図23A〜図23Bに関連して上述した方法2300に類似の方法で適用できることを認識されたい。例えば、方法2300を参照して上述したスタイラスの姿勢状態特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力は、任意選択的に、本明細書で説明する他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載したもの)を参照して本明細書に記載のスタイラスの姿勢状態特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力の特性のうちの1つ以上を有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
図24A〜24Bは、いくつかの実施形態に係る、ロックされたデバイスのアプリケーション(例えば、描画アプリケーション)にアクセスする方法2400を示す流れ図である。方法2400は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイは、タッチスクリーンディスプレイであり、タッチ感知面は、ディスプレイ上にある、又はディスプレイと一体化されている(単にタッチ感知ディスプレイとも呼ばれる)。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。いくつかの実施形態では、デバイスは、デバイスに関連付けられたスタイラスからの信号を検出する1つ以上のセンサを含む。例えば、デバイスは、電子スタイラスからの信号を検出するように構成される。いくつかの実施形態では、電子スタイラスからの信号を検出することにより、スタイラスをデバイスに動作可能に接続(又は結合)する。方法2400の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
以下に説明するように、方法2400により、ユーザは、ロックスクリーンユーザインタフェース上で直ちに描画を開始し始めることができ、次に、制限セッションでの描画アプリケーション内で描画し続けるシームレスな方法を提供して、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的にスタイラスで入力することができることにより、電力が節約され、バッテリを充電する間隔が増大する。
電子デバイスがロック状態にある間に(2402)、デバイスは、タッチ感知ディスプレイ上にロックスクリーン画像を含むロックスクリーンユーザインタフェースを表示する(2404)。例えば、デバイス100がロック状態にある間に、デバイス100は、犬のロックスクリーン画像を含む、図21Aのロックスクリーンユーザインタフェース2100を表示する。いくつかの実施形態では、ロックスクリーンユーザインタフェースは、図21Aに示すように、仮想チャネル2104内のロック解除画像オブジェクト2102などの、デバイスをロック解除するためのユーザインタフェースオブジェクトを含む。いくつかの実施形態では、デバイスは、ユーザを認証するための指紋センサを含み、デバイスは、ユーザの指紋でロック解除される。
タッチ感知ディスプレイ上にロックスクリーンユーザインタフェースを表示している間に、デバイスは、タッチ感知ディスプレイ上のスタイラスによる第1の入力を検出し、第1の入力を検出することは、第1の入力の開始でのタッチ感知ディスプレイ上のスタイラスによる初期接触を検出することと、第1の入力中のタッチ感知ディスプレイにわたるスタイラスの移動を検出することと、第1の入力の終了でのタッチ感知ディスプレイからのスタイラスのリフトオフを検出することと、を含む(2406)。例えば、図21Iで、タッチスクリーン112上にロックスクリーンユーザインタフェース2100を表示している間に、デバイスは、タッチスクリーン112上のスタイラス203による初期接触、第1の入力中のタッチスクリーン112にわたるスタイラス203の移動(例えば、犬の頭の周囲をトレースすること)、及び第1の入力の終了でのタッチスクリーン112からのスタイラス203のリフトオフを含む、スタイラス203による第1の入力を検出する。
タッチ感知ディスプレイにわたるスタイラスの移動を検出したことに応じて、デバイスは、タッチ感知ディスプレイにわたるスタイラスの移動に従って、ロックスクリーン画像の上に表示される第1のマークを描く(2408)。例えば、図21Iは、タッチスクリーン112にわたるスタイラス203の移動に従って、ロックスクリーン画像の上に(例えば、犬のロックスクリーン画像の上に)表示される第1のマーク(例えば、マーク2122)を示す。図21Iで、マーク2122は、第1の入力の開始でのタッチスクリーン112上のスタイラス203による初期接触の位置で開始されて描かれる。いくつかの実施形態では、第1のマークは、タッチ感知ディスプレイ上のスタイラスによる初期接触の位置に依存しないで描かれる。
タッチ感知ディスプレイからのスタイラスのリフトオフを検出したことに応じて、デバイスは、ロックスクリーン画像を表示するのを中止することを含めて、ロックスクリーンユーザインタフェースを表示するのを中止し、デバイスは、制限セッションでの描画アプリケーション用のユーザインタフェースを表示し、デバイスは、制限セッションでの描画アプリケーション用のユーザインタフェース内に、第1の入力中のタッチ感知ディスプレイにわたるスタイラスの移動に従って描かれていた第1のマークを表示する(2410)。例えば、図21Jは、図21Iのタッチスクリーン112からのスタイラス203のリフトオフを検出したことに応じて、ロックスクリーンユーザインタフェース2100を表示するのを中止し(犬のロックスクリーン画像を表示するのを中止することを含めて)、制限セッションでの描画アプリケーション用のユーザインタフェース2110を表示し、制限セッションでの描画アプリケーション用のユーザインタフェース2110内に、第1の入力中のタッチスクリーン112にわたるスタイラス203の移動に従って描かれていた(動作2408で説明したように)マーク2122を表示することを示す。
制限セッションでの描画アプリケーション用のユーザインタフェースを表示している間に、デバイスは、タッチ感知ディスプレイ上のスタイラスによる第2の入力を検出する(2412)。例えば、図21Jで、制限セッションでの描画アプリケーション用のユーザインタフェース2110を表示している間に、デバイス100は、スタイラス203による第2の入力(例えば、マーク2124を描くこと)を検出する。
タッチ感知ディスプレイ上のスタイラスによる第2の入力を検出したことに応じて、デバイスは、制限セッションでの描画アプリケーション用のユーザインタフェース内に、第1のマークと共に表示される第2のマークを描く(2414)。例えば、図21Kは、制限セッションでの描画アプリケーション用のユーザインタフェース2110内に、第1のマーク(例えば、マーク2122)と共に表示される第2のマーク(例えば、マーク2124)を表示することを示す。
図24A〜24Bにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図24A〜図24Bに関連して上述した方法2400に類似の方法で適用できることを認識されたい。例えば、方法2400を参照して上述したスタイラスの姿勢状態特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力は、任意選択的に、本明細書で説明する他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載したもの)を参照して本明細書に記載のスタイラスの姿勢状態特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力の特性のうちの1つ以上を有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
いくつかの実施形態により、図25は、説明される様々な実施形態の原理に従って構成された、電子デバイス2500の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図25で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図25に示すように、電子デバイス2500は、ユーザインタフェースを表示し、ユーザ接触(スタイラス接触を含む)を受信するように構成されたタッチ感知ディスプレイユニット2502と、デバイスに関連付けられたスタイラスからの信号を検出するように構成された1つ以上のセンサユニット2506と、タッチ感知ディスプレイユニット2502及び1つ以上のセンサユニット2506に結合された処理ユニット2508と、を含む。いくつかの実施形態では、処理ユニット2508は、表示有効化ユニット2510と、検出ユニット2512と、アプリケーションユニット2514と、アクセスユニット2516とを含む。
処理ユニット2508は、電子デバイスがロック状態にある間に、タッチ感知ディスプレイユニット2502上にロックスクリーンユーザインタフェースの表示を有効にし(例えば、表示有効化ユニット2510で)、タッチ感知ディスプレイユニット2502上にロックスクリーンユーザインタフェースの表示を有効にしている間に、タッチ感知ディスプレイユニット2502上で描くスタイラスからの第1の入力を検出し(例えば、検出ユニット2512で)、描くスタイラスからの第1の入力を検出したことに応じて、ロックスクリーンユーザインタフェース上に、スタイラスからの第1の入力に対応する描画の1つ以上のマークの表示を有効にし(例えば、表示有効化ユニット2510で)、ロックスクリーンユーザインタフェース上に、スタイラスからの第1の入力に対応する描画の1つ以上のマークの表示を有効にしている間に、制限モードで描画アプリケーションを表示するスタイラスからの第2の入力を検出し(例えば、検出ユニット2512で)、描画アプリケーションを表示するスタイラスからの第2の入力を検出したことに応じて、制限モードで描画アプリケーションを実行し(例えば、アプリケーションユニット2514で)、描画アプリケーション内に描画の1つ以上のマークの表示を有効にする(例えば、表示有効化ユニット2510で)、ように構成される。
上述の情報処理方法での動作は、汎用プロセッサ(例えば、図1A及び図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
図22A〜22B、図23A〜23B、及び図24A〜24Bを参照して上述された動作は、図1A〜1B、又は図25に示される構成要素によって、任意選択的に実施される。例えば、表示動作2204、検出動作2206、表示動作2208、及び検出/実行動作2210は、イベントソート部170、イベント認識部180、及びイベント処理部190によって、任意選択的に、実施される。イベントソート部170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触(又は近接触)を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配信する。アプリケーション136−1の対応するイベント認識部180は、そのイベント情報を対応するイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触(又は近接触)(又は、デバイスの回転)が、ユーザインタフェース上のオブジェクトの選択、又は1つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベント処理部190をアクティブ化させる。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176若しくはオブジェクト更新部177を、任意選択的に用いるか又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A〜図1Bに示される構成要素に基づいてどのように実施され得るかは明らかであるだろう。
スタイラスを使用して仮想描画手段を選択して使用する
電子デバイスは、スタイラスを使用して、様々な仮想描画手段をエミュレートすることができる。特定の仮想描画手段を選択するための既存の方法は、冗長で非効率である。ここでは、デバイスは、特定の選択基準を満たすスタイラスの傾きに基づいて、仮想描画手段を選択する。これにより、電子デバイスに、ペン及び蛍光ペンなどの異なる2つの仮想描画手段の間で切り換える、速くて簡単な方法を提供する。
図26A〜26Hは、いくつかの実施形態に係る、スタイラスを使用して仮想描画手段を選択して使用するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図27A〜27C、及び図28Aのプロセスを含む、以下に説明するプロセスを例示するために使用される。以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ上(タッチ感知面とディスプレイとが組み合わされている場合)の入力を参照して説明されるが、一部の実施形態において、デバイスは、図6Bに示すように、ディスプレイ650とは別個のタッチ感知面651上で入力を検出する。
いくつかの実施形態では、デバイスは、別個のディスプレイ(例えば、ディスプレイ650)及び別個のタッチ感知面(例えば、タッチ感知面651)を備える電子デバイスである。いくつかの実施形態では、デバイスは、ポータブル多機能デバイス100であり、ディスプレイは、タッチ感知ディスプレイシステム112であり、タッチ感知面は、ディスプレイ上に触知出力生成器163を含む(図1A)。説明を簡便にするために、図26A〜26H及び図27A〜27C、及び図28Aを参照して説明する実施形態は、タッチ感知ディスプレイシステム112を備えたデバイス上で実行される動作を参照して説明する。そのような実施形態では、フォーカスセレクタは、任意選択的に、それぞれの指又はスタイラスの接触、指又はスタイラスの接触に対応する代表的な点(例えば、それぞれの接触の面心又はそれぞれの接触に関連付けられた点)、又は、タッチ感知ディスプレイシステム112上で検出された2つ以上の接触の面心である。しかし、類似した動作が、ディスプレイ650と、別個のタッチ感知面651と、を備えたデバイス上で、フォーカスセレクタと共に、ディスプレイ650上に図26A〜26Hに示すユーザインタフェースを表示している間に、タッチ感知面651上で図26A〜26Hで説明する接触を検出したことに応じて、任意選択的に実行される。図26A〜26Hは、位置(例えば、504)を有するスタイラス(例えば、203)及び対応する目印(516)を含めて、2つの視点、軸508を有するタッチ感知面(例えば、デバイス100のタッチスクリーン112)の真上の視点及び軸590、592、594(それぞれ、x軸、y軸、z軸)を有するタッチ感知面の側面の視点からの実施例を示す。
図26Aは、電子ドキュメント、すなわち電子キャンバス2601上で行われた、スタイラスにより生成されたマーク2604−aの実施例を示す。スタイラスの姿勢状態は、生成されている現在のマーク2604の最後の目印516−aと共に向き506及び位置504−aを表示している、タッチ感知面の真上の視点で示される。位置及び目印は、図26Aで互いにオフセットしている。側面の視点は、法線(z軸に平行な)510に対するスタイラスの傾き2606を示す。傾きは、スタイラスがタッチ感知面に垂直/直角である場合にゼロであり、スタイラスがタッチ感知面と平行に近づいて傾斜すると、傾きは、90度に向けて増大する。いくつかの実施形態では、スタイラスの傾きは、選択基準に従ってマークを生成するために使用される仮想描画手段を判定する特性である。例えば、傾きが既定閾値角度(10、15、20、又は25度などの)未満である場合、デバイスは、仮想のペン又は鉛筆などの、第1の仮想描画手段を選択する。側面の視点は、スタイラスとタッチ感知面との間に接触が存在するような、タッチ感知面までの(z軸に沿って測定された)スタイラスの距離2608を示す。いくつかの実施形態では、マークの生成のために、スタイラスとタッチ感知面との間の接触が必要とされる。
図26Aから続く図26Bは、スタイラス203と連動して機能するデバイスにより生成された、完了したマーク2604−bを示す。スタイラスの位置504−b及び目印516−bは、完了したマークから離れて配置されている。側面の視点は、法線(z軸に平行な)510に対するスタイラスの傾き2606を示す。タッチ感知面までの(z軸に沿って測定された)スタイラスの距離2614は、スタイラスとタッチ感知面との間に接触が存在しないようになっている。この実施例では、スタイラスがタッチ感知面と接触していない場合、デバイスによりマークは生成されない。
図26A〜26Bから続く図26Cは、スタイラスの傾きが、傾き角度2606から初期の傾き角度に対して追加の傾き角度2616を含む新しい傾き角度に変化しているスタイラスを示す。タッチスクリーン112と接触すると、スタイラスの新しい傾き角度により、結果として異なる仮想描画手段がマークを生成するためにデバイスにより選択されて使用されることになるであろう。例えば、傾きが法線から既定閾値角度(10、15、20、又は25度などの)より大きい場合、デバイスは、仮想の蛍光ペン又はマーカなどの、第2の仮想描画手段を選択する。側面の視点は、タッチ感知面までの(z軸に沿って測定された)スタイラスの距離2614が、スタイラスとタッチ感知面との間に接触が存在しないようになっていることを示す。
図26A〜26Cから続く図26Dは、仮想ペン(図26A)に対する選択基準を満たす代わりに仮想蛍光ペン(図26D)に対する選択基準を満たすスタイラスの傾きに基づいて、異なる仮想描画手段、すなわち蛍光ペンを使用して、スタイラスと連動してマーク2618を生成しているデバイスを示す。明るいグレースケールで示す蛍光ペンのマーク2618は、以前のペンのマーク2604、すなわち黒色のペンの筆致で示す語句「highlighter」の上に表示されている。この実施例では、スタイラスの傾きは、デバイスにマーク2604を生成させるスタイラス入力の持続時間の間、法線から既定閾値角度より大きいままである。側面の視点で、距離2620は、スタイラスとタッチ感知面との間に接触が存在することを示す。
図26E〜26Hは、仮想蛍光ペンに対する選択基準を満たすスタイラスの傾きに基づいて、第2の仮想描画手段(例えば、仮想蛍光ペン)を選択して使用することを示す。図26E〜26Hはまた、入力中に傾きが減少すると、入力中に仮想蛍光ペンから仮想ペンに切り換えることなく、蛍光ペンの幅が減少するのを示す。
図26Eは、大きな傾き角度2626で接触する前のスタイラスを示す。距離2630は、ゼロより大きく、接触は存在しない。位置504−d及び目印516−dは、テキスト2622「The quick brown fox jumps over the lazy dog」から離れている。
図26Fは、大きな傾き角度2626で接触して、テキスト2622上又はその付近でタッチスクリーンにわたって位置504−e及び目印516−eを移動した後のスタイラスを示す。距離2632は、スタイラスとタッチスクリーンとの間の接触に対応する。傾きが仮想蛍光ペンに対する選択基準を満たすため、デバイスは、仮想ペンを選択する代わりに、仮想蛍光ペンを選択して使用する。例えば、タッチ感知面上のスタイラスによる初期接触が検出されたとき、スタイラスの傾き2626は、既定の角度より大きい。大きな傾き角度2626のために、幅の広い蛍光ペンのマーク2634−aができる。
図26F〜26Hは、スタイラスの位置が504−eから、504−fに、504−gに移動して、目印が516−eから、516−fに、516−gに移動すると、2634−aから、2634−bに、2634−cに蛍光ペンのマークを延ばすことを示す。加えて、スタイラスの傾きは、2626から、2628に、2642に減少して、それにより蛍光ペンのマークの幅もまた減少させる。いくつかの実施形態では、傾き2628(及び/又は傾き2642)は、仮想ペンを選択するための選択基準の一部である傾き角度基準を満たす。それでも、仮想ペンに対する選択基準の一部であるタイミング基準が満たされないため、デバイスは、図26Hに示すように、入力の残部に対して仮想蛍光ペンを使用してマークをつけ続ける。
図27A〜27Cは、いくつかの実施形態に係る、スタイラスを使用して仮想描画手段をエミュレートするための方法2700を示す流れ図である。方法2700は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイはタッチスクリーンディスプレイであり、タッチ感知面がディスプレイ上にある、又はディスプレイと一体化されている。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。方法2700の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
以下に説明するように、方法2700は、スタイラスの傾きに基づいて仮想描画手段を選択する方法を提供する。この方法は、スタイラスで異なる仮想手段のマークを生成する際のユーザからの入力の数、範囲、及び/又は種類を低減し、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的に異なる仮想描画手段の間で切り換えることができることにより、電力が節約され、バッテリを充電する間隔が増大する。
デバイスは、タッチ感知ディスプレイ上に電子ドキュメントを表示するように構成される(2702)。例えば、図26Aは、電子ドキュメント、すなわち電子キャンバス2601の例示的な実施形態を示す。いくつかの実施形態では、電子ドキュメントは、文書、画像、ワードプロセッシングのページ、本、プレゼンテーションスライド、スプレッドシートなどである。
デバイスは、ディスプレイ上に電子ドキュメントを表示している間に、タッチ感知面上のスタイラスによる初期接触を検出することを含めて(図26Aに示すように、位置504−aでタッチ感知面と接触しているスタイラス203で)、スタイラスからの第1の入力を検出する(2704)。
デバイスは、タッチ感知面の表面の法線に対する角度であるスタイラスの傾きを含む、スタイラスからの第1の入力の複数の特性を判定する(2706)。傾きは、側面の視点で図26Aに示されており、スタイラスの傾き2606は、タッチ感知面の法線(z軸に平行な)510に対するものである。傾きは、スタイラスがタッチ感知面に垂直/直角である場合にゼロであり、スタイラスがタッチ感知面と平行に近づいて傾斜すると、傾きは、90度に向けて増大する。いくつかの実施形態では、第1の入力の特性は、位置、速さ、方向、向き、傾き、及び/又は強度を含むがこれらに限定されない。
デバイスは、傾きが第1の仮想描画手段に対する1つ以上の選択基準を満たすという判定に従って、スタイラスがエミュレートするために第1の仮想描画手段を選択する(2708)。例えば、傾きが既定閾値角度(10、15、20、又は25度などの)未満である場合、デバイスは、仮想のペン又は鉛筆を選択する(例えば、図26A)。
デバイスは、傾きが第2の仮想描画手段に対する1つ以上の選択基準を満たすという判定に従って、スタイラスがエミュレートするために、第1の仮想描画手段とは別個の第2の仮想描画手段を選択する(2710)。例えば、傾きが既定閾値角度(10、15、20、又は25度などの)より大きい場合、デバイスは、仮想蛍光ペンを選択する(例えば、図26D及び26F)。
いくつかの実施形態では、第1の仮想描画手段に対する1つ以上の選択基準は、タッチ感知面上のスタイラスによる初期接触が検出されたときに既定の角度未満であるスタイラスの傾きを含み、第2の仮想描画手段に対する1つ以上の選択基準は、タッチ感知面上のスタイラスによる初期接触が検出されたときに既定の角度より大きいスタイラスの傾きを含む(2712)。いくつかの実施形態では、所与の入力に対して、スタイラスがタッチ感知面と初期接触するときに検出された傾きは、所与の入力に対して、第1の仮想描画手段か又は第2の仮想描画手段が選択されて使用されるかを判定する。
いくつかの実施形態では、第1の仮想描画手段に対する1つ以上の選択基準は、タッチ感知面上のスタイラスによる初期接触が検出された後の既定の時間内に既定の角度未満であるスタイラスの平均傾きを含み、第2の仮想描画手段に対する1つ以上の選択基準は、タッチ感知面上のスタイラスによる初期接触が検出された後の既定の時間内に既定の角度より大きいスタイラスの平均傾きを含む(2714)。いくつかの実施形態では、所与の入力に対して、スタイラスがタッチ感知面と初期接触するとき及び/又はその後の短時間の既定の時間(例えば、0.05、0.1、又は0.2s)の間の、検出された平均傾きは、所与の入力に対して、第1の仮想描画手段か又は第2の仮想描画手段が選択されて使用されるかを判定する。
いくつかの実施形態では、第1の仮想描画手段は、書くためのものであり、第2の仮想描画手段は、強調表示するためのものである(例えば、図26A〜26Dに示すように)(2716)。
デバイスは、スタイラスがエミュレートするために第1の仮想描画手段及び第2の仮想描画手段のうちの1つを選択した後に、スタイラスからの第1の入力を検出したことに応じて、選択した仮想描画手段で電子ドキュメント内にマークを生成する(例えば、図26A〜26Dに示すように)(2718)。
いくつかの実施形態では、スタイラスがエミュレートするために第1の仮想描画手段及び第2の仮想描画手段のうちの1つを選択した後に、デバイスは、第1の入力中のスタイラスの傾きの変化を検出し、第1の入力中の傾きの変化を検出したことに応じて、選択した仮想描画手段を変更することなく、第1の入力中に傾きが変化すると、マークの幅を調整する(図26F〜26Hに示すように、傾きが減少するとマーク2634が細くなる)(2720)。
いくつかの実施形態では、傾きが変化するとマークの幅を調整することは、入力中に傾きが増大するとマークの幅を増大させることを含む(2722)。いくつかの実施形態では、傾きが変化するとマークの幅を調整することは、入力中に傾きが減少するとマークの幅を減少させることを含む(例えば、図26F〜26Hに示すように)。
いくつかの実施形態では、スタイラスがエミュレートするための第1の仮想描画手段及び第2の仮想描画手段のうちの1つの選択の後に、選択した仮想描画手段は、介在するスタイラスの傾きの変化に関わらず、スタイラスからの第1の入力の残部の間、変更されないままである(2724)。例えば、蛍光ペンが選択されると、仮想描画手段は、リフトオフまで蛍光ペンのままである(例えば、図26F〜26G)。
いくつかの実施形態では、デバイスは、第1の入力の終了を検出し、第1の入力の終了を検出したことに応じて、電子ドキュメント内にマークを生成するのを中止する(2726)。いくつかの実施形態では、第1の入力の終了を検出することは、タッチ感知面からのスタイラスのリフトオフを検出することを含む(例えば、図26C)(2728)。
いくつかの実施形態では、第1の入力の複数の特性は、第1の仮想描画手段に対する1つ以上の選択基準を満たし、スタイラスからの第1の入力を検出したことに応じて選択した仮想描画手段で電子ドキュメント内にマークを生成することは、第1の仮想描画手段に基づいてマークを生成することを含む。そのような実施形態では、タッチ感知面上のスタイラスからの第1の入力を連続的に検出している間に、第1の仮想描画手段に基づいてマークを生成した後で、デバイスは、傾きが第2の仮想描画手段に対する1つ以上の選択基準の中の1つ以上の傾き角度基準を満たすような、スタイラスの傾きの変化を検出し、スタイラスの傾きの変化を検出した後で、デバイスは、タッチ感知面に沿ったスタイラスの移動を検出し、スタイラスの移動を検出したことに応じて、デバイスは、第1の仮想描画手段に基づいてマークを生成し続ける(2730)。いくつかの実施形態では、それぞれの仮想描画要素に対する1つ以上の選択基準は、1つ以上の傾き角度基準及び1つ以上のタイミング基準を含む。例えば、傾き角度基準は、傾きが既定閾値角度より大きいことであり、タイミング基準は、所与の入力に対して、スタイラスがタッチ感知面と初期接触したとき及び/又はその後の短時間の既定の時間(例えば、0.05、0.1、又は0.2s)の間に測定された傾きのみが、所与の入力に対して、それぞれの仮想描画手段が選択されて使用されるか否かを判定することである。この実施例では、第1の仮想描画手段が最初に選択されて、いくらか後の時間、すなわちタイミング基準も満たさない時間に第2の仮想描画手段に対する傾き角度基準が満たされる場合、次に、所与の入力の間の後の時間に第2の仮想描画手段に対する傾き角度基準が満たされているにも関わらず、第1の仮想描画手段は、所与の入力の残部の間、選択されて使用されたままである。
いくつかの実施形態では、第1の描画手段に基づいてマークを生成し続けた後に、デバイスは、タッチ感知面からのスタイラスのリフトオフを検出し、タッチ感知面からのスタイラスのリフトオフを検出した後に、デバイスは、第2の仮想描画手段に対する1つ以上の選択基準を満たすスタイラスからの第2の入力を検出し、タッチ感知面上のスタイラスからの第2の入力を検出し続けている間に、デバイスは、タッチ感知面に沿ったスタイラスの移動を検出し、タッチ感知面に沿ったスタイラスの移動を検出したことに応じて、デバイスは、第2の仮想描画手段に基づいてマークを生成する(2732)。
図27A〜27Cにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図27A〜図27Cに関連して上述した方法2700に類似の方法で適用できることを認識されたい。例えば、方法2700を参照して上述したスタイラス入力は、本明細書に記載されている他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)を参照して本明細書で説明されているスタイラス入力の特性のうちの1つ以上を、任意選択的に、有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
いくつかの実施形態により、図28は、説明される様々な実施形態の原理に従って構成された、電子デバイス2800の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図28で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図28に示すように、電子デバイス2800は、ユーザインタフェースを表示するように構成されたディスプレイユニット2802と、ユーザの接触(スタイラスの接触を含む)を受信するように構成された、タッチ感知面ユニット2804と、デバイスに関連付けられたスタイラスからの信号を検出するように構成された1つ以上のセンサユニット2806と、ディスプレイユニット2802、タッチ感知面ユニット2804、及び1つ以上のセンサユニット2806に結合された処理ユニット2808と、を含む。いくつかの実施形態では、処理ユニット2808は、表示有効化ユニット2810と、検出ユニット2812と、判定ユニット2814と、選択ユニット2816と、生成ユニット2818と、調整ユニット2820とを含む。
処理ユニット2808は、ディスプレイユニット2802上に電子ドキュメントの表示を有効にし(例えば、表示有効化ユニット2810で)、ディスプレイユニット2802上に電子ドキュメントの表示を有効にしている間に、タッチ感知面ユニット2804上のスタイラスによる初期接触を検出することを含めて、スタイラスからの第1の入力を検出し(例えば、検出ユニット2812で)、タッチ感知面ユニット2804の表面の法線に対する角度であるスタイラスの傾きを含む、スタイラスからの第1の入力の複数の特性を判定し(例えば、判定ユニット2814で)、傾きが第1の仮想描画手段に対する1つ以上の選択基準を満たすという判定に従って、スタイラスがエミュレートするために第1の仮想描画手段を選択し(例えば、選択ユニット2816で)、傾きが第2の仮想描画手段に対する1つ以上の選択基準を満たすという判定に従って、スタイラスがエミュレートするために、第1の仮想描画手段とは別個の第2の仮想描画手段を選択し(例えば、選択ユニット2816で)、スタイラスがエミュレートするために、第1の仮想描画手段及び第2の仮想描画手段のうちの1つを選択した後で、スタイラスからの第1の入力を検出したことに応じて(例えば、検出ユニット2812で)、選択された仮想描画手段で電子ドキュメント内にマークを生成する(例えば、生成ユニット2818で)、ように構成される。
上述の情報処理方法での動作は、汎用プロセッサ(例えば、図1A及び図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
図27A〜27Cを参照して上述された動作は、図1A〜1B、又は図28に示される構成要素によって、任意選択的に実施される。例えば、表示動作2702、検出動作2704、判定動作2706、選択動作2708、選択動作2710、及び生成動作2718は、イベントソート部170、イベント認識部180、及びイベント処理部190によって、任意選択的に実施される。イベントソート部170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触(又は近接触)を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配信する。アプリケーション136−1の対応するイベント認識部180は、そのイベント情報を対応するイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触(又は近接触)(又は、デバイスの回転)が、ユーザインタフェース上のオブジェクトの選択、又は1つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。それぞれの既定のイベント又はサブイベントが検出されると、イベント認識部180は、そのイベント又はサブイベントの検出に関連付けられた、イベント処理部190をアクティブ化させる。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176若しくはオブジェクト更新部177を、任意選択的に用いるか又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A〜図1Bに示される構成要素に基づいてどのように実施され得るかは明らかであるだろう。
カレンダイベントの作成
多くの電子デバイスは、電子カレンダを有する。電子カレンダは、イベントの開始時刻、イベントの終了時刻、イベントの日付、イベントのタイトル、イベントの場所、メモなどの、イベント及び関連した情報を表示することができる。ユーザが電子カレンダ内に表示されるイベントを作成するための、効率的で簡便な方法を提供する要求がある。本明細書で説明する実施形態により、ユーザが、正確な開始時刻及び終了時刻を有する電子カレンダ内のイベントを作成するために、タッチ感知ディスプレイ上で曖昧な手描き入力(例えば、指又はスタイラスによる)を提供することができる。
以下、図29A〜29Hは、いくつかの実施形態に係る、カレンダイベント作成のための例示的なユーザインタフェースを示す。図30A〜30Dは、手描き入力でのカレンダイベント作成の方法を示す流れ図である。図29A〜29Hのユーザインタフェースを使用して、図30A〜30Dのプロセスを示す。
図29A〜29Hは、いくつかの実施形態に係る、カレンダイベントを作成するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図30A〜30Dのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ上(タッチ感知面とディスプレイとが組み合わされている場合)の入力を参照して説明されるが、一部の実施形態において、デバイスは、図6Bに示すように、ディスプレイ650とは別個のタッチ感知面651上で入力を検出する。
いくつかの実施形態では、デバイスは、別個のディスプレイ(例えば、ディスプレイ650)及び別個のタッチ感知面(例えば、タッチ感知面651)を備える電子デバイスである。いくつかの実施形態では、デバイスは、ポータブル多機能デバイス100であり、ディスプレイは、タッチ感知ディスプレイシステム112であり、タッチ感知面は、ディスプレイ上に触知出力生成器163を含む(図1A)。説明を簡便にするために、図29A〜29H及び図30A〜30Dを参照して説明する実施形態は、タッチ感知ディスプレイシステム112を備えたデバイス上で実行される動作を参照して説明する。そのような実施形態では、フォーカスセレクタは、任意選択的に、それぞれの指又はスタイラスの接触、指又はスタイラスの接触に対応する代表的な点(例えば、それぞれの接触の面心又はそれぞれの接触に関連付けられた点)、又は、タッチ感知ディスプレイシステム112上で検出された2つ以上の接触の面心である。しかし、類似した動作が、ディスプレイ650と、別個のタッチ感知面651と、を備えたデバイス上で、フォーカスセレクタと共に、ディスプレイ650上に図29A〜29Hに示すユーザインタフェースを表示している間に、タッチ感知面651上で図29A〜29Hで説明する接触を検出したことに応じて、任意選択的に実行される。
図29Aは、カレンダイベントを作成するための手描き入力の実施例を示す。この実施例では、デバイス100は、タッチ感知ディスプレイ112で、電子カレンダ2902を表示する。カレンダ2902は、それぞれの日2904を列2906として表示する。図29Aの例示した実施例では、6月20日月曜日は、列2906に示された日2904である。それぞれの列2906は、例えば、その日の時刻に対応するサブエリア2908を含む。図29Aの例示した実施例では、上側の線2910(午後4時)及び下側の線2912(午後5時)により境界をつけられた時刻は、サブエリア2908により示される時刻である。グラフィック2914は、接触(指202又はスタイラス203などの)により提供された手描き入力に対応する。手描き入力は、点2916でタッチ感知ディスプレイ112と初期接触を行ない、次に、タッチ感知ディスプレイ112にわたってグラフィック2914により示された線に沿って、タッチ感知ディスプレイ112からの接触のリフトオフが生じる点2918まで移動する。グラフィック2914は、列2906(すなわち、日2904)の垂直部分2920の上に延びて示されている。垂直部分2920の垂直方向範囲は、手描き入力の垂直方向範囲と同じであるか又はおおよそ等しい。例えば、垂直部分2920の垂直方向範囲は、タッチ感知ディスプレイ112との接触の初期接触の点2916からタッチ感知ディスプレイ112からの接触のリフトオフの点2918に延びることができる。図29Aの例示した実施例では、日2904の垂直部分2920に従って作成されたイベントは、午後2時の開始時刻及び午後3時30分の終了時刻を有することができる。図30Aに関して以下に更に説明するように、イベントの開始時刻及び終了時刻を判定するために使用される時間増分に依存して、グラフィック2914により示された手描き入力から異なる開始時刻及び/又は終了時刻が判定され得る。
図29Bは、イベントに対する置換グラフィックの実施例を示す。この実施例では、手描き入力に対応するグラフィック2914は、所定のグラフィック2922により置き換えられる。いくつかの実施形態では、置換は、カレンダ2902内のイベントを作成する要求に対応する受信した入力に応じて、行われる。例えば、グラフィック2914により示されるような手描き入力を提供した後で、ユーザは、イベントを作成するように要求するために、グラフィック2914上をタップすることができる。イベントは、所定のグラフィック2922でカレンダ2902内に示すことができる。いくつかの実施形態では、グラフィック2914を置き換える所定のグラフィック2922は、イベントの開始時刻を示す上側2926、及び終了時刻を示す下側2928を有する、ボックス2924を含む。所定のグラフィック2922の垂直方向範囲(例えば、上側2926から下側2928まで)は、垂直部分2920の垂直方向範囲と同じか又はおおよそ等しい。いくつかの実施形態では、所定のグラフィック2922は、既定のテキスト(例えば、「新規イベント」)、手書きの文字に対応する認識された文字などの、テキスト2930を含むことができる。
図29Cは、手描き入力に対応するグラフィック2914の表示を維持して、イベントの開始時刻及び終了時刻を示すグラフィック2932を追加する実施例を示す。いくつかの実施形態では、グラフィック2914の表示を維持してグラフィック2932を追加することは、カレンダ2902内のイベントを作成する要求に対応する受信した入力に応じて、行われる。例えば、グラフィック2914により示されるような手描き入力を提供した後で、ユーザは、イベントを作成するように要求するために、グラフィック2914上をタップすることができる。イベントは、グラフィック2914及び追加のグラフィック2932でカレンダ2902内に示すことができる。いくつかの実施形態では、追加のグラフィック2932は、イベントの開始時刻を示す上側2934、及び終了時刻を示す下側2936を有する、ボックスである。追加のグラフィック2932の垂直方向範囲(例えば、上側2934から下側2936まで)は、日2904の垂直部分2920の垂直方向範囲と同じか又はおおよそ等しくすることができる。
図29Dは、手書きの文字を含む手描き入力に対応するグラフィック2938の実施例を示す。この実施例では、デバイス100は、タッチ感知ディスプレイ112に、語句「クラブを予約する」及び語句の周囲の円2939を含む、接触(指202又はスタイラス203などの)により提供された手描き入力に対応するグラフィック2938を表示する。グラフィック2938は、列2942(すなわち、日2944)の垂直部分2940の上に延びて示されている。垂直部分2940の垂直方向範囲は、手描き入力の垂直方向範囲と同じであるか又はおおよそ等しい。いくつかの実施形態では、グラフィック2938を含むカレンダのイベントが、カレンダ2902内に表示される。図29Dの例示した実施例では、日2944の垂直部分2940に従って作成されたイベントは、午後7時30分の開始時刻及び午後8時30分の終了時刻を有することができる。図30Aに関して以下に更に説明するように、イベントの開始時刻及び終了時刻を判定するために使用される時間増分に依存して、グラフィック2938により示された手描き入力から異なる開始時刻及び/又は終了時刻が判定され得る。
図29Eは、手書きの文字の認識された文字を置き換えるデジタルテキストの実施例を示す。いくつかの実施形態では、手描き入力(例えば、グラフィック2938により示されるような)が手書きの文字を含む場合、手描き入力内の手書きの文字が認識される。例えば、手描き入力(例えば、図29Dのグラフィック2938により示された)内の語句「クラブを予約する」を形成する文字が認識される。図29Eで、デバイス100は、タッチ感知ディスプレイ112で、認識された文字「クラブを予約する」を含むデジタルテキスト2946を有するイベント2948を表示する。
図29Fは、グラフィックを含むイベントの助言の実施例を示す。この実施例では、タッチ感知ディスプレイ112上に、グラフィック2952を含むイベントの助言2950が表示される。いくつかの実施形態では、デバイス100は、現在時刻がイベントの開始時刻(例えば、グラフィック2938により示されたイベントの開始時刻7時30分)であることを検出する。現在時刻は、現在時刻インジケータ2954及び/又は当日インジケータ2956により、カレンダ2902内に視覚的に示すことができる。現在時刻がグラフィック2938により示されたイベントの開始時刻であることを検出したことに応じて、デバイス100は、イベントの助言2950を表示する。イベントの助言2950は、助言の対象であるイベントに対するグラフィック2938に対応するグラフィック2952を含む。いくつかの実施形態では、イベントの助言は、カレンダのイベントの前の1つ以上の所定の時刻(例えば、イベントの5、10、15、30、及び/又は60分前)に表示される。
図29Gは、デバイス100から受信したイベントの表現を表示する遠隔の電子デバイス2958の実施例を示す。この実施例では、グラフィック2938により示されるイベントは、デバイス100から遠隔のデバイス2958に送信される。遠隔の電子デバイス2958は、受信したイベントの表現2960を表示する。イベントの表現2960は、受信したイベントに対応するグラフィック2938を含む。いくつかの実施形態では、遠隔の電子デバイス2958は、デジタルテキスト(例えば、認識された文字を含むデジタルテキスト2946)を含む表現2960を表示する。
図29Hは、手描き入力に対応するグラフィックを見ることと、手描き入力に対する置換グラフィックを見ることとの間を切り換える実施例を示す。第1の状態2962では、デバイス100は、イベントに対する手描き入力に対応するグラフィック2914、2938を表示する。第2の状態2964では、デバイス100は、イベントに対する手描き入力に対応するグラフィック2914、2938をそれぞれ置き換える、置換グラフィック2922、2948を表示する。
タッチ感知ディスプレイ112で検出された入力を使用して、単一のイベントに対して、手描き入力に対応するグラフィックの表示と手描き入力に対する置換グラフィックとの間で切り換えるのを要求することができる。例えば、タッチ感知ディスプレイ112上で、手描き入力に対応するグラフィック2914で入力が受信されると、デバイス100は、グラフィック2914を表示するのを中止して、タッチ感知ディスプレイ112上に置換グラフィック2922を表示する。タッチ感知ディスプレイ112上で、置換グラフィック2922で入力が受信されると、デバイス100は、2922を表示するのを中止して、タッチ感知ディスプレイ112上に2914を表示する。タッチ感知ディスプレイ112上で、手描き入力に対応するグラフィック2938で入力が受信されると、デバイス100は、グラフィック2938を表示するのを中止して、タッチ感知ディスプレイ112上に置換グラフィック2948を表示する。タッチ感知ディスプレイ112上で、グラフィック2948で入力が受信されると、デバイス100は、グラフィック2948を表示するのを中止して、タッチ感知ディスプレイ112上にグラフィック2938を表示する。
タッチ感知ディスプレイ112で検出された入力を使用して、複数のイベントに対して、手描き入力に対応するグラフィックの表示と手描き入力に対する置換グラフィックとの間で切り換えるのを要求することができる。例えば、タッチ感知ディスプレイ112上で、複数のイベントに対して切り換えるのを要求する入力が受信されると、デバイス100が手描き入力に対応するグラフィック2914、2938を表示している場合、デバイス100は、グラフィック2914、2938を表示するのを中止して、タッチ感知ディスプレイ112上に置換グラフィック2922、2948を表示する。タッチ感知ディスプレイ112上で、複数のイベントに対して切り換えるのを要求する入力が受信されると、デバイス100が手描き入力に対応するグラフィック2922、2948を表示している場合、デバイス100は、グラフィック2922、2948を表示するのを中止して、タッチ感知ディスプレイ112上に置換グラフィック2914、2938を表示する。
図30A〜30Dは、いくつかの実施形態に係る、手描き入力からのカレンダイベント作成の方法3000を示す流れ図である。方法3000は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイはタッチスクリーンディスプレイであり、タッチ感知面がディスプレイ上にある、又はディスプレイと一体化されている。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。方法3000の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
以下に説明するように、方法3000は、曖昧な手描き入力から、正確な開始時刻及び終了時刻を有するカレンダのイベントを作成する直感的方法を提供する。この方法は、カレンダのイベントを作成する際のユーザからの入力の数、範囲、及び/又は種類を低減し、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的にカレンダのイベントを作成することができることにより、電力が節約され、バッテリを充電する間隔が増大する。
デバイスは、第1の日に対応するエリアを含む電子カレンダを表示する(3002)。いくつかの実施形態では、第1の日に対応するエリアは、第1の日の時刻に対応するサブエリアを含む列である。例えば、図29Aは、デバイス100のタッチ感知ディスプレイ112上に表示された電子カレンダ2902を示す。カレンダ2902は、日2904に対応するエリア2906を含む。エリア2906は、日2904の時刻に対応するサブエリア2908を含む列である。
いくつかの実施形態では、デバイス100は、デバイスに関連付けられたスタイラスからの信号を検出する1つ以上のセンサを含む。
デバイスは、タッチ感知ディスプレイ上の手描き入力(例えば、指又はスタイラスで描かれた入力)を検出する(3004)。手描き入力は、表示されたカレンダ内の第1の日のすべてより少ない垂直部分の上に延びる(垂直部分にわたる)。例えば、図29Aで、手描き入力(グラフィック2914により示された)がデバイス100により検出される。図29Aの手描き入力は、表示されたカレンダ2902内の日2904の垂直部分2920の上に延びる。別の実施例では、図29Cで、手描き入力(グラフィック2938により示された)がデバイス100により検出される。図29Cの手描き入力は、表示されたカレンダ2902内の日2944の垂直部分2940の上に延びる。
手描き入力を検出したことに応じて、デバイスは、手描き入力に対応するグラフィックを第1の日の垂直部分の上に表示する(3006)。例えば、デバイスは、手描き入力内で指又はスタイラスで行われた移動に対応する、線及び/又はドットなどの1つ以上の電子マークを表示する。図29Aの例示した実施例では、デバイス100は、日2904の垂直部分2920の上に、タッチ感知ディスプレイ112で受信した手描き入力に対応するグラフィック2914を表示する。図29Cの例示した実施例では、デバイス100は、日2944の垂直部分2940の上に、タッチ感知ディスプレイ112で受信した手描き入力に対応するグラフィック2938を表示する。
いくつかの実施形態では、手描き入力を検出したことに応じて、デバイスは、手描き入力が手書きの文字(例えば、指若しくはスタイラスで書かれたテキスト又は他の文字)を含むか否かを判定する(3008)。例えば、図29Aに示すように、手描き入力(例えば、グラフィック2914により示されたような)が受信されると、デバイス100は、手描き入力が手書きの文字を含まないことを判定する。図29Dに示すように、手描き入力(例えば、グラフィック2938により示されたような)が受信されると、デバイス100は、手描き入力が手書きの文字(例えば、語句「クラブを予約する」の文字)を含むことを判定する。手描き入力が手書きの文字を含むという判定に従って、デバイスは、手描き入力内の手書きの文字を認識する(3010)。例えば、デバイスは、手描き入力に関して(例えば、手描き入力に対応するグラフィック2938に関して)光学式文字認識(optical character recognition)(OCR)を実行して、手書きの文字を認識する。そのような認識されたテキストは、その後、デバイスによって電子的に検索可能である。いくつかの実施形態では、手書きの文字を認識することは、手書き認識を実行することを要求する明示的なユーザ入力なしに、手描き入力を検出したことに応じて、自動的に実行される。いくつかの実施形態では、手書きのテキストは、イベント内に維持されるが、認識された文字は、認識された文字を含むテキスト検索が結果としてそのイベントを返すように、検索のためにインデックスをつけられる。
いくつかの実施形態では、手書きの文字を認識した後で、デバイスは、手描き入力に対応するグラフィックの表示を維持する(3012)。例えば、図29Dに示すように、デバイス100がグラフィック2938により示された手描き入力内の手書きの文字を認識した後で、デバイス100は、タッチ感知ディスプレイ112でグラフィック2938を表示する。
いくつかの実施形態では、手書きの文字を認識した後で、デバイスは、手書きの文字に対応するグラフィックの表示を、対応する認識された文字に置き換える(例えば、手書きの文字は、ディスプレイ上の対応するデジタルテキストに置き換えられる)(3014)。例えば、図29Dで、手書きの文字に対応するグラフィック2938が示され、図29Eで、グラフィック2938は、「クラブを予約する」を示すデジタルテキスト2946により置き換えられる。いくつかの実施形態では、手書き入力が対応するデジタルテキストに置き換えられると、手書きの文字に対応しないグラフィックの表示は、維持される。例えば、図29Dで、グラフィック2938により示されるような手書き入力は、「クラブを予約する」を示す手書きの文字の周囲の円2939を含む。いくつかの実施形態では、グラフィック2938により示されるような手書き入力が「クラブを予約する」を示すデジタルテキストに置き換えられると、置換グラフィック2948は、例えば、デジタルテキスト2946の周囲の円2939を含む。
第1の日の垂直部分の上に手描き入力に対応するグラフィックを表示している間に、デバイスは、電子カレンダ内にイベントを作成する要求に対応する入力を検出する(3016)。
いくつかの実施形態では、電子カレンダ内にイベントを作成する要求に対応する入力は、手描き入力を検出するのを中止することを含む(例えば、手描き入力を行なっている指若しくはスタイラスのリフトオフを検出したことに応じて、又は手描き入力を行なっている指若しくはスタイラスのリフトオフを検出してから所定の時間が経過した後に、イベントが作成される)(3018)。例えば、図29Aで、カレンダ2902内にイベントを作成する要求に対応する入力は、タッチ感知ディスプレイ112からの接触のリフトオフ、例えば、点2918で生じるリフトオフを含むことができる。
いくつかの実施形態では、電子カレンダ内にイベントを作成する要求に対応する入力は、手描き入力に対応するグラフィック上で検出される(例えば、第1の日の垂直部分の上のグラフィック上のタップジェスチャ)(3020)。例えば、図29Aで、カレンダ2902内にイベントを作成する要求に対応する入力は、タッチ感知ディスプレイ112との接触がグラフィック2914が表示されているタッチ感知ディスプレイ112の位置で生じると、検出することができる。図29Dで、電子カレンダ2902内にイベントを作成する要求に対応する入力は、タッチ感知ディスプレイ112との接触がグラフィック2938が表示されているタッチ感知ディスプレイ112の位置で生じると、検出することができる。いくつかの実施形態では、グラフィック上の指ジェスチャ(例えば、タップジェスチャ)は、イベントを作成し、グラフィック上のスタイラスのジェスチャは、イベントを作成しない。
電子カレンダ内にイベントを作成する要求に対応する入力を検出したことに応じて、デバイスは、電子カレンダ内の第1の日の中に、開始時刻及び終了時刻を有するイベントを作成し、イベントの開始時刻及び終了時刻は、第1の日の垂直部分に従っている(3022)。いくつかの実施形態では、開始時刻は、表示されたグラフィックの上部に対応し、終了時刻は、表示されたグラフィックの下部に対応する。いくつかの実施形態では、開始時刻は、表示されたグラフィックの上部に最も近い時間増分に対応し、終了時刻は、表示されたグラフィックの下部に最も近い時間増分に対応する。いくつかの実施形態では、時間増分は、開始時刻及び終了時刻が00分、15分、30分、又は45分で終わるように15分の増分である。
例えば、イベントを作成する要求に対応する入力(例えば、図29Aのグラフィック2914で受信した入力)を検出したことに応じて、デバイス100は、第1の日の垂直部分(例えば、第1の日2904の垂直部分2920)に従って、開始時刻(例えば、午後1時52分)及び終了時刻(例えば、午後3時25分)を有するイベントを作成する。開始時刻がグラフィック2914の上部に最も近い時間増分に対応し、かつ終了時刻がグラフィック2914の下部に最も近い時間増分に対応し、かつ時間増分が15分の増分である場合、イベントの開始時刻は、午後2時であり、終了時刻は、午後3時30分である。いくつかの実施形態では、時間増分は、5、10、又は30分の増分である。いくつかの実施形態では、手描き入力の垂直方向範囲は、1時間未満から数時間まで、ユーザによって上に描かれた任意の期間に対応することができる。イベントの時刻及び長さは、ユーザが自由に描く第1の日の手描き入力の垂直部分の位置及び長さに従う。
いくつかの実施形態では、電子カレンダ内にイベントを作成する要求に対応する入力を検出したことに応じて、デバイスは、第1の日の垂直部分の上に、手描き入力に対応するグラフィックの表示を維持する(3024)。例えば、イベントを作成する要求に対応する入力(例えば、図29Aのグラフィック2914で受信した入力)に応じて、デバイス100は、グラフィック2914の表示を維持する(例えば、図29Cに示すように)。
いくつかの実施形態では、電子カレンダ内にイベントを作成する要求に対応する入力を検出したことに応じて、デバイスは、第1の日の垂直部分の上に、手描き入力に対応するグラフィックの表示を維持して、イベントの開始時刻及び終了時刻を示す1つ以上のグラフィックを追加する(3026)。いくつかの実施形態では、デバイスは、イベントに対する時間帯、例えば、手描き入力に対応するグラフィックの背後に、ボックスを追加し、ボックスの上部は開始時刻であり、ボックスの下部は終了時刻である。例えば、イベントを作成する要求に対応する入力(例えば、図29Aのグラフィック2914で受信した入力)に応じて、デバイス100は、グラフィック2914の表示を維持し(例えば、図29Cに示すように)、グラフィック2914の背後にボックス2932を追加する。ボックス2932は、イベントの開始時刻(例えば、午後2時)を示す上側2934、及びイベントの終了時刻(例えば、午後3時30分)を示す下側2936を有する。いくつかの実施形態では、デバイスは、(例えば、グラフィック2914に)開始時刻に対する線、及び終了時刻に対する線を追加する。
いくつかの実施形態では、電子カレンダ内にイベントを作成する要求に対応する入力を検出したことに応じて、デバイスは、手描き入力に対応するグラフィックの表示を、イベントに対する所定のグラフィックの表示に置き換える(3028)。例えば、デバイス100は、図29Aに示すような手描き入力に対応するグラフィック2914を、図29Bに示すような所定のグラフィック2922に置き換える。
いくつかの実施形態では、デバイスは、現在時刻がイベントの開始時刻であることを検出する(3030)。現在時刻がイベントの開始時刻であることを検出したことに応じて、デバイスは、タッチ感知ディスプレイ上にイベントの助言を表示し、表示されたイベントの助言は、手描き入力に対応するグラフィックを含む(3032)。元のグラフィックを表示することにより、グラフィックを正確に解釈/認識する必要性をなくす。例えば、図29Fで、グラフィック2938により示された手描き入力に対応するイベントに対する開始時刻に、デバイス100は、手描き入力に対応するグラフィック2952を含むイベントの助言2950を表示する。
いくつかの実施形態では、デバイスは、タッチ感知ディスプレイを備えた電子デバイスから離れた第2の電子デバイスにイベントを送信する(3034)。イベントの表現は、手描き入力に対応するグラフィックと共に第2の電子デバイス上に表示されるように構成される。例えば、図29Gで、デバイス100は、グラフィック2938に対応するイベントを、遠隔の電子デバイス2958に送信する(例えば、通信モジュール128を使用して)。遠隔の電子デバイス2958は、グラフィック2938に対応するイベントの表現2960を表示する。遠隔の電子デバイス2958により表示されたイベントの表現2960は、グラフィック2938を含む。いくつかの実施形態では、電子カレンダ内にイベントが作成された後で、イベントは、他の電子デバイスに送信(例えば、電子メール又はインスタントメッセージにより)して、従来の方法により電子カレンダ内に作成されたカレンダのイベントのように別の方法で使用することができる。逆に言えば、電子カレンダ内にイベントが作成される前に、イベントは、他の電子デバイスに送信したり、又は従来の方法により電子カレンダ内に作成されたカレンダのイベントのように別の方法で使用することができない。
いくつかの実施形態では、デバイスは、手描き入力に対応するグラフィックを使用してイベントを表示することと、手描き入力に対する置換グラフィックを使用してイベントを表示することとの間で、切り換える要求に対応する入力を検出する(3036)。入力を検出したことに応じて、デバイスは、イベントに対する手描き入力に対応するグラフィックが表示されているか、又はイベントに対する手描き入力に対する置換グラフィックが表示されているかを判定する(3038)。手描き入力に対応するグラフィックが表示されていると判定したことに応じて、デバイスは、手描き入力に対応するグラフィックを表示するのを中止して、デバイスは、イベントに対する手描き入力に対する置換グラフィックを使用してイベントを表示する(3040)。手描き入力に対する置換グラフィックが表示されていると判定したことに応じて、デバイスは、手描き入力に対する置換グラフィックを表示するのを中止して、デバイスは、手描き入力に対応するグラフィックを使用してイベントを表示する(3042)。
例えば、デバイス100が、手描き入力に対応するグラフィックを使用してイベントを表示することと、手描き入力に対する置換グラフィックを使用してイベントを表示することとの間で、切り換える要求に対応する入力を検出すると、デバイス100は、手描き入力に対応するグラフィック(例えば、図29Aに示すグラフィック2914)が表示されているか、又は置換グラフィック(例えば、図29Bに示す所定のグラフィック2922)が表示されているかを判定する。手描き入力に対応するグラフィック(例えば、図29Aに示すグラフィック2914)が表示されていると判定したことに応じて、デバイス100は、グラフィック2914を表示するのを中止して、デバイス100は、置換グラフィック(例えば、図29Bに示すような所定のグラフィック2922)を表示する。置換グラフィック(例えば、所定のグラフィック2922)が表示されていると判定したことに応じて、デバイス100は、置換グラフィック2922を表示するのを中止して、デバイス100は、手描き入力に対応するグラフィック2914を表示する。
いくつかの実施形態では、デバイスは、複数のイベントに対する手描き入力に対応するグラフィックを使用して複数のイベントを表示することと、複数のイベントに対する手描き入力に対する置換グラフィックを使用して複数のイベントを表示することとの間で、切り換える要求に対応する入力を検出する(3044)。入力を検出したことに応じて、デバイスは、複数のイベントに対する手描き入力に対応するグラフィックが表示されているか、又は複数のイベントに対する手描き入力に対する置換グラフィックが表示されているかを判定する(3046)。複数のイベントに対する手描き入力に対応するグラフィックが表示されていると判定したことに応じて、デバイスは、複数のイベントに対する手描き入力に対応するグラフィックを表示するのを中止して、デバイスは、複数のイベントに対する手描き入力に対する置換グラフィックを使用して複数のイベントを表示する(3048)。複数のイベントに対する手描き入力に対する置換グラフィックが表示されていると判定したことに応じて、デバイスは、複数のイベントに対する手描き入力に対する置換グラフィックを表示するのを中止して、デバイスは、複数のイベントに対する手描き入力に対応するグラフィックを使用して複数のイベントを表示する(3050)。
例えば、図29Hで、2962で示される第1の状態では、デバイス100は、手描き入力に対応するグラフィック2914及び2938を使用して、複数のイベントを表示する。デバイス100が、複数のイベントに対する手描き入力に対応するグラフィックを使用して複数のイベントを表示することと、複数のイベントに対する手描き入力に対する置換グラフィックを使用して複数のイベントを表示することとの間で、切り換える要求に対応する入力を検出すると、デバイス100は、グラフィック2914及び2938を表示するのを中止して、デバイス100は、デバイス100の第2の状態2964に示すように、置換グラフィック2922及び2948を表示する。デバイス100が2964で示す第2の状態にあるとき、デバイス100が、複数のイベントに対する手描き入力に対応するグラフィックを使用して複数のイベントを表示することと、複数のイベントに対する手描き入力に対する置換グラフィックを使用して複数のイベントを表示することとの間で、切り換える要求に対応する入力を検出する場合、デバイス100は、置換グラフィック2922及び2948を表示するのを中止して、デバイス100は、デバイス100の第1の状態2962に示すように、手描き入力に対応するグラフィック2914及び2938を表示する。
図30A〜30Dにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図30A〜図30Dに関連して上述した方法3000に類似の方法で適用できることを認識されたい。例えば、方法3000を参照して上述した接触、ジェスチャ、及びユーザインタフェースオブジェクト(例えば、グラフィック)は、本明細書に記載されている他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)を参照して本明細書で説明されている接触、ジェスチャ、及びユーザインタフェースオブジェクト(例えば、グラフィック)の特性のうちの1つ以上を、任意選択的に、有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
いくつかの実施形態により、図31は、説明される様々な実施形態の原理に従って構成された、電子デバイス3100の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図31で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図31に示されるように、電子デバイス3100は、タッチ感知ディスプレイユニット3102と、タッチ感知ディスプレイユニット3102に結合された処理ユニット3104とを含む。いくつかの実施形態では、処理ユニット3104は、作成ユニット3106と、検出ユニット3108と、認識ユニット3110と、維持ユニット3112と、置換ユニット3114と、追加ユニット3116と、検出ユニット3118と、中止ユニット3120とを含む。
タッチ感知ディスプレイユニット3102は、タッチ感知ディスプレイユニット3102上に電子カレンダを表示するように構成されており、表示されたカレンダは、第1の日に対応するエリアを含む。タッチ感知ディスプレイユニット3102は、タッチ感知ディスプレイユニット3102上で手描き入力を検出するように更に構成されており、手描き入力は、表示されたカレンダ内の第1の日のすべてより少ない垂直部分の上に延びる。タッチ感知ディスプレイユニット3102は、手描き入力を検出したことに応じて、手描き入力に対応するグラフィックを第1の日の垂直部分の上に表示し、手描き入力に対応するグラフィックを第1の日の垂直部分の上に表示している間に、電子カレンダ内にイベントを作成する要求に対応する入力を検出するように更に構成される。
処理ユニット3104は、電子カレンダ内にイベントを作成する要求に対応する入力を検出したことに応じて、電子カレンダ内の第1の日の中に、開始時刻及び終了時刻を有するイベントを作成する(例えば、作成ユニット3106で)ように構成されており、イベントの開始時刻及び終了時刻は、その日の垂直部分に従っている。
上述の情報処理方法での動作は、汎用プロセッサ(例えば、図1A及び図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
図30A〜30Dを参照して上述された動作は、図1A〜1B、又は図31に示される構成要素によって、任意選択的に実施される。例えば、検出動作3004、3016、及び作成動作3022は、任意選択的に、イベントソート部170、イベント認識部180、及びイベント処理部190によって実行される。イベントソート部170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1の対応するイベント認識部180は、そのイベント情報を対応するイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触(又は、デバイスの回転)が、ユーザインタフェース上のオブジェクトの選択、又は1つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176若しくはオブジェクト更新部177を、任意選択的に用いるか又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A〜図1Bに示される構成要素に基づいてどのように実施され得るかは明らかであるだろう。
ビデオの一部分を選択する
多くの電子デバイスは、ビデオ編集用のグラフィカルユーザインタフェースを有する。多くの場合、ビデオ編集のセッションの間にビデオの一部分を選択する要求がある。例えば、ユーザは、ビデオの一部分を選択して、ビデオの選択した部分をプレビューしたり、ビデオの選択した部分に動作を実行することなどを所望する場合がある。以下の実施形態は、ユーザが、スタイラス、指などの接触を使用するが、それでもビデオの一部分を正確に選択する、タッチ感知ディスプレイでの曖昧な入力を提供することができるようにすることにより、既存の方法を改良する。
以下、図32A〜32Fは、ビデオの一部分を選択するための例示的なユーザインタフェースを示す。図33A〜33Bは、ビデオの一部分を選択する方法を示す流れ図である。図32A〜32Fのユーザインタフェースを使用して、図33A〜33Bのプロセスを示す。
図32A〜32Fは、いくつかの実施形態に係る、ビデオの一部分を選択するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図33A〜33Bのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ上(タッチ感知面とディスプレイとが組み合わされている場合)の入力を参照して説明されるが、一部の実施形態において、デバイスは、図6Bに示すように、ディスプレイ650とは別個のタッチ感知面651上で入力を検出する。
いくつかの実施形態では、デバイスは、別個のディスプレイ(例えば、ディスプレイ650)及び別個のタッチ感知面(例えば、タッチ感知面651)を備える電子デバイスである。いくつかの実施形態では、デバイスは、ポータブル多機能デバイス100であり、ディスプレイは、タッチ感知ディスプレイシステム112であり、タッチ感知面は、ディスプレイ上に触知出力生成器163を含む(図1A)。説明を簡便にするために、図32A〜33F及び図33A〜33Bを参照して説明する実施形態は、タッチ感知ディスプレイシステム112を備えたデバイス上で実行される動作を参照して説明する。そのような実施形態では、フォーカスセレクタは、任意選択的に、それぞれの指又はスタイラスの接触、指又はスタイラスの接触に対応する代表的な点(例えば、それぞれの接触の面心又はそれぞれの接触に関連付けられた点)、又は、タッチ感知ディスプレイシステム112上で検出された2つ以上の接触の面心である。しかし、類似した動作が、ディスプレイ650と、別個のタッチ感知面651と、を備えたデバイス上で、フォーカスセレクタと共に、ディスプレイ650上に図32A〜32Fに示すユーザインタフェースを表示している間に、タッチ感知面651上で図32A〜32Fで説明する接触を検出したことに応じて、任意選択的に実行される。
図32Aは、ビデオの一部分を選択するためのジェスチャの実施例を示す。この実施例では、デバイス100は、タッチ感知ディスプレイ112で、編集されているビデオ用のタイムラインエリア3204を含むビデオ編集アプリケーション3202を表示する。タッチ感知ディスプレイ112は、タッチ感知ディスプレイ112との接触、例えば、タッチ感知ディスプレイ112とのスタイラス203の接触を使用して提供されたジェスチャを検出する。ジェスチャは、タイムラインエリア3204の第1の時間位置3206でのタッチ感知ディスプレイ112とのスタイラス203の初期接触、初期接触の後のタッチ感知ディスプレイ112にわたるスタイラス203の移動(例えば、マーク3208により示された線に沿った)、及びタイムラインエリア3204の第2の時間位置3210でのタッチ感知ディスプレイ112からのスタイラス203のリフトオフを含む。いくつかの実施形態では、スタイラス203がタッチ感知ディスプレイ112にわたって移動すると、デバイス100は、第1の時間位置3206での初期接触から第2の時間位置3210でのリフトオフまでの移動を示すマーク3208を描く。上述したジェスチャを検出したことに応じて、デバイス100は、第1の時間位置3206で開始して第2の時間位置3210で終了するビデオの一部分を選択する。
いくつかの実施形態では、デバイス100により表示されたビデオ編集アプリケーションは、ビューアエリア3212を含む。スタイラス203がタイムラインエリア3204と初期接触した後で、ビデオは、スタイラス203とタッチ感知ディスプレイ112との間の接触の移動に従って、ビューアエリア3212に取り出される。例えば、図32Aで、位置3210でのタッチ感知ディスプレイ112とのスタイラス203の接触に従って、ビデオの第1のフレームがビューアエリア3212に示されている。図32Cで、位置3226でのタッチ感知ディスプレイ112とのスタイラス203の接触に従って、ビデオの異なるフレームがビューアエリア3212に示されている。
図32Bは、選択されないタイムラインエリアの領域と選択されるタイムラインエリアの領域を視覚的に区別する実施例を示す。この実施例では、スタイラス203が第1の時間位置3206での初期接触から第2の位置3210にタッチ感知ディスプレイ112にわたって移動すると、強調表示された領域3214の幅は、漸進的に増大して、第1の時間位置3206から第2の時間位置3210に延びる。図32Bで、強調表示された領域3214は、スタイラス203が第1の時間位置3206での初期接触からタッチ感知ディスプレイ112にわたって移動した後で、第2の時間位置3210でのリフトオフの発生の直前の時点で示される。強調表示された領域3214は、選択されるタイムラインエリア3204の領域である。領域3216及び3218は、選択されないタイムラインエリア3204の領域である。図32C〜32Dは、強調表示された領域の追加の実施例(領域3228、領域3238)を提供する。
図32Cは、引き返しを含むジェスチャを使用してビデオの一部分を選択する実施例を示す。この実施例では、ジェスチャは、位置3220でのタッチ感知ディスプレイ112とのスタイラス203の接触、経路3222に沿ったタッチ感知ディスプレイ112にわたる位置3224への、及びその後のタッチ感知ディスプレイ112からのスタイラス203のリフトオフが発生する位置3226へのスタイラス203の移動を含む。この実施例で選択されるタイムラインエリア3204の部分は、強調表示された領域3228により示されている。スタイラス203が位置3220でのタイムラインエリア3204との接触から位置3224にタッチ感知ディスプレイ112にわたって移動すると、強調表示された領域3228の幅は、漸進的に増大して、位置3220から位置3224に延びる。スタイラス203が位置3224から位置3226にタッチ感知ディスプレイ112にわたって移動すると、強調表示された領域3228の幅は、スタイラス230の位置が強調表示された領域3228の縁部を連続的に画定するように、漸進的に減少する。
図32Dは、タイムラインエリアの外側の接触を含むジェスチャを使用してビデオの一部分を選択する実施例を示す。この実施例では、例えば、スタイラス203を使用して提供されるジェスチャは、タイムラインエリア3204の外側である、ビデオ編集アプリケーション3202の位置3230でのタッチ感知ディスプレイ112とのスタイラス203の接触を含む。スタイラス203は、位置3230から、位置3232でタイムラインエリア3204と接触して、タッチ感知ディスプレイ112にわたって連続的に移動する。スタイラス203は、マーク3234により示された経路に沿って、タッチ感知ディスプレイ112にわたって移動し続けて、位置3236でタッチ感知ディスプレイ112からリフトオフする。この実施例で選択されるビデオの部分は、タイムラインエリア3204の強調表示された領域3238により示されている。スタイラス203が位置3232でのタイムライン3204との接触から位置3236でのリフトオフまでタッチ感知ディスプレイ112にわたって移動すると、強調表示された領域3238の幅は、漸進的に増大して、位置3232から位置3240に延びる。タイムラインエリアの外側の位置3236のタッチ感知ディスプレイ112上の水平方向位置は、タイムラインエリア3204内の位置3240のタッチ感知ディスプレイ112上の水平方向位置と同じである。
図32Dに示すように、マーク3234は、マーク3234の別の部分と視覚的に区別された部分3242を含むことができる。図32Dの実施例では、マーク3234の部分3242は、スタイラス203がタッチ感知ディスプレイ112と接触し始める位置3230と、スタイラス203がタイムラインエリア3204と接触し始める位置3232との間で生じる。図32Dに示す実施例では、マーク3234の部分3242は、マーク3234の残部3244の色とは異なる色で描かれている。この方法では、ビデオの選択された部分が、スタイラス203がタイムラインエリア3204と接触し始める点3232で始まり、スタイラス203がリタッチ感知ディスプレイ112からフトオフする点3240で終わることを示すフィードバックを、ユーザに提供することができる。
図32Eは、図32Dに示す状態と図32Fに示す状態との間の、ビデオ編集アプリケーション3202の中間段階の実施例を示す。いくつかの実施形態では、タッチ感知ディスプレイ112は、選択ボックス3246の上側3248(図32Fに示す)になるマーク(例えば、マーク3234)のアニメーションを表示する。図32Eの実施例では、マーク3234は、図32Dに示すようなマーク3234から、図32Fに示すような選択ボックス3246の上側3248である直線に変形するにつれて、平らになる。
図32Fは、ビデオの選択された部分の視覚的な表示の実施例を示す。この実施例では、ジェスチャ(例えば、図32A〜32Dに関して上述したジェスチャのいずれか)を検出したことに応じて、編集しているビデオの一部分が選択される。いくつかの実施形態では、タッチ感知ディスプレイ112からのスタイラス203のリフトオフがデバイス100により検出されると、デバイス100は、選択ボックス3246を表示する。選択ボックス3246は、ビデオの選択された部分を示す。例えば、図32Dに示すように、検出されたジェスチャが第1の時間位置3232でのタイムライン3204との初期接触、マーク3234により示された線に沿った初期接触の後のタッチ感知ディスプレイ112にわたる接触の移動、及び位置3236での(タイムラインエリア3204内の水平方向位置3240に対応するタッチ感知ディスプレイ112内の水平方向位置での)接触のリフトオフを含む場合、選択ボックス3246は、位置3232から位置3240までのタイムラインエリア3204のエリアを含むことができる。いくつかの実施形態では、タッチ感知ディスプレイ112からのスタイラス203のリフトオフがデバイス100により検出されると、デバイス100は、マーク(例えば、マーク3234)を表示するのを中止して、選択ボックス3246を表示する。いくつかの実施形態では、マーク3234が上側縁部3248などの選択ボックス3246の1つの側になるアニメーションが表示される。
図33A〜33Bは、いくつかの実施形態に係る、ビデオの一部分を選択する方法3300を示す流れ図である。方法3300は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイはタッチスクリーンディスプレイであり、タッチ感知面がディスプレイ上にある、又はディスプレイと一体化されている。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。方法3300の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
以下に説明するように、方法3300は、ビデオの一部分を選択するための直感的な方法を提供する。この方法により、雑な、又は別の方法で曖昧な入力で、ビデオの一部分を正確に選択することができ、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的にビデオの一部分を選択することができることにより、電力が節約され、バッテリを充電する間隔が増大する。
デバイスは、タッチ感知ディスプレイ112上にビデオ編集アプリケーション3202を表示する(3302)。いくつかの実施形態では、デバイスは、デバイスに関連付けられたスタイラス203からの信号を検出する1つ以上のセンサを含む。表示されたビデオ編集アプリケーションは、編集されているビデオ用のタイムラインエリア3204を含む。いくつかの実施形態では、編集されているビデオは、ビデオ用のタイムライン内に配置された複数のビデオクリップを含む。
デバイスは、タッチ感知ディスプレイ上の接触によるジェスチャを検出する(3304)。ジェスチャは、接触によるタイムラインエリア3204との初期接触を含む。ジェスチャは、例えば、指接触又はスタイラスの接触で行われたジェスチャである。初期接触は、タイムラインエリア3204内の第1の時間位置(例えば、図32Aに示すような3206)で生じる。ジェスチャは、タイムラインエリア3204との初期接触後のタッチ感知ディスプレイ112にわたる接触の移動、及びタイムラインエリア3204内の第2の時間位置(例えば、図32Aに示すような3210)に対応するタッチ感知ディスプレイ上の位置での接触のリフトオフを、追加して含む。
いくつかの実施形態では、ジェスチャ内の接触は、タイムラインエリア3204と初期接触する前に、タイムラインエリア3204の外側で表示されたビデオ編集アプリケーション3202と接触する(3308)。例えば、図32Dに示すように、接触は、タイムラインエリア3204の外側の点3230で表示されたビデオ編集アプリケーション3202上にタッチダウンし、その後、接触が3232でタイムラインエリア3204と交差するまで、タッチ感知ディスプレイ112にわたって連続的に移動する。接触がタイムラインエリアと交差する点3232は、タイムラインエリア3232内の第1の時間位置に対応する。いくつかの実施形態では、接触は、タイムラインエリア3204内の点(例えば、図32Aの3206及び図32Cの3220で示されるような)で表示されたビデオ編集アプリケーション3202上にタッチダウンする。
いくつかの実施形態では、デバイスは、タイムラインエリア3204との初期接触後のタッチ感知ディスプレイ112にわたる接触の移動を示す線などの、マーク(例えば、図32Aの3208、図32Cの3222、図32Dの3234)を表示する(3310)。いくつかの実施形態では、タッチ感知ディスプレイ112上の接触のタッチダウンからタッチ感知ディスプレイ112からの接触のリフトオフへの接触の移動を示す線は、その線の少なくとも一部である、タイムラインエリア3204との初期接触後のタッチ感知ディスプレイ112にわたる接触の移動を示すマークで描かれる。例えば、図32Dで、マーク3234は、タイムラインエリア3204との初期接触3232の前の接触の移動を示す線の一部3242、及びタイムラインエリア3204との初期接触3232後の接触の移動を示すマーク3234の一部3244を含む。
いくつかの実施形態では、接触によるタイムラインエリア3204との初期接触の後で、接触がタッチ感知ディスプレイ112にわたって移動すると、デバイスは、選択されないタイムラインエリア3204の1つ以上の領域と、選択されるタイムラインエリア3204の領域を視覚的に区別する(3312)。選択されるタイムラインエリア3204の領域は、例えば、陰影、色調、及び/又は強調表示により視覚的に区別される。図32Bの強調表示された領域3214、図32Cの3228、及び図32Dの3238は、タイムラインエリア3204の視覚的に区別された領域の例である。
いくつかの実施形態では、デバイスは、タッチ感知ディスプレイ112上の接触のタッチダウンからタッチ感知ディスプレイ112からの接触のリフトオフへの、タッチ感知ディスプレイ112にわたる接触の移動を示すマーク(例えば、図32Dの線3234)を表示する(3314)。マークは、タイムラインエリア3204との初期接触3232の前のマーク3234の第1の部分3242を含む。マークは、タイムラインエリア3204との初期接触3232の後のマークの第2の部分3244を含む。マークの第2の部分3244は、マークの第1の部分3242と視覚的に区別される。いくつかの実施形態では、タッチ感知ディスプレイ112上の接触のタッチダウンからタッチ感知ディスプレイ112からの接触のリフトオフへの接触の移動を示す線が描かれ、線は、タイムラインエリア3204との接触の初期接触(例えば、3232)後に、色、幅、及び/又は他の視覚特性が変化する。
いくつかの実施形態では、リフトオフでの接触の位置(例えば、位置3236)は、タイムラインエリア3204の外側であり、リフトオフでの接触の位置は、タッチ感知ディスプレイ112上の水平方向位置を有し、タイムラインエリア3204内の第2の時間位置(例えば、3240)は、リフトオフでの接触の位置とディスプレイ上で同じ水平方向位置を有する(3316)。いくつかの実施形態では、第2の時間位置3240は、接触がリフトオフでタイムラインエリア3204の中にあるか又は外側にあるかに依存しない、リフトオフでの接触の水平方向位置により判定される。例えば、図32Dに示すように、接触のリフトオフは、タイムラインエリア3204の外側である位置3236で生じる。タイムラインエリア3204上の第2の時間位置3240の水平方向位置は、接触のリフトオフが生じる位置3236とタッチ感知ディスプレイ112上で同じ水平方向位置を有する。この方法では、リフトオフがタイムラインエリア3204の外側で発生すると、ビデオの一部分の選択は、タイムラインエリア3204の外側の位置3236の水平方向位置に対応する、タイムラインエリア3204上の位置3240までのビデオを含むであろう。
いくつかの実施形態では、タイムラインエリア3204との初期接触(例えば、図32Cの3220)の後のタッチ感知ディスプレイ112にわたる接触の移動は、タイムラインエリア3204内の第2の時間位置(例えば、3226)の後の、タイムラインエリア3204内の第3の時間位置(例えば、3224)に対応するタッチ感知ディスプレイ112上の位置(タイムラインエリアの内側又は外側)への接触の連続的移動、及びその後の、接触がリフトオフするタイムラインエリア3204内の第2の時間位置(例えば、3226)に対応するタッチ感知ディスプレイ上の位置への接触の連続的移動を含む(3318)。例えば、図32Cで、スタイラス203は、位置3220でタイムラインエリア3204と初期接触して、タッチ感知ディスプレイ112にわたって第3の時間位置3224に移動し、その後、タッチ感知ディスプレイ112からのスタイラス203のリフトオフが発生する第2の時間位置3226に引き返す。強調表示された領域3228により示すように、選択されるタイムラインエリア3204の部分は、初期接触位置3220と第2の時間位置3226との間のエリアである。
タッチ感知ディスプレイ112上の接触によるジェスチャを検出したことに応じて、デバイスは、編集されているビデオの一部分を選択する(3306)。例えば、デバイスは、切断、複写、トリミング、又は他のビデオ編集動作のために、ビデオの一部分を選択することができる。ビデオの選択された部分は、第1の時間位置で開始し、第2の時間位置で終了する。例えば、図32Aに示すジェスチャに対応するビデオの選択された部分は、第1の時間位置3206で開始し、第2の時間位置3210で終了するであろう。別の実施例では、図32Cに示すジェスチャに対応するビデオの選択された部分は、第1の時間位置3220で開始し、第2の時間位置3226で終了するであろう。更なる実施例では、図32Dに示すジェスチャに対応するビデオの選択された部分は、第1の時間位置3232で開始し、第2の時間位置3240で終了するであろう。
いくつかの実施形態では、デバイスは、編集されているビデオ用のビューアエリア(例えば、ビューアウィンドウ3212)を表示する(3320)。接触がタイムラインエリア3204と初期接触した後で、デバイスは、タッチ感知ディスプレイ112にわたる接触の移動に従って、ビューアエリア3212にビデオを取り出す。いくつかの実施形態では、接触がタイムラインエリア3204と初期接触した後で、接触がタイムラインエリアの内側か又は外側かに依存しないで接触が移動すると、タッチ感知ディスプレイ上の接触の現在の水平方向位置に従って、ビデオが取り出される。例えば、図32Dの実施例では、接触がマーク3244により示される経路に沿って位置3232から位置3236に移動すると、接触の現在の水平方向位置に従って、ビデオを取り出すことができる。
いくつかの実施形態では、デバイスは、タイムラインエリア3204との初期接触(例えば、3206、3220、3232)の後のタッチ感知ディスプレイ112にわたる接触の移動を示すマーク(例えば、線3208、3222、3244)を表示する。デバイスは、タイムラインエリア3204内の第2の時間位置(例えば、3210、3226、3240)に対応するタッチ感知ディスプレイ112上の位置(例えば、3210、3226、3236)での接触のリフトオフを検出する。タイムラインエリア3204内の第2の時間位置(例えば、3210、3226、3240)に対応するタッチ感知ディスプレイ112上の位置での接触のリフトオフを検出したことに応じて、デバイスは、マーク(3208、3222、3244)を表示するのを中止して、デバイスは、ビデオの選択された部分の周囲に選択ボックス(例えば、3246)を表示する(3322)。いくつかの実施形態では、タッチ感知ディスプレイ112上の接触のタッチダウンからタッチ感知ディスプレイ112からの接触のリフトオフへの接触の移動を示す線は、その線の少なくとも一部である、タイムラインエリア3204との初期接触後のタッチ感知ディスプレイ112にわたる接触の移動を示すマーク(例えば、タイムラインエリア3204との初期接触3232の後のタッチ感知ディスプレイ112にわたるスタイラス203の移動を示す図32Dのマーク3244)で描かれる。
いくつかの実施形態では、デバイスは、タイムラインエリア3204との初期接触(例えば、3206、3220、3232)の後のタッチ感知ディスプレイ112にわたる接触の移動を示すマーク(例えば、線3208、3222、3244)を表示する。デバイスは、タイムラインエリア3204内の第2の時間位置(例えば、3210、3226、3240)に対応するタッチ感知ディスプレイ112上の位置(例えば、3210、3226、3236)での接触のリフトオフを検出する。タイムラインエリア3204内の第2の時間位置に対応するタッチ感知ディスプレイ上の位置での接触のリフトオフを検出したことに応じて、デバイスは、ビデオの選択された部分の周囲の選択ボックス3246の1つの側(例えば、上側3248)になるマーク(例えば、3234)のアニメーションを表示する(3324)。いくつかの実施形態では、リフトオフを検出したことに応じて、タイムラインエリアとの初期接触後に描かれていたマークが遷移(又は変形)してビデオの選択された部分の周囲の選択ボックスの1つの側になるアニメーションが表示される。例えば、図32Dの線3234は、位置3230でのタイムラインエリア3204との初期接触から位置3236でのリフトオフへのスタイラス203の動きを示す波状の外観を有する。リフトオフを検出したことに応じて、デバイスは、線3234のアニメーション、例えば、線3234から選択ボックス3246の上側3248への遷移を示す波状の線の漸進的な平坦化を表示することができる。アニメーションは、図32Dに示すようなマーク3234の、図32Eに示すようなマーク3234の平坦化したものへ、図32Fの選択ボックス3246の上側3248である直線への遷移を含むことができる。
図33A〜33Bにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図33A〜図33Bに関連して上述した方法3300に類似の方法で適用できることを認識されたい。例えば、方法3300を参照して上述した接触、ジェスチャ、及びアニメーションは、本明細書に記載されている他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)を参照して本明細書で説明されている接触、ジェスチャ、及びアニメーションの特性のうちの1つ以上を、任意選択的に、有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
いくつかの実施形態により、図34は、説明される様々な実施形態の原理に従って構成された、電子デバイス3400の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図34で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図34に示されるように、電子デバイス3400は、タッチ感知ディスプレイユニット3402と、タッチ感知ディスプレイユニット3402に結合された処理ユニット3404とを含む。タッチ感知ディスプレイユニット3402は、ビデオ編集アプリケーションを表示するように構成されており、表示されたビデオ編集アプリケーションは、編集されているビデオ用のタイムラインエリアを含む。処理ユニット3404は、タッチ感知ディスプレイユニット3402上での接触によるジェスチャを検出するように構成される。ジェスチャは、タイムラインエリア内の第1の時間位置で生じる、接触によるタイムラインエリアとの初期接触、タイムラインエリアとの初期接触後のタッチ感知ディスプレイユニット3402にわたる接触の移動、及びタイムラインエリア内の第2の時間位置に対応するタッチ感知ディスプレイユニット3402上の位置での接触のリフトオフを含む。いくつかの実施形態では、処理ユニット3404は、選択ユニット3406、視覚的区別ユニット3408、取出ユニット3410、及び中止ユニット3412を含む。処理ユニット3404は、タッチ感知ディスプレイユニット3402上での接触によるジェスチャを検出したことに応じて、編集されているビデオの一部分を選択する(例えば、選択ユニット3406で)ように構成されており、ビデオの選択された部分は、第1の時間位置で開始し、第2の時間位置で終了する。
上述の情報処理方法での動作は、汎用プロセッサ(例えば、図1A及び図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
図33A〜33Bを参照して上述された動作は、図1A〜1B、又は図34に示される構成要素によって、任意選択的に実施される。例えば、表示動作3302、検出動作3304、及び、選択動作3306は、イベントソート部170、イベント認識部180及びイベント処理部190により任意選択的に実行される。イベントソート部170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触を検出し、イベントディスパッチャモジュール174は、そのイベント情報をアプリケーション136−1に配信する。アプリケーション136−1の対応するイベント認識部180は、そのイベント情報を対応するイベント定義186と比較し、タッチ感知面上の第1の位置からリフトオフが発生する第2の位置への接触が、ビデオの一部分の選択などの、既定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176若しくはオブジェクト更新部177を、任意選択的に用いるか又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A〜図1Bに示される構成要素に基づいてどのように実施され得るかは明らかであるだろう。
スタイラスでメニューを表示して使用する
いくつかの電子デバイスは、そのデバイスのタッチ感知ディスプレイへの入力の追加の方法を提供するために、そのデバイスに関連付けられたスタイラスを使用する。例えば、いくつかのセルラー電話、ラップトップ、及びタブレットは、スタイラスからの入力を受信する能力を有する。スタイラスは、1つ以上のオプション(例えば、色)を有する1つ以上の仮想描画手段(例えば、鉛筆、ブラシ、筆ペンなど)をエミュレートすることができる。しかし、従来の方法では、ユーザは、スタイラスでメニュー(例えば、仮想描画手段用のオプションを選択するメニュー)を表示して使用することが煩雑だと感じる場合がある。以下の実施形態は、スタイラスのジェスチャに応じてメニュー(例えば、カラーパレット)を表示することにより、この問題に対処して、それにより、スタイラスでメニューオプションを選択する(例えば、仮想描画手段用にカラーパレットから色を選択する)、より速くより容易な方法を提供する。
以下、図35A〜35Jは、スタイラスでメニューを表示して使用するための例示的なユーザインタフェースを示す。図36A〜36Cは、スタイラスでメニューを表示して使用する方法を示す流れ図である。図35A〜35Jのユーザインタフェースを使用して、図36A〜36Cのプロセスを示す。
図35A〜35Jは、いくつかの実施形態に係る、スタイラスでメニューを表示して使用するための例示的なユーザインタフェースを示す。これらの図のユーザインタフェースは、図36A〜36Cのプロセスを含めた、以下で説明されるプロセスを例示するために使用される。以下の実施例のうちのいくつかは、タッチスクリーンディスプレイ上の(タッチ感知面とディスプレイとが組み合わされている場合、例えば、タッチスクリーン112上の)入力を参照して説明されるが、一部の実施形態において、デバイスは、図6Bに示すように、ディスプレイ650とは別個のタッチ感知面651上で入力を検出する。
いくつかの実施形態では、デバイスは、別個のディスプレイ(例えば、ディスプレイ650)及び別個のタッチ感知面(例えば、タッチ感知面651)を備える電子デバイスである。いくつかの実施形態では、デバイスは、ポータブル多機能デバイス100であり、ディスプレイは、タッチ感知ディスプレイシステム112であり、タッチ感知面は、ディスプレイ上に触知出力生成器163を含む(図1A)。説明を簡便にするために、図35A〜35J及び図36A〜36Cを参照して説明する実施形態は、タッチ感知ディスプレイシステム112を備えたデバイス上で実行される動作を参照して説明する。そのような実施形態では、フォーカスセレクタは、任意選択的に、それぞれの指又はスタイラスの接触、指又はスタイラスの接触に対応する代表的な点(例えば、それぞれの接触の面心又はそれぞれの接触に関連付けられた点)、又は、タッチ感知ディスプレイシステム112上で検出された2つ以上の接触の面心である。しかし、類似した動作が、ディスプレイ650と、別個のタッチ感知面651と、を備えたデバイス上で、ディスプレイ650上に図35A〜35Jに示すユーザインタフェースを表示している間に、タッチ感知面651上(又はその付近)で図35A〜35Jで説明する接触を検出したことに応じて、任意選択的に実行される。
図35A〜35Jは、いくつかの実施形態に係る、スタイラスでメニューを表示して使用するための例示的なユーザインタフェースを示す。図35Aは、デバイス100の追加の詳細(例えば、スピーカ111、光センサ164、近接センサ166など)と共にタッチスクリーン112を示すが、明瞭にするために、図35B〜35Jは、デバイス100の他の詳細を示さずに、単にデバイス100のタッチスクリーン112を示す。更に、図35Aは、タッチ感知面(例えば、デバイス100のタッチスクリーン112)の真上の視点から実施例を示すが、図35B〜35Jは、2つの視点、タッチ感知面(例えば、デバイス100のタッチスクリーン112)の真上の視点及びタッチ感知面の側面の視点から実施例を示す。
図35Aは、スタイラス(例えば、スタイラス203)の姿勢状態に対応する目印(例えば、目印3516−a)を表示する実施例を示す。この実施例では、スタイラス203は、タッチスクリーン112に対するスタイラス203の向き(例えば、向き3506−a)、及びタッチスクリーン112上のスタイラス203の先端部の投影の位置(例えば、(x、y)位置3504−a)を有する姿勢状態を有する。図35Aに示すように、スタイラス203がタッチスクリーン112にタッチする前に、スタイラス203が向き3506−a(例えば、軸508に対して時計回りの回転角度で約315度)、及び(x、y)位置3504−aの先端部投影で配置されている場合、目印3516−aは、スタイラス203がタッチスクリーン112にタッチする(又はマークをつける)であろう場所を示すように、タッチスクリーン112上に表示される。いくつかの実施形態では、スタイラスが第1の向きに配置されると、目印は、(x、y)位置3504−aに対してタッチスクリーン112上の第1の方向に変位され、スタイラスが第1の向きとは別個の第2の向きに配置されると、目印は、(x、y)位置3504−aに対してタッチスクリーン112上の第2の方向に変位される。例えば、図5Aで、スタイラス203が向き506(例えば、軸508に対して時計回りの回転角度で約45度)で配置されると、目印516は、(x、y)位置504に対して南西方向に変位され、図35Aで、スタイラス203が向き3506−a(例えば、軸508に対して時計回りの回転角度で約315度)で配置されると、目印3516−aは、(x、y)位置3504−aに対して南東方向に変位される。
図35B〜35Jは、タッチ感知ディスプレイ(例えば、タッチスクリーン112)上にユーザインタフェース3520(例えば、描画アプリケーションなどのアプリケーション用のユーザインタフェース)を表示する実施例を示す。いくつかの実施形態では、ユーザインタフェース3520は、インジケータ3522を含む。いくつかの実施形態では、インジケータ3522は、選択された色及び仮想描画手段の種類(例えば青色のペン)を示し、インジケータ3522内の色のリングは、仮想描画手段の色を示す。例えば、青色のリングにより囲まれたペンの表現により、青色のペンがインジケータ3522内に示されている。
図35B〜35Eは、スタイラスがタッチ感知ディスプレイと接触することなく、タッチ感知ディスプレイ(例えば、タッチスクリーン112)に向かって移動するスタイラス(例えばスタイラス203)の実施例を示す。いくつかの実施形態では、スタイラスがタッチ感知ディスプレイと接触することなく、タッチ感知ディスプレイに向かって移動するスタイラスのジェスチャは、「スプラッシュジェスチャ」と呼ばれる。いくつかの実施形態では、図35B〜35Eで、スタイラス203は、移動の少なくとも一部の間、所定の非ゼロ値を上回る速度でタッチスクリーン112に向かって移動する。いくつかの実施形態では、図35B〜35Eで、スタイラスがタッチスクリーン112に向かって移動する際に、スタイラス203は、移動の少なくとも一部の間、所定の減速度値を上回る減速度を有する。いくつかの実施形態では、図35B〜35Eでスタイラス203の移動の間に、スタイラスがタッチスクリーン112に向かって移動する際に、スタイラス203は加速し、次に、スタイラスがタッチスクリーン112に向かって移動する際に、減速する。
いくつかの実施形態では、タッチ感知ディスプレイに対するスタイラスの距離(例えば、距離3514)が変化したことに応じて、表示された目印(例えば、目印3516)は、更新される。図35B〜35Eで、スタイラスの向き(例えば、向き3506−b)、スタイラスの先端部の(x、y)位置(例えば、(x、y)位置3504−b)、及びスタイラスの傾き(例えば、傾き3512−a)は、一定のままで、タッチ感知ディスプレイに接触することなくスタイラスがタッチ感知ディスプレイに近づいて移動すると、タッチ感知ディスプレイに対するスタイラスの距離は、(例えば、距離3514−aから距離3514−bに、距離3514−cに、距離3514−dに)変化する。更に、スタイラス203がタッチスクリーン112に近づいて移動すると、目印はタッチスクリーン112上で更新される(例えば、目印3516−bから目印3516−cに、目印3516−dに、目印3516−eに)。この実施例に示すように、いくつかの実施形態では、スタイラス203がタッチスクリーン112に近づいて移動すると、目印は、不透明度を変化させ(例えば、不透明度を増大させて)、サイズ(又は半径若しくはエリア)を変化させ(例えば、サイズを減少させて)、及び/又は色を変化させる(例えば、色を暗くさせて)。いくつかの実施形態では、向きの変化に応じて、目印は更新され(図35Aに関して上述したように)、傾きの変化に応じて、目印は更新される(上述したように)が、簡潔にするために、ここでは詳細は繰り返さない。いくつかの実施形態では、スプラッシュジェスチャの間に、目印3516は示されない(例えば、スプラッシュジェスチャの間、スタイラスがタッチスクリーン112から離れすぎているため)。
図35Eは、スタイラスの移動(例えば、図35B〜35Eに示すような、タッチ感知ディスプレイに向かうスタイラスの移動)が1つ以上のスタイラス移動基準を満たすという判定に従って、ユーザインタフェース(例えば、ユーザインタフェース3520)上に重ね合わせてメニュー(例えば、メニュー3524)を表示する実施例を示す。いくつかの実施形態では、メニュー3524は、図35Fに関して以下に説明するような、複数の選択可能なメニューオプションを含む。いくつかの実施形態では、メニューの位置は、タッチ感知ディスプレイ上へのスタイラスの先端部の投影に基づく(例えば、方法800を参照して説明したような)。例えば、図35Eで、メニュー3524は、目印3516−eの位置に(又は目印3516−eの周囲に中心を置いて)表示される。いくつかの実施形態では、1つ以上のスタイラス移動基準は、タッチ感知ディスプレイに向かう検出されたスタイラスの移動の少なくとも一部の間に、スタイラスの速度が所定の(非ゼロ)値を上回ることを検出することを含む。いくつかの実施形態では、1つ以上のスタイラス移動基準は、検出されたスタイラスの移動の少なくとも一部の間に、スタイラスがタッチ感知ディスプレイに向かって移動する際のスタイラスの減速度が所定の減速度値を上回ることを検出することを含む。いくつかの実施形態では、1つ以上のスタイラス移動基準は、タッチ感知ディスプレイに向かう検出されたスタイラスの移動の間に、スタイラスがタッチ感知ディスプレイに向かって移動する際にスタイラスが加速して、次に、スタイラスがタッチ感知ディスプレイに向かって移動する際に減速することを検出することを含む。
図35Fは、メニュー(例えば、メニュー3524)の複数の選択可能なメニューオプション(例えば、メニューオプション3526−a〜3526−f)から第1のメニューオプション(例えば、メニューオプション3526−a)を選択するスタイラス(例えば、スタイラス203)の実施例を示す。いくつかの実施形態では、第1のメニューオプションの選択は、スタイラスでメニューオプション上をタップすることを含む。明瞭にするために、図35Fは、明るい背景色でメニュー3524を示すが、いくつかの実施形態では、メニュー3524の背景は、透明であり、メニュー3524の選択可能なメニューオプションのみが見える。いくつかの実施形態では、メニュー3524は、カラーパレットであり、複数の選択可能なメニューオプションは、カラーパレット内の色である。図35Fは、白色から、灰色の色合い、黒色までの色の範囲を有するメニュー3524を示すが、いくつかの実施形態では、メニュー3524は、他の色(例えば、赤色、橙色、黄色、緑色、青色、藍色、青紫色など)を有するカラーパレットである。
図35G〜35Jは、複数の選択可能なメニューオプション内の第1のメニューオプション(例えば、メニューオプション3526−a)の選択を検出したことに応じて(図35Fに示すように)、第1のメニューオプションに対応する動作を実行して、メニューを表示するのを中止する実施例を示す。例えば、図35Fでスタイラス203がメニューオプション3526−aを選択した後で、他のメニューオプション(例えば、メニューオプション3526−b〜3526−f)は消えて、メニュー3524は、メニューオプション3526−aの色に変化する。次に、メニューオプション3526−a及びメニュー3524は、スタイラスにより吸収される(インクのように)ように見えて、インジケータ3522内の色のリングは、図35Jに示すように、新たに選択されたメニューオプション3526−aを示す。図35G〜34Iは、スタイラスがメニューオプション3526−aを選択したことに応じて、メニューオプション3526−aの色に変化するメニュー3524を示すが、いくつかの実施形態では、メニュー3524は、他のメニューオプション(例えば、メニューオプション3526−b〜3526−f)と共に消えて、メニューオプション3526−aのみがスタイラスにより吸収されるように見える。他の実施形態では、第1のメニューオプションの選択を示すために、異なるアニメーションシーケンスが使用される。
図35A〜35Cは、いくつかの実施形態に係る、スタイラスでメニューを表示して使用する方法3600を示す流れ図である。方法3600は、ディスプレイと、タッチ感知面とを備えた電子デバイス(例えば、図3のデバイス300、又は、図1Aのポータブル多機能デバイス100)で実行される。いくつかの実施形態では、ディスプレイは、タッチスクリーンディスプレイであり、タッチ感知面は、ディスプレイ上にある、又はディスプレイと一体化されている(単にタッチ感知ディスプレイとも呼ばれる)。いくつかの実施形態では、ディスプレイはタッチ感知面から分離している。いくつかの実施形態では、デバイスは、デバイスに関連付けられたスタイラスからの信号を検出する1つ以上のセンサを含み、スタイラスは、代表部分(例えば、スタイラスの先端部)を含む。いくつかの実施形態では、先端部以外のスタイラス上の部分は、先端部の位置を推定するために使用される。方法3600の一部の動作が任意選択的に、組み合わされ、かつ/又は一部の動作の順序が任意選択的に変えられる。
以下に説明するように、方法3600は、スタイラスでメニュー(例えば、カラーパレット)を表示して使用する直感的な方法を提供し、メニューオプションを選択する(例えば、仮想描画手段用にカラーパレットから色を選択する)、より速く、より容易な方法を提供する。この方法は、電子デバイスと対話するためにスタイラスを使用する際のユーザからの入力の数、範囲、及び/又は種類を低減し、それにより、より効率的なヒューマンマシンインタフェースを作り出す。バッテリ動作電子デバイスに関しては、ユーザが、より速く、より効率的にスタイラスで入力することができることにより、電力が節約され、バッテリを充電する間隔が増大する。
デバイスは、タッチ感知ディスプレイ(例えば、タッチスクリーン112)上にユーザインタフェース(例えば、ユーザインタフェース3520)を表示する(3602)。例えば、図35B〜35Jは、ユーザインタフェース3520(例えば、描画アプリケーションなどのアプリケーション用のユーザインタフェース)を表示するデバイス100を示す。
デバイスは、タッチ感知ディスプレイ上にユーザインタフェースを表示している間に、スタイラスがタッチ感知ディスプレイと接触することなくスタイラスがタッチ感知ディスプレイに向かって移動するのを検出する(3604)。例えば、図35B〜35Eは、スタイラス203がタッチスクリーン112と接触することなくタッチスクリーン112に向かって移動するスタイラス203を示す。
いくつかの実施形態では、スタイラスがタッチ感知ディスプレイに向かって移動するのを検出している間に、タッチ感知ディスプレイ上で接触は検出されない(3606)。例えば、図35B〜35Eで、スタイラスは、タッチスクリーン112に向かって距離3514−aから距離3514−dに移動していて、タッチスクリーン112上で接触は検出されない。
デバイスは、タッチ感知ディスプレイと接触することなくタッチ感知ディスプレイに向かう検出されたスタイラスの移動が、1つ以上のスタイラス移動基準を満たすか否かを判定する(3608)。例えば、デバイス100は、図35B〜35Eでタッチスクリーン112に向かう検出されたスタイラスの移動が1つ以上のスタイラス移動基準を満たすか否かを判定する。
いくつかの実施形態では、1つ以上のスタイラス移動基準は、タッチ感知ディスプレイに向かう検出されたスタイラスの移動の少なくとも一部の間に、スタイラスの速度が所定の(非ゼロ)値を上回ることを検出することを含む(3610)。例えば、スタイラス203の速度は、距離3514−a(図35Bの)から距離3514−b(図35Cの)へ、距離3514−c(図35Dの)へ、距離3514−d(図35Eの)へのスタイラス203の移動の少なくとも一部の間、所定の非ゼロ値を上回っている。
いくつかの実施形態では、1つ以上のスタイラス移動基準は、(タッチ感知ディスプレイに向かう)検出されたスタイラスの移動の少なくとも一部の間に、スタイラスがタッチ感知ディスプレイに向かって移動する際のスタイラスの減速度が所定の減速度値を上回ることを検出することを含む(3612)。例えば、図35D〜35Eで、スタイラス203が距離3514−cから距離3514−dに移動する際のスタイラス203の減速度は、所定の減速度値を上回っている。
いくつかの実施形態では、1つ以上のスタイラス移動基準は、(タッチ感知ディスプレイに向かう)検出されたスタイラスの移動の間に、スタイラスがタッチ感知ディスプレイに向かって移動する際にスタイラスが加速して、次に、スタイラスがタッチ感知ディスプレイに向かって移動する際に減速することを検出することを含む(3614)。図35B〜35Eに示すように、例えば、距離3514−a(図35B)から距離3514−d(図35E)へのタッチスクリーン112に向かう検出されたスタイラスの移動の間に、スタイラスがタッチスクリーン112に向かって距離3514−aから距離3514−bに移動する際に、スタイラス203は加速して、次に、スタイラスがタッチスクリーン112に向かって距離3514−cから距離3514−dに移動する際に、スタイラス203は減速する。
いくつかの実施形態では、1つ以上のスタイラス移動基準は、タッチ感知ディスプレイに向かう検出されたスタイラスの移動の間のスタイラスの傾きに依存しない(例えば、含まない、又はよらない)(3616)。例えば、1つ以上のスタイラス移動基準は、図35B〜35Eに示すように、タッチスクリーン112に向かう検出されたスタイラスの移動の間のスタイラス203の傾きに依存しない。図35B〜35Eは、スタイラス203の傾きを傾き3512−aで一定として示すが、いくつかの実施形態では、1つ以上のスタイラス移動基準は、スタイラス203の傾きに依存せず、スタイラス203の傾きは、タッチ感知ディスプレイに向かう検出されたスタイラスの移動の間に変化することができる。
いくつかの実施形態では、1つ以上のスタイラス移動基準は、タッチ感知ディスプレイに向かう検出されたスタイラスの移動の間のスタイラスの向きに依存しない(例えば、含まない、又はよらない)(3618)。例えば、1つ以上のスタイラス移動基準は、図35B〜35Eに示すように、タッチスクリーン112に向かう検出されたスタイラスの移動の間のスタイラス203の向きに依存しない。図35B〜35Eは、スタイラス203の向きを向き3506−bで一定として示すが、いくつかの実施形態では、1つ以上のスタイラス移動基準は、スタイラス203の向きに依存せず、スタイラス203の向きは、タッチ感知ディスプレイに向かう検出されたスタイラスの移動の間に変化することができる。
いくつかの実施形態では、1つ以上のスタイラス移動基準は、スタイラスがタッチ感知ディスプレイに垂直(又はおおよそ垂直、例えば、垂直から5、10、15、又は20度以内)であると満たされる基準を含む(3620)。例えば、図35B〜35Eで、スタイラス203は、タッチスクリーン112におおよそ垂直である。
デバイスは、検出されたスタイラスの移動が1つ以上のスタイラス移動基準を満たすという判定に従って、複数の選択可能なメニューオプションを含むメニューをユーザインタフェース上に重ね合わせて表示する(3622)。例えば、図35Eは、検出されたスタイラスの移動(図35B〜35Eの)が1つ以上のスタイラス移動基準を満たすという判定に従って、ユーザインタフェース(例えば、ユーザインタフェース3520)上に重ね合わせてメニュー(例えば、メニュー3524)を表示することを示す。図35Fに示すように、メニューは、複数の選択可能なメニューオプション(例えば、メニューオプション3526−a〜3526−f)を含む。
いくつかの実施形態では、メニューは、カラーパレットであり、複数の選択可能なメニューオプションは、カラーパレット内の色である(3624)。例えば、図35Fに示すように、メニュー3524は、カラーパレットであり、複数の選択可能なメニューオプション(例えば、メニューオプション3526−a〜3526−f)は、カラーパレット内の色である。
デバイスは、複数の選択可能なメニューオプション内の第1のメニューオプションの選択を検出する(3626)。いくつかの実施形態では、第1のメニューオプションの選択を検出することは、スタイラスでのタップジェスチャ又は押圧ジェスチャなどの、第1のメニューオプション上のジェスチャを検出することを含む。例えば、図35Fは、タップジェスチャでメニューオプション3526−aを選択するスタイラス203を示す。
デバイスは、複数の選択可能なメニューオプション内の第1のメニューオプションの選択を検出したことに応じて、第1のメニューオプションに対応する動作を実行して、メニューを表示するのを中止する(3628)。メニューがカラーパレットであり、複数の選択可能なメニューオプションがカラーパレット内の色である、いくつかの実施形態では、第1のメニューオプションに対応する動作を実行することは、スタイラスによりエミュレートされている仮想描画手段の色を第1のメニューオプションの色に変更することを含む。図35Jに示すように、第1のメニューオプション(例えば、図35Fに示すようなメニューオプション3526−a)の選択を検出したことに応じて、仮想描画手段の色は、インジケータ3522内の更新された色のリングにより示すように、新たに選択された色に変更され、メニュー3524は、もはや表示されない。
いくつかの実施形態では、メニューを表示するのを中止することは、スタイラスにより吸収されるように見える第1のメニューオプションのアニメーションを表示することを含む(3630)。例えば、図35G〜35Iは、スタイラス203により吸収される(インクのように)ように見える第1のメニューオプション(例えば、メニューオプション3526−a)のアニメーションの実施例を示す。図35G〜35Iは、スタイラスにより吸収されるように見える第1のメニューオプションのアニメーションを表示する一実施例を示す。他の実施形態では、スタイラスにより吸収されるように見える第1のメニューオプションを示すために、異なるアニメーションシーケンスが使用される。
いくつかの実施形態では、デバイスは、1つ以上のスタイラス移動基準が満たされないという判定に従って、デバイスは、ユーザインタフェース上に重ね合わせてメニューを表示するのを取り止める(3632)。例えば、図35B〜35Eに示すスタイラスの移動が1つ以上のスタイラス移動基準を満たさない場合、次に、メニュー(例えば、メニュー3524)は、図35Eでユーザインタフェース3520上に表示されないであろう。
いくつかの実施形態では、スタイラスがタッチ感知ディスプレイに向かって移動するのを検出することは、スタイラスがタッチ感知ディスプレイ上のユーザインタフェース内の第1の位置に向かって移動するのを検出することを含み、ユーザインタフェース上に重ね合わせてメニューを表示することは、第1の位置に(又は第1の位置に隣接して、若しくは第1の位置の周囲に中心をおいて)ユーザインタフェース上に重ね合わせてメニューを表示することを含む(3634)。例えば、図35B〜35Eで、スタイラス203は、タッチスクリーン112上のユーザインタフェース3520内の第1の位置(例えば、目印3516の位置)に向かって移動し、図35Eで、ユーザインタフェース3520上に重ね合わさるメニュー(例えば、メニュー3524)は、第1の位置に(例えば、目印3516−eの位置の周囲に中心を置いて)表示される。
いくつかの実施形態では、スタイラスがタッチ感知ディスプレイに向かって移動するのを検出することは、ユーザインタフェース内の第1のオブジェクトがフォーカスを有している間にスタイラスが移動するのを検出することを含み、ユーザインタフェース上に重ね合わせてメニューを表示することは、第1のオブジェクトに又は第1のオブジェクトに隣接してユーザインタフェース上に重ね合わせてメニューを表示することを含む(3636)。例えば、スタイラスの移動(図35B〜35Eの)が1つ以上のスタイラス移動基準を満たしている間にユーザインタフェース3520内の第1のオブジェクトがフォーカスを有する場合(図35Bに示さない)、次に、ユーザインタフェース3520上に重ね合わさるメニュー(例えば、メニュー3524)は、図35Eで第1のオブジェクトに、又は第1のオブジェクトに隣接して表示される。
図36A〜36Cにおける動作について記載された特定の順序は単なる例示であり、記載された順序は、動作を実行することができる唯一の順序であることを示すことを意図するものではないことを理解されたい。当業者であれば、本明細書で説明される動作の再順序付けをする様々な方法を認識するであろう。更に、本明細書に記載の他の方法に関して本明細書に記載の他の処理の詳細(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載のもの)もまた、図36A〜図36Cに関連して上述した方法3600に類似の方法で適用できることを認識されたい。例えば、方法3600を参照して上述したスタイラスの姿勢状態特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力は、任意選択的に、本明細書で説明する他の方法(例えば、上記の「発明を実施するための形態」の第1のパラグラフに記載したもの)を参照して本明細書に記載のスタイラスの姿勢状態特性、移動、接触、ジェスチャ、ユーザインタフェースオブジェクト、及び出力の特性のうちの1つ以上を有する。簡潔にするために、これらの詳細は、ここでは繰り返さない。
いくつかの実施形態により、図37は、説明される様々な実施形態の原理に従って構成された、電子デバイス3700の機能ブロック図を示す。このデバイスの機能ブロックは、説明される様々な実施形態の原理を実行するために、ハードウェア、ソフトウェア、ファームウェア、又はそれらの組み合わせによって、任意選択的に実装される。図37で説明される機能ブロックが、説明される様々な実施形態の原理を実施するように、任意選択的に、組み合わされ、又はサブブロックに分離されることが当業者には理解されよう。したがって、本明細書における説明は、本明細書で説明されている機能ブロックの任意の可能な組み合わせ若しくは分離、又は更なる定義を任意選択的にサポートする。
図37に示すように、電子デバイス3700は、ユーザインタフェースを表示し、ユーザ接触(スタイラス接触を含む)を受信するように構成されたタッチ感知ディスプレイユニット3702と、デバイスに関連付けられたスタイラスからの信号を検出するように構成された1つ以上のセンサユニット3706と、タッチ感知ディスプレイユニット3702及び1つ以上のセンサユニット3706に結合された処理ユニット3708と、を含む。いくつかの実施形態では、処理ユニット3708は、表示有効化ユニット3710と、検出ユニット3712と、判定ユニット3714と、実行ユニット3716とを含む。
処理ユニット3708は、タッチ感知ディスプレイユニット3702上にユーザインタフェースの表示を有効にし(例えば、表示有効化ユニット3710で)、タッチ感知ディスプレイユニット3702上にユーザインタフェースの表示を有効にしている間に、スタイラスがタッチ感知ディスプレイユニット3702と接触することなくスタイラスがタッチ感知ディスプレイユニット3702に向かって移動するのを検出し(例えば、検出ユニット3712で)、タッチ感知ディスプレイユニット3702と接触することなくタッチ感知ディスプレイユニット3702に向かう検出されたスタイラスの移動が1つ以上のスタイラス移動基準を満たすか否かを判定し(例えば、判定ユニット3714で)、検出されたスタイラスの移動が1つ以上のスタイラス移動基準を満たすという判定に従って、複数の選択可能なメニューオプションを含むメニューのユーザインタフェース上に重ね合わせた表示を有効にし(例えば、表示有効化ユニット3710で)、複数の選択可能なメニューオプション内の第1のメニューオプションの選択を検出し(例えば、検出ユニット3712で)、複数の選択可能なメニューオプション内の第1のメニューオプションの選択を検出したことに応じて、第1のメニューオプションに対応する動作を実行して(例えば、実行ユニット3716で)、メニューを表示するのを中止する(例えば、表示有効化ユニット3710で)、ように構成される。
上述の情報処理方法での動作は、汎用プロセッサ(例えば、図1A及び図3に関連して上述されたようなもの)又は特定用途向けチップなどの、情報処理装置内の1つ以上の機能モジュールを稼働することによって、任意選択的に実施される。
図36A〜36Cを参照して上述された動作は、図1A〜1B、又は図37に示される構成要素によって、任意選択的に実施される。例えば、表示動作3602、検出動作3604、判定動作3608、表示動作3622、検出動作3626、及び実行動作3628は、イベントソート部170、イベント認識部180、及びイベント処理部190によって、任意選択的に実施される。イベントソート部170のイベントモニタ171は、タッチ感知ディスプレイ112上の接触(又は近接触)を検出し、イベントディスパッチャモジュール174は、イベント情報をアプリケーション136−1に配信する。アプリケーション136−1の対応するイベント認識部180は、そのイベント情報を対応するイベント定義186と比較し、タッチ感知面上の第1の位置での第1の接触(又は近接触)(又は、デバイスの回転)が、ユーザインタフェース上のオブジェクトの選択、又は1つの向きから別の向きへのデバイスの回転などの、既定のイベント又はサブイベントに対応するか否かを判定する。対応する既定のイベント又はサブイベントが検出されると、イベント認識部180は、イベント又はサブイベントの検出に関連付けられたイベント処理部190をアクティブ化する。イベント処理部190は、アプリケーション内部状態192を更新するために、データ更新部176若しくはオブジェクト更新部177を、任意選択的に用いるか又は呼び出す。いくつかの実施形態では、イベント処理部190は、アプリケーションにより表示されるものを更新するために、対応するGUI更新部178にアクセスする。同様に、当業者にとって、他の処理が図1A〜図1Bに示される構成要素に基づいてどのように実施され得るかは明らかであるだろう。
上記の説明は、説明のため、特定の実施形態について述べられたものである。しかしながら、上記の例示的な論考は、網羅的であること、又は本発明を、開示される厳密な形態に限定することを意図するものではない。上記の教示を鑑みて、多くの修正及び変形が可能である。本発明の原理及びその実際的な応用を最良の形で説明し、それによって他の当業者が、想到される特定の用途に好適な様々な改良で本発明及び様々な実施形態を最良の形で使用することを可能とするために、これらの実施形態を選択し説明した。