JP5638048B2 - Touch event handling for web pages - Google Patents

Touch event handling for web pages Download PDF

Info

Publication number
JP5638048B2
JP5638048B2 JP2012218235A JP2012218235A JP5638048B2 JP 5638048 B2 JP5638048 B2 JP 5638048B2 JP 2012218235 A JP2012218235 A JP 2012218235A JP 2012218235 A JP2012218235 A JP 2012218235A JP 5638048 B2 JP5638048 B2 JP 5638048B2
Authority
JP
Japan
Prior art keywords
touch
gesture
event
document
input signals
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012218235A
Other languages
Japanese (ja)
Other versions
JP2013058210A (en
Inventor
グレゴリー デニス ボルシンガ
グレゴリー デニス ボルシンガ
ティモシー ピー オマニック
ティモシー ピー オマニック
リチャード ウィリアムソン
リチャード ウィリアムソン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2013058210A publication Critical patent/JP2013058210A/en
Application granted granted Critical
Publication of JP5638048B2 publication Critical patent/JP5638048B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Position Input By Displaying (AREA)
  • Telephone Function (AREA)

Description

本発明は、一般的に、ウェブブラウジングサービスに係る。   The present invention generally relates to web browsing services.

ドキュメント内のテキストベース情報の構造を記述すると共に、そのテキストを双方向
フォーム、埋め込まれた映像及び他のオブジェクトで補足するための手段をなすマークア
ップ言語を使用して、ウェブページが生成される。1つの普及したマークアップ言語は、
カギ括弧で囲まれたタグの形態で書かれたハイパーテキストマークアップ言語(HTML
)である。HTMLは、ウェブページの見掛け及び意味を記述することができると共に、
ウェブブラウザ及び他のHTMLプロセッサの振舞いに影響する埋め込み型スクリプト言
語コード(例えば、JavaScript(登録商標))を含むことができる。Java
Script(登録商標)は、マウスイベントハンドラー又はイベントリスナーをウェブ
ページに追加する能力を開発者に与える。これらのマウスイベントハンドラーは、ウェブ
ページの特定の領域に指定され、そしてマウスアップ又はマウスダウンイベントのような
マウスイベントをこれらの領域において受け取るように構成することができる。
A web page is generated using a markup language that describes the structure of text-based information in the document and provides a means for supplementing the text with interactive forms, embedded video, and other objects . One popular markup language is
Hypertext markup language (HTML) written in the form of tags enclosed in brackets
). HTML can describe the appearance and meaning of web pages,
Embedded script language code (eg, JavaScript ™) that affects the behavior of web browsers and other HTML processors can be included. Java
Script® gives developers the ability to add mouse event handlers or event listeners to web pages. These mouse event handlers are designated for specific areas of the web page and can be configured to receive mouse events in these areas, such as mouse up or mouse down events.

対照的に、タッチ感知装置でナビゲートされるウェブページは、ユーザが1つ以上の指
でウェブページにタッチしそしてジェスチャーをなすことで発生されたタッチイベントに
応答することがしばしば必要である。従来のマウスイベントハンドラーは、これらタッチ
イベントを正しく解釈することができない。従って、タッチイベントは、タッチイベント
を正しく解釈すると共に、タッチ感知ディスプレイ又は装置の能力を開発者が完全に利用
できるようにするための異なるタッチイベントモデルを必要としている。
In contrast, web pages that are navigated with touch sensitive devices often need to respond to touch events generated by a user touching and making gestures with one or more fingers. Conventional mouse event handlers cannot correctly interpret these touch events. Thus, touch events require different touch event models to correctly interpret touch events and to allow developers to fully utilize the capabilities of touch-sensitive displays or devices.

タッチ感知装置から1つ以上のタッチ入力信号を得ることができる。それらタッチ入力
信号が、タッチ感知装置上に表示されるウェブページの1つ以上の領域に関連する場合に
は、ウェブページの領域に関連したタッチイベントがウェブページによって処理される。
タッチ入力信号がウェブページの領域に関連付しない場合には、タッチ感知装置に関連し
たアプリケーションがタッチ入力信号を処理する。
One or more touch input signals can be obtained from the touch sensing device. If the touch input signals are associated with one or more areas of the web page displayed on the touch sensing device, touch events associated with areas of the web page are processed by the web page.
If the touch input signal is not associated with a region of the web page, an application associated with the touch sensing device processes the touch input signal.

ある実施形態において、方法は、タッチ入力信号を受け取るステップと、そのタッチ入
力信号が、タッチ感知装置に表示されるウェブページの1つ以上の領域に関連しているか
どうか決定するステップと、そのタッチ入力信号がウェブページの1つ以上の領域に関連
している場合にはウェブページへタッチイベントを処理するために転送するステップとを
備えている。
In some embodiments, the method receives a touch input signal, determines whether the touch input signal is associated with one or more regions of a web page displayed on the touch sensing device, and the touch Forwarding the touch signal to the web page to process the touch event if the input signal is associated with one or more areas of the web page.

システム、方法及びコンピュータ読み取り可能な媒体に向けられた他の実施形態も開示
される。
Other embodiments directed to systems, methods and computer-readable media are also disclosed.

例示的なウェブページドキュメントを示す。2 illustrates an exemplary web page document. 例示的なウェブページドキュメントを示す。2 illustrates an exemplary web page document. 例示的なマルチタッチケーパブル装置の処理スタックを示す。2 illustrates a processing stack of an exemplary multi-touch capable device. タッチイベントを処理するための例示的プロセスのフローチャートである。2 is a flowchart of an exemplary process for handling touch events. 例示的なマルチタッチケーパブル装置を示す。1 illustrates an exemplary multi-touch capable device. 図4のマルチタッチケーパブル装置に対する例示的なネットワークオペレーティング環境のブロック図である。FIG. 5 is a block diagram of an exemplary network operating environment for the multi-touch capable device of FIG. 図4のマルチタッチケーパブル装置の実施例のブロック図である。FIG. 5 is a block diagram of an embodiment of the multi-touch capable device of FIG. 4.

例示的ウェブページ構造及びDOM
図1Aは、ブラウザに表示できる例示的ウェブページ100を示す。ブラウザは、図4
のマルチタッチケーパブル(multi-touch capable)装置400のようなポータブル装置に
ホストされてもよい。ウェブページ100には、1つ以上のエレメント、即ちエレメント
102(“エレメント1”)、エレメント104(“エレメント2”)及びエレメント1
06(“エレメント3”)を表示することができる。これらエレメント102、104、
106は、ユーザが選択できるウェブページ100の領域に対応することができ、選択の
結果として付加的な機能を与えることができる。例えば、これらエレメントは、ウェブペ
ージ100のボタンに対応する。又、1つのエレメントが別のエレメントを含むようにエ
レメントをネスト構成にすることもできる。例えば、エレメント104は、エレメント1
08を含む。図示された例では、エレメント108は、例えば、メディアプレーヤユーザ
インターフェイスであるエレメント104内にネストされたスクラバーコントロールであ
る。
Exemplary web page structure and DOM
FIG. 1A shows an exemplary web page 100 that can be displayed in a browser. The browser is shown in FIG.
May be hosted on a portable device, such as a multi-touch capable device 400. Web page 100 includes one or more elements: element 102 (“element 1”), element 104 (“element 2”), and element 1
06 (“Element 3”) can be displayed. These elements 102, 104,
106 can correspond to an area of the web page 100 that can be selected by the user, and can provide additional functionality as a result of the selection. For example, these elements correspond to buttons on the web page 100. It is also possible to nest elements so that one element contains another element. For example, element 104 is element 1
08 is included. In the illustrated example, element 108 is a scrubber control nested within element 104, for example, a media player user interface.

ある実施形態において、ユーザは、マウスではなく指を使用してウェブページ100の
エレメントで種々のファンクションを遂行することができる。ユーザは、例えば、図4に
示すタッチ感知ディスプレイ402を使用してウェブページ100のエレメントにタッチ
することができる。一実施例では、ユーザは、1つ以上の指でエレメントにタッチし及び
/又はスワイプ、ピンチ又は回転運動のようなジェスチャーを行うことで、エレメントを
選択することができる。タッチ入力信号を確認するために、ウェブページ100のあるエ
リアをタッチイベントハンドラーに関連付けることができる。これは、図1Bを参照して
述べるように、DOM及び埋め込まれたスクリプト言語で行うことができる。
In some embodiments, the user can perform various functions on the elements of the web page 100 using a finger rather than a mouse. A user can touch an element of the web page 100 using, for example, the touch-sensitive display 402 shown in FIG. In one example, a user can select an element by touching the element with one or more fingers and / or performing gestures such as swipe, pinch or rotational movement. An area of the web page 100 can be associated with the touch event handler to confirm the touch input signal. This can be done with DOM and an embedded scripting language, as described with reference to FIG. 1B.

図1Bは、ウェブページ100に関連付けられた例示的DOM150である。このDO
M150は、ウェブページ100の構造的表示を与えるもので、スクリプト言語(例えば
、JavaScript(登録商標))で解釈できるオブジェクトのセットとしてウェブ
ページコンテンツを記述する。ある実施形態において、DOM150は、ウェブページ1
00のエレメント102、104、106、108をツリーの個々のノードにマップする
ことによりウェブページの構造へのアクセスを与える。例えば、エレメント102は、ノ
ード154に対応する。エレメント104は、ノード156に対応する。エレメント10
6は、ノード158に対応する。エレメント108は、ノード160に対応する。根ノー
ド152は、全ウェブページ100に対応する。
FIG. 1B is an exemplary DOM 150 associated with the web page 100. This DO
M150 provides a structural representation of the web page 100 and describes the web page content as a set of objects that can be interpreted in a script language (eg, JavaScript (registered trademark)). In one embodiment, DOM 150 is web page 1
Provides access to the structure of the web page by mapping 00 elements 102, 104, 106, 108 to individual nodes of the tree. For example, element 102 corresponds to node 154. Element 104 corresponds to node 156. Element 10
6 corresponds to the node 158. Element 108 corresponds to node 160. The root node 152 corresponds to the entire web page 100.

ある実施形態において、ウェブページ100の1つ以上のエレメント102、104、
106、108は、DOM150の対応ノードをタッチイベントハンドラーに関連付ける
ことにより、1つ以上の対応するタッチイベントハンドラーに関連付けることができる。
タッチイベントハンドラーは、ウェブページ100のHTMLタグに挿入できると共に、
例えば、ユーザがウェブページ100の1つのエレメントにタッチするか又はその中でジ
ェスチャーするときに、スクリプト言語を実行してアクションを遂行することができる。
例えば、JavaScript(登録商標)は、DOM150と共に機能して、異なるタ
ッチイベントにアクションをアタッチすることができる。
In some embodiments, one or more elements 102, 104,
106, 108 can be associated with one or more corresponding touch event handlers by associating the corresponding node of DOM 150 with the touch event handler.
The touch event handler can be inserted into the HTML tag of the web page 100,
For example, a script language can be executed to perform an action when a user touches or gestures within one element of the web page 100.
For example, JavaScript (R) can work with DOM 150 to attach actions to different touch events.

ある実施形態では、1つ以上のエレメント102、104、106、108が、イベン
トハンドラー又はリスナーにより検出されたタッチ入力を受け取ることができる。タッチ
入力は、図2を参照して説明するように、ソフトウェアスタックの1つ以上のレイヤにお
いて実施できるタッチイベントモデルによって検出されてタッチイベントへと処理するこ
とができる。タッチイベントは、ウェブページ100により更に処理することができる。
タッチイベントは、タッチ感知装置により発生される生のタッチ入力信号よりもアプリケ
ーションにおいて使用し易いフォーマット(例えば、属性)である。例えば、各タッチイ
ベントは、タッチが現在発生しているところの座標のセットを含むことができる。
In some embodiments, one or more elements 102, 104, 106, 108 may receive touch input detected by an event handler or listener. Touch input can be detected and processed into touch events by a touch event model that can be implemented in one or more layers of the software stack, as described with reference to FIG. Touch events can be further processed by the web page 100.
A touch event is a format (eg, attribute) that is easier to use in an application than a raw touch input signal generated by a touch sensing device. For example, each touch event can include a set of coordinates where the touch is currently occurring.

ウェブページ100における各エレメント、及びその関連イベントハンドラーは、タッ
チイベントを受け取り、処理し、取り扱うことができる。例えば、ドライバ202(図2
)が、エレメント102に関連したタッチポイント110を感知するか、又はエレメント
104に関連したタッチポイント112を感知する場合に、エレメント102又は104
に関連したイベントハンドラーは、エレメントにタッチしたことを指示する個別のタッチ
イベントを各々受け取ることができ、そして任意であるが、そのタッチイベントを更なる
処理のためにウェブページ100へ送ることができる。ある実施形態において、イベント
ハンドラーに対応しないウェブページ100の領域にタッチした場合には、アプリケーシ
ョンレイヤ214のブラウザが、ウェブページ100ではなく、入力を処理することがで
きる。
Each element in web page 100 and its associated event handler can receive, process and handle touch events. For example, driver 202 (FIG.
) Senses a touch point 110 associated with element 102, or senses a touch point 112 associated with element 104.
Event handlers associated with each can receive a separate touch event indicating that the element has been touched, and optionally, can send the touch event to the web page 100 for further processing. . In some embodiments, if an area of the web page 100 that does not correspond to an event handler is touched, the browser of the application layer 214 can process the input instead of the web page 100.

ある実施形態では、アプリケーションレイヤ214のブラウザは、全てのタッチ入力を
受け取ることができる。ブラウザは、タッチ入力が、タッチハンドラーを含むウェブペー
ジ100の領域に関連しているかどうか決定することができる。タッチ入力が、タッチハ
ンドラーを含むウェブページ100の領域に関連している場合には、タッチイベントモデ
ルは、タッチイベントを発生し、そしてそのタッチイベントを処理のためにウェブページ
100へ送ることができる。タッチ入力がウェブページ100の領域でない場合には、ブ
ラウザは、タッチ入力を処理することができる。
In some embodiments, the application layer 214 browser can receive all touch inputs. The browser can determine whether the touch input is associated with an area of the web page 100 that includes the touch handler. If the touch input is associated with an area of the web page 100 that includes a touch handler, the touch event model can generate a touch event and send the touch event to the web page 100 for processing. . If the touch input is not in the region of the web page 100, the browser can process the touch input.

図1の実施例を参照すれば、ユーザは、第1タッチを放さないまま(例えば、第1タッ
チポイントに指を押し付けたまま)第2位置においてウェブページ100にタッチするこ
とができる。例えば、ユーザは、第1の指でタッチポイント110をタッチし、そしてそ
のタッチポイント110から第1の指を放さずに第2の指でタッチポイント112にタッ
チすることができる。それ故、タッチポイント112における第2のタッチは、タッチポ
イント110におけるタッチと同時である。この例では、ブラウザは、タッチポイント1
10及び112が、タッチハンドラーを含むウェブページ100の領域であることを決定
する。従って、タッチイベントモデルは、タッチポイント110及び112におけるタッ
チ入力に対して第1タッチイベント及び第2タッチイベントを各々発生し、そしてそれら
第1及び第2のタッチ事象を処理のためにウェブページ100へ送る。
Referring to the example of FIG. 1, the user can touch the web page 100 at the second position without releasing the first touch (for example, with a finger pressed against the first touch point). For example, the user can touch touch point 110 with a first finger and touch touch point 112 with a second finger without releasing the first finger from that touch point 110. Therefore, the second touch at the touch point 112 is simultaneous with the touch at the touch point 110. In this example, the browser is touchpoint 1
10 and 112 are determined to be regions of the web page 100 that include the touch handler. Accordingly, the touch event model generates a first touch event and a second touch event for touch inputs at touch points 110 and 112, respectively, and the web page 100 for processing these first and second touch events. Send to.

しかしながら、ユーザが第3の位置(例えば、タッチポイント114)においてウェブ
ページ100にタッチする場合には、ブラウザは、そのタッチが、タッチハンドラーに関
連したウェブページ100の領域に関連しないことを決定する。この場合には、ブラウザ
は、タッチイベントを処理のためにウェブページ100に送らない。むしろ、ブラウザは
、イベントそれ自体を処理する。
However, if the user touches web page 100 at a third location (eg, touch point 114), the browser determines that the touch is not related to the area of web page 100 associated with the touch handler. . In this case, the browser does not send the touch event to the web page 100 for processing. Rather, the browser processes the event itself.

ある実施形態では、ブラウザがタッチハンドラーに関連している場合に、ブラウザは、
ブラウザに関連したタッチハンドラーに基づいて入力を処理することができる。例えば、
ブラウザは、ユーザがブラウザの表示をズームイン及びズームアウトするのを許すタッチ
ハンドラーに関連させることができる。
In one embodiment, if the browser is associated with a touch handler, the browser
Input can be processed based on a touch handler associated with the browser. For example,
The browser can be associated with a touch handler that allows the user to zoom in and zoom out the browser display.

ある実施形態では、DOM150においてノードごとに指ごとにタッチイベントを検出
することができる。例えば、ユーザは、実質的に同時にタッチポイント110及びタッチ
ポイント112においてタッチ感知ディスプレイ402にタッチすることができ、そして
タッチイベントモデルにより2つの個別のタッチイベントを検出することができる。DO
M150における各ノード102及びノード104は個別のタッチイベントハンドラーに
関連しているので、タッチポイント110及びタッチポイント112に対して個別のタッ
チイベントを検出することができる。
In some embodiments, a touch event can be detected for each finger in the DOM 150 for each node. For example, the user can touch the touch-sensitive display 402 at touch point 110 and touch point 112 at substantially the same time, and can detect two separate touch events with the touch event model. DO
Since each node 102 and node 104 in M150 is associated with an individual touch event handler, individual touch events can be detected for touch point 110 and touch point 112.

ある実施形態において、タッチイベントは、EventTargetとしてウェブペー
ジ100へ配送することができる。タッチイベントの幾つかの例は、touchstar
t(タッチ開始)、touchmove(タッチ移動)、touchend(タッチ終了
)、及びtouchcancel(タッチキャンセル)を含むことができる。他のタッチ
イベントも考えられる。touchstartは、イベントハンドラーに関連したウェブ
ページ100の領域においてタッチ感知ディスプレイ402にユーザが最初に指を置いた
ときに検出されるタッチイベントである。ユーザがウェブページ100上で自分の指を動
き回らせると、1つ以上のtouchmoveイベントを検出することができる。ユーザ
がウェブページ100から自分の指を持ち上げると、touchendイベントが検出さ
れる。システムが普通のイベントハンドリングを中断するときには、touchcanc
elを検出することができる。例えば、偶発的なタッチを防止するためにタッチ感知ディ
スプレイ402がロックされたときにtouchcancelイベントが生じる。
In some embodiments, the touch event can be delivered to the web page 100 as an EventTarget. Some examples of touch events are touchstar
It can include t (touch start), touchmove (touch movement), touchend (touch end), and touchcancel (touch cancel). Other touch events are also possible. Touchstart is a touch event that is detected when the user first places a finger on touch-sensitive display 402 in the area of web page 100 associated with the event handler. When the user moves his / her finger around on the web page 100, one or more touchmove events can be detected. When the user lifts his finger from the web page 100, a touchend event is detected. When the system interrupts normal event handling, touchcanc
el can be detected. For example, a touchcancel event occurs when the touch sensitive display 402 is locked to prevent accidental touches.

又、ある実施形態において、2つ以上のタッチイベントを合成することによりジェスチ
ャーイベントを検出することもできる。タッチイベントと同様に、ジェスチャーイベント
(GestureEvent)を、EventTargetとしてウェブページ100へ
配送することもできる。ジェスチャーイベントの幾つかの例は、gesturestar
t(ジェスチャー開始)、gesturechange(ジェスチャー変更)、及びge
stureend(ジェスチャー終了)である。ジェスチャーイベントは、スケール及び
/又は回転情報を含むことができる。回転情報は、度での相対的デルタである回転値を含
むことができる。ウェブページ100のエレメントは、この回転値に基づいて動的に回転
することができる。スケール情報は、ドキュメントピクセルでの相対的デルタであるスケ
ール値を含むことができる。ジェスチャーイベントに関連したウェブページ100のエレ
メントは、このスケール値に基づいて動的にサイズ変更することができる。他のジェスチ
ャーイベントも考えられる。
In some embodiments, gesture events can also be detected by combining two or more touch events. Similar to the touch event, a gesture event (GestureEvent) can be delivered to the web page 100 as an EventTarget. Some examples of gesture events are gesturestar
t (start gesture), gesture change (change gesture), and ge
“stuend” (end gesture). Gesture events can include scale and / or rotation information. The rotation information can include a rotation value that is a relative delta in degrees. The elements of the web page 100 can be dynamically rotated based on this rotation value. The scale information can include a scale value that is a relative delta in document pixels. The elements of the web page 100 associated with the gesture event can be dynamically resized based on this scale value. Other gesture events are possible.

ある実施形態では、ウェブページ100上の1つ以上のタッチを識別するためのタッチ
イベントデータを含むタッチリストを受け取ることができる。タッチイベントデータは、
タッチ識別子と、少なくとも1セットのタッチ位置座標とを含むことができる。又、タッ
チリストは、各タッチに関連したタッチイベントターゲットに対するタッチイベントデー
タも含むことができる。ある実施形態では、1セットのタッチ位置座標は、クライアント
座標、ページ座標、及びスクリーン座標を含むことができる。ある実施形態では、タッチ
イベントデータは、1つ以上の変更されたタッチを識別することができる。
In some embodiments, a touch list that includes touch event data for identifying one or more touches on the web page 100 may be received. Touch event data is
A touch identifier and at least one set of touch location coordinates may be included. The touch list can also include touch event data for touch event targets associated with each touch. In some embodiments, the set of touch position coordinates can include client coordinates, page coordinates, and screen coordinates. In certain embodiments, the touch event data can identify one or more changed touches.

ある実施形態では、GestureEventを、TouchEventの前にウェブ
ページ100へ送り出すことができる。例えば、ユーザがタッチポイント110及びタッ
チポイント112に指を置いて、タッチ感知ディスプレイ上で指を時計方向又は反時計方
向に動かして回転ジェスチャーを行う場合には、タッチイベントモデルがこれらの複数タ
ッチイベントを検出し、そのタッチイベントをジェスチャーイベントへと合成する。次い
で、このジェスチャーイベントをウェブページ100へ送り、その後、そのジェスチャー
イベントを形成するために合成されたタッチイベントを送ることができる。このように、
開発者は、ジェスチャーイベント、及びジェスチャーイベントの個々のタッチイベントに
アクセスすることができ、これは、ウェブアプリケーションを開発するときに、より大き
な融通性を開発者に与えるものである。
In some embodiments, the GestureEvent can be sent to the web page 100 before the TouchEvent. For example, when the user places a finger on the touch point 110 and the touch point 112 and moves the finger clockwise or counterclockwise on the touch-sensitive display to perform a rotation gesture, the touch event model is used for the multiple touch events. Is detected and the touch event is combined with a gesture event. This gesture event can then be sent to the web page 100, after which a synthesized touch event can be sent to form the gesture event. in this way,
Developers can access gesture events and individual touch events of gesture events, which gives developers greater flexibility when developing web applications.

ある実施形態では、タッチイベントが次の順序で受け取られる。即ち、touchst
artイベント、1つ以上のtouchmoveイベント、そしてtouchend又は
touchcancelイベント。図1Aの実施例を使用すると、ユーザがタッチポイン
ト110にタッチしたときに、エレメント102に関連した第1のタッチイベントハンド
ラーにより第1のtouchstartイベントが検出される。ユーザがタッチポイント
112にタッチすると、エレメント104に関連した第2のタッチイベントハンドラーに
より第2のtouchstartイベントが検出される。ユーザが自分の指を持ち上げず
に自分の指を回転するにつれて、第1及び第2のタッチイベントハンドラーがtouch
moveイベントを検出し、これは、タッチイベントモデルにより回転ジェスチャーイベ
ントとして解釈することができる。ユーザが回転を終了して自分の指をウェブページ10
0から持ち上げると、第1及び第2のタッチイベントハンドラーがtouchendイベ
ントを検出する。これらのタッチイベントの全部又は幾つかを、タッチイベント「アプリ
ケーションプログラミングインターフェイス(API)」により、開発者に利用できるよ
うにすることができる。タッチAPIは、「ソフトウェアデベロープメントキット(SD
K)」として、又はアプリケーションの一部分として(例えば、ブラウザツールキットの
一部分として)開発者に利用できるようにすることができる。タッチイベントAPIは、
その種々のファンクションを遂行するために、他のサービス、フレームワーク及びオペレ
ーティングシステムに依存することができる。これらのサービス、フレームワーク及びオ
ペレーティングシステムは、図2を参照して述べるようにソフトウェア又は処理スタック
の一部分でよく、ここでは、アプリケーションにおけるイベントアクションを定義するた
めにドキュメントに挿入できる属性にタッチイベントが関連付けされる。
In some embodiments, touch events are received in the following order: That is, touchst
art events, one or more touchmove events, and touchend or touchcancel events. Using the example of FIG. 1A, when a user touches touch point 110, a first touchstart event is detected by a first touch event handler associated with element 102. When the user touches touch point 112, a second touchstart event is detected by a second touch event handler associated with element 104. As the user rotates his finger without lifting his finger, the first and second touch event handlers touch
A move event is detected, which can be interpreted as a rotation gesture event by the touch event model. The user finishes rotating and puts his finger on the web page 10
When lifted from 0, the first and second touch event handlers detect a touchend event. All or some of these touch events can be made available to developers via the touch event “Application Programming Interface (API)”. Touch API is “Software Development Kit (SD
K) "or as part of an application (eg, as part of a browser toolkit). Touch event API is
It can rely on other services, frameworks and operating systems to perform its various functions. These services, frameworks and operating systems may be part of the software or processing stack as described with reference to FIG. 2, where touch events are attributes that can be inserted into the document to define event actions in the application. Associated.

例示的IDL
例示的なタッチイベントモデルを、「インターフェイス記述言語(IDL)」で以下に
説明する。IDLのファンクション及びデータ構造は、ウェブ設計者又はアプリケーショ
ン開発者によりAPIを通してアクセスすることができる。タッチイベント及び/又はジ
ェスチャーイベントへのアクセスは、アプリケーションにおけるイベントアクションを定
義するためにマークアップ言語ドキュメント(例えば、HTML、XML)に挿入できる
属性に関連付けることができる。例えば、これら属性は、タッチ感知ディスプレイ402
に表示されるウェブページを発生するためにHTMLドキュメントの1つ以上のHTML
タグに挿入することができる。イベントアクションは、植え込み型スクリプト(例えば、
JavaScript(登録商標))を実行することを含むことができる。

Figure 0005638048

Figure 0005638048
Exemplary IDL
An exemplary touch event model is described below in “Interface Description Language (IDL)”. IDL functions and data structures can be accessed through APIs by web designers or application developers. Access to touch events and / or gesture events can be associated with attributes that can be inserted into markup language documents (eg, HTML, XML) to define event actions in the application. For example, these attributes may include touch sensitive display 402
One or more HTML of an HTML document to generate a web page displayed on
Can be inserted into the tag. An event action is an implantable script (for example,
JavaScript (registered trademark) can be executed.
Figure 0005638048

Figure 0005638048

次は、上述した例示的IDLを使用してタッチイベントを処理するためのHTMLコー
ド断片の例である。以下のHTMLは、例えば、タッチイベントリスナーTouchSt
art及びGestureStartが、HTMLコードをもつエレメントに追加された
ことを示す。

Figure 0005638048
The following is an example HTML code fragment for handling touch events using the exemplary IDL described above. The following HTML is, for example, touch event listener TouchSt
Indicates that art and GestureStart have been added to the element with HTML code.
Figure 0005638048

前記IDLに対応するHTMLコードは、次のものでよい。

Figure 0005638048

Figure 0005638048

Figure 0005638048

Figure 0005638048

Figure 0005638048
The HTML code corresponding to the IDL may be as follows.
Figure 0005638048

Figure 0005638048

Figure 0005638048

Figure 0005638048

Figure 0005638048

マルチタッチ装置のための例示的処理スタック
図2は、例示的なマルチタッチケーパブル装置の処理スタックを示す図である。上述し
たタッチイベントモデルは、処理スタックの1つ以上の領域及びスタックにおけるユーザ
の種々のリソースにおいて実施することができる。ハードウェア200のレイヤは、種々
のハードウェアインターフェイスコンポーネント、例えば、タッチ感知又はイネーブル型
装置或いはタッチ感知ディスプレイを含むことができる。タッチ感知装置は、ディスプレ
イと、複数のタッチを同時に感知するパネルとを含むことができる。又、ハードウェアレ
イヤ200は、タッチ感知ディスプレイ又は装置の向き(例えば、肖像、風景)を検出す
るための加速度計も含むことができる。従って、向きを表す信号は、最適な表示のために
ウェブページをスケーリングするようにタッチイベントモデルにより使用することができ
る。
Exemplary Processing Stack for Multi-Touch Device FIG. 2 is a diagram illustrating an exemplary multi-touch capable device processing stack. The touch event model described above can be implemented in one or more regions of the processing stack and various resources of the user in the stack. The layer of hardware 200 may include various hardware interface components, such as touch sensitive or enabled devices or touch sensitive displays. The touch sensing device may include a display and a panel that senses multiple touches simultaneously. The hardware layer 200 may also include a touch-sensitive display or an accelerometer for detecting device orientation (eg, portrait, landscape). Thus, the orientation signal can be used by the touch event model to scale the web page for optimal display.

ドライバレイヤ202における1つ以上のドライバは、ハードウェア200と通信する
ことができる。例えば、ドライバは、ハードウェアレイヤ200のタッチ感知ディスプレ
イ又は装置によって発生されるタッチ入力信号を受け取って処理することができる。コア
オペレーティングシステム(OS)204は、ドライバ(1つ又は複数)と通信すること
ができる。コアOS204は、ドライバ(1つ又は複数)から受け取られた生の入力デー
タを処理することができる。ある実施形態では、ドライバは、コアOS204の一部分で
あると考えることもできる。
One or more drivers in the driver layer 202 can communicate with the hardware 200. For example, the driver can receive and process touch input signals generated by the touch sensitive display or device of the hardware layer 200. The core operating system (OS) 204 can communicate with the driver (s). The core OS 204 can process raw input data received from the driver (s). In some embodiments, the driver can be considered part of the core OS 204.

OSアプリケーションプログラミングインターフェイス(API)206のセットがコ
アOS204と通信することができる。これらのAPIは、オペレーティングシステムと
共に通常含まれるAPIのセットでよい(例えば、Linux又はUNIX API)。
コアファウンデーションAPI208のセットは、OS API206を使用することが
でき、そしてファウンデーションAPI210のセットは、コアファウンデーションAP
I208を使用することができる。
A set of OS application programming interfaces (APIs) 206 can communicate with the core OS 204. These APIs may be a set of APIs that are normally included with the operating system (eg, Linux or UNIX API).
The set of core foundation APIs 208 can use the OS API 206, and the set of foundation APIs 210 is the core foundation API.
I208 can be used.

ウェブページソフトウェア開発キット(SDK)210は、装置で実行されるアプリケ
ーションにより使用するように設計されたAPIのセットを含むことができる。タッチイ
ベントAPIは、例えば、ウェブページSDK210に含ませることができる。ウェブペ
ージSDK210のAPIは、ファウンデーションAPI208を使用することができる
。ウェブページSDK210は、例えば、Apple Inc(登録商標)により提供さ
れるウェブキットを含むことができる。ウェブページSDK210は、APIとしてオフ
ァーすることもできるし、或いはアプリケーション、例えば、Apple Inc(登録
商標)により提供されるSAFARI(登録商標)のようなブラウザを通してアクセスす
ることもできる。
Web page software development kit (SDK) 210 may include a set of APIs designed for use by applications running on the device. The touch event API can be included in the web page SDK 210, for example. The API of the web page SDK 210 can use the foundation API 208. The web page SDK 210 can include, for example, a web kit provided by Apple Inc (registered trademark). The web page SDK 210 can be offered as an API or can be accessed through a browser such as an application, for example, SAFARI (R) provided by Apple Inc (R).

装置で実行されるアプリケーション214は、ウェブページSDK210のAPIを使
用してウェブページを生成することができる。次いで、ウェブページSDK210のAP
Iは、低レベルエレメントと通信し、最終的には、タッチ感知ディスプレイ又は装置及び
種々の他のユーザインターフェイスハードウェアと通信することができる。各レイヤは、
その下のレイヤを使用できるが、これは、常に必要とされない。例えば、ある実施形態で
は、装置214は、OS API206と時々通信することができる。
An application 214 running on the device can generate a web page using the API of the web page SDK 210. Next, AP of web page SDK210
I can communicate with the low level elements and ultimately with the touch sensitive display or device and various other user interface hardware. Each layer is
The layers below it can be used, but this is not always required. For example, in certain embodiments, device 214 may occasionally communicate with OS API 206.

例示的タッチイベント最適化プロセス
図3は、タッチイベントの処理を最適化するプロセス300のフローチャートである。
このプロセス300は、タッチ感知装置からタッチ入力信号を受け取ることで開始する(
302)。タッチ入力信号が、タッチ感知装置に表示されたウェブページの1つ以上の領
域に関連しているかどうかの決定がなされる(304)。ウェブページの1つ以上の領域
をタッチイベントに関連させることができる。この決定は、例えば、タッチ感知装置に関
連したアプリケーション(例えば、ブラウザ)によって行うことができる。ウェブページ
の1つ以上の領域に関連したタッチイベントは、タッチ信号がウェブページの1つ以上の
領域に関連している場合には、ウェブページで処理することができる(306)。タッチ
信号がウェブページの1つ以上の領域に関連していない場合には、アプリケーションがタ
ッチ信号を処理することができる。
Exemplary Touch Event Optimization Process FIG. 3 is a flowchart of a process 300 for optimizing the processing of touch events.
The process 300 begins by receiving a touch input signal from a touch sensing device (
302). A determination is made whether the touch input signal is associated with one or more regions of the web page displayed on the touch sensing device (304). One or more areas of a web page can be associated with a touch event. This determination can be made, for example, by an application (eg, a browser) associated with the touch sensing device. Touch events associated with one or more areas of the web page may be processed 306 on the web page if the touch signal is associated with one or more areas of the web page. If the touch signal is not associated with one or more areas of the web page, the application can process the touch signal.

移動装置の概略
図4は、例示的なマルチタッチケーパブル装置400のブロック図である。ある実施形
態では、マルチタッチケーパブル装置400は、タッチ感知ディスプレイ402を備えて
いる。このタッチ感知ディスプレイ402は、液晶ディスプレイ(LCD)技術、光放射
ポリマーディスプレイ(LPD)技術、又は他のディスプレイ技術を実施することができ
る。タッチ感知ディスプレイ402は、ユーザとの触覚及び/又は触感接触を感知するこ
とができる。
Mobile Device Overview FIG. 4 is a block diagram of an exemplary multi-touch capable device 400. In some embodiments, the multi-touch capable device 400 includes a touch-sensitive display 402. The touch sensitive display 402 may implement liquid crystal display (LCD) technology, light emitting polymer display (LPD) technology, or other display technology. The touch sensitive display 402 can sense tactile and / or tactile touch with a user.

ある実施形態では、タッチ感知ディスプレイ402は、マルチタッチ感知ディスプレイ
402である。タッチ感知ディスプレイ402は、例えば、複数の同時タッチポイントを
処理することができ、これは、各タッチポイントの圧力、程度及び/又は位置に関連した
データを処理することを含む。このような処理は、複数の指でのジェスチャー及び相互作
用、コーディング(chording)、及び他の相互作用を容易にする。他のタッチ感知ディスプ
レイ技術、例えば、スタイラス又は他のポインティング装置を使用して接触がなされるデ
ィスプレイも、使用することができる。マルチタッチ感知ディスプレイ技術の幾つかの例
が、米国特許第6,323,846号、第6,570,557号、第6,677,932
号、及び米国特許公告第2002/0015024A1号に説明されており、その各々は
、参考としてここにそのまま援用する。ある実施形態では、マルチタッチケーパブル装置
400は、種々のシステムオブジェクトへのユーザアクセスを与えると共にユーザへ情報
を伝達するためにタッチ感知ディスプレイ402に1つ以上のグラフィックユーザインタ
ーフェイスを表示することができる。
In some embodiments, touch sensitive display 402 is multi-touch sensitive display 402. The touch sensitive display 402 can, for example, process multiple simultaneous touch points, including processing data associated with the pressure, degree and / or position of each touch point. Such processing facilitates gestures and interactions with multiple fingers, chording, and other interactions. Other touch-sensitive display technologies can also be used, for example, displays that are contacted using a stylus or other pointing device. Some examples of multi-touch sensitive display technology are described in US Pat. Nos. 6,323,846, 6,570,557, 6,677,932.
And US Patent Publication No. 2002 / 0015024A1, each of which is incorporated herein by reference in its entirety. In some embodiments, the multi-touch capable device 400 can display one or more graphic user interfaces on the touch-sensitive display 402 to provide user access to various system objects and to convey information to the user. .

例示的なマルチタッチケーパブル装置のファンクション
ある実施形態において、マルチタッチケーパブル装置400は、電話装置、e−メール
装置、ネットワークデータ通信装置、Wi−Fiベースステーション装置、及び媒体処理
装置のような複数の装置ファンクションを実施することができる。ある実施形態では、マ
ルチタッチケーパブル装置400は、ウェブページ(例えば、ウェブページ100)を表
示するためのウェブブラウザ404を含むことができる。タッチ感知ディスプレイ402
は、ウェブページ100において作られるタッチ入力信号を受け取ることができ、そして
上述したタッチモデルを使用して、タッチ入力信号に基づきタッチ及び/又はジェスチャ
ーイベントを決定することができる。ある実施形態では、マルチタッチケーパブル装置4
00は、ネットワーク配布ファンクションを実施することができる。ある実施形態では、
タッチ感知ディスプレイ402は、マルチタッチケーパブル装置400がユーザの耳の付
近にあるときに、ロックダウンすることができる。このロックダウンは、図1Bを参照し
て述べたように、touchcancelイベントを生じさせる。
Exemplary Multi-Touch Capable Device Functions In some embodiments, the multi-touch capable device 400 may be a telephone device, an e-mail device, a network data communication device, a Wi-Fi base station device, and a media processing device. Multiple device functions can be implemented. In some embodiments, multi-touch capable device 400 can include a web browser 404 for displaying web pages (eg, web page 100). Touch sensitive display 402
Can receive touch input signals made in the web page 100 and can determine touch and / or gesture events based on the touch input signals using the touch model described above. In some embodiments, the multi-touch capable device 4
00 can implement the network distribution function. In some embodiments,
The touch-sensitive display 402 can be locked down when the multi-touch capable device 400 is near the user's ear. This lockdown causes a touchcancel event as described with reference to FIG. 1B.

ある実施形態では、加速度計472は、方向矢印474により指示されたように、マル
チタッチケーパブル装置400の移動を検出するのに使用することができる。従って、表
示オブジェクト及び又は媒体は、例えば、肖像又は風景のような検出された向きに基づい
てプレゼンテーションすることができる。ある実施形態では、マルチタッチケーパブル装
置400は、グローバルポジショニングシステム(GPS)、又は他のポジショニングシ
ステム(例えば、Wi−Fiアクセスポイント、テレビジョン信号、セルラーグリッド、
ユニフォームリソースロケータ(URL)を使用するシステム)により与えられるような
位置決定能力をサポートするための回路及びセンサを含むことができる。ある実施形態で
は、ポジショニングシステム(例えば、GPS受信器)は、マルチタッチケーパブル装置
400に一体化することもできるし、又は位置に基づくサービスへのアクセスを与えるよ
うにインターフェイスを経てマルチタッチケーパブル装置400に結合できる個別の装置
として設けることもできる。又、マルチタッチケーパブル装置400は、1つ以上のワイ
ヤレス通信サブシステムを含むこともできる。
In some embodiments, the accelerometer 472 can be used to detect movement of the multi-touch capable device 400 as indicated by the directional arrow 474. Thus, display objects and / or media can be presented based on detected orientations, such as portraits or landscapes, for example. In some embodiments, the multi-touch capable device 400 may include a global positioning system (GPS) or other positioning system (eg, Wi-Fi access point, television signal, cellular grid,
Circuitry and sensors can be included to support position determination capabilities as provided by systems using uniform resource locators (URLs). In some embodiments, the positioning system (eg, GPS receiver) can be integrated into the multi-touch capable device 400 or can be multi-touch capable via an interface to provide access to location-based services. It can also be provided as a separate device that can be coupled to the device 400. The multi-touch capable device 400 may also include one or more wireless communication subsystems.

ある実施形態では、例えば、ユニバーサルシリアルバス(USB)ポート又はドッキン
グポート或いは他のワイヤードポート接続のようなポート装置を含ませることができる。
このポート装置は、例えば、他のコンピューティング装置、例えば、他のマルチタッチケ
ーパブル装置400、ネットワークアクセス装置、パーソナルコンピュータ、プリンタ、
又はデータを受信及び/又は送信できる他の処理装置へのワイヤード接続を確立するのに
使用することができる。ある実施形態では、ポート装置は、マルチタッチケーパブル装置
400が、1つ以上のプロトコル、例えば、TCP/IP、HTTP、UDP及び他の既
知のプロトコルを使用して、ホスト装置と同期をとれるようにする。
In some embodiments, a port device such as a universal serial bus (USB) port or docking port or other wired port connection may be included.
This port device may be, for example, another computing device such as another multi-touch capable device 400, a network access device, a personal computer, a printer,
Or it can be used to establish a wired connection to other processing devices that can receive and / or transmit data. In some embodiments, the port device allows the multi-touch capable device 400 to synchronize with the host device using one or more protocols, eg, TCP / IP, HTTP, UDP, and other known protocols. To.

ネットワークオペレーティング環境
図5は、図4のマルチタッチケーパブル装置400に対する例示的なネットワークオペ
レーティング環境600のブロック図である。図4のマルチタッチケーパブル装置400
は、例えば、データ通信において1つ以上のワイヤード及び/又はワイヤレスネットワー
ク510を経て通信することができる。例えば、ワイヤレスネットワーク512、例えば
、セルラーネットワークは、ゲートウェイ516の使用により、インターネットのような
ワイドエリアネットワーク(WAN)514と通信することができる。同様に、802.
11gワイヤレスアクセスポイントのようなアクセスポイント518は、ワイドエリアネ
ットワーク514へ通信アクセスを与えることができる。ある実施形態では、ワイヤレス
ネットワーク512及びアクセスポイント518を経て音声及びデータの両通信を確立す
ることができる。例えば、マルチタッチケーパブル装置400aは、(例えば、VoIP
プロトコルを使用して)電話コールを発信及び受信することができ、(例えば、POP3
プロトコルを使用して)e−メールメッセージを送信及び受信することができ、且つ(例
えば、TCP/IP又はUDPプロトコルを使用して)ワイヤレスネットワーク512、
ゲートウェイ516及びワイドエリアネットワーク514を経てウェブページ、写真及び
ビデオのような電子ドキュメント及び/又はストリームを検索することができる。同様に
、マルチタッチケーパブル装置400bは、電話コールを発信及び受信し、e−メールメ
ッセージを送信及び受信し、且つアクセスポイント518及びワイドエリアネットワーク
514を経て電子ドキュメントを検索することができる。ある実施形態では、マルチタッ
チケーパブル装置400は、1つ以上のケーブルを使用してアクセスポイント518へ物
理的に接続することができ、又、アクセスポイント518は、パーソナルコンピュータで
よい。この構成では、マルチタッチケーパブル装置400は、「テザード(tethered)」装
置と称することができる。
Network Operating Environment FIG. 5 is a block diagram of an exemplary network operating environment 600 for the multi-touch capable device 400 of FIG. Multi-touch capable device 400 of FIG.
Can communicate over one or more wired and / or wireless networks 510 in data communication, for example. For example, a wireless network 512, eg, a cellular network, can communicate with a wide area network (WAN) 514 such as the Internet through the use of a gateway 516. Similarly, 802.
An access point 518, such as an 11g wireless access point, can provide communication access to the wide area network 514. In some embodiments, both voice and data communications can be established via wireless network 512 and access point 518. For example, the multi-touch capable device 400a (for example, VoIP
A telephone call can be made and received (using the protocol), e.g. POP3
E-mail messages can be sent and received (using protocols) and wireless network 512 (eg using TCP / IP or UDP protocols),
Electronic documents and / or streams such as web pages, photos and videos can be retrieved via gateway 516 and wide area network 514. Similarly, multi-touch capable device 400b can place and receive telephone calls, send and receive e-mail messages, and retrieve electronic documents via access point 518 and wide area network 514. In some embodiments, multi-touch capable device 400 can be physically connected to access point 518 using one or more cables, and access point 518 can be a personal computer. In this configuration, multi-touch capable device 400 may be referred to as a “tethered” device.

又、マルチタッチケーパブル装置400a及び400bは、他の手段により通信を確立
することもできる。例えば、マルチタッチケーパブル装置400aは、ワイヤレスネット
ワーク512を経て、他のワイヤレス装置、例えば、他のマルチタッチケーパブル装置4
00、セルラー電話、等と通信することができる。同様に、マルチタッチケーパブル装置
400a及び400bは、図4に示すBluetooth(登録商標)通信装置488の
ような1つ以上の通信サブシステムの使用により、例えば、パーソナルエリアネットワー
クのようなピア・ツー・ピア通信520を確立することができる。又、他の通信プロトコ
ル及びトポロジーを実施することもできる。
Further, the multi-touch capable devices 400a and 400b can establish communication by other means. For example, the multi-touch capable device 400a passes through the wireless network 512, and other wireless devices, for example, other multi-touch capable devices 4
00, can communicate with cellular phone, etc. Similarly, multi-touch capable devices 400a and 400b can be used by peer-to-peer devices such as personal area networks, for example, through the use of one or more communication subsystems such as the Bluetooth® communication device 488 shown in FIG. Peer communication 520 can be established. Other communication protocols and topologies can also be implemented.

マルチタッチケーパブル装置400は、例えば、1つ以上のワイヤード及び/又はワイ
ヤレスネットワーク510を経てネットワークリソース530と通信することができる。
例えば、ネットワークリソースは、図1及び2を参照して述べたように、タッチモデルを
経てタッチできるウェブページを配送するためのウェブサーバーでよい。
Multi-touch capable device 400 can communicate with network resources 530 via, for example, one or more wired and / or wireless networks 510.
For example, the network resource may be a web server for delivering web pages that can be touched via the touch model, as described with reference to FIGS.

又、マルチタッチケーパブル装置400上のソフトウェアに対してソフトウェア更新が
存在するかどうか自動的に決定し、次いで、そのソフトウェア更新をマルチタッチケーパ
ブル装置400にダウンロードし、そこで、手動で又は自動的にアンパックし及び/又は
インストールすることのできるソフトウェア更新サービスを含む他のサービスを提供する
こともできる。
It also automatically determines whether a software update exists for the software on the multi-touch capable device 400 and then downloads the software update to the multi-touch capable device 400 where it can be manually or automatically Other services may also be provided, including software update services that can be unpacked and / or installed in

例示的移動装置アーキテクチャー
図6は、図4のマルチタッチケーパブル装置400の実施形態のブロック図600であ
る。マルチタッチケーパブル装置400は、メモリインターフェイス602と、1つ以上
のデータプロセッサと、映像プロセッサ及び/又は中央処理ユニット604と、周辺イン
ターフェイス606とを含むことができる。メモリインターフェイス602、1つ以上の
プロセッサ604及び/又は周辺インターフェイス606は、個別のコンポーネントでも
よいし、或いは1つ以上の集積回路に一体化されてもよい。マルチタッチケーパブル装置
400における種々のコンポーネントは、1つ以上の通信バス又は信号ラインにより結合
することができる。
Exemplary Mobile Device Architecture FIG. 6 is a block diagram 600 of an embodiment of the multi-touch capable device 400 of FIG. The multi-touch capable device 400 can include a memory interface 602, one or more data processors, a video processor and / or central processing unit 604, and a peripheral interface 606. Memory interface 602, one or more processors 604, and / or peripheral interface 606 may be separate components or may be integrated into one or more integrated circuits. The various components in multi-touch capable device 400 can be coupled by one or more communication buses or signal lines.

センサ、装置及びサブシステムは、複数のファンクションを容易にするために、周辺イ
ンターフェイス606に結合することができる。例えば、運動センサ610、光センサ6
12、及び接近センサ614は、図4を参照して述べた方向、照明及び接近ファンクショ
ンを容易にするために、周辺インターフェイス606に結合することができる。又、関連
ファンクションを容易にするために、ポジショニングシステム(例えば、GPS受信器)
、温度センサ、生体測定センサ、又は他のセンサ装置のような他のセンサ616を周辺イ
ンターフェイス606に接続することもできる。
Sensors, devices, and subsystems can be coupled to the peripheral interface 606 to facilitate multiple functions. For example, motion sensor 610, optical sensor 6
12, and proximity sensor 614 can be coupled to peripheral interface 606 to facilitate the direction, illumination, and proximity functions described with reference to FIG. Also, positioning system (eg GPS receiver) to facilitate related functions
Other sensors 616, such as temperature sensors, biometric sensors, or other sensor devices can also be connected to the peripheral interface 606.

又、記録写真及びビデオクリップのようなカメラファンクションを容易にするために、
カメラサブシステム620及び光学的センサ622、例えば、電荷結合装置(CCD)又
は相補的金属酸化物半導体(CMOS)光学的センサを使用することができる。
Also, to facilitate camera functions such as recorded photos and video clips,
A camera subsystem 620 and optical sensor 622 can be used, for example, a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) optical sensor.

又、高周波受信器及び送信器、及び/又は光学的(例えば、赤外線)受信器及び送信器
を含む1つ以上のワイヤレス通信サブシステム624により通信ファンクションを容易に
することができる。通信サブシステム624の特定の設計及び実施は、マルチタッチケー
パブル装置400が動作することが意図された通信ネットワーク(1つ又は複数)に依存
する。例えば、マルチタッチケーパブル装置400は、GSMネットワーク、GPRSネ
ットワーク、EDGEネットワーク、Wi−Fi又はWiMaxネットワーク、及びBl
uetooth(登録商標)ネットワークを経て動作するように設計された通信サブシス
テム624を含むことができる。特に、ワイヤレス通信サブシステム624は、装置50
0が他のワイヤレス装置のためのベースステーションとして構成されるようにホスティン
グプロトコルを含むことができる。
Also, communication functions may be facilitated by one or more wireless communication subsystems 624 including high frequency receivers and transmitters and / or optical (eg, infrared) receivers and transmitters. The specific design and implementation of the communication subsystem 624 depends on the communication network (s) on which the multi-touch capable device 400 is intended to operate. For example, the multi-touch capable device 400 includes a GSM network, a GPRS network, an EDGE network, a Wi-Fi or WiMax network, and a Bl.
A communications subsystem 624 designed to operate over a uoteoth® network may be included. In particular, the wireless communication subsystem 624 includes the device 50.
A hosting protocol may be included such that 0 is configured as a base station for other wireless devices.

オーディオサブシステム626は、ボイスイネーブル型ファンクション、例えば、音声
認識、音声複写、デジタル記録及び電話ファンクションを容易にするために、スピーカ6
28及びマイクロホン630に結合することができる。
The audio subsystem 626 can be used to facilitate voice-enabled functions such as voice recognition, voice copying, digital recording and telephone functions.
28 and a microphone 630.

I/Oサブシステム640は、タッチスクリーンコントローラ642及び/又は他の入
力コントローラ644(1つ又は複数)を含むことができる。タッチスクリーンコントロ
ーラ642は、タッチスクリーン646に結合することができる。タッチスクリーン64
6及びタッチスクリーンコントローラ642は、例えば、これらに限定されないが、容量
性、抵抗性、赤外線、及び表面音波技術、並びにタッチスクリーン646との1つ以上の
接触ポイントを決定するための他の接近センサアレイ又は他の素子を含む複数のタッチ感
知技術のいずれかを使用して、接触及び移動又はその切断を検出することができる。
The I / O subsystem 640 can include a touch screen controller 642 and / or other input controller 644 (s). Touch screen controller 642 can be coupled to touch screen 646. Touch screen 64
6 and touch screen controller 642 are, for example, but not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies, and other proximity sensors for determining one or more contact points with touch screen 646. Any of a plurality of touch sensing techniques including arrays or other elements can be used to detect touch and movement or disconnection thereof.

他の入力コントローラ644(1つ又は複数)は、他の入力/制御装置648、例えば
、1つ以上のボタン、ロッカースイッチ、サムホイール、赤外線ポート、USBポート、
及び/又はスタイラス等のポインタ装置に結合することができる。1つ以上のボタン(図
示せず)は、スピーカ628及び/又はマイクロホン630の音量制御のためのアップ/
ダウンボタンを含むことができる。
Other input controller (s) 644 may include other input / control devices 648 such as one or more buttons, rocker switches, thumbwheels, infrared ports, USB ports,
And / or can be coupled to a pointer device such as a stylus. One or more buttons (not shown) may be used to increase / decrease volume for speaker 628 and / or microphone 630.
A down button can be included.

一実施形態では、第1時間中ボタンを押すと、タッチスクリーン646のロックが解離
し、その第1時間より長い第2時間中ボタンを押すと、マルチタッチケーパブル装置40
0への電源をターンオン又はオフにすることができる。ユーザは、1つ以上のボタンのフ
ァンクションをカスタマイズすることができる。タッチスクリーン646は、例えば、バ
ーチャル又はソフトボタン、及び/又はキーパッド又はキーボードを実施するのにも使用
できる。
In one embodiment, pressing the button for a first time unlocks the lock of the touch screen 646 and pressing the button for a second time longer than the first time results in the multi-touch capable device 40.
The power supply to zero can be turned on or off. The user can customize the function of one or more buttons. Touch screen 646 can also be used to implement, for example, virtual or soft buttons and / or keypads or keyboards.

ある実施形態では、マルチタッチケーパブル装置400は、MP3、AAC、およびM
PEGファイルのような記録されたオーディオ及び/又はビデオファイルをプレゼンテー
ションすることができる。ある実施形態では、マルチタッチケーパブル装置400は、i
PodTMのようなMP3プレーヤのファンクションを含むことができる。それ故、マルチ
タッチケーパブル装置400は、iPodに適合できる32ピンコネクタを含むことがで
きる。又、他の入力/出力及び制御装置を使用することもできる。
In some embodiments, the multi-touch capable device 400 includes MP3, AAC, and M
Recorded audio and / or video files such as PEG files can be presented. In some embodiments, the multi-touch capable device 400 is i
MP3 player functions such as Pod can be included. Therefore, the multi-touch capable device 400 can include a 32-pin connector that is compatible with iPod. Other input / output and control devices can also be used.

メモリインターフェイス602は、メモリ650に結合することができる。メモリ65
0は、高速ランダムアクセスメモリ及び/又は不揮発性メモリ、例えば、1つ以上の磁気
ディスク記憶装置、1つ以上の光学的記憶装置、及び/又はフラッシュメモリ(例えば、
NAND、NOR)を含むことができる。メモリ650は、オペレーティングシステム6
52、例えば、Darwin、RTXC、LINUX、UNIX、OS X、WINDO
WS、又は埋め込み型オペレーティングシステム、例えば、VxWorksを記憶するこ
とができる。オペレーティングシステム652は、基本的システムサービスをハンドリン
グし及びハードウェア依存性タスクを遂行するためのインストラクションを含むことがで
きる。
Memory interface 602 can be coupled to memory 650. Memory 65
0 is high-speed random access memory and / or non-volatile memory, such as one or more magnetic disk storage devices, one or more optical storage devices, and / or flash memory (eg,
NAND, NOR). The memory 650 is the operating system 6
52, for example, Darwin, RTXC, LINUX, UNIX, OS X, WINDOW
WS or embedded operating systems, eg VxWorks, can be stored. The operating system 652 may include instructions for handling basic system services and performing hardware dependent tasks.

又、メモリ650は、1つ以上の付加的な装置、1つ以上のコンピュータ、及び/又は
1つ以上のサーバーとの通信を容易にするために通信インストラクション654を記憶す
ることもできる。メモリ650は、グラフィックユーザインターフェイス処理を容易にす
るためのグラフィックユーザインターフェイスインストラクション656、センサ関連処
理及びファンクションを容易にするためのセンサ処理インストラクション658、電話関
連プロセス及びファンクションを容易にするための電話インストラクション660、電子
メッセージング関連プロセス及びファンクションを容易にするための電子メッセージング
インストラクション662、ウェブブラウジング関連プロセス及びファンクションを容易
にするためのウェブブラウジングインストラクション664、メディア処理関連プロセス
及びファンクションを容易にするためのメディア処理インストラクション666、GPS
及びナビゲーション関連プロセス及びファンクションを容易にするためのGPS/ナビゲ
ーションインストラクション668、カメラ関連プロセス及びファンクションを容易にす
るためのカメラインストラクション670、及び/又は図1−5を参照して述べたプロセ
ス及びファンクションを容易にするための他のメッセージングインストラクション672
を含むことができる。
The memory 650 may also store communication instructions 654 to facilitate communication with one or more additional devices, one or more computers, and / or one or more servers. Memory 650 includes graphic user interface instructions 656 for facilitating graphic user interface processing, sensor processing instructions 658 for facilitating sensor related processes and functions, and telephone instructions 660 for facilitating telephone related processes and functions. Electronic messaging instructions 662 for facilitating electronic messaging related processes and functions, web browsing instructions 664 for facilitating web browsing related processes and functions, media processing instructions for facilitating media processing related processes and functions 666, GPS
And GPS / navigation instructions 668 for facilitating navigation related processes and functions, camera instructions 670 for facilitating camera related processes and functions, and / or the processes and functions described with reference to FIGS. Other messaging instructions 672 to facilitate
Can be included.

上述したインストラクション及びアプリケーションの各々は、上述した1つ以上のファ
ンクションを遂行するためのインストラクションのセットに対応することができる。これ
らのインストラクションは、個別のソフトウェアプログラム、手順又はモジュールとして
実施される必要はない。メモリ650は、付加的なインストラクションを含むこともでき
るし、又はより少数のインストラクションを含んでもよい。マルチタッチケーパブル装置
400の種々のファンクションは、1つ以上の信号処理及び/又は特定用途向け集積回路
を含めて、ハードウェア及び/又はソフトウェアで実施することができる。
Each of the instructions and applications described above may correspond to a set of instructions for performing one or more functions described above. These instructions need not be implemented as separate software programs, procedures or modules. Memory 650 may include additional instructions or may include fewer instructions. The various functions of multi-touch capable device 400 may be implemented in hardware and / or software, including one or more signal processing and / or application specific integrated circuits.

ここに述べる特徴は、デジタル電子回路、或いはコンピュータハードウェア、ファーム
ウェア、ソフトウェア、又はそれらの組合せで実施することができる。これらの特徴は、
プログラム可能なプロセッサにより実行するために、例えば、マシン読み取り可能な記憶
装置又は伝播信号のような情報キャリアに明白に埋め込まれたコンピュータプログラム製
品において具現化することができ、そして入力データに対して動作して出力を発生するこ
とにより前記実施形態のファンクションを遂行するためにインストラクションのプログラ
ムを実行するプログラム可能なプロセッサにより方法ステップを遂行することができる。
The features described herein can be implemented in digital electronic circuitry, or computer hardware, firmware, software, or a combination thereof. These features are
For implementation by a programmable processor, for example, can be embodied in a computer program product explicitly embedded in an information carrier, such as a machine readable storage device or a propagated signal, and operates on input data The method steps can then be performed by a programmable processor that executes a program of instructions to perform the functions of the embodiments by generating an output.

上述した特徴は、データ記憶システムからデータ及びインストラクションを受け取ると
共にデータ記憶システムへデータ及びインストラクションを送り出すように結合された少
なくとも1つのプログラム可能なプロセッサと、少なくとも1つの入力装置と、少なくと
も1つの出力装置とを含むプログラム可能なシステムにおいて実行できる1つ以上のコン
ピュータプログラムにおいて具現化できるのが好都合である。コンピュータプログラムと
は、コンピュータに直接的又は間接的に使用して、あるアクティビティを遂行するか又は
ある結果を得ることができるインストラクションのセットである。コンピュータプログラ
ムは、コンパイルされた言語又は解釈された言語を含む任意の形態のプログラミング言語
(例えば、Objective−C、Java)で書くことができ、そしてコンピューテ
ィング環境で使用するのに適したコンポーネント、サブルーチン又は他のユニットをスタ
ンドアローンプログラム又はモジュールとして含む任意の形態で展開することができる。
The above features include at least one programmable processor coupled to receive data and instructions from the data storage system and to send data and instructions to the data storage system, at least one input device, and at least one output device. Advantageously, it can be embodied in one or more computer programs that can be executed in a programmable system including: A computer program is a set of instructions that can be used directly or indirectly on a computer to perform an activity or obtain a result. The computer program can be written in any form of programming language (eg, Objective-C, Java), including compiled or interpreted languages, and components, subroutines suitable for use in a computing environment Or it can be deployed in any form including other units as standalone programs or modules.

インストラクションのプログラムを実行するのに適したプロセッサは、例えば、任意の
種類のコンピュータの、汎用及び特殊目的の両マイクロプロセッサ、単独プロセッサ又は
マルチプロセッサ又はコアの1つを含む。一般的に、プロセッサは、リードオンリメモリ
又はランダムアクセスメモリ或いはその両方からインストラクション及びデータを受け取
る。コンピュータの本質的要素は、インストラクションを実行するためのプロセッサと、
インストラクション及びデータを記憶するための1つ以上のメモリである。又、一般的に
、コンピュータは、データファイルを記憶するための1つ以上の大量記憶装置を含むか、
又はそれらと通信するように作動的に結合され、このような装置は、磁気ディスク、例え
ば、内部ハードディスク及び取り外し可能なディスクと、磁気−光学ディスクと、光学的
ディスクとを含む。コンピュータプログラムインストラクション及びデータを明白に実施
するのに適した記憶装置は、例えば、EPROM、EEPROM及びフラッシュメモリ装
置のような半導体メモリ装置と、内部ハードディスク及び取り外し可能なディスクのよう
な磁気ディスクと、磁気−光学ディスクと、CD−ROM及びDVD−ROMディスクと
を含む全ての形態の不揮発性メモリを含む。プロセッサ及びメモリは、ASIC(特定用
途向け集積回路)により補足することもできるし又はそれに組み込むこともできる。
Suitable processors for executing the program of instructions include, for example, one of both general purpose and special purpose microprocessors, single processors or multiprocessors or cores of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions,
One or more memories for storing instructions and data. Also, in general, a computer includes one or more mass storage devices for storing data files,
Or operably coupled to communicate with them, such devices include magnetic disks, eg, internal and removable hard disks, magneto-optical disks, and optical disks. Storage devices suitable for unequivocally implementing computer program instructions and data include, for example, semiconductor memory devices such as EPROM, EEPROM and flash memory devices, magnetic disks such as internal hard disks and removable disks, and magnetic disks. -Includes all forms of non-volatile memory including optical disks and CD-ROM and DVD-ROM disks. The processor and memory can be supplemented by, or incorporated in, an ASIC (Application Specific Integrated Circuit).

ユーザとの対話を与えるために、ユーザに情報を表示するためのディスプレイ装置、例
えば、CRT(陰極線管)又はLCD(液晶ディスプレイ)モニタと、ユーザがコンピュ
ータへ入力を与えることのできるキーボード及びポインティング装置、例えば、マウス又
はトラックボールとを有するコンピュータにおいて、これらの特徴を具現化することがで
きる。
A display device for displaying information to the user, such as a CRT (Cathode Ray Tube) or LCD (Liquid Crystal Display) monitor, and a keyboard and pointing device that allow the user to provide input to the computer to provide interaction with the user For example, these features can be embodied in a computer having a mouse or trackball.

又、データサーバーのようなバックエンドコンポーネントを含むか、アプリケーション
サーバー又はインターネットサーバーのようなミドルウェアコンポーネントを含むか、或
いはグラフィックユーザインターフェイス又はインターネットブラウザ或いはその組合せ
を有するクライアントコンピュータのようなフロントエンドコンポーネントを含むコンピ
ュータシステムにおいて、これらの特徴を具現化することもできる。システムのこれらの
コンポーネントは、通信ネットワークのような任意のデジタルデータ通信形態又は媒体に
よって接続することができる。通信ネットワークは、例えば、LAN、WAN、及びイン
ターネットを形成するコンピュータ及びネットワークを含む。
It also includes a backend component such as a data server, a middleware component such as an application server or an internet server, or a frontend component such as a client computer having a graphic user interface or internet browser or a combination thereof. These features can also be embodied in a computer system. These components of the system can be connected by any digital data communication form or medium, such as a communication network. Communication networks include, for example, computers and networks that form LANs, WANs, and the Internet.

コンピュータシステムは、クライアント及びサーバーを含むことができる。クライアン
ト及びサーバーは、一般的に、互いに離れており、典型的に、ネットワークを通して対話
する。クライアント及びサーバーの関係は、各コンピュータにおいて実行されて互いにク
ライアント−サーバー関係を有するコンピュータプログラムによって生じる。
The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network. The client and server relationship is caused by computer programs that execute on each computer and have a client-server relationship with each other.

多数の実施形態について説明した。それでも、種々の変更がなされ得ることを理解され
たい。例えば、1つ以上の実施形態の要素を結合、削除、変更、又は補足して、更に別の
実施形態を形成することができる。更に別の実施例として、図示された論理フローは、希
望の結果を達成するのに、図示された特定の順序又は逐次の順序を必要とするものではな
い。更に、他のステップを設けてもよいし、又は上述したフローからステップを削除して
もよく、更に、上述したシステムに他のコンポーネントを追加しても、又、そこから除去
してもよい。従って、これら他の実施形態は、特許請求の範囲に包含される。
A number of embodiments have been described. Nevertheless, it should be understood that various changes may be made. For example, elements of one or more embodiments can be combined, deleted, modified, or supplemented to form still other embodiments. As yet another example, the illustrated logic flow does not require the particular order or sequential order shown to achieve the desired result. In addition, other steps may be provided, or steps may be deleted from the flow described above, and other components may be added to or removed from the system described above. Accordingly, these other embodiments are within the scope of the claims.

Claims (21)

タッチ感知ディスプレイ上に表示されたドキュメントの1つ以上の要素上での複数の同時の指接触と関連する複数のタッチ入力信号を受け取るステップと、
前記複数のタッチ入力信号が、前記ドキュメントの1つ以上の要素に対して行われたタッチジェスチャと関連しているかどうか決定するために前記複数のタッチ入力信号を処理するステップと、
前記複数のタッチ入力信号が前記タッチジェスチャに関連しているとの決定に応じて、前記ドキュメントに含まれた命令を実行して処理するために、前記ドキュメントへジェスチャイベントを転送するステップと、
を備えた方法。
Receiving a plurality of touch input signals associated with a plurality of simultaneous finger contacts on one or more elements of a document displayed on a touch-sensitive display;
A step in which the plurality of touch input signals, processing the plurality of touch input signals to determine whether associated with touch gesture made to one or more elements of the document,
Forwarding a gesture event to the document to execute and process instructions contained in the document in response to determining that the plurality of touch input signals are associated with the touch gesture;
With a method.
前記複数のタッチ入力信号が前記タッチジェスチャに関連していないとの決定に応じて、ブラウザで前記複数のタッチ入力信号を処理するステップを更に備えた、請求項1に記載の方法。 The method of claim 1, further comprising processing the plurality of touch input signals at a browser in response to determining that the plurality of touch input signals are not associated with the touch gesture. 前記ジェスチャイベントは、2つ以上のタッチイベントを含む、請求項1または2に記載の方法。   The method according to claim 1, wherein the gesture event includes two or more touch events. 前記ジェスチャイベントは、前記ドキュメント内のイベントアクションを定義する属性と関連づけられる、請求項1乃至3のいずれか1項に記載の方法。   4. A method according to any one of the preceding claims, wherein the gesture event is associated with an attribute defining an event action in the document. 前記属性は、前記1つ以上の要素と関連する1つ以上のHTMLタグに挿入される、請求項4に記載の方法。   The method of claim 4, wherein the attribute is inserted into one or more HTML tags associated with the one or more elements. 前記ドキュメントの1つ以上の要素に関連したジェスチャイベントの処理は、前記ドキュメントの1つ以上の要素に関連したHTMLタグに基づいて前記ジェスチャイベントを処理することを含む、請求項5に記載の方法。   The method of claim 5, wherein processing a gesture event associated with one or more elements of the document includes processing the gesture event based on an HTML tag associated with the one or more elements of the document. . 前記ジェスチャイベントは、タッチ開始イベントと、1つ以上のタッチ移動イベントと、タッチ終了又はタッチキャンセルイベントとを含むタッチイベントのシーケンスを含む、請求項1乃至6のいずれか1項に記載の方法。   The method of any one of claims 1 to 6, wherein the gesture event comprises a sequence of touch events including a touch start event, one or more touch movement events, and a touch end or touch cancel event. タッチ感知ディスプレイと、
1つ以上のプロセッサと、
1つ以上のタッチイベント及び1つ以上のジェスチャイベントを処理するための命令を含むドキュメントと、前記1つ以上のプロセッサにより実行される1つ以上のプログラムとを格納するメモリとを備え、
前記1つ以上のプログラムは、
前記タッチ感知ディスプレイ上に表示された前記ドキュメントの1つ以上の要素上での複数の同時の指接触と関連する複数のタッチ入力信号を受け取る命令と、
前記複数のタッチ入力信号が、前記ドキュメントの1つ以上の要素に対して行われたタッチジェスチャと関連しているかどうか決定するために前記複数のタッチ入力信号を処理する命令と、
前記複数のタッチ入力信号が前記タッチジェスチャに関連しているとの決定に応じて、前記ドキュメントに含まれた命令を実行して処理するために、前記ドキュメントへジェスチャイベントを転送する命令と、
を含む、コンピュータシステム。
A touch sensitive display;
One or more processors;
A memory containing a document containing instructions for processing one or more touch events and one or more gesture events; and one or more programs executed by the one or more processors;
The one or more programs are:
Receiving a plurality of touch input signals associated with a plurality of simultaneous finger contacts on one or more elements of the document displayed on the touch-sensitive display;
Instructions for the plurality of touch input signals, processing the plurality of touch input signals to determine whether associated with conducted touch gesture with respect to one or more elements of the document,
Instructions for forwarding gesture events to the document to execute and process instructions contained in the document in response to determining that the plurality of touch input signals are associated with the touch gesture;
Including a computer system.
前記1つ以上のプログラムは、前記複数のタッチ入力信号が前記タッチジェスチャに関連していないとの決定に応じて、ブラウザで前記複数のタッチ入力信号を処理する命令を含む、請求項8に記載のコンピュータシステム。 The one or more programs include instructions for processing the plurality of touch input signals in a browser in response to determining that the plurality of touch input signals are not associated with the touch gesture. Computer system. 前記ジェスチャイベントは、2つ以上のタッチイベントを含む、請求項8または9に記載のコンピュータシステム。   The computer system according to claim 8 or 9, wherein the gesture event includes two or more touch events. 前記ジェスチャイベントは、前記ドキュメント内のイベントアクションを定義する属性と関連づけられる、請求項8乃至10のいずれか1項に記載のコンピュータシステム。   11. A computer system according to any one of claims 8 to 10, wherein the gesture event is associated with an attribute defining an event action in the document. 前記属性は、前記1つ以上の要素と関連する1つ以上のHTMLタグに挿入される、請求項11に記載のコンピュータシステム。   The computer system of claim 11, wherein the attribute is inserted into one or more HTML tags associated with the one or more elements. 前記ドキュメントの1つ以上の要素に関連したジェスチャイベントの処理は、前記ドキュメントの1つ以上の要素に関連したHTMLタグに基づいて前記ジェスチャイベントを処理することを含む、請求項12に記載のコンピュータシステム。   The computer of claim 12, wherein processing a gesture event associated with one or more elements of the document includes processing the gesture event based on an HTML tag associated with the one or more elements of the document. system. 前記ジェスチャイベントは、タッチ開始イベントと、1つ以上のタッチ移動イベントと、タッチ終了又はタッチキャンセルイベントとを含むタッチイベントのシーケンスを含む、請求項8乃至13のいずれか1項に記載のコンピュータシステム。   The computer system according to claim 8, wherein the gesture event includes a sequence of touch events including a touch start event, one or more touch movement events, and a touch end or touch cancel event. . タッチ感知ディスプレイを備えるコンピュータシステムで実行される1つ以上のプログラムを格納するコンピュータ読み取り可能な記憶媒体であって、
前記1つ以上のプログラムは、
前記タッチ感知ディスプレイ上に表示された前記ドキュメントの1つ以上の要素上での複数の同時の指接触と関連する複数のタッチ入力信号を受け取る命令と、
前記複数のタッチ入力信号が、前記ドキュメントの1つ以上の要素に対して行われたタッチジェスチャと関連しているかどうか決定するために前記複数のタッチ入力信号を処理する命令と、
前記複数のタッチ入力信号が前記タッチジェスチャに関連しているとの決定に応じて、前記ドキュメントに含まれた命令を実行して処理するために、前記ドキュメントへジェスチャイベントを転送する命令と、
を含む、コンピュータ読み取り可能な記憶媒体。
A computer readable storage medium storing one or more programs executed on a computer system comprising a touch sensitive display,
The one or more programs are:
Receiving a plurality of touch input signals associated with a plurality of simultaneous finger contacts on one or more elements of the document displayed on the touch-sensitive display;
Instructions for the plurality of touch input signals, processing the plurality of touch input signals to determine whether associated with conducted touch gesture with respect to one or more elements of the document,
Instructions for forwarding gesture events to the document to execute and process instructions contained in the document in response to determining that the plurality of touch input signals are associated with the touch gesture;
Including a computer-readable storage medium.
前記1つ以上のプログラムは、前記複数のタッチ入力信号が前記タッチジェスチャに関連していないとの決定に応じて、ブラウザで前記複数のタッチ入力信号を処理する命令を含む、請求項15に記載のコンピュータ読み取り可能な記憶媒体。 The one or more programs include instructions for processing the plurality of touch input signals in a browser in response to determining that the plurality of touch input signals are not associated with the touch gesture. Computer-readable storage media. 前記ジェスチャイベントは、2つ以上のタッチイベントを含む、請求項15または16に記載のコンピュータ読み取り可能な記憶媒体。   The computer-readable storage medium according to claim 15 or 16, wherein the gesture event includes two or more touch events. 前記ジェスチャイベントは、前記ドキュメント内のイベントアクションを定義する属性と関連づけられる、請求項15乃至17のいずれか1項に記載のコンピュータ読み取り可能な記憶媒体。   The computer-readable storage medium of any one of claims 15 to 17, wherein the gesture event is associated with an attribute defining an event action in the document. 前記属性は、前記1つ以上の要素と関連する1つ以上のHTMLタグに挿入される、請求項18に記載のコンピュータ読み取り可能な記憶媒体。   The computer-readable storage medium of claim 18, wherein the attribute is inserted into one or more HTML tags associated with the one or more elements. 前記ドキュメントの1つ以上の要素に関連したジェスチャイベントの処理は、前記ドキュメントの1つ以上の要素に関連したHTMLタグに基づいて前記ジェスチャイベントを処理することを含む、請求項19に記載のコンピュータ読み取り可能な記憶媒体。   The computer of claim 19, wherein processing a gesture event associated with one or more elements of the document includes processing the gesture event based on an HTML tag associated with the one or more elements of the document. A readable storage medium. 前記ジェスチャイベントは、タッチ開始イベントと、1つ以上のタッチ移動イベントと、タッチ終了又はタッチキャンセルイベントとを含むタッチイベントのシーケンスを含む、請求項15乃至20のいずれか1項に記載のコンピュータ読み取り可能な記憶媒体。   21. A computer-readable device according to any one of claims 15 to 20, wherein the gesture event comprises a sequence of touch events including a touch start event, one or more touch movement events, and a touch end or touch cancel event. Possible storage medium.
JP2012218235A 2008-03-04 2012-09-28 Touch event handling for web pages Active JP5638048B2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/042,237 US8174502B2 (en) 2008-03-04 2008-03-04 Touch event processing for web pages
US12/042,237 2008-03-04

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010502357A Division JP5535898B2 (en) 2008-03-04 2009-03-03 Touch event handling for web pages

Publications (2)

Publication Number Publication Date
JP2013058210A JP2013058210A (en) 2013-03-28
JP5638048B2 true JP5638048B2 (en) 2014-12-10

Family

ID=40739999

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010502357A Active JP5535898B2 (en) 2008-03-04 2009-03-03 Touch event handling for web pages
JP2012218235A Active JP5638048B2 (en) 2008-03-04 2012-09-28 Touch event handling for web pages

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010502357A Active JP5535898B2 (en) 2008-03-04 2009-03-03 Touch event handling for web pages

Country Status (7)

Country Link
US (2) US8174502B2 (en)
EP (2) EP2122447B1 (en)
JP (2) JP5535898B2 (en)
CN (3) CN104794105B (en)
DE (1) DE112009000002B4 (en)
HK (4) HK1133479A1 (en)
WO (1) WO2009111460A1 (en)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US8951121B2 (en) * 2012-09-28 2015-02-10 Bally Gaming, Inc. Multigame action button deck in a concurrent gaming system
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8174502B2 (en) 2008-03-04 2012-05-08 Apple Inc. Touch event processing for web pages
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8355003B2 (en) * 2008-06-13 2013-01-15 Microsoft Corporation Controller lighting activation by proximity and motion
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
US8566044B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9311112B2 (en) * 2009-03-16 2016-04-12 Apple Inc. Event recognition
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
JP5771936B2 (en) * 2009-11-30 2015-09-02 ヤマハ株式会社 Parameter adjustment device and acoustic adjustment table
US20110224896A1 (en) * 2010-03-09 2011-09-15 Nokia Corporation Method and apparatus for providing touch based routing services
US8552999B2 (en) 2010-06-14 2013-10-08 Apple Inc. Control selection approximation
JP5790070B2 (en) * 2010-08-26 2015-10-07 カシオ計算機株式会社 Display control apparatus and program
US9747270B2 (en) 2011-01-07 2017-08-29 Microsoft Technology Licensing, Llc Natural input for spreadsheet actions
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US9423951B2 (en) 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
US8438473B2 (en) * 2011-01-05 2013-05-07 Research In Motion Limited Handling of touch events in a browser environment
US9383917B2 (en) 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US20120278712A1 (en) * 2011-04-27 2012-11-01 Microsoft Corporation Multi-input gestures in hierarchical regions
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US20120304113A1 (en) * 2011-05-27 2012-11-29 Patten Michael J Gesture-based content-object zooming
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US9619567B2 (en) * 2011-06-06 2017-04-11 Nfluence Media, Inc. Consumer self-profiling GUI, analysis and rapid information presentation tools
US8635518B1 (en) 2011-07-21 2014-01-21 Google Inc. Methods and systems to copy web content selections
US9727227B2 (en) * 2011-07-28 2017-08-08 Microsoft Technology Licensing, Llc Multi-touch remoting
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US8933952B2 (en) 2011-09-10 2015-01-13 Microsoft Corporation Pre-rendering new content for an application-selectable user interface
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9244802B2 (en) 2011-09-10 2016-01-26 Microsoft Technology Licensing, Llc Resource user interface
US9477642B2 (en) 2012-02-05 2016-10-25 Apple Inc. Gesture-based navigation among content items
US9817479B2 (en) * 2012-02-24 2017-11-14 Nokia Technologies Oy Method and apparatus for interpreting a gesture
US8796566B2 (en) 2012-02-28 2014-08-05 Grayhill, Inc. Rotary pushbutton and touchpad device and system and method for detecting rotary movement, axial displacement and touchpad gestures
CN102662646B (en) * 2012-03-01 2015-09-23 华为技术有限公司 Sensing data disposal route and computing node
JP6093432B2 (en) * 2012-03-13 2017-03-08 マイクロソフト コーポレーション Web page application control
US9575652B2 (en) 2012-03-31 2017-02-21 Microsoft Technology Licensing, Llc Instantiable gesture objects
CN103123587A (en) * 2012-05-03 2013-05-29 张伟明 Information processing terminal and processing method thereof
CN103473242B (en) * 2012-06-08 2016-03-02 腾讯科技(深圳)有限公司 A kind of handwriting input control method based on web page contents, system and browser
US8904304B2 (en) * 2012-06-25 2014-12-02 Barnesandnoble.Com Llc Creation and exposure of embedded secondary content data relevant to a primary content page of an electronic book
KR20140000876A (en) * 2012-06-26 2014-01-06 삼성전자주식회사 Apparatus and method for displaying a wep page in a portable terminal
US9021437B2 (en) 2012-07-13 2015-04-28 Microsoft Technology Licensing, Llc Declarative style rules for default touch behaviors
TWI611338B (en) * 2012-10-09 2018-01-11 宏達國際電子股份有限公司 Method for zooming screen and electronic apparatus and computer program product using the same
KR102068043B1 (en) * 2012-10-12 2020-01-20 에스케이플래닛 주식회사 System and method for performing scroll using scrolltop attribute of web page
US20140108940A1 (en) * 2012-10-15 2014-04-17 Nvidia Corporation Method and system of remote communication over a network
CN103823583B (en) * 2012-11-16 2018-02-27 腾讯科技(深圳)有限公司 A kind of processing method and processing device of multiple point touching information
US9930082B2 (en) 2012-11-20 2018-03-27 Nvidia Corporation Method and system for network driven automatic adaptive rendering impedance
JP5862549B2 (en) * 2012-11-28 2016-02-16 コニカミノルタ株式会社 Data processing apparatus, operation reception method, and browsing program
US20140149916A1 (en) 2012-11-28 2014-05-29 SoMo Audience Corp. Content manipulation using swipe gesture recognition technology
CN102945089A (en) * 2012-12-07 2013-02-27 南京大学 Smart phone mouse moving method based on finite state machine and classifier
WO2014101116A1 (en) * 2012-12-28 2014-07-03 Nokia Corporation Responding to user input gestures
US10775888B2 (en) * 2013-02-15 2020-09-15 Facebook, Inc. Method and system for integrating haptic feedback into portable electronic devices
US9703477B2 (en) * 2013-02-19 2017-07-11 Facebook, Inc. Handling overloaded gestures
US11205036B2 (en) 2013-03-11 2021-12-21 Oracle International Corporation Method and system for implementing contextual widgets
US9524273B2 (en) * 2013-03-11 2016-12-20 Oracle International Corporation Method and system for generating a web page layout using nested drop zone widgets having different software functionalities
CN103176659A (en) * 2013-03-28 2013-06-26 成都信息工程学院 Touch response accelerating method based on mobile web
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US10664652B2 (en) 2013-06-15 2020-05-26 Microsoft Technology Licensing, Llc Seamless grid and canvas integration in a spreadsheet application
US9819604B2 (en) 2013-07-31 2017-11-14 Nvidia Corporation Real time network adaptive low latency transport stream muxing of audio/video streams for miracast
CN103399640B (en) * 2013-08-16 2017-01-25 贝壳网际(北京)安全技术有限公司 Method and device for controlling according to user gesture and client
US11199906B1 (en) * 2013-09-04 2021-12-14 Amazon Technologies, Inc. Global user input management
CN103885712B (en) * 2014-03-21 2017-08-15 小米科技有限责任公司 Webpage method of adjustment, device and electronic equipment
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10642365B2 (en) 2014-09-09 2020-05-05 Microsoft Technology Licensing, Llc Parametric inertia and APIs
CN106293447B (en) * 2015-08-18 2020-10-30 北京智谷睿拓技术服务有限公司 Display method and display device
CN106293446B (en) * 2015-08-18 2020-03-03 北京智谷睿拓技术服务有限公司 Display method and display device
US11029836B2 (en) * 2016-03-25 2021-06-08 Microsoft Technology Licensing, Llc Cross-platform interactivity architecture
CN105912319B (en) * 2016-03-31 2019-03-12 百度在线网络技术(北京)有限公司 The method and apparatus of the Reverse Turning Control mobile terminal page
US20170315849A1 (en) * 2016-04-29 2017-11-02 Microsoft Technology Licensing, Llc Application target event synthesis
US10521106B2 (en) 2017-06-27 2019-12-31 International Business Machines Corporation Smart element filtering method via gestures
CN109213413A (en) * 2017-07-07 2019-01-15 阿里巴巴集团控股有限公司 A kind of recommended method, device, equipment and storage medium
DK180318B1 (en) 2019-04-15 2020-11-09 Apple Inc Systems, methods, and user interfaces for interacting with multiple application windows

Family Cites Families (178)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4455452A (en) 1982-09-13 1984-06-19 Touch Activated Switch Arrays, Inc. Touch activated controller for generating X-Y output information
US4910277A (en) * 1988-02-09 1990-03-20 Bambury Ronald E Hydrophilic oxygen permeable polymers
US5034461A (en) * 1989-06-07 1991-07-23 Bausch & Lomb Incorporated Novel prepolymers useful in biomedical devices
ATE193654T1 (en) * 1991-08-16 2000-06-15 Miles A Galin MEDICINAL COATED REFRACTIVE IMPLANT FOR THE ANTERIOR EYE CHAMBER
US5880411A (en) 1992-06-08 1999-03-09 Synaptics, Incorporated Object position detector with edge motion feature and gesture recognition
US5488204A (en) 1992-06-08 1996-01-30 Synaptics, Incorporated Paintbrush stylus for capacitive touch sensor pad
US5513309A (en) 1993-01-05 1996-04-30 Apple Computer, Inc. Graphic editor user interface for a pointer-based computer system
DE4406668C2 (en) 1993-04-27 1996-09-12 Hewlett Packard Co Method and device for operating a touch-sensitive display device
US5818455A (en) 1993-07-21 1998-10-06 Xerox Corporation Method and apparatus for operating on the model data structure of an image to produce human perceptible output using a viewing operation region having explicit multiple regions
US5627959A (en) 1993-09-20 1997-05-06 Oracle Corporation Method for manipulating graphic objects
US5534893A (en) 1993-12-15 1996-07-09 Apple Computer, Inc. Method and apparatus for using stylus-tablet input in a computer system
US5686940A (en) 1993-12-24 1997-11-11 Rohm Co., Ltd. Display apparatus
US5566337A (en) 1994-05-13 1996-10-15 Apple Computer, Inc. Method and apparatus for distributing events in an operating system
US5708460A (en) 1995-06-02 1998-01-13 Avi Systems, Inc. Touch screen
US5745116A (en) 1996-09-09 1998-04-28 Motorola, Inc. Intuitive gesture-based graphical user interface
US5903902A (en) 1996-09-09 1999-05-11 Design Intelligence, Inc. Design engine with tree and component structure
US5995083A (en) 1996-11-20 1999-11-30 Alps Electric Co., Ltd. Coordinates input apparatus
US5917477A (en) 1997-02-28 1999-06-29 Samsung Electronics Co., Ltd. Touch screen input apparatus for chip mounter, chip mounter including the same and method for controlling the chip mounter
JPH1185354A (en) 1997-09-04 1999-03-30 Internatl Business Mach Corp <Ibm> Keyboard incorporated coordinate indication device, keyboard unit, and information processing unit
US9098297B2 (en) 1997-05-08 2015-08-04 Nvidia Corporation Hardware accelerator for an object-oriented programming language
US5983190A (en) 1997-05-19 1999-11-09 Microsoft Corporation Client server animation system for managing interactive user interface characters
US6028602A (en) 1997-05-30 2000-02-22 Telefonaktiebolaget Lm Ericsson Method for managing contents of a hierarchical data model
US20070177804A1 (en) 2006-01-30 2007-08-02 Apple Computer, Inc. Multi-touch gesture dictionary
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7844914B2 (en) 2004-07-30 2010-11-30 Apple Inc. Activating virtual keys of a touch-screen virtual keyboard
US7663607B2 (en) 2004-05-06 2010-02-16 Apple Inc. Multipoint touchscreen
KR100595926B1 (en) 1998-01-26 2006-07-05 웨인 웨스터만 Method and apparatus for integrating manual input
US7346850B2 (en) 1998-06-12 2008-03-18 Cygnus Systems, Inc. System and method for iconic software environment management
US6570594B1 (en) 1998-06-30 2003-05-27 Sun Microsystems, Inc. User interface with non-intrusive display element
US6188391B1 (en) 1998-07-09 2001-02-13 Synaptics, Inc. Two-layer capacitive touchpad and method of making same
US7559039B2 (en) 1998-07-14 2009-07-07 Brad Ridgley Method and device for finding, collecting and acting upon units of information
US6985178B1 (en) 1998-09-30 2006-01-10 Canon Kabushiki Kaisha Camera control system, image pick-up server, client, control method and storage medium therefor
US6963937B1 (en) 1998-12-17 2005-11-08 International Business Machines Corporation Method and apparatus for providing configurability and customization of adaptive user-input filtration
US6259436B1 (en) 1998-12-22 2001-07-10 Ericsson Inc. Apparatus and method for determining selection of touchable items on a computer touchscreen by an imprecise touch
US6643824B1 (en) 1999-01-15 2003-11-04 International Business Machines Corporation Touch screen region assist for hypertext links
US6486896B1 (en) 1999-04-07 2002-11-26 Apple Computer, Inc. Scalable scroll controller
US6630243B2 (en) * 1999-05-20 2003-10-07 Bausch & Lomb Incorporated Surface treatment of silicone hydrogel contact lenses comprising hydrophilic polymer chains attached to an intermediate carbon coating
US6714936B1 (en) 1999-05-25 2004-03-30 Nevin, Iii Rocky Harry W. Method and apparatus for displaying data stored in linked nodes
US6639584B1 (en) 1999-07-06 2003-10-28 Chuang Li Methods and apparatus for controlling a portable electronic device using a touchpad
US6636242B2 (en) 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
EP1094383A3 (en) 1999-10-18 2005-11-02 Honeywell International, Inc. Methods and apparatus for cursor control
EP1208476A2 (en) 1999-10-20 2002-05-29 Koninklijke Philips Electronics N.V. Device and method of browsing an image collection
JP2001134382A (en) 1999-11-04 2001-05-18 Sony Corp Graphic processor
US6778992B1 (en) 1999-12-21 2004-08-17 Lockstream Corporation Flexible and hierarchical user interfaces defined using a data definition language
JP4803883B2 (en) 2000-01-31 2011-10-26 キヤノン株式会社 Position information processing apparatus and method and program thereof.
US6590595B1 (en) 2000-02-08 2003-07-08 Sun Microsystems, Inc. Mechanism for providing intuitive scrolling feedback
US7142205B2 (en) 2000-03-29 2006-11-28 Autodesk, Inc. Single gesture map navigation graphical user interface for a personal digital assistant
US6765557B1 (en) 2000-04-10 2004-07-20 Interlink Electronics, Inc. Remote control having touch pad to screen mapping
US7009626B2 (en) 2000-04-14 2006-03-07 Picsel Technologies Limited Systems and methods for generating visual representations of graphical data and digital document processing
US6446083B1 (en) 2000-05-12 2002-09-03 Vastvideo, Inc. System and method for classifying media items
US6677965B1 (en) 2000-07-13 2004-01-13 International Business Machines Corporation Rubber band graphical user interface control
GB0017793D0 (en) 2000-07-21 2000-09-06 Secr Defence Human computer interface
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US6735583B1 (en) 2000-11-01 2004-05-11 Getty Images, Inc. Method and system for classifying and locating media content
US6839721B2 (en) 2001-01-12 2005-01-04 Hewlett-Packard Development Company, L.P. Integration of a database into file management software for protecting, tracking, and retrieving data
US6677932B1 (en) 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
US7030861B1 (en) 2001-02-10 2006-04-18 Wayne Carl Westerman System and method for packing multi-touch gestures onto a hand
US6570557B1 (en) 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
US20040027398A1 (en) 2001-02-15 2004-02-12 Denny Jaeger Intuitive graphic user interface with universal tools
US6741996B1 (en) 2001-04-18 2004-05-25 Microsoft Corporation Managing user clips
US20020194589A1 (en) 2001-05-08 2002-12-19 Cristofalo Michael Technique for optimizing the delivery of advertisements and other programming segments by making bandwidth tradeoffs
US20050024341A1 (en) 2001-05-16 2005-02-03 Synaptics, Inc. Touch screen with user interface enhancement
US6985137B2 (en) 2001-08-13 2006-01-10 Nokia Mobile Phones Ltd. Method for preventing unintended touch pad input due to accidental touching
US6690365B2 (en) 2001-08-29 2004-02-10 Microsoft Corporation Automatic scrolling
US6972749B2 (en) 2001-08-29 2005-12-06 Microsoft Corporation Touch-sensitive device for scrolling a document on a display
JP2003173237A (en) 2001-09-28 2003-06-20 Ricoh Co Ltd Information input-output system, program and storage medium
US20030071850A1 (en) 2001-10-12 2003-04-17 Microsoft Corporation In-place adaptive handwriting input method and system
US7345671B2 (en) 2001-10-22 2008-03-18 Apple Inc. Method and apparatus for use of rotational user inputs
TW528981B (en) 2001-10-25 2003-04-21 Compal Electronics Inc Portable computer and related method for preventing input interruption by write-tracking input region
CA2366183A1 (en) 2001-12-21 2003-06-21 Ibm Canada Limited-Ibm Canada Limitee Dynamic status tree facility
US6690387B2 (en) 2001-12-28 2004-02-10 Koninklijke Philips Electronics N.V. Touch-screen image scrolling system and method
US6957392B2 (en) 2002-01-16 2005-10-18 Laszlo Systems, Inc. Interface engine providing a continuous user interface
JP3951727B2 (en) 2002-02-06 2007-08-01 松下電器産業株式会社 Information processing device
US7466307B2 (en) 2002-04-11 2008-12-16 Synaptics Incorporated Closed-loop sensor on a solid-state object position detector
US20030197689A1 (en) 2002-04-23 2003-10-23 May Gregory J. Input device that allows multiple touch key input
TWI238348B (en) 2002-05-13 2005-08-21 Kyocera Corp Portable information terminal, display control device, display control method, and recording media
US7023427B2 (en) 2002-06-28 2006-04-04 Microsoft Corporation Method and system for detecting multiple touches on a touch-sensitive screen
US11275405B2 (en) 2005-03-04 2022-03-15 Apple Inc. Multi-functional hand-held device
TW591488B (en) 2002-08-01 2004-06-11 Tatung Co Window scrolling method and device thereof
EP1394692A1 (en) * 2002-08-05 2004-03-03 Alcatel Method, terminal, browser application, and mark-up language for multimodal interaction between a user and a terminal
US20040021698A1 (en) 2002-08-05 2004-02-05 Baldwin Amanda K. Intuitive touchscreen interface for a multifunction device and method therefor
US7281248B2 (en) 2002-11-19 2007-10-09 Microsoft Corporation Virtualized and realized user interface controls
US6903927B2 (en) 2002-12-17 2005-06-07 Nokia Corporation Convertible mobile computing device
US7117453B2 (en) 2003-01-21 2006-10-03 Microsoft Corporation Media frame object visualization system
US20040160419A1 (en) 2003-02-11 2004-08-19 Terradigital Systems Llc. Method for entering alphanumeric characters into a graphical user interface
US7088374B2 (en) 2003-03-27 2006-08-08 Microsoft Corporation System and method for managing visual structure, timing, and animation in a graphics processing system
US7627343B2 (en) 2003-04-25 2009-12-01 Apple Inc. Media player system
GB2424535A (en) 2003-04-30 2006-09-27 Hewlett Packard Co Editing an image and associating sound with it
US8555165B2 (en) 2003-05-08 2013-10-08 Hillcrest Laboratories, Inc. Methods and systems for generating a zoomable graphical user interface
US7173623B2 (en) 2003-05-09 2007-02-06 Microsoft Corporation System supporting animation of graphical display elements through animation object instances
EP1639439A2 (en) 2003-06-13 2006-03-29 The University Of Lancaster User interface
US8373660B2 (en) 2003-07-14 2013-02-12 Matt Pallakoff System and method for a portable multimedia client
KR100522940B1 (en) 2003-07-25 2005-10-24 삼성전자주식회사 Touch screen system having active area setting function and control method thereof
JP2005056286A (en) 2003-08-07 2005-03-03 Nec Engineering Ltd Display enlarging method and display enlarging program in web browser
JP4360871B2 (en) 2003-09-10 2009-11-11 富士通テン株式会社 Input device in information terminal
US7411575B2 (en) 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
US7034834B2 (en) 2003-10-24 2006-04-25 Microsoft Corporation Communication protocol for synchronizing animation systems
US7337412B2 (en) 2003-12-15 2008-02-26 International Business Machines Corporation Methods, systems and computer program products for providing multi-dimensional tree diagram graphical user interfaces
US20050162402A1 (en) * 2004-01-27 2005-07-28 Watanachote Susornpol J. Methods of interacting with a computer using a finger(s) touch sensing input device with visual feedback
GB2411331A (en) 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
US20050193015A1 (en) 2004-02-19 2005-09-01 Sandraic Logic, Llc A California Limited Liability Company Method and apparatus for organizing, sorting and navigating multimedia content
JP4438448B2 (en) 2004-02-26 2010-03-24 セイコーエプソン株式会社 Structured document display processing device, structured document display method, structured document display program
US20050246304A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation End-user application customization using rules
US7624355B2 (en) 2004-05-27 2009-11-24 Baneth Robin C System and method for controlling a user interface
KR101146750B1 (en) 2004-06-17 2012-05-17 아드레아 엘엘씨 System and method for detecting two-finger input on a touch screen, system and method for detecting for three-dimensional touch sensing by at least two fingers on a touch screen
US7519223B2 (en) 2004-06-28 2009-04-14 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications
JP4763695B2 (en) 2004-07-30 2011-08-31 アップル インコーポレイテッド Mode-based graphical user interface for touch-sensitive input devices
US7653883B2 (en) 2004-07-30 2010-01-26 Apple Inc. Proximity detector in handheld device
US7724242B2 (en) 2004-08-06 2010-05-25 Touchtable, Inc. Touch driven method and apparatus to integrate and display multiple image layers forming alternate depictions of same subject matter
US7721197B2 (en) 2004-08-12 2010-05-18 Microsoft Corporation System and method of displaying content on small screen computing devices
US7728823B2 (en) 2004-09-24 2010-06-01 Apple Inc. System and method for processing raw data of track pad device
WO2006067711A2 (en) 2004-12-21 2006-06-29 Koninklijke Philips Electronics N.V. Method and device for displaying animated buttons
CA2592206A1 (en) * 2004-12-29 2006-07-06 Bausch & Lomb Incorporated Polysiloxane prepolymers for biomedical devices
US20070185876A1 (en) 2005-02-07 2007-08-09 Mendis Venura C Data handling system
US8819569B2 (en) 2005-02-18 2014-08-26 Zumobi, Inc Single-handed approach for navigation of application tiles using panning and zooming
KR101651975B1 (en) * 2005-03-04 2016-08-29 애플 인크. Multi-functional hand-held device
CN1841284A (en) 2005-03-28 2006-10-04 上海桐港信息科技有限公司 Touch screen type mobile apparatus micro-browser webpage displaying and drifting method
US7750893B2 (en) * 2005-04-06 2010-07-06 Nintendo Co., Ltd. Storage medium storing input position processing program, and input position processing device
US7355595B2 (en) 2005-04-15 2008-04-08 Microsoft Corporation Tactile device for scrolling
US7487447B1 (en) * 2005-05-25 2009-02-03 Google Inc. Web page zoom feature
US7561159B2 (en) 2005-05-31 2009-07-14 Magnifi Group Inc. Control of animation timeline
WO2006128248A1 (en) 2005-06-02 2006-12-07 National Ict Australia Limited Multimodal computer navigation
TW200701082A (en) 2005-06-23 2007-01-01 Elan Microelectronics Corp Scroll control method used in the touch panel
US7568035B2 (en) 2005-08-30 2009-07-28 Microsoft Corporation Command binding determination and implementation
US20070061126A1 (en) 2005-09-01 2007-03-15 Anthony Russo System for and method of emulating electronic input devices
EP1924900A1 (en) 2005-09-15 2008-05-28 Apple Inc. System and method for processing raw data of track pad device
US20070064004A1 (en) 2005-09-21 2007-03-22 Hewlett-Packard Development Company, L.P. Moving a graphic element
US7633076B2 (en) 2005-09-30 2009-12-15 Apple Inc. Automated response to and sensing of user activity in portable devices
US20070132789A1 (en) * 2005-12-08 2007-06-14 Bas Ording List scrolling in response to moving contact over list of index symbols
US8018440B2 (en) 2005-12-30 2011-09-13 Microsoft Corporation Unintentional touch rejection
AU2006332488A1 (en) * 2005-12-30 2007-07-12 Apple Inc. Portable electronic device with multi-touch input
US20070174257A1 (en) 2006-01-18 2007-07-26 Bruce Thomas Howard Systems and methods for providing sorted search results
US8312479B2 (en) 2006-03-08 2012-11-13 Navisense Application programming interface (API) for sensory events
US8587526B2 (en) 2006-04-12 2013-11-19 N-Trig Ltd. Gesture recognition feedback for a dual mode digitizer
US8077153B2 (en) 2006-04-19 2011-12-13 Microsoft Corporation Precise selection techniques for multi-touch screens
US9063647B2 (en) 2006-05-12 2015-06-23 Microsoft Technology Licensing, Llc Multi-touch uses, gestures, and implementation
US7844661B2 (en) 2006-06-15 2010-11-30 Microsoft Corporation Composition of local media playback with remotely generated user interface
US8169421B2 (en) 2006-06-19 2012-05-01 Cypress Semiconductor Corporation Apparatus and method for detecting a touch-sensor pad gesture
US8269725B2 (en) 2006-06-28 2012-09-18 Microsoft Corporation Input simulation system for touch based devices
US8086971B2 (en) 2006-06-28 2011-12-27 Nokia Corporation Apparatus, methods and computer program products providing finger-based and hand-based gesture commands for portable electronic device applications
JP4280759B2 (en) 2006-07-27 2009-06-17 キヤノン株式会社 Information processing apparatus and user interface control method
US20080043020A1 (en) 2006-08-18 2008-02-21 Microsoft Corporation User interface for viewing street side imagery
US7843427B2 (en) 2006-09-06 2010-11-30 Apple Inc. Methods for determining a cursor position from a finger contact with a touch screen display
US7864163B2 (en) 2006-09-06 2011-01-04 Apple Inc. Portable electronic device, method, and graphical user interface for displaying structured electronic documents
US20080114614A1 (en) 2006-11-15 2008-05-15 General Electric Company Methods and systems for healthcare application interaction using gesture-based interaction enhanced with pressure sensitivity
US7694240B2 (en) 2006-11-22 2010-04-06 General Electric Company Methods and systems for creation of hanging protocols using graffiti-enabled devices
JP5191119B2 (en) 2006-12-06 2013-04-24 株式会社ジャパンディスプレイウェスト Display device, display device control method, and program
TW200828089A (en) * 2006-12-29 2008-07-01 Inventec Appliances Corp Method for zooming image
US7907125B2 (en) 2007-01-05 2011-03-15 Microsoft Corporation Recognizing multiple input point gestures
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US20080168395A1 (en) 2007-01-07 2008-07-10 Bas Ording Positioning a Slider Icon on a Portable Multifunction Device
US7872652B2 (en) 2007-01-07 2011-01-18 Apple Inc. Application programming interfaces for synchronization
US8665225B2 (en) 2007-01-07 2014-03-04 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US7903115B2 (en) 2007-01-07 2011-03-08 Apple Inc. Animations
KR101383709B1 (en) 2007-03-07 2014-04-09 삼성디스플레이 주식회사 Display device and driving method thereof
US8181122B2 (en) 2007-07-30 2012-05-15 Perceptive Pixel Inc. Graphical user interface for large-scale, multi-user, multi-touch systems
US7917584B2 (en) 2007-10-22 2011-03-29 Xcerion Aktiebolag Gesture-based collaboration
US20090207140A1 (en) 2008-02-19 2009-08-20 Sony Ericsson Mobile Communications Ab Identifying and responding to multiple time-overlapping touches on a touch panel
TWI352924B (en) 2008-02-21 2011-11-21 Wintek Corp Touch panel and driving method of touch panel
US8645827B2 (en) 2008-03-04 2014-02-04 Apple Inc. Touch event model
US8717305B2 (en) 2008-03-04 2014-05-06 Apple Inc. Touch event model for web pages
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8174502B2 (en) 2008-03-04 2012-05-08 Apple Inc. Touch event processing for web pages
US9268483B2 (en) 2008-05-16 2016-02-23 Microsoft Technology Licensing, Llc Multi-touch input platform
US7864037B2 (en) 2008-06-16 2011-01-04 International Business Machines Corporation Pattern-driven communication architecture
US20090322699A1 (en) 2008-06-25 2009-12-31 Sony Ericsson Mobile Communications Ab Multiple input detection for resistive touch panel
US20090322700A1 (en) 2008-06-30 2009-12-31 Tyco Electronics Corporation Method and apparatus for detecting two simultaneous touches and gestures on a resistive touchscreen
JP2010015238A (en) 2008-07-01 2010-01-21 Sony Corp Information processor and display method for auxiliary information
US8237807B2 (en) 2008-07-24 2012-08-07 Apple Inc. Image capturing device with touch screen for adjusting camera settings
US20100107116A1 (en) 2008-10-27 2010-04-29 Nokia Corporation Input on touch user interfaces
JP4853507B2 (en) 2008-10-30 2012-01-11 ソニー株式会社 Information processing apparatus, information processing method, and program
US8732576B2 (en) 2008-12-04 2014-05-20 Nvidia Corporation Operating system providing multi-touch support for applications in a mobile device
TW201023018A (en) 2008-12-12 2010-06-16 Asustek Comp Inc Touch panel with multi-touch function and multi-touch detecting method thereof
KR101521932B1 (en) 2009-01-19 2015-05-20 엘지전자 주식회사 Terminal and method for controlling the same
US8285499B2 (en) 2009-03-16 2012-10-09 Apple Inc. Event recognition
KR101608532B1 (en) 2009-08-11 2016-04-01 엘지전자 주식회사 Method for displaying data and mobile terminal thereof

Also Published As

Publication number Publication date
CN104794105B (en) 2019-11-26
HK1224029A1 (en) 2017-08-11
HK1212061A1 (en) 2016-06-03
JP5535898B2 (en) 2014-07-02
WO2009111460A1 (en) 2009-09-11
DE112009000002B4 (en) 2020-01-09
EP2122447B1 (en) 2016-05-11
JP2010524095A (en) 2010-07-15
CN104808942B (en) 2019-05-03
HK1133479A1 (en) 2010-03-26
US8174502B2 (en) 2012-05-08
JP2013058210A (en) 2013-03-28
DE112009000002T5 (en) 2010-01-07
US20090225038A1 (en) 2009-09-10
US20120221929A1 (en) 2012-08-30
CN104808942A (en) 2015-07-29
CN101681236A (en) 2010-03-24
HK1212062A1 (en) 2016-06-03
EP2122447A1 (en) 2009-11-25
CN104794105A (en) 2015-07-22
EP2990919B1 (en) 2024-07-03
EP2990919A1 (en) 2016-03-02
US8411061B2 (en) 2013-04-02

Similar Documents

Publication Publication Date Title
JP6731028B2 (en) Touch event model programming interface
JP5638048B2 (en) Touch event handling for web pages
JP5638584B2 (en) Touch event model for web pages
CN103809908B (en) Touch event model programming interface

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130924

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131220

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140320

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140922

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141021

R150 Certificate of patent or registration of utility model

Ref document number: 5638048

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250