(57)【要約】      （修正有）【課題】アプリケーションレベルのソフトウェアに関するタッチイベントを処理する方法を提供する。【解決手段】単一の及び複数のタッチイベントの認識を単純化するために、特定のウィンドウ内の個々のビューをマルチタッチビュー又はシングルタッチビューのいずれかとして構成することができる。さらに、個々のビューを排他的ビュー又は非排他的ビューのいずれかとして構成することができる。ビューの構成に応じて、対象のビュー及びその他のビュー内のタッチイベントを無視するか、或いは認識するかのいずれかを行うことができる。無視されたタッチをアプリケーションへ送信する必要はない。選択的にタッチを無視することにより、さらに複雑なソフトウェア要素のように同じデバイス及び時点において実行される高度なマルチタッチ機能を利用しない、より単純なソフトウェア要素を実現できるようになる。【選択図】図１
2014063515.tif 000002
【特許請求の範囲】
【請求項１】
マルチタッチデバイスにおけるタッチイベントを処理する方法であって、
１又はそれ以上のビューを表示するステップと、
各々が特定のビューに関連付けられた１又はそれ以上のソフトウェア要素を実行するス
テップと、
マルチタッチフラグ又は排他的タッチフラグを個々のビューに関連付けるステップと、
前記１又はそれ以上のビューにおいて１又はそれ以上のタッチを受信するステップと、
前記マルチタッチフラグ及び前記排他的タッチフラグの値に基づいて、各々が受信したタッチについて記述する１又はそれ以上のタッチイベントを、タッチを受信した前記１又はそれ以上のビューに関連付けられた１又はそれ以上の前記ソフトウェア要素へ選択的に送信するステップと、
を含むことを特徴とする方法。
【請求項２】
マルチタッチフラグが特定のビューに関連付けられている場合、前記特定のビューにお
いて受信したタッチイベントと同時に起こる別のタッチイベントを、別のビューに関連付
けられたソフトウェア要素へ送信できるようにするステップをさらに含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
マルチタッチフラグが特定のビューに関連付けられている場合、前記マルチタッチフラ
グは、前記特定のビューに関連付けられた前記ソフトウェア要素が、前記ビューにおいて
行われる複数の同時に起こるタッチを処理できるかどうかを示す、
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記排他的タッチフラグは、アサートされた排他的タッチフラグを有する前記ビューに
おいてタッチを受信している間、前記アサートされた排他的タッチフラグを有するビュー
以外のビューに関連付けられたソフトウェア要素へタッチイベントが送信されないように
する、
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記マルチタッチデバイスは移動電話機である、
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記マルチタッチデバイスはデジタルメディアプレイヤである、
ことを特徴とする請求項１に記載の方法。
【請求項７】
マルチタッチフラグを第１のビューに関連付けるステップと、
前記１又はそれ以上のビューのうちの１つである前記第１のビューにおいて第１のタッ
チを受信するステップと、
前記第１のタッチについて記述するタッチイベントを、前記１又はそれ以上のソフトウ
ェア要素のうちの１つであるとともに前記第１のビューに関連付けられた第１のソフトウ
ェア要素へ送信するステップと、
前記第１のビューに関連付けられた前記マルチタッチフラグが、前記第１のビューがマ
ルチタッチビューであることを示すかどうかを判定するステップと、
前記第１のビューがマルチタッチビューでない場合、前記第１のタッチがもはや受信さ
れなくなるまで前記第１のビューにおいて行われる他の任意のタッチについて記述するす
べてのタッチイベントを妨げるステップと、
を含むことを特徴とする請求項１に記載の方法。
【請求項８】
排他的タッチフラグを前記１又はそれ以上のビューの各々に関連付けるステップと、
前記第１のビューに関連付けられた前記排他的タッチフラグが、前記第１のビューが排
他的タッチビューであることを示すかどうかを判定するステップと、
前記第１のビューが排他的タッチビューである場合、前記第１のタッチがもはや受信さ
れなくなるまで前記第１のビュー以外の任意のビューにおいて行われる他の任意のタッチ
について記述するすべてのタッチイベントを妨げるステップと、
を含むことを特徴とする請求項７に記載の方法。
【請求項９】
前記第１のビューは排他的タッチビューではなく、
前記方法は、
第２のビューにおいて行われるとともに第２のソフトウェア要素に関連付けられた、マ
ルチタッチパネルにおける第２のタッチを受信するステップと、
前記第２のビューに関連付けられた前記排他的タッチフラグが、前記第２のビューが排
他的タッチビューであることを示すかどうかを判定するステップと、
前記第２のビューが排他的タッチビューである場合、前記第１のタッチがもはや受信さ
れなくなるまで、前記第２のタッチに関連付けられたタッチイベントが前記第２のソフト
ウェア要素へ送信されないようにするステップと、
を含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記第２のビューが排他的タッチビューでない場合、前記第２のタッチについて記述す
るタッチイベントを前記第２のソフトウェア要素へ送信するステップをさらに含む、
ことを特徴とする請求項９に記載の方法。
【請求項１１】
マルチタッチデバイスにおける１又はそれ以上のタッチイベントを認識する方法であっ
て、
１又はそれ以上のビューを定めるステップと、
排他的タッチフラグ又はマルチタッチフラグを個々のビューに割り当てるステップと、
個々のビューに関する前記排他的タッチフラグ又は前記マルチタッチフラグに基づいて、個々のビューにおいて検出された１又はそれ以上のタッチイベントを受け入れるステップと、
を含むことを特徴とする方法。
【請求項１２】
マルチタッチデバイスにおいて実行するように構成された複数の命令を含むコンピュー
タ可読媒体であって、前記命令は、前記マルチタッチデバイスに、
１又はそれ以上のビューを表示させ、
各々が特定のビューに関連付けられた１又はそれ以上のソフトウェア要素を実行させ、
マルチタッチフラグ又は排他的タッチフラグを個々のビューに関連付けさせ、
前記１又はそれ以上のビューにおいて１又はそれ以上のタッチを受信させ、
前記マルチタッチフラグ及び前記排他的タッチフラグの値に基づいて、各々が受信したタッチについて記述する１又はそれ以上のタッチイベントを、タッチを受信した前記１又はそれ以上のビューに関連付けられた１又はそれ以上の前記ソフトウェア要素へ選択的に送信させる、
ように構成されたことを特徴とするコンピュータ可読媒体。
【請求項１３】
前記命令は、前記マルチタッチデバイスに、マルチタッチフラグが特定のビューに関連
付けられている場合、前記特定のビューにおいて受信したタッチイベントと同時に起こる
別のタッチイベントを、別のビューに関連付けられたソフトウェア要素へ送信できるよう
にさせるようにさらに構成された、
ことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１４】
マルチタッチフラグが特定のビューに関連付けられている場合、前記マルチタッチフラ
グは、前記特定のビューに関連付けられた前記ソフトウェア要素が、前記ビューにおいて
行われる複数の同時に起こるタッチを処理できるかどうかを示す、
ことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１５】
前記排他的タッチフラグは、アサートされた排他的タッチフラグを有する前記ビューに
おいてタッチを受信している間、前記アサートされた排他的タッチフラグを有するビュー
以外のビューに関連付けられたソフトウェア要素へタッチイベントが送信されないように
する、
ことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１６】
前記マルチタッチデバイスは移動電話機である、
ことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１７】
前記マルチタッチデバイスはデジタルメディアプレイヤである、
ことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１８】
前記命令は、前記マルチタッチデバイスに、
マルチタッチフラグを第１のビューに関連付けさせ、
前記１又はそれ以上のビューのうちの１つである前記第１のビューにおいて第１のタッ
チを受信させ、
前記第１のタッチについて記述するタッチイベントを、前記１又はそれ以上のソフトウ
ェア要素のうちの１つであるとともに前記第１のビューに関連付けられた第１のソフトウ
ェア要素へ送信させ、
前記第１のビューに関連付けられた前記マルチタッチフラグが、前記第１のビューがマ
ルチタッチビューであることを示すかどうかを判定させ、
前記第１のビューがマルチタッチビューでない場合、前記第１のタッチがもはや受信さ
れなくなるまで前記第１のビューにおいて行われる他の任意のタッチについて記述するす
べてのタッチイベントを妨げさせる、
ようにさらに構成されたことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１９】
前記命令は、前記マルチタッチデバイスに、
排他的タッチフラグを前記１又はそれ以上のビューの各々に関連付けさせ、
前記第１のビューに関連付けられた前記排他的タッチフラグが、前記第１のビューが排
他的タッチビューであることを示すかどうかを判定させ、
前記第１のビューが排他的タッチビューである場合、前記第１のタッチがもはや受信さ
れなくなるまで前記第１のビュー以外の任意のビューにおいて行われる他の任意のタッチ
について記述するすべてのタッチイベントを妨げさせる、
ようにさらに構成されたことを特徴とする請求項１８に記載のコンピュータ可読媒体。
【請求項２０】
前記第１のビューは排他的タッチビューではなく、前記命令は、前記マルチタッチデバ
イスに、
第２のビューにおいて行われるとともに第２のソフトウェア要素に関連付けられた、マ
ルチタッチパネルにおける第２のタッチを受信させ、
前記第２のビューに関連付けられた前記排他的タッチフラグが、前記第２のビューが排
他的タッチビューであることを示すかどうかを判定させ、
前記第２のビューが排他的タッチビューである場合、前記第１のタッチがもはや受信さ
れなくなるまで、前記第２のタッチに関連付けられたタッチイベントが前記第２のソフト
ウェア要素へ送信されないようにさせる、
ようにさらに構成されたことを特徴とする請求項１９に記載のコンピュータ可読媒体。
【請求項２１】
前記命令は、前記マルチタッチデバイスに、前記第２のビューが排他的タッチビューで
ない場合、前記第２のタッチについて記述するタッチイベントを前記第２のソフトウェア
要素へ送信させるようにさらに構成された、
ことを特徴とする請求項２０に記載のコンピュータ可読媒体。
【請求項２２】
マルチタッチデバイスにおいて実行するように構成された複数の命令を含むコンピュー
タ可読媒体であって、前記命令は、前記マルチタッチデバイスに、
１又はそれ以上のビューを定めさせ、
排他的タッチフラグ又はマルチタッチフラグを個々のビューに割り当てさせ、
個々のビューに関する前記排他的タッチフラグ又は前記マルチタッチフラグに基づいて、個々のビューにおいて検出された１又はそれ以上のタッチイベントを受け入れさせる、
ように構成されたことを特徴とするコンピュータ可読媒体。
【請求項２３】
マルチポイントデバイスにおけるポイントイベントを認識する方法であって、
１又はそれ以上のビューを表示するステップと、
各々が特定のビューに関連付けられた１又はそれ以上のソフトウェア要素を実行するス
テップと、
マルチポイントフラグ又は排他的ポイントフラグを個々のビューに関連付けるステップ
と、
前記１又はそれ以上のビューにおいて１又はそれ以上のポイント入力を受信するステッ
プと、
前記マルチポイントフラグ及び排他的ポイントフラグの値に基づいて、各々が受信した
ポイント入力について記述する１又はそれ以上のポイントイベントを、ポイント入力を受
信した前記１又はそれ以上のビューに関連付けられた１又はそれ以上の前記ソフトウェア
要素へ選択的に送信するステップと、
を含むことを特徴とする方法。
【請求項２４】
マルチポイントデバイスにおける１又はそれ以上のポイントイベントを認識する方法で
あって、
１又はそれ以上のビューを定めるステップと、
排他的ポイントフラグ又はマルチポイントフラグを個々のビューに割り当てるステップ
と、
個々のビューに関する前記排他的ポイントフラグ又はマルチポイントフラグに基づいて
、個々のビューにおいて検出された１又はそれ以上のポイントイベントを受け入れるステ
ップと、
を含むことを特徴とする方法。
【請求項２５】
マルチポイントデバイスにおいて実行するように構成された複数の命令を含むコンピュ
ータ可読媒体であって、前記命令は、前記マルチポイントデバイスに、
１又はそれ以上のビューを表示させ、
各々が特定のビューに関連付けられた１又はそれ以上のソフトウェア要素を実行させ、
マルチポイントフラグ又は排他的ポイントフラグを個々のビューに関連付けさせ、
前記１又はそれ以上のビューにおいて１又はそれ以上のポイント入力を受信させ、
前記マルチポイントフラグ及び前記排他的ポイントフラグの値に基づいて、各々が受信したポイント入力について記述する１又はそれ以上のポイントイベントを、ポイント入力を受信した前記１又はそれ以上のビューに関連付けられた１又はそれ以上の前記ソフトウェア要素へ選択的に送信させる、
ように構成されたことを特徴とするコンピュータ可読媒体。
【請求項２６】
マルチポイントデバイスにおいて実行するように構成された複数の命令を含むコンピュ
ータ可読媒体であって、前記命令は、前記マルチポイントデバイスに、
１又はそれ以上のビューを定めさせ、
排他的ポイントフラグ又はマルチポイントフラグを個々のビューに割り当てさせ、
個々のビューに関する前記排他的ポイントフラグ又はマルチポイントフラグに基づいて
、個々のビューにおいて検出された１又はそれ以上のポイントイベントを受け入れさせる
、
ように構成されたことを特徴とするコンピュータ可読媒体。
【請求項２７】
移動電話機において実行するように構成された複数の命令を含むコンピュータ可読媒体
を含むマルチタッチ対応移動電話機であって、前記命令は、前記移動電話機に、
１又はそれ以上のビューを表示させ、
各々が特定のビューに関連付けられた１又はそれ以上のソフトウェア要素を実行させ、
マルチタッチフラグ又は排他的タッチフラグを個々のビューに関連付けさせ、
前記１又はそれ以上のビューにおいて１又はそれ以上のタッチを受信させ、
前記マルチタッチフラグ及び排他的タッチフラグの値に基づいて、各々が受信したタッ
チについて記述する１又はそれ以上のタッチイベントを、タッチを受信した前記１又はそ
れ以上のビューに関連付けられた１又はそれ以上の前記ソフトウェア要素へ選択的に送信
させる、
ように構成されたことを特徴とするマルチタッチ対応移動電話機。
【請求項２８】
デジタルメディアプレイヤにおいて実行するように構成された複数の命令を含むコンピ
ュータ可読媒体を含むマルチタッチ対応デジタルメディアプレイヤであって、前記命令は
、前記デジタルメディアプレイヤに、
１又はそれ以上のビューを表示させ、
各々が特定のビューに関連付けられた１又はそれ以上のソフトウェア要素を実行させ、
マルチタッチフラグ又は排他的タッチフラグを個々のビューに関連付けさせ、
前記１又はそれ以上のビューにおいて１又はそれ以上のタッチを受信させ、
前記マルチタッチフラグ及び排他的タッチフラグの値に基づいて、各々が受信したタッ
チについて記述する１又はそれ以上のタッチイベントを、タッチを受信した前記１又はそ
れ以上のビューに関連付けられた１又はそれ以上の前記ソフトウェア要素へ選択的に送信
させる、
ように構成されたことを特徴とするマルチタッチ対応デジタルメディアプレイヤ。
【請求項２９】
特定の時点における、マルチタッチパネルにおいて受信した、或いは受信している単一
のタッチの状態を定めるタッチデータ構造を含むコンピュータ可読媒体であって、該タッ
チデータ構造は、
前記特定の時点における前記タッチの局面を定めるフェーズフィールドと、
前記タッチを受信した、或いは受信しているビューを示すビューフィールドと、
前記タッチを現在受信している位置を示すロケーションフィールドと、
を含むことを特徴とするコンピュータ可読媒体。
【請求項３０】
特定の時点における、マルチタッチパネルにおいて受信した、或いは受信している２又
はそれ以上のタッチの前記状態を示すタッチイベントデータ構造をさらに含み、該タッチ
イベントデータ構造は、請求項２９に記載の複数の前記タッチデータ構造を含み、個々の
データ構造は前記２又はそれ以上のタッチのうちの１つに関連付けられる、
ことを特徴とする請求項２９に記載のコンピュータ可読媒体。
【請求項３１】
前記タッチデータ構造は、
特定の時点を示すタイムフィールドと、
前記タッチを受信した、或いは受信しているウィンドウを示すウィンドウフィールドと
、
前記タッチを前回受信した位置を示す前回のロケーションフィールドと、
前記タッチが、前記タッチを受信した、或いは受信しているビューに対する最初のタッ
チであるかどうかを示すビューに対する最初のタッチフィールドと、
をさらに含むことを特徴とする請求項２９に記載のコンピュータ可読媒体。
【請求項３２】
前記タッチデータ構造は、現在のタッチがスワイプの動きを含むかどうか、及び前記現
在のタッチが前記スワイプの動きを含む場合、前記動きが揃えられる一般的な方向を示す
ｉｎｆｏフィールドをさらに含む、
ことを特徴とする請求項２９に記載のコンピュータ可読媒体。
【請求項３３】
前記フェーズフィールドは、前記タッチが前記特定の時点において開始された新たなタ
ッチであることを示す値を保持する、
ことを特徴とする請求項２９に記載のコンピュータ可読媒体。
【請求項３４】
前記フェーズフィールドは、前記タッチが前回の位置から新しい位置へ動かされたこと
を示す値を保持する、
ことを特徴とする請求項２９に記載のコンピュータ可読媒体。
【請求項３５】
前記フェーズフィールドは、前記タッチが、該タッチに関する前回のデータ構造が発行
されてからずっと静止したままであることを示す値を保持する、
ことを特徴とする請求項２９に記載のコンピュータ可読媒体。
【請求項３６】
前記タッチの位置において連続して行われた短いタップの回数を示すタップカウントフ
ィールドをさらに含む、
ことを特徴とする請求項２９に記載のコンピュータ可読媒体。
【請求項３７】
前記フェーズフィールドは、前記タッチが終了したことを示す値を保持する、
ことを特徴とする請求項２９に記載のコンピュータ可読媒体。
【請求項３８】
前記フェーズフィールドは、マルチタッチパネル、又はマルチタッチパネルを備えるデ
バイスのその他の要素により、前記タッチがキャンセルされたことを示す値を保持する、
ことを特徴とする請求項２９に記載のコンピュータ可読媒体。
【請求項３９】
マルチタッチパネルと、特定の時点における、前記マルチタッチパネルにおいて受信し
た、或いは受信している単一のタッチの状態を定めるタッチデータ構造を含むコンピュー
タ可読媒体とを備えたデバイスであって、前記タッチデータ構造は、
前記特定の時点における前記タッチの局面を定めるフェーズフィールドと、
前記タッチを受信した、或いは受信しているビューを示すビューフィールドと、
前記タッチを現在受信している位置を示すロケーションフィールドと、
を含むことを特徴とするコンピュータ可読媒体。
【請求項４０】
マルチタッチ対応デバイスを動作させる方法であって、
ビューの視覚表示をディスプレイに表示する、前記ビューを表すソフトウェア要素を実
行するステップと、
マルチタッチパネルにおけるタッチを検出するステップと、
特定の時点におけるタッチの状態を定めるためのデータ構造を生成するステップと、
を含み、前記データ構造は、
前記特定の時点における前記タッチの局面を定めるフェーズフィールドと、
前記タッチを受信した、或いは受信しているビューを示すビューフィールドと、
前記タッチを現在受信している位置を示すロケーションフィールドと、
を含むことを特徴とする方法。
【請求項４１】
ディスプレイと、マルチタッチパネルと、ユーザインタフェースソフトウェアとやりと
りを行うアプリケーションソフトウェアとを有するデバイスを含む環境において、アプリ
ケーションプログラミングインタフェース（ＡＰＩ）を通じて動作する方法であって、
マルチタッチパネルにおけるタッチを検出するステップと、
特定の時点におけるタッチの状態を定めるためのデータ構造を生成するステップと、
を含み、前記データ構造は、
前記特定の時点における前記タッチの局面を定めるフェーズフィールドと、
前記タッチを受信した、或いは受信しているビューを示すビューフィールドと、
前記タッチを現在受信している位置を示すロケーションフィールドと、
を含み、
前記ユーザインタフェースソフトウェアにより、前記データ構造を前記アプリケーショ
ンソフトウェアへ送信するステップをさらに含む、
ことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にマルチポイント及びマルチタッチ対応デバイスに関し、より具体的に
は、マルチポイント及びマルチタッチ対応デバイスにおいて単一の及び複数のポイント及
びタッチイベントを認識することに関する。
【背景技術】
【０００２】
マルチタッチ対応デバイスは当業で公知である。マルチタッチ対応デバイスとは、同時
に複数のタッチを感知できるデバイスのことである。従って、マルチタッチ対応デバイス
は、例えば、パネル上に押し下げられる２本の指により、マルチタッチパネル上の２つの
異なる位置において行われる２つのタッチイベントを感知することができる。マルチタッ
チ対応デバイスの例については、２００７年１月３日に出願された「近接センサ及びマル
チタッチセンサの検出及び復調」という名称の米国特許出願第１１／６４９，９９８号に
おいて解説されており、該特許は全体が引用により本明細書に組み入れられる。マルチタ
ッチ対応デバイスのみならず、米国特許出願第１１／６４９，９９８号において解説され
るマルチ近接センサデバイスのような同様のデバイスを含むさらに多くの一般的なデバイ
スの組がマルチポイント対応デバイスとして定められる。
【０００３】
マルチタッチ対応インタフェースの利点は知られているが、これらのデバイスは、いく
つかのインタフェースの設計課題を示すことができる。既存のインタフェースの設計規定
は、一度に１つの位置の特定しか行わないシングルポインティング式のユーザ入力デバイ
スを想定したものである。例として、マウス又はタッチパッドが挙げられる。
【０００４】
さらに詳細には、多くの既存のグラフィックユーザインタフェース（ＧＵＩ）システム
が提供するユーザインタフェースにおいては、ディスプレイの様々な部分が別個のソフト
ウェア要素に関連付けられる。従って、例えば、ディスプレイの部分をウィンドウに関連
付け、ウィンドウを特定のソフトウェアアプリケーション及び／又は処理に関連付けるこ
とができる。マウスを使用してウィンドウとやりとりを行い、アプリケーション又は処理
をウィンドウに関連付けることができる。このとき、マウスカーソルを別のウィンドウへ
移動させて、別のアプリケーション又は処理とやりとりを行うことができる。シングルポ
インティングデバイスのみを使用するため、一度に１つのウィンドウ及びアプリケーショ
ン又は処理とのやりとりしか行うことができない。
【０００５】
任意の一時点におけるウィンドウとの１回のやりとりを想定することにより、ユーザイ
ンタフェースの設計を大幅に単純化することができる。ウィンドウ内で実行するアプリケ
ーション及び／又は処理は、この特定のウィンドウとの検出されたやりとりが、受け取る
唯一の入力であるという想定の下で動作することができる。従って、アプリケーション及
び／又は処理は、ウィンドウ外のディスプレイの他の部分で別のユーザインタラクション
が行われる可能性に関心を持つ必要はない。さらに、追加的にウィンドウを様々な要素に
分割して、個々の要素をウィンドウの特定の部分に関連付けることもできる。（ソフトウ
ェアオブジェクトなどの）別個のソフトウェア要素が、個々の要素を実行することができ
る。この場合も、個々のソフトウェアオブジェクトは、どこか別の場所で同時に行われる
可能性のあるやりとりとは無関係に、関連する領域で行われるやりとりを処理することが
できる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許出願第１１／６４９，９９８号
【特許文献２】米国特許出願第１０／９０３，９６４号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一方、マルチタッチインタフェースを使用する場合、ディスプレイの異なる部分におい
て２又はそれ以上のタッチイベントを同時に行うことができる。このことにより、ディス
プレイを異なる部分に分割し、個々の部分に関連付けられたやりとりを異なる独立したソ
フトウェア要素に処理させることが困難になる可能性がある。さらに、ディスプレイを異
なる部分に分割したとしても、マルチタッチイベントが１つの部分で行われる可能性があ
る。従って、１つのアプリケーション、処理、又は別のソフトウェア要素が、複数の同時
に行われるタッチイベントを処理する必要が生じる場合がある。しかしながら、個々のア
プリケーション、処理、又はその他のソフトウェア要素が複数のタッチインタラクション
を考慮する必要がある場合、全体のコスト及びマルチタッチ対応デバイスにおいて実行す
るソフトウェアの複雑性は、望まずとも高くなってしまう。さらに詳細には、個々のアプ
リケーションが、入力される大量のタッチデータを処理する必要が生じる可能性がある。
これにより、表面上単純な機能のアプリケーションにおいて高度の複雑性が要求され、マ
ルチタッチ対応デバイスのためのプログラミングが一般に困難かつ高価なものになる場合
がある。また、シングルポインティングデバイスを想定した既存のソフトウェアは、マル
チポイント又はマルチタッチ対応デバイス上で動作できるバージョンへ転用又は移植する
のが非常に困難であると考えられる。
【課題を解決するための手段】
【０００８】
本発明の実施形態は、アプリケーションレベルのソフトウェアに関するタッチイベント
を定めるための方法、ソフトウェア、デバイス及びＡＰＩに関する。さらに、実施形態の
なかには、マルチタッチ対応デバイスにおいて実行するアプリケーションに関する単一の
及び複数のタッチイベントの認識を単純化することに関するものもある。単一の及び複数
のタッチイベントの認識を単純化するために、特定のウィンドウ内の個々のビューをマル
チタッチビュー又はシングルタッチビューのいずれかとして構成することができる。さら
に、個々のビューを排他的ビュー又は非排他的ビューのいずれかとして構成することがで
きる。ビューの構成に応じて、対象のビュー及びその他のビュー内のタッチイベントを無
視するか、或いは認識するかのいずれかを行うことができる。無視されたタッチをアプリ
ケーションへ送信する必要はない。選択的にタッチを無視することにより、さらに複雑な
アプリケーション又はソフトウェア要素のように同じデバイスにおいて（及びさらに同時
に）実行される高度なマルチタッチ機能を利用しない、より単純なアプリケーション又は
ソフトウェア要素を実現できるようになる。
【図面の簡単な説明】
【０００９】
【図１】本発明の１つの実施形態による例示的なマルチタッチ対応デバイスの入/出力処理スタックを示す図である。
【図２Ａ】本発明の１つの実施形態による例示的なマルチタッチ対応デバイスを示す図である。
【図２Ｂ】本発明の１つの実施形態による別の例示的なマルチタッチ対応デバイスを示す図である。
【図３】本発明の１つの実施形態による例示的なマルチタッチディスプレイを示す図である。
【図４】本発明の１つの実施形態による例示的なマルチタッチフラグの動作方法を示すフロー図である。
【図５Ａ】本発明の１つの実施形態による例示的な排他的タッチフラグの動作方法を示すフロー図である。
【図５Ｂ】本発明の１つの実施形態による例示的な排他的タッチフラグの動作方法を示すフロー図である。
【発明を実施するための形態】
【００１０】
以下の好ましい実施形態についての説明では、本明細書の一部を形成する添付図面を参
照し、該図面において、本発明を実施することができる特定の実施形態を例示として示す
。本発明の好ましい実施形態の範囲から逸脱することなく、別の実施形態を利用すること
もでき、構造的な変更を行うこともできる。
【００１１】
本発明は、マルチポイント及びマルチタッチ対応デバイスにおいて実行するユーザイン
タフェースアプリケーションに関する単一の及び複数のタッチイベントの認識を単純化す
るタッチイベントモデルに関する。単一の及び複数のタッチイベントの認識を単純化する
ために、特定のウィンドウ内の個々のビューをマルチタッチビュー又はシングルタッチビ
ューのいずれかとして構成することができる。さらに、個々のビューを排他的ビュー又は
非排他的ビューのいずれかとして構成することができる。ビューの構成に応じて、対象の
ビュー及び別のビュー内のタッチイベントを無視するか、或いは認識するかのいずれかを
行うことができる。
【００１２】
本明細書では本発明の実施形態について特定のマルチタッチ対応デバイスに関連して説
明し、例示するが、本発明の実施形態はこのようなデバイスに限定されるものではなく、
一般にいずれのマルチタッチ対応デバイスに対しても適用することができる。さらに、本
発明の実施形態はマルチタッチデバイスに限定されるわけではなく、上述の米国特許出願
第１１／６４９，９９８号において解説されているようなマルチ近接センサデバイスなど
のマルチポイントデバイスも含む。
【００１３】
実施形態のなかにはＡＰＩに関連するものもある。一般に、ＡＰＩとは、サービスに対
する要求をソフトウェアの動作からサポートするためにコンピュータシステムが提供する
ソースコードインタフェースのことである。ＡＰＩは、データをメモリ内にレイアウトす
る方法をマシン語で明確に記述したものではなく、システムが構築される際に翻訳又はコ
ンパイルできるプログラム言語を用いて仕様化される。ＡＰＩの機能を提供するソフトウ
ェアのことを、ＡＰＩの実装という。コンピュータシステム、電子デバイス、ポータブル
デバイス及びハンドヘルドデバイスなどの様々なデバイスは、ソフトウェアアプリケーシ
ョンを有する。これらのデバイスは、ソフトウェアアプリケーションとユーザインタフェ
ースソフトウェアとの間でインタフェース接続を行って、デバイスのユーザに特定の機能
及び動作を提供する。
【００１４】
本発明の少なくともいくつかの実施形態は、ソフトウェアアプリケーションとやりとり
するユーザインタフェースソフトウェアを含む環境に１又はそれ以上のＡＰＩを含めるこ
とができる。様々な関数呼出し又はメッセージが、ユーザインタフェースソフトウェアと
ソフトウェアアプリケーションとの間でＡＰＩを介して転送される。この関数呼出し又は
メッセージの転送は、関数呼出し又はメッセージの発行、開始、呼び出し、又は受信を含
むことができる。ＡＰＩの例は、タッチイベント情報の送信を含むことができる。ＡＰＩ
はまた、パラメータ、変数又はポインタを含む関数を実行することもできる。ＡＰＩは、
開示された形で、又は別のパラメータの組み合わせの形でパラメータを受信することがで
きる。開示されたＡＰＩに加え、別のＡＰＩを個々に、或いは組み合わせて、開示された
ＡＰＩと同様の機能を実行することができる。
【００１５】
図１は、本発明のいくつかの実施形態による例示的なマルチタッチ対応デバイスの入／
出力処理スタックを示す図である。マルチタッチ対応デバイスの基礎レベルにハードウェ
ア１００を備えることができる。ハードウェア１００は、マルチタッチ対応パネル１０１
及び／又は加速度計１０２などの様々なハードウェアインタフェースコンポーネントを含
むことができる。マルチタッチパネルは、同時に複数のタッチを感知するディスプレイ及
びパネルを含むことができる。このようなパネルの例については、上述した第１１／６４
９，９９８号の出願においてより詳細に解説されている。加速度計は、マルチタッチ対応
デバイスの加速度を感知するハードウェアデバイスであってもよい。加速度計を使用して
、デバイスが動いた場合、どのように動いたか、落下したのかどうか等を感知することが
できる。ジャイロスコープ、スピーカ、ボタン、赤外線（ＩＲ）センサ等（図示せず）の
他のハードウェアインタフェースデバイスを含むこともできる。
【００１６】
ドライバ又はドライバの組１０３は、ハードウェア１００と通信することができる。ド
ライバは、ハードウェアから入力データを受信し、受信した入力データを処理することが
できる。コアオペレーティングシステム（ＯＳ）１０４は、（単複の）ドライバと通信す
ることができる。コアＯＳは、（単複の）ドライバから受信した未加工の入力データを処
理することができる。いくつかの実施形態では、ドライバをコアＯＳの一部と見なすこと
ができる。
【００１７】
アプリケーションプログラミングインタフェース（ＡＰＩ）の組１０５は、コアＯＳと
通信することができる。これらのＡＰＩは、通常、（例えば、Ｌｉｎｕｘ又はＵＮＩＸ  
ＡＰＩなどの）オペレーティングシステムに付属しているＡＰＩの組であってもよい。ユ
ーザインタフェースＡＰＩ１０６（ＵＩ  ＡＰＩ）は、デバイス上で実行するアプリケー
ションが使用するように設計されたＡＰＩの組を含むことができる。ＵＩ  ＡＰＩはＯＳ
ＡＰＩを利用することができる。デバイス上で実行するアプリケーション１０７は、ユ
ーザと通信するためにＵＩ  ＡＰＩのＡＰＩを利用することができる。そして、ＵＩ  Ａ
ＰＩが下位レベル要素と通信して、最終的にマルチタッチパネル１０１及び様々な他のユ
ーザインタフェースハードウェアと通信する。個々の層は下部層を利用できるが、必ずし
もそれが必要なわけではない。例えばいくつかの実施形態では、アプリケーション１０７
は、場合によってはＯＳ  ＡＰＩ１０５と通信することができる。ＡＰＩ１０５及び１０
６は、アプリケーションプログラミングインタフェースのそれぞれの組と同時にこれらＡ
ＰＩのそれぞれの実装を含むことができる。例えば、ＵＩ  ＡＰＩ１０６はまた、ＵＩ  
ＡＰＩを実装するためのユーザインタフェース（ＵＩ）ソフトウェアを含むこともできる
。
【００１８】
図２Ａ及び図２Ｂは、本発明のいくつかの実施形態による２種類の例示的なマルチタッ
チ対応デバイスを示す図である。図２Ａは例示的なデバイス２００を示す図である。デバ
イス２００は、バス２０４を介して接続されたＣＰＵ２０１及びメモリ２０２を含むこと
ができる。バスは、マルチタッチディスプレイ２０３と接続することもできる。マルチタ
ッチディスプレイは、マルチタッチパネル及びディスプレイを含むことができる。マルチ
タッチパネルとディスプレイとを組み合わせて、マルチタッチディスプレイ２０３を形成
することができる。マルチタッチディスプレイは、図１のハードウェア層１００内のマル
チタッチパネル１０１に対応することができる。ＣＰＵを使用して、メモリに記憶された
ソフトウェアを実行することができる。ＣＰＵにより実行されるソフトウェアは、図１の
層１０３〜１０９を含むことができる。従って、ソフトウェアは、ドライバ、ＯＳ、様々
なＡＰＩ及びアプリケーションを含むことができる。
【００１９】
図２Ｂは別のデバイス２１０を示す図である。デバイス２１０はデバイス２００と同様
のものであってもよい。しかしながら、デバイス２１０は、デバイス２００の単一ユニッ
トではなく別個のマルチタッチパネル（２１２）及びディスプレイ（２１１）を含むこと
ができる。従って、デバイス２１０では、マルチタッチパネルとやりとりするためにディ
スプレイにタッチする必要はない。デバイス２１０は、例えば、マルチタッチトラックパ
ッドを装備したラップトップ型コンピュータ（トラックパッドとして機能するマルチタッ
チパネル）であってもよい。
【００２０】
図２Ａ及び図２Ｂのマルチタッチパネル及び／又はディスプレイはまた、上述の米国出
願第１１／６４９，９９８号において解説されている近接感知などの別の感知技術を利用
することもできる。一般に、図２Ａ及び図２Ｂのデバイスにマルチポイントパネル及び／
又はディスプレイを使用することができる。マルチポイントパネル及び／又はディスプレ
イは、様々な種類のセンサ技術を特徴として有することができる。例えば、これらは、マ
ルチタッチ技術のみ（従って、マルチタッチパネル及び／又はディスプレイということに
なる）、マルチ近接感知技術、これら両方の組み合わせ、又は別の種類のマルチポイント
技術を特徴として有することができる。
【００２１】
図２Ａ及び図２Ｂのデバイスは、様々な異なる種類のマルチタッチ対応デバイスを含む
ことができる。例えば、これらは、移動電話機、ポータブルビデオゲーム機、電子音楽プ
レイヤ、電子ブック、ＰＤＡ、電子手帳、電子メールデバイス、ラップトップ型又は別の
パーソナルコンピュータ、キオスクコンピュータ、自動販売機等を含むことができる。
【００２２】
図３は、例示的なマルチタッチディスプレイ３００を示す図である。このマルチタッチ
ディスプレイは、図２Ａのディスプレイ２０３又は図２Ｂのディスプレイ２１１であって
もよい。このディスプレイは、（図２Ａのデバイス２００又は図２Ｂのデバイス２１０な
どの）ディスプレイと一体化されたデバイスにおいて実行するソフトウェアにより生成さ
れた（グラフィクスなどの）様々なユーザインタフェース要素を表示することができる。
ユーザは、ソフトウェアとやりとりするために、様々なユーザインタフェース要素とやり
とりすることができる。図２Ａのデバイスを使用する場合、ユーザは、ディスプレイを直
接タッチすることによりユーザインタフェース要素とやりとりすることができる。図２Ｂ
のデバイスを使用する場合、ユーザは、ソフトウェアとのやりとりに使用する、ディスプ
レイ２１１上の１又はそれ以上のカーソルを移動及び制御するために、別個のマルチタッ
チパネル２１２にタッチすることができる。
【００２３】
ディスプレイ３００に表示されるユーザインタフェース要素は、１又はそれ以上のビュ
ーを含むことができる。個々のビューは、別個のソフトウェア要素が対応するグラフィッ
クユーザインタフェース要素を表すことができる。別個のソフトウェア要素は、異なるア
プリケーション、（同じアプリケーション内のものであったとしても）異なる処理又はス
レッド、異なるルーチン又はサブルーチン、異なるオブジェクト等を含むことができる。
いくつかの実施形態では、個々の別個のソフトウェア要素は、ディスプレイのそれぞれの
部分に対応するユーザインタフェース要素を作成すると同時に、ディスプレイの該当する
部分に対して行われるタッチ入力を受信し、これに対応することができる。図１に関連し
て解説した様々な層により、タッチ入力を処理することができ、その後これらの層は、処
理済みの入力データをソフトウェア要素（これはアプリケーション１０９の一部であって
もよい）へ送信することができる。処理済みのタッチ入力データを（単複の）タッチイベ
ントと呼ぶことができ、これらをマルチタッチパネルにより生成された未加工のタッチデ
ータよりも対応が簡単なフォーマットにすることができる。例えば、個々のタッチイベン
トは、現在タッチが行われている座標の組を含むことができる。いくつかの実施形態では
、この座標の組はタッチの重心に対応するものであってもよい。説明を簡潔かつ単純にす
るために、以下の解説は、単純にビュー自体を参照することにより、ビューに関連付けら
れたソフトウェア要素に言及できるものとする。
【００２４】
ビューはネスティングすることができる。換言すれば、ビューは他のビューを含むこと
ができる。従って、第１のビューに関連付けられたソフトウェア要素は、第１のビュー内
のビューに関連付けられた１又はそれ以上のソフトウェア要素を含み、或いはこれにリン
クすることができる。アプリケーションに関連付けできるビューもあれば、グラフィック
ユーザインタフェース、ウィンドウマネージャなどの高レベルなＯＳ要素に関連付けでき
るビューもある。
【００２５】
図３の例示的なディスプレイは、音楽閲覧用アプリケーションを示す。このディスプレ
イは、デバイス全体の状態を示すステータスバービュー３０１を含むことができる。ステ
ータスバービューはＯＳの一部であってもよい。タイトルビュー３０２を含むこともでき
る。タイトルビューは、それ自体がセンタータイトルビュー３１０、バックボタン３１２
及びフォワードボタン３１１などの複数の他のビューを含むことができる。テーブルビュ
ー３０３を含むこともできる。テーブルビュー３０３は、テーブル要素ビュー３０４など
の１又はそれ以上のテーブル要素ビューを含むことができる。図示のように、１つの実施
形態では、テーブル要素ビューは曲名であってもよい。ボタンバービュー３０５を含むこ
ともできる。ボタンバービューはボタン３０６〜３０９を含むことができる。
【００２６】
個々のビュー及びその関連するソフトウェア要素は、これらの特定のビューにおいて行
われるタッチイベントを受信し、処理し、これに対応することができる。従って、例えば
、ユーザが曲名ビュー３０４にタッチした場合、このビューに関連付けられたソフトウェ
ア要素は、ビューがタッチされたことを示すタッチイベントを受信し、これを処理し、適
宜対応することができる。例えば、ソフトウェア要素は、ビューのグラフィック表示を変
更し（すなわちビューを強調表示し）、及び／又はタッチされたビューに関連付けられた
曲を演奏するなどの別のアクションを引き起こすことができる。
【００２７】
いくつかの実施形態では、タッチイベントはビュー階層の最下位レベルにおいて処理さ
れる。従って、例えば、ユーザがタイトルバービュー３０２にタッチした場合、タイトル
バービューに関連付けられたソフトウェア要素がこのタッチイベントを直接処理する必要
はなく、代わりに、タッチが行われたタイトルバービュー内に含まれるビューに関連付け
られたソフトウェア要素（すなわち、ビュー３１０、３１１及び３１２のうちの１つに関
連付けられたソフトウェア要素）がこれを処理することができる。いくつかの実施形態で
は、より高レベルのビューのなかにはタッチイベントに対応できるものもある。また、タ
ッチされたビューに関連付けられていない様々なソフトウェア要素が、関連付けられてい
ないにもかかわらず、ビューがタッチされた旨の通知を受けたり、或いはこのことを発見
することができる。
【００２８】
ディスプレイ３００はマルチタッチディスプレイであるため、同時に複数のタッチを行
うことができる。同じビューにおいて、或いは２又はそれ以上の異なるビューにおいて複
数のタッチを行うことができる。さらに、ユーザは、（例えば、１又はそれ以上の指を押
し下げ、それらを動かすことにより）予め定めた意味を含むことができるジェスチャを行
うことができる。マルチタッチジェスチャについては、２００４年７月３０日に出願され
た「タッチセンシティブ入力デバイスに対するジェスチャ」という名称の米国特許出願第
１０／９０３，９６４号においてより詳細に解説されており、該特許は全体が引用により
本明細書に組み入れられる。
【００２９】
ビューは、ビュー内で開始するタッチイベントを受信することができる。ユーザが指を
ディスプレイに押し付けて保持した場合、ビューは、連続タッチを示す複数のタッチイベ
ントを受信することができる。ユーザが押し付けた指を動かした場合、ビューは、タッチ
の動きを示す複数のタッチイベントを受信することができる。ユーザが押し付けた指をビ
ューの外へ動かした場合、ビューは、この動きに関連付けられたタッチイベントをそのま
ま受信することができる（指を動かした先のビューは、このようなタッチイベントを受信
する必要はない）。このように、ビューは、ビューの場所から開始されたジェスチャ又は
動きがビューの外へ続けられた場合であっても、これらに関連付けられたイベントを受信
することができる。
【００３０】
タッチとは、指又は体の他の一部或いは物体をマルチタッチパネル（又はマルチタッチ
ディスプレイ）の表面に押し付けたことから始まり、指又は物体がディスプレイから除去
されたときに終了する行為のことを意味する。従って、タッチは、指又は物体を動かすこ
と、或いは指又は物体を一定の時間同じ場所で保持することを含むことができる。
【００３１】
１又はそれ以上のＡＰＩ（及びこれらのそれぞれの実装）によって、タッチイベントを
ビュー（又はビューを実行するソフトウェア要素）へ送信することができる。タッチイベ
ントに対応するためのＡＰＩの例については、以下に別紙Ａで提供する。別紙ＡのＡＰＩ
によれば、ＡＰＩは、１又はそれ以上のシングルタッチデータ構造（又はタッチデータ構
造）を含むタッチイベントデータ構造を個々のビューへ送信することができる。個々のタ
ッチイベントデータ構造は、ある特定の時点にビューにおいて行われるすべてのタッチの
現在の状態を定めることができる。タッチイベントデータ構造内のそれぞれのタッチデー
タ構造は、ある特定の時点における１又はそれ以上のそれぞれのシングルタッチの現在の
状態を定めることができる。従って、ある特定の時点に特定のビューにおいて行われる３
つのタッチが存在する場合、５つのタッチの状態を定める３つのタッチデータ構造を含む
タッチイベントデータ構造をビューへ送信できることになる。いくつかの実施形態では、
タッチデータ構造と関連するタッチがもはや行われていない場合でも、タッチが終了した
ことをビューに通知するために、タッチデータ構造を送信することができる。
【００３２】
上述したように、タッチは、瞬間的に行う必要のない行為を含むことができる。例えば
、タッチは、一定の時間ディスプレイに対して指を動かし、或いは保持する行為を含むこ
とができる。しかしながら、タッチデータ構造は、ある特定の時点におけるタッチの状態
を定める。従って、複数のタッチデータ構造を単一のタッチに関連付けることにより、異
なる時点における単一のタッチを定めることができる。
【００３３】
個々のタッチデータ構造は様々なフィールドを含むことができる。「ビューに対する最
初のタッチ」フィールドは、タッチデータ構造がある特定のビューに対する最初のタッチ
を定めるかどうかを示すことができる（というのは、ビューを実行するソフトウェア要素
のインスタンスが作成されるからである）。「タイムスタンプ」フィールドは、タッチデ
ータ構造が関連する特定の時点を示すことができる。
【００３４】
「ｉｎｆｏ」フィールドを使用して、タッチが基本的なジェスチャであるかどうかを示
すことができる。例えば、「ｉｎｆｏ」フィールドは、タッチがスワイプであるかどうか
、また、もしそうであれば、このスワイプがどの方向に向けられたものであるかを示すこ
とができる。スワイプとは、１又はそれ以上の指を真っ直ぐな方向に素早くドラッグする
ことである。ＡＰＩの実装は、タッチがスワイプであるかどうかを判断し、「ｉｎｆｏ」
フィールドを介してその情報をアプリケーションへ受け渡すことができ、このようにして
、タッチがスワイプであった場合に必要となる何らかのデータ処理を行うアプリケーショ
ンを軽減させる。
【００３５】
「タップカウント」フィールドは、タッチが発生した位置においてタップが何回連続し
て行われたかを示すことができる。タップとは、ある特定の位置においてパネルに対して
指を素早く押し、持ち上げることであると定義することができる。パネルの同じ位置にお
いて立て続けに指を押して離せば、複数の連続したタップを行うことができる。従って、
ＡＰＩの実装は、様々なアプリケーションに対してタップをカウントし、「タップカウン
ト」フィールドを介してこの情報を中継することができる。同じ位置における複数のタッ
プは、タッチ対応インタフェースが命令を記憶するのに非常に有用かつ簡単なものである
と考えられることがある。従って、タップをカウントすることにより、ＡＰＩは、この場
合もアプリケーションから何らかのデータ処理を軽減させることができる。
【００３６】
「フェーズ」フィールドは、現在タッチが属する特定の局面を示すことができる。フェ
ーズフィールドは、タッチデータ構造が、前回のタッチデータ構造により参照されなかっ
た新規のタッチを定めることを示すことができる「タッチフェーズ開始」などの様々な値
を有することができる。「タッチフェーズ移動」値は、定められたタッチが、前回のタッ
チデータ構造において定められた位置から動かされたことを示すことができる。「タッチ
フェーズ静止」値は、タッチが、このタッチに対応する最後のタッチデータ構造が生成さ
れてからずっと同じ位置に留まったままであることを示すことができる。「タッチフェー
ズ終了」値は、タッチが終了した（例えば、ユーザがマルチタッチディスプレイの表面か
ら自分の指を持ち上げた）ことを示すことができる。「タッチフェーズキャンセル」値は
、タッチがデバイスによってキャンセルされたことを示すことができる。キャンセルされ
たタッチとは、必ずしもユーザが終了させたタッチであるとは限らず、デバイスが無視す
ると決定できるタッチのことであってもよい。例えば、デバイスは、タッチが意図せずに
生成されたものである（すなわち、ポータブルマルチタッチ対応デバイスをポケットに入
れた結果）と判断し、この理由でタッチを無視することができる。個々の「フェーズフィ
ールド」の値は整数であってもよい。
【００３７】
このようにして、個々のタッチデータ構造は、（タッチが静止したものであるか、動い
ているかなどの）ある特定の時点におけるタッチに何が起きているかと同時に、（位置な
どの）タッチに関連する他の情報を定めることができる。従って、個々のタッチデータ構
造は、ある特定の時点における特定のタッチの状態を定めることができる。特定のビュー
がある時点において受信しているすべてのタッチの状態を定めることができるタッチイベ
ントデータ構造に、同じ時点を参照する１又はそれ以上のタッチデータ構造を追加するこ
とができる（上述したように、タッチデータ構造のなかには、終了した、及びもはや受信
していないタッチを参照できるものもある）。ビューにおいて行われているタッチについ
て記述する連続した情報をソフトウェアに提供するために、ビューを実行するソフトウェ
アへ複数のタッチイベントデータ構造を時間の経過とともに送信することができる。ハー
ドウェア１００、ドライバ１０３、コアＯＳ１０４、ＯＳ  ＡＰＩ１０５及びＵＩ  ＡＰ
Ｉなどの、デバイスの１又はそれ以上の要素が、マルチタッチパネル１０１におけるタッ
チを検出し、これらのタッチを定める様々なタッチイベントデータ構造を生成することが
できる。
【００３８】
複数のタッチ及びマルチタッチジェスチャに対応する能力により、様々なソフトウェア
要素に複雑さが加わる可能性がある。場合によっては、高度で望ましいインタフェース機
能を実現するためにこのような追加の複雑さが必要なこともある。例えば、ゲームは、多
くの場合複数のボタンを同時に押すことが必要とされるため、ゲームには、異なるビュー
において行われる複数の同時に起こるタッチに対応する能力が必要となる場合がある。し
かしながら、より単純なアプリケーション及び／又はビュー（及びこれらの関連するソフ
トウェア要素）のなかには、高度なインタフェース機能を必要としないものもある。例え
ば、（ボタン３０６のような）単純なボタンは単一のタッチで良好に動作することができ
、マルチタッチ機能を求める必要はない。これらの場合、基礎を成すＯＳが、（マルチタ
ッチデータなどの）不要な又は過度のタッチデータを、（ボタンなどの）単一のタッチの
みで動作できることを意図されたビューに関連付けられたソフトウェア要素へ送信するこ
とができる。ソフトウェア要素は、このデータの処理を必要とする可能性があるため、こ
のソフトウェア要素は、単一のタッチのみが関連するビューに関連付けられている場合で
も、複数のタッチに対応するソフトウェア要素のすべての複雑さを特徴として備えること
が必要となる可能性がある。従来、マウスインタフェース環境（すなわち様々なボタン等
）においてプログラムが非常に簡単であったソフトウェア要素は、マルチタッチ環境では
さらにいっそう複雑になり得るため、上記によりデバイス用のソフトウェアの開発コスト
が上がる可能性がある。
【００３９】
本発明の実施形態は、予め定めた設定に基づいて様々なソフトウェア要素にタッチデー
タを選択的に提供することにより上述の問題点に対処する。この結果、選択したソフトウ
ェア要素に対してより単純なインタフェースを提供できる一方で、その他のソフトウェア
要素は、より複雑なマルチタッチ入力を利用できるようになる。
【００４０】
本発明の実施形態は、１又はそれ以上のビューに関連付けられた１又はそれ以上のフラ
グに依拠することができ、個々のフラグ又はこれらの組み合わせは、特定のビューに処理
を行うタッチイベントを示す。例えば、 マルチタッチフラグ及び／又は排他的タッチフ
ラグを使用することができる。マルチタッチフラグは、ある特定のビューが複数の同時に
起こるタッチを受信できるかどうかを示すことができる。排他的タッチフラグは、ある特
定のビューがタッチイベントを受信している間に、他のビューがタッチイベントを受信で
きるようにすべきかどうかを示すことができる。
【００４１】
図４は、本発明の１つの実施形態によるマルチタッチフラグの動作を示すフローチャー
トである。ステップ４００において、ユーザは、ビュー内の第１の位置においてビューに
タッチすることができる。ステップ４００のタッチを受信した場合、マルチタッチディス
プレイ上にその他のタッチは存在しないと想定することができる。ステップ４０２におい
て、ＯＳは、受信したタッチを定めるタッチイベントを、タッチが行われた位置に関連付
けられたソフトウェア要素へ送信することができる。
【００４２】
ステップ４０４において、ユーザは、第１のタッチを離さないうちに（すなわち、指を
第１の位置で押し下げたままで）第２の位置においてビューにタッチすることができる。
従って、例えば、ユーザは、ステップ４００においてテーブル要素ビュー３０４の右部分
にタッチし、ステップ４０４において右部分から自分の指を離さずにテーブル要素ビュー
３０４の左部分にタッチすることができる。従って、（このようにして、ディスプレイ３
００のマルチタッチ機能を利用して）第２のタッチが第１のタッチと同時に起こることに
なる。
【００４３】
ステップ４０６において、ＯＳは、タッチされたビューに関するマルチタッチフラグが
設定されているかどうかを判断する。マルチタッチフラグが設定されていれば、このビュ
ーを、複数の同時に起こるタッチに対応できるビューとすることができる。従って、ステ
ップ４０８において、第２のタッチに対応する第２のタッチイベントを、このビューに関
連付けられたソフトウェア要素へ送信することができる。なお、第１のタッチイベントが
依然として行われていることを示す、第１のタッチイベントの新たなインスタンスを送信
することもできる（すなわち、第１の位置における指は持ち上げられていない）。この第
１のタッチイベントの新たなインスタンスは、第１の位置における指が持ち上げられるこ
となくこの位置から取り除かれた場合（すなわち、ディスプレイの表面上を「ドラッグ」
された場合）、異なる位置を指定することができる。
【００４４】
一方、マルチタッチフラグが設定されていなければ、ＯＳは、第２のタッチを無視する
か、又は妨げることができる。第２のタッチを無視することにより、第２のタッチに関連
付けられたいずれのタッチイベントも、タッチされたビューに関連付けられたソフトウェ
ア要素へ送信しないという結果をもたらすことができる。いくつかの実施形態では、必要
であれば、ＯＳは第２のタッチのその他のソフトウェア要素に通知を行うことができる。
【００４５】
このようにして、本発明の実施形態により、一度に１つのタッチのみに対応するように
プログラムされた比較的単純なソフトウェア要素が、これらのソフトウェア要素のマルチ
タッチフラグをアサートされないままで保持できるようになり、ひいては、複数の同時に
起こるタッチの一部であるタッチイベントがこれらのソフトウェア要素へ送信されなくな
ることを確実にする。一方、複数の同時に起こるタッチに対応することができるより複雑
なソフトウェア要素は、これらのソフトウェア要素のマルチタッチフラグをアサートし、
これらのソフトウェア要素の関連するビューにおいて行われるすべてのタッチに関するタ
ッチイベントを受信することができる。この結果、より複雑な要素に高度なマルチタッチ
機能を提供する一方で、単純なソフトウェア要素のための開発コストを下げることができ
るようになる。
【００４６】
図５Ａ及び図５Ｂは、本発明の１つの実施形態による排他的タッチフラグの例示的な動
作方法を示すフローチャートである。ステップ５００において、ユーザは第１のビューに
タッチすることができる。ステップ５０２において、ＯＳは、第１のビューに関連付けら
れた第１のソフトウェア要素へタッチイベントを送信することができる。ステップ５０４
において、ユーザは、第１のタッチを離さずに第２のビューにタッチすることができる。
【００４７】
ステップ５０６において、ＯＳは、第１のビューに関する排他的タッチフラグがアサー
トされているかどうかをチェックすることができる。設定されていれば（アサートされて
いれば）、第１のビューは排他的にタッチを受信する必要があることを意味し、別のタッ
チが別のビューへ送信されることはない。従って、排他的タッチフラグが設定されている
場合、ＯＳは、第２のタッチを無視する（又は妨げる）ことができ、いずれのソフトウェ
ア要素へもこのタッチを送信することはない。排他的ビューフラグが設定されていなけれ
ば、処理は図５Ｂのステップ５１０へと継続することができる。
【００４８】
ステップ５１０において、ＯＳは、第２のビューに関する排他的ビューフラグが設定さ
れているかどうかを判断することができる。このフラグが設定されていれば、第２のビュ
ーは排他的タッチイベントのみを受信することができる。従って、別のビュー（すなわち
第１のビュー）によりすでに受信された別のタッチイベントが存在する場合、第２のビュ
ーはタッチイベントを受信することはできず、ＯＳは第２のタッチを無視することができ
る（ステップ５１２）。しかしながら、第２のタッチに関する排他的タッチフラグが設定
されていなければ（アサートされていなければ）、ＯＳは、第２のタッチに関連付けられ
たタッチイベントを第２のビューへ送信することができる。さらに詳細には、ＯＳは、第
２のタッチに関連付けられたタッチイベントを、第２のビューに関連付けられたソフトウ
ェア要素へ送信することができる（ステップ５１４）。
【００４９】
このようにして、排他的タッチフラグは、排他的なものとしてフラグを立てられたビュ
ーが、ディスプレイ上でタッチイベントを受信する唯一のビューである場合にのみタッチ
イベントを受信することを確実にすることができる。排他的フラグは、マルチタッチ対応
デバイスにおいて実行するアプリケーションのソフトウェアを単純化する際に非常に有用
なものになり得る。或る状況では、複数のビューが同時にタッチを受信できるようにする
ことにより、複雑な競合及びエラーが生じる可能性がある。例えば、曲を削除するための
ボタンと曲を演奏するためのボタンとが同時に押された場合、エラーが生じる可能性があ
る。このような競合を避けるには、複雑かつコストのかかるソフトウェアが必要となる。
しかしながら、本発明の実施形態は、排他的タッチフラグを設定されたビューが、タッチ
イベントを受信している唯一のビューである場合にのみタッチイベントを受信することを
確実にすることができる排他的タッチフラグを提供することにより、このようなソフトウ
ェアの必要性を低減させることができる。或いは、１又はそれ以上のビューが、これらの
ビューの排他的タッチフラグをアサートされないようにすることにより、これらのビュー
の２又はそれ以上における複数の同時に起こるタッチを許可することもできる。
【００５０】
いくつかの実施形態では、排他的フラグは、ディスプレイ全体に関する排他性を示すこ
とができる。従って、排他的フラグを設定されたビューがタッチイベントを受信している
場合、ディスプレイ内の他のすべてのビューが任意のタッチイベントを受信するのを妨げ
ることができる。代替の実施形態では、排他的フラグは、単一のアプリケーション又は単
一のウィンドウのようなより小さな領域における排他性を示すことができる。例えば、排
他的フラグを設定された第１のビューは、第１のビューがタッチイベントを受信している
間、同じウィンドウ内にあるその他のビューが任意のタッチイベントを受信するのを妨げ
ることができるが、別のウィンドウ内のビューを妨げることはない。
【００５１】
排他的タッチフラグとマルチタッチフラグとを組み合わせることもできる。従って、表
示されている１又はそれ以上のビューは、各々、マルチタッチフラグと排他的タッチフラ
グとの２つのフラグを含むことができることになる。いくつかの実施形態では、すべての
表示されているビューがこれら２つのフラグを含むことができる。一方のフラグの値が他
方の値に依存する必要はない。１つの例では、排他的フラグとマルチタッチフラグとの両
方を設定されたビューは、ビュー内の複数のタッチを許可することはできるが、タッチを
排他的にのみ受信する（すなわち、このビューがタッチを受信している場合、その他のビ
ューへのタッチを妨げることができる）。両方のフラグがアサートされていない状態のビ
ューは、ビュー内の複数のタッチを妨げることができるが、別のビューにおいてタッチが
同時に行われた場合でもビュー内の単一のタッチを許可する。マルチタッチフラグがアサ
ートされておらず、排他的タッチフラグがアサートされている状態のビューは、他のいず
れのビューにおいても別のタッチが行われていない場合にビュー内の単一のタッチのみを
許可することができる。マルチタッチフラグがアサートされており、排他的タッチフラグ
がアサートされていない状態のビューは、このビューに関して受信したすべてのタッチを
許可することができる。両方のフラグがアサートされた状態のビューは、別のビューに対
して別のタッチが行われていない間、ビュー内の複数のタッチを許可することができる。
【００５２】
代替の実施形態は、これらのフラグの一方（及び関連する機能）のみを特徴として有す
ることができる。従って、実施形態によっては、マルチタッチフラグのみ又は排他的タッ
チフラグのみしか使用できないものもある。いくつかの実施形態では、異なるビューが異
なるフラグの組み合わせを使用することができる。
【００５３】
図４、図５Ａ及び図５ＢのＯＳが行う様々な機能を、様々なユーティリティソフトウェ
アなどの別のソフトウェアが代わりに行うことができる。図１の層１０３から１０８まで
の中の任意の１つの層において、これらの機能をソフトウェアが行うことができる。代替
の実施形態では、これらの機能性をハードウェア１００が行うことさえもできる。
【００５４】
以下に示すのは、本発明のいくつかの実施形態によるビューに関連付けられた例示的な
ソフトウェア要素の方法を示す例示的なコードの組である。当業者であれば、他のコード
を使用して上述の機能を実行できることを認識するであろう。
【００５５】
上記の解説はマルチタッチディスプレイ及びパネルを中心に行っているが、本発明はマ
ルチタッチデバイスのみに限定されるものではなく、上述のように（例えば、マルチ近接
センサデバイスを含む）様々なマルチポイントデバイスを含むことができる。マルチポイ
ントデバイスでは、マルチポイントフラグ及び排他的ポイントフラグを使用することがで
きる。これらのフラグは、上述のマルチタッチフラグ及び排他的タッチフラグと同様に動
作することができる。
【００５６】
本発明について、本発明の実施形態に関連して添付図面を参照しながら十分に説明した
が、当業者には様々な変更及び修正が明らかになるであろう。添付の特許請求の範囲に定
められるように、このような変更及び修正も本発明の範囲内に含まれると理解すべきであ
る。
【００５７】
〔別紙Ａ〕例示的ＵＩ  ＡＰＩコード
2014063515.tif 000003
2014063515.tif 000004
【図１】
2014063515.tif 000005
【図２Ａ】
2014063515.tif 000006
【図２Ｂ】
2014063515.tif 000007
【図３】
2014063515.tif 000008
【図４】
2014063515.tif 000009
【図５Ａ】
2014063515.tif 000010
【図５Ｂ】
2014063515.tif 000011
【手続補正書】
【提出日】平成25年12月6日(2013.12.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
マルチタッチデバイスにおけるタッチイベントを処理する方法であって、
２以上のビューを表示するステップと、
各々が前記２以上のビューのうちの特定のビューに関連付けられた１以上のソフトウェア要素を実行するステップと、
前記２以上のビューのうちの第１のビューに排他的タッチフラグを関連付けるステップと、
前記第１のビューにおいて１以上のタッチを受信するステップと、
前記第１のビューにおいて前記１以上のタッチを受信している間に、前記第１のビューとは異なる第２のビューにおいて１以上のタッチを受信するステップと、
各々が前記第２のビューにおける前記１以上のタッチのうちの各タッチを記述する１以上のタッチイベントを、前記各タッチが受信された前記第２のビューに関連付けられた１以上のソフトウェア要素のうちの少なくとも１つに対して送信するステップと、
を備え、
前記第１のビューに関連付けられた前記排他的タッチフラグの値が前記第１のビューは排他的ビューではないということを示すという判定に従って、前記１以上のタッチイベントは、前記第２のビューに関連付けられた前記１以上のソフトウェア要素のうちの少なくとも１つによって処理される
ことを特徴とする方法。
【請求項２】
前記第１のビューに関連付けられた前記排他的タッチフラグの前記値が前記第１のビューは排他的ビューであるということを示すか否かを判定するステップ
を更に備えることを特徴とする請求項１に記載の方法。
【請求項３】
各々が前記第１のビューにおける前記１以上のタッチのうちの各タッチを記述する１以上のタッチイベントを、前記第１のビューに関連付けられた１以上のソフトウェア要素のうちの少なくとも１つに対して送信するステップ
を更に備えることを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記第１のビューに関連付けられた前記排他的タッチフラグの前記値が前記第１のビューは排他的ビューであるということを示すという判定に従って、前記１以上のタッチイベントは、前記第２のビューに関連付けられた前記１以上のソフトウェア要素のいずれによっても処理されない
ことを特徴とする請求項１乃至３のいずれか１項に記載の方法。
【請求項５】
マルチタッチデバイスにおいて実行するための１以上のプログラムを格納したメモリを備える前記マルチタッチデバイスであって、前記１以上のプログラムは、前記マルチタッチデバイスに、
２以上のビューを表示させ、
各々が前記２以上のビューのうちの特定のビューに関連付けられた１以上のソフトウェア要素を実行させ、
前記２以上のビューのうちの第１のビューに排他的タッチフラグを関連付けさせ、
前記第１のビューにおいて１以上のタッチを受信させ、
前記第１のビューにおいて前記１以上のタッチを受信している間に、前記第１のビューとは異なる第２のビューにおいて１以上のタッチを受信させ、
各々が前記第２のビューにおける前記１以上のタッチのうちの各タッチを記述する１以上のタッチイベントを、前記各タッチが受信された前記第２のビューに関連付けられた１以上のソフトウェア要素のうちの少なくとも１つに対して送信させる
ように構成された命令を含み、
前記第１のビューに関連付けられた前記排他的タッチフラグの値が前記第１のビューは排他的ビューではないということを示すという判定に従って、前記１以上のタッチイベントは、前記第２のビューに関連付けられた前記１以上のソフトウェア要素のうちの少なくとも１つによって処理される
ことを特徴とするマルチタッチデバイス。
【請求項６】
前記１以上のプログラムは、前記第１のビューに関連付けられた前記排他的タッチフラグの前記値が前記第１のビューは排他的ビューであるということを示すか否かを判定する命令を更に含む
ことを特徴とする請求項５に記載のマルチタッチデバイス。
【請求項７】
前記１以上のプログラムは、各々が前記第１のビューにおける前記１以上のタッチのうちの各タッチを記述する１以上のタッチイベントを、前記第１のビューに関連付けられた１以上のソフトウェア要素のうちの少なくとも１つに対して送信する命令を更に含む
ことを特徴とする請求項５又は６に記載のマルチタッチデバイス。
【請求項８】
前記第１のビューに関連付けられた前記排他的タッチフラグの前記値が前記第１のビューは排他的ビューであるということを示すという判定に従って、前記１以上のタッチイベントは、前記第２のビューに関連付けられた前記１以上のソフトウェア要素のいずれによっても処理されない
ことを特徴とする請求項５乃至７のいずれか１項に記載のマルチタッチデバイス。
【請求項９】
マルチタッチデバイスによって実行するための１以上のプログラムを格納したコンピュータ可読記録媒体であって、前記１以上のプログラムは、
２以上のビューを表示する命令と、
各々が前記２以上のビューのうちの特定のビューに関連付けられた１以上のソフトウェア要素を実行する命令と、
前記２以上のビューのうちの第１のビューに排他的タッチフラグを関連付ける命令と、
前記第１のビューにおいて１以上のタッチを受信する命令と、
前記第１のビューにおいて前記１以上のタッチを受信している間に、前記第１のビューとは異なる第２のビューにおいて１以上のタッチを受信する命令と、
各々が前記第２のビューにおける前記１以上のタッチのうちの各タッチを記述する１以上のタッチイベントを、前記各タッチが受信された前記第２のビューに関連付けられた１以上のソフトウェア要素のうちの少なくとも１つに対して送信する命令と、
を含み、
前記第１のビューに関連付けられた前記排他的タッチフラグの値が前記第１のビューは排他的ビューではないということを示すという判定に従って、前記１以上のタッチイベントは、前記第２のビューに関連付けられた前記１以上のソフトウェア要素のうちの少なくとも１つによって処理される
ことを特徴とするコンピュータ可読記録媒体。
【請求項１０】
前記１以上のプログラムは、前記第１のビューに関連付けられた前記排他的タッチフラグの前記値が前記第１のビューは排他的ビューであるということを示すか否かを判定する命令を更に含む
ことを特徴とする請求項９に記載のコンピュータ可読記録媒体。
【請求項１１】
前記１以上のプログラムは、各々が前記第１のビューにおける前記１以上のタッチのうちの各タッチを記述する１以上のタッチイベントを、前記第１のビューに関連付けられた１以上のソフトウェア要素のうちの少なくとも１つに対して送信する命令を更に含む
ことを特徴とする請求項９又は１０に記載のコンピュータ可読記録媒体。
【請求項１２】
前記第１のビューに関連付けられた前記排他的タッチフラグの前記値が前記第１のビューは排他的ビューであるということを示すという判定に従って、前記１以上のタッチイベントは、前記第２のビューに関連付けられた前記１以上のソフトウェア要素のいずれによっても処理されない
ことを特徴とする請求項９乃至１１のいずれか１項に記載のコンピュータ可読記録媒体。
【請求項１３】
マルチタッチデバイスにおけるタッチイベントを処理する方法であって、
２以上のビューを表示するステップと、
各々が前記２以上のビューのうちの特定のビューに関連付けられた１以上のソフトウェア要素を実行するステップと、
前記２以上のビューのうちの第１のビューに排他的タッチフラグを関連付けるステップと、
前記第１のビューにおいて１以上のタッチを受信するステップと、
前記第１のビューにおいて前記１以上のタッチを受信している間に、前記第１のビューとは異なる第２のビューにおいて１以上のタッチを受信するステップと、
前記第１のビューに関連付けられた前記排他的タッチフラグの値が前記第１のビューは排他的ビューではないということを示すという判定に従って、各々が前記第２のビューにおける前記１以上のタッチのうちの各タッチを記述する１以上のタッチイベントを、前記各タッチが受信された前記第２のビューに関連付けられた１以上のソフトウェア要素のうちの少なくとも１つに対して条件付きで送信するステップと、
を備えることを特徴とする方法。
【請求項１４】
前記第１のビューに関連付けられた前記排他的タッチフラグの前記値が前記第１のビューは排他的ビューであるということを示すか否かを判定するステップ
を更に備えることを特徴とする請求項１３に記載の方法。
【請求項１５】
各々が前記第１のビューにおける前記１以上のタッチのうちの各タッチを記述する１以上のタッチイベントを、前記第１のビューに関連付けられた１以上のソフトウェア要素のうちの少なくとも１つに対して送信するステップ
を更に備えることを特徴とする請求項１３又は１４に記載の方法。
【請求項１６】
前記第１のビューに関連付けられた前記排他的タッチフラグの前記値が前記第１のビューは排他的ビューであるということを示すという判定に従って、前記第２のビューに関連付けられた前記１以上のソフトウェア要素のいずれに対しても、前記第２のビューにおける前記１以上のタッチを記述する前記１以上のタッチイベントが送信されることを防止するステップ
を更に備えることを特徴とする請求項１３乃至１５のいずれか１項に記載の方法。
【請求項１７】
マルチタッチデバイスにおいて実行するための１以上のプログラムを格納したメモリを備える前記マルチタッチデバイスであって、前記１以上のプログラムは、前記マルチタッチデバイスに、
２以上のビューを表示させ、
各々が前記２以上のビューのうちの特定のビューに関連付けられた１以上のソフトウェア要素を実行させ、
前記２以上のビューのうちの第１のビューに排他的タッチフラグを関連付けさせ、
前記第１のビューにおいて１以上のタッチを受信させ、
前記第１のビューにおいて前記１以上のタッチを受信している間に、前記第１のビューとは異なる第２のビューにおいて１以上のタッチを受信させ、
前記第１のビューに関連付けられた前記排他的タッチフラグの値が前記第１のビューは排他的ビューではないということを示すという判定に従って、各々が前記第２のビューにおける前記１以上のタッチのうちの各タッチを記述する１以上のタッチイベントを、前記各タッチが受信された前記第２のビューに関連付けられた１以上のソフトウェア要素のうちの少なくとも１つに対して条件付きで送信させる
ように構成された命令を含む
ことを特徴とするマルチタッチデバイス。
【請求項１８】
前記１以上のプログラムは、前記第１のビューに関連付けられた前記排他的タッチフラグの前記値が前記第１のビューは排他的ビューであるということを示すか否かを判定する命令を更に含む
ことを特徴とする請求項１７に記載のマルチタッチデバイス。
【請求項１９】
前記１以上のプログラムは、各々が前記第１のビューにおける前記１以上のタッチのうちの各タッチを記述する１以上のタッチイベントを、前記第１のビューに関連付けられた１以上のソフトウェア要素のうちの少なくとも１つに対して送信する命令を更に含む
ことを特徴とする請求項１７又は１８に記載のマルチタッチデバイス。
【請求項２０】
前記１以上のプログラムは、前記第１のビューに関連付けられた前記排他的タッチフラグの前記値が前記第１のビューは排他的ビューであるということを示すという判定に従って、前記第２のビューに関連付けられた前記１以上のソフトウェア要素のいずれに対しても、前記第２のビューにおける前記１以上のタッチを記述する前記１以上のタッチイベントが送信されることを防止する命令を更に含む
ことを特徴とする請求項１７乃至１９のいずれか１項に記載のマルチタッチデバイス。
【請求項２１】
マルチタッチデバイスによって実行するための１以上のプログラムを格納したコンピュータ可読記録媒体であって、前記１以上のプログラムは、
２以上のビューを表示する命令と、
各々が前記２以上のビューのうちの特定のビューに関連付けられた１以上のソフトウェア要素を実行する命令と、
前記２以上のビューのうちの第１のビューに排他的タッチフラグを関連付ける命令と、
前記第１のビューにおいて１以上のタッチを受信する命令と、
前記第１のビューにおいて前記１以上のタッチを受信している間に、前記第１のビューとは異なる第２のビューにおいて１以上のタッチを受信する命令と、
前記第１のビューに関連付けられた前記排他的タッチフラグの値が前記第１のビューは排他的ビューではないということを示すという判定に従って、各々が前記第２のビューにおける前記１以上のタッチのうちの各タッチを記述する１以上のタッチイベントを、前記各タッチが受信された前記第２のビューに関連付けられた１以上のソフトウェア要素のうちの少なくとも１つに対して条件付きで送信する命令と、
を含むことを特徴とするコンピュータ可読記録媒体。
【請求項２２】
前記１以上のプログラムは、前記第１のビューに関連付けられた前記排他的タッチフラグの前記値が前記第１のビューは排他的ビューであるということを示すか否かを判定する命令を更に含む
ことを特徴とする請求項２１に記載のコンピュータ可読記録媒体。
【請求項２３】
前記１以上のプログラムは、各々が前記第１のビューにおける前記１以上のタッチのうちの各タッチを記述する１以上のタッチイベントを、前記第１のビューに関連付けられた１以上のソフトウェア要素のうちの少なくとも１つに対して送信する命令を更に含む
ことを特徴とする請求項２１又は２２に記載のコンピュータ可読記録媒体。
【請求項２４】
前記１以上のプログラムは、前記第１のビューに関連付けられた前記排他的タッチフラグの前記値が前記第１のビューは排他的ビューであるということを示すという判定に従って、前記第２のビューに関連付けられた前記１以上のソフトウェア要素のいずれに対しても、前記第２のビューにおける前記１以上のタッチを記述する前記１以上のタッチイベントが送信されることを防止する命令を更に含む
ことを特徴とする請求項２１乃至２３のいずれか１項に記載のコンピュータ可読記録媒体。
【外国語明細書】
2014063515.tif 000012
2014063515.tif 000013
2014063515.tif 000014
2014063515.tif 000015
2014063515.tif 000016
2014063515.tif 000017
2014063515.tif 000018
2014063515.tif 000019
2014063515.tif 000020
2014063515.tif 000021
2014063515.tif 000022
2014063515.tif 000023
2014063515.tif 000024
2014063515.tif 000025
2014063515.tif 000026
2014063515.tif 000027
2014063515.tif 000028
2014063515.tif 000029
2014063515.tif 000030
2014063515.tif 000031
2014063515.tif 000032
2014063515.tif 000033
2014063515.tif 000034
2014063515.tif 000035
2014063515.tif 000036
2014063515.tif 000037
2014063515.tif 000038
2014063515.tif 000039
2014063515.tif 000040
2014063515.tif 000041
2014063515.tif 000042
2014063515.tif 000043
2014063515.tif 000044
2014063515.tif 000045
2014063515.tif 000046
2014063515.tif 000047