JP2012521050A - イベント認識 - Google Patents

イベント認識 Download PDF

Info

Publication number
JP2012521050A
JP2012521050A JP2012500844A JP2012500844A JP2012521050A JP 2012521050 A JP2012521050 A JP 2012521050A JP 2012500844 A JP2012500844 A JP 2012500844A JP 2012500844 A JP2012500844 A JP 2012500844A JP 2012521050 A JP2012521050 A JP 2012521050A
Authority
JP
Japan
Prior art keywords
event
view
sub
events
touch
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.)
Granted
Application number
JP2012500844A
Other languages
English (en)
Other versions
JP2012521050A5 (ja
JP5594914B2 (ja
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 JP2012521050A publication Critical patent/JP2012521050A/ja
Publication of JP2012521050A5 publication Critical patent/JP2012521050A5/ja
Application granted granted Critical
Publication of JP5594914B2 publication Critical patent/JP5594914B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • G06F3/04166Details of scanning methods, e.g. sampling time, grouping of sub areas or time sharing with display driving
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

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)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

方法は、ビュー階層の1つ以上のビューを表示する複数のビューを有するビュー階層を含むソフトウェアを実行する。方法は、各々がイベント認識部を含む特定のビューと関連付けられたソフトウェア要素を実行する。各イベント認識部は、サブイベントに基づくイベント定義と、対象に対する動作を規定し、且つイベント認識に応答して動作を対象に送出するように構成されるイベントハンドラとを有する。方法は、サブイベントのシーケンスを検出し、ビュー階層のどのビューが能動的に関与したビューであるかを明らかにするヒットビューとしてビュー階層のビューのうちの1つを識別する。方法は、能動的に関与したビュー毎にそれぞれのサブイベントをイベント認識部に配信し、ビュー階層で能動的に関与したビューに対する各イベント認識部は、サブイベントのシーケンスの次のサブイベントを処理する前にそれぞれのサブイベントを処理する。

Description

本発明は、一般にユーザインタフェース処理に関する。本発明は、特に、ユーザインタフェースイベントを認識する装置及び方法に関する。
一般に演算装置(computing device)は、演算装置と対話するために使用されるユーザインタフェースを含む。ユーザインタフェースは、ユーザインタフェースの種々の態様と対話するキーボード、マウス、並びにタッチセンシティブ表面等のディスプレイ及び/又は入力デバイスを含んでもよい。入力デバイスとしてタッチセンシティブ表面を備える幾つかのデバイスにおいて、タッチに基づくジェスチャの第1の集合(例えば、タップ、ダブルタップ、横スワイプ、縦スワイプ、ピンチ、非ピンチ、2本指スワイプのうちの2つ以上)は、特定の状況(例えば、第1のアプリケーションの特定のモード)で適切な入力として認識され、タッチに基づくジェスチャの他の異なる集合は、他の状況(例えば、第1のアプリケーション内の異なるアプリケーション及び/あるいは異なるモード又は状況)で適切な入力として認識される。その結果、タッチに基づくジェスチャを認識し且つそれに応答するのに必要なソフトウェア及び論理は、複雑になり、アプリケーションが更新される度に又は新しいアプリケーションが演算装置に追加される度に改訂が必要となる。これらの同様の問題は、タッチに基づくジェスチャ以外の入力源を利用するユーザインタフェースにおいて生じる可能性がある。
従って、タッチに基づくジェスチャ及びイベント、並びに他の入力源からのジェスチャ及びイベントを認識する総合的な枠組み又は機構を有するのが望ましい。総合的な枠組み又は機構は、演算装置上の全てのアプリケーションプログラムのほぼ全ての状況又はモードに容易に適応可能であり、アプリケーションが更新される場合、あるいは新しいアプリケーションが演算装置に追加される場合でも殆ど又は全く改訂を必要としない。
上述の欠点に対処するために、いくつかの実施形態は、複数のビューを有するビュー階層を含むソフトウェアを実行するように構成された電子デバイスにおいて、ビュー階層の1つ以上のビューを表示し、各々が1つ以上のイベント認識部を含む特定のビューと各々が関連付けられる1つ以上のソフトウェア要素を実行する方法を提供する。各イベント認識部は、1つ以上のサブイベントに基づくイベント定義と、対象に対する動作を規定し、且つイベント定義に対応するイベントを検出するイベント認識部に応答して動作を対象に送出するように構成されるイベントハンドラとを有する。更に方法は、1つ以上のサブイベントのシーケンスを検出し、ビュー階層のどのビューが能動的に関与したビューであるかを明らかにするヒットビューとしてビュー階層のビューのうちの1つを識別する。方法は、ビュー階層内の能動的に関与したビュー毎にそれぞれのサブイベントをイベント認識部に更に配信し、ビュー階層で能動的に関与したビューに対する各イベント認識部は、サブイベントのシーケンスの次のサブイベントを処理する前にそれぞれのサブイベントを処理する。
いくつかの実施形態は、複数のビューを有するビュー階層を含むソフトウェアを実行するように構成された電子デバイスにおいて、ビュー階層の1つ以上のビューを表示し、各々が1つ以上のイベント認識部を含む特定のビューと各々が関連付けられる1つ以上のソフトウェア要素を実行する方法を提供する。各イベント認識部は、1つ以上のサブイベントに基づくイベント定義と、対象に対する動作を規定し、且つイベント定義に対応するイベントを検出するイベント認識部に応答して動作を対象に送出するように構成されるイベントハンドラとを有する。更に方法は、1つ以上のサブイベントのシーケンスを検出し、ビュー階層のどのビューが能動的に関与したビューであるかを明らかにするヒットビューとしてビュー階層のビューのうちの1つを識別する。更に方法は、ビュー階層内の能動的に関与したビュー毎にそれぞれのサブイベントをイベント認識部に配信し、ビュー階層で能動的に関与したビューに対するイベント認識部において、それぞれのサブイベントを処理しつつサブイベント認識を判断する。
いくつかの実施形態は、コンピュータシステム又はコンピュータデバイスの1つ以上のプロセッサにより実行される複数のビューを有するビュー階層の1つ以上のビューを表示する1つ以上のアプリケーションプログラムを含む1つ以上のプログラムを格納するコンピュータ可読記憶媒体を提供する。1つ以上のアプリケーションプログラムは、各々が1つ以上のイベント認識部を含む特定のビューと各々が関連付けられる1つ以上のソフトウェア要素含む。各イベント認識部は、1つ以上のサブイベントに基づくイベント定義と、対象に対する動作を規定し、且つイベント定義に対応するイベントを検出するイベント認識部に応答して動作を対象に送出するように構成されるイベントハンドラとを有し、イベント管理命令は、コンピュータシステム又はコンピュータデバイスの1つ以上のプロセッサにより実行される場合にコンピュータシステム又はコンピュータデバイスが、1つ以上のサブイベントのシーケンスを検出し、ビュー階層のどのビューが能動的に関与したビューであるかを明らかにするヒットビューとしてビュー階層のビューのうちの1つを識別し、且つビュー階層内の能動的に関与したビュー毎にそれぞれのサブイベントをイベント認識部に配信するようにし、ビュー階層で能動的に関与したビューに対する各イベント認識部は、サブイベントのシーケンスの次のサブイベントを処理する前にそれぞれのサブイベントを処理する。
いくつかの実施形態は、ディスプレイと、1つ以上のプロセッサと、メモリと、複数のビューを有するビュー階層の1つ以上のビューを表示するように構成されるメモリに格納された1つ以上のプログラムとを備える装置を提供する。1つ以上のプログラムは、各々が1つ以上のイベント認識部を含む特定のビューと各々が関連付けられる1つ以上のソフトウェア要素含む。イベント認識部は、1つ以上のサブイベントに基づくイベント定義と、対象に対する動作を規定し、且つイベント定義に対応するイベントを検出するイベント認識部に応答して動作を対象に送出するように構成されるイベントハンドラとを有する。装置のプログラムは、装置の1つ以上のプロセッサにより実行される場合に装置が1つ以上のサブイベントのシーケンスを検出し、ビュー階層のどのビューが能動的に関与したビューであるかを明らかにするヒットビューとしてビュー階層のビューのうちの1つを識別し、且つビュー階層内の能動的に関与したビューに対するイベント認識部がそれぞれのサブイベントを処理する間にサブイベント認識を判断させるイベント配信プログラムを更に含む。
いくつかの実施形態において、1つ以上のプロセッサと、メモリと、複数のプログラム層を有するプログラム階層の1つ以上のプログラム層の実行を管理するように構成されるメモリに格納された1つ以上のプログラムとを備える装置が提供される。1つ以上のプログラムは、各々が1つ以上のイベント認識部を含む特定のプログラム層と各々が関連付けられる1つ以上のソフトウェア要素含む。イベント認識部は、1つ以上のサブイベントに基づくイベント定義と、対象に対する動作を規定し、且つイベント定義に対応するイベントを検出するイベント認識部に応答して動作を対象に送出するように構成されるイベントハンドラとを有する。装置は、装置の1つ以上のプロセッサにより実行される場合に装置が1つ以上のサブイベントのシーケンスを検出し、プログラム階層のどのプログラム層が能動的に関与したプログラム層であるかを明らかにするヒット層としてプログラム階層のプログラム層のうちの1つを識別し、且つプログラム階層内の能動的に関与したプログラム層毎にそれぞれのサブイベントをイベント認識部に配信させるイベント配信プログラムを更に含み、プログラム階層で能動的に関与したプログラム層に対する各イベント認識部は、サブイベントのシーケンスの次のサブイベントを処理する前にそれぞれのサブイベントを処理する。
図1A及び図1Bは、いくつかの実施形態に係る電子デバイスを示すブロック図である。 図2は、いくつかの実施形態に係る例示的な電子デバイスの入出力処理スタックを示す図である。 図3Aは、いくつかの実施形態に係る例示的なビュー階層を示す図である。 図3B及び図3Cは、いくつかの実施形態に係る例示的なイベント認識部の方法及びデータ構造を示すブロック図である。 図4A及び図4Bは、いくつかの実施形態に係る例示的な状態遷移マシンを示すフローチャートである。 図4Cは、いくつかの実施形態に係る例示的なサブイベントの集合に対する図4A及び図4Bの例示的な状態遷移マシンを示す図である。 図5A〜図5Cは、いくつかの実施形態に係る例示的なイベント認識部状態遷移マシンを含む例示的なイベントシーケンスを示す図である。 図6A及び図6Bは、いくつかの実施形態に係るイベント認識方法を示すフローチャートである。
図中、同一の図中符号は対応する部分を示す。
次に、添付の図面で例が示される実施形態を詳細に参照する。以下の詳細な説明において、本発明を完璧に理解するために多くの特定の詳細を説明する。しかし、本発明がこれらの特定の詳細を用いずに実施されてもよいことは、当業者には明らかとなるだろう。他の例において、既知の方法、手順(プロシージャ)、構成要素、回路及びネットワークは、実施形態の態様を不必要に不明瞭にしないように詳細に説明されていない。
第1及び第2等の用語が種々の要素を説明するために本明細書で使用されてもよいが、これらの要素がこれらの用語により限定されるべきではないことは、更に理解されるだろう。これらの用語は、ある要素を別の要素と区別するためだけに使用される。例えば、本発明の範囲から逸脱せずに、第1の接触は第2の接触と呼ばれてもよく、同様に第2の接触は第1の接触と呼ばれてもよい。第1の接触及び第2の接触は、共に接触であるが同一の接触ではない。
本明細書の本発明の説明で使用される専門用語は、特定の実施形態を説明するためだけのものであり、本発明を限定することを意図しない。本発明及び添付の請求の範囲の説明で使用されるように、特に指示のない限り、単数形は複数形も含むことを意図する。本明細書で使用されるような「及び/又は」という用語は、関連付けられ且つ列挙された項目のうちの1つ以上のいずれか又は全ての組合せを示し且つ含むことが更に理解されるだろう。本明細書で使用される場合の用語「備える」は、記載される特徴、数字、ステップ、動作、要素及び/又は構成要素の存在を特定するが、1つ以上の他の特徴、数字、ステップ、動作、要素、構成要素及び/又はそれらの集合の存在又は追加を除外しないことが更に理解されるだろう。
本明細書で使用されるように、「場合」という用語は、状況に依存して「際」、「すると」、「判定することに応答して」又は「検出することに応答して」を意味するものとして解釈されてもよい。同様に、「それが判定される場合」又は「[示された条件又はイベント]が検出される場合」という表現は、状況に依存して「判定すると」、「判定することに応答して」、「(示された条件又はイベント)を検出すると」又は「(示された条件又はイベント)を検出することに応答して」を意味するものとして解釈されてもよい。
上述したように、入力デバイスとしてタッチセンシティブ表面を備えるいくつかのデバイスにおいて、タッチに基づくジェスチャの第1の集合(例えば、タップ、ダブルタップ、横スワイプ、縦スワイプのうちの2つ以上)は、特定の状況(例えば、第1のアプリケーションの特定のモード)で適切な入力として認識され、タッチに基づくジェスチャの他の異なる集合は、他の状況(例えば、第1のアプリケーション内の異なるアプリケーション及び/あるいは異なるモード又は状況)で適切な入力として認識される。その結果、タッチに基づくジェスチャを認識し且つそれに応答するのに必要なソフトウェア及び論理は、複雑になり、アプリケーションが更新される度に又は新しいアプリケーションが演算装置に追加される度に改訂が必要となる。
以下に説明する実施形態において、タッチに基づくジェスチャはイベントである。事前定義されたイベント、例えばアプリケーションの現在の状況での適切な入力に応答するイベントを認識すると、イベントに関する情報はアプリケーションに配信される。本明細書の説明において、全てのタッチに基づくジェスチャはイベントに対応する。また、各イベントはサブイベントのシーケンスとして定義される。マルチタッチ表示装置(本明細書では「画面」と呼ばれることが多い)又は他のマルチタッチセンシティブ表面を有し、且つマルチタッチに基づくジェスチャを受け入れるデバイスにおいて、マルチタッチに基づくイベントを定義するサブイベントは、マルチタッチサブイベント(2本以上の指がデバイスのタッチセンシティブ表面に同時に接触することを必要とする)を含んでもよい。例えば、マルチタッチセンシティブディスプレイを有するデバイスにおいて、サブイベントのマルチタッチシーケンスの各々は、ユーザの指が最初に画面に触れる際に開始してもよい。1つ以上の更なる指が後続して又は同時に画面に触れる際に更なるサブイベントが発生してもよく、画面に触れている全ての指が画面にわたり移動する際に更に他のサブイベントが発生してもよい。ユーザの指が最後に画面から離れた時にシーケンスは終了する。
タッチセンシティブ表面を有するデバイスにおいて実行するアプリケーションを制御するためにタッチに基づくジェスチャを使用する場合、タッチは時間的側面及び空間的側面の双方を有する。段階と呼ばれる時間的側面には、タッチがちょうど開始した時、タッチが移動しているかあるいは静止しているか及びタッチが終了する時、すなわち指が画面から離れる時がある。タッチの空間的側面は、タッチが発生するビューの集合(set)又はユーザインタフェースウィンドウの集合である。タッチが検出されるビュー又はウィンドウは、プログラム階層又はビュー階層内のプログラムレベルに対応してもよい。例えば、タッチが検出される最低レベルのビューはヒットビューと呼ばれてもよく、適切な入力として認識されるイベントの集合は、タッチに基づくジェスチャを開始する初期タッチのヒットビューに少なくとも部分的に基づいて判定されてもよい。
図1A及び図1Bは、いくつかの実施形態に係る電子デバイス102及び104を示すブロック図である。電子デバイス102及び104は、デスクトップコンピュータシステム、ラップトップコンピュータシステム、移動電話、スマートフォン、パーソナルデジタルアシスタント又はナビゲーションシステムを含むがそれに限定されないあらゆる電子デバイスであってもよい。更に電子デバイスは、ユーザインタフェースを示すように構成されたタッチスクリーンディスプレイ(例えば、図1Bのディスプレイ156)を備えたポータブル電子デバイス、ユーザインタフェースを示すように構成されたタッチスクリーンディスプレイを備えたコンピュータ、タッチセンシティブ表面を備えたコンピュータ及びユーザインタフェースを示すように構成されたディスプレイ、あるいはコンシューマ電子デバイス、移動電話、テレビゲームシステム、電子音楽プレーヤ、タブレットPC、電子書籍読取りシステム、電子書籍、PDA、電子手帳、電子メールデバイス、ラップトップコンピュータ又は他のコンピュータ、キオスクコンピュータ、自動販売機、スマート家電等を含むがそれらに限定されない他のあらゆる形態の演算装置であってもよい。電子デバイス102及び104は、それぞれ、ユーザインタフェース113−A及び113−Bを含んでもよい。
いくつかの実施形態において、電子デバイス102及び104はタッチスクリーンディスプレイを含む。これらの実施形態において、ユーザインタフェース113(すなわち、113−A又は113−B)は、電子デバイス102及び104と対話するためにユーザにより使用されるオンスクリーンキーボード(不図示)を含んでもよい。あるいは、キーボードは、電子デバイス102及び104から独立し且つそれらとは別個であってもよい。例えばキーボードは、電子デバイス102又は104に結合された有線又は無線のキーボードであってもよい。
いくつかの実施形態において、電子デバイス102は、電子デバイス102に結合されるディスプレイ126及び1つ以上の入力デバイス128−A(例えば、キーボード、マウス、トラックボール、マイク、物理ボタン、タッチパッド等)を含む。これらの実施形態において、入力デバイス128−Aのうちの1つ以上は、オプションとして電子デバイス102から独立し且つそれとは別個であってもよい。例えば1つ以上の入力デバイスは、キーボード、マウス、トラックパッド、トラックボール及び電子ペンのうちの1つ以上を含んでもよく、それらのうちのいずれかは、オプションとして電子デバイスから独立してもよい。オプションとして、デバイス102又は104は、1つ以上のセンサ130、例えば1つ以上の加速度計、ジャイロスコープ、GPSシステム、スピーカ、赤外線(IR)センサ、生体情報認識センサ、カメラ等を含んでもよい。尚、入力デバイス128又はセンサ130等の種々の例示的なデバイスの上記の説明は、本明細書で説明する実施形態の動作に対して全く重要ではなく、入力デバイスとして本明細書で説明されるあらゆる入力デバイス又はセンサ装置は、センサとしても適切に説明されてもよく、逆も同様である。いくつかの実施形態において、1つ以上のセンサ130により生成された信号は、イベントを検出するために入力源として使用される。
いくつかの実施形態において、電子デバイス104は、電子デバイス104に結合されるタッチセンシティブディスプレイ156(すなわち、タッチセンシティブ表面を有するディスプレイ)及び1つ以上の入力デバイス128−Bを含む。いくつかの実施形態において、タッチセンシティブディスプレイ156は、2つ以上の別個の同時の(又は部分的に同時の)タッチを検出する機能を有し、これらの実施形態において、ディスプレイ156は、本明細書でマルチタッチディスプレイ又はマルチタッチセンシティブディスプレイと呼ばれることもある。
本明細書で説明される電子デバイス102又は104のいくつかの実施形態において、入力デバイス128は電子デバイス102又は104に配設される。他の実施形態において、入力デバイス128のうちの1つ以上は、電子デバイス102又は104から独立し且つそれとは別個である。例えば、入力デバイス128のうちの1つ以上は、ケーブル(例えば、USBケーブル)、あるいは無線接続(例えば、Bluetooth(登録商標)接続)により電子デバイス102又は104に結合されてもよい。
それぞれ、入力デバイス128を使用する場合、あるいは電子デバイス102又は104のタッチセンシティブディスプレイ156上でタッチに基づくジェスチャを実行する場合、ユーザは、電子デバイス102又は104の1つ以上のCPU110により処理されるサブイベントのシーケンスを生成する。いくつかの実施形態において、電子デバイス102又は104の1つ以上のCPU110は、イベントを認識するようにサブイベントのシーケンスを処理する。
一般に電子デバイス102又は104は、それぞれ、1つ以上のシングルコア処理ユニット又はマルチコア処理ユニット(1つ又は複数の「CPU」)110及び1つ以上のネットワーク、あるいは他の通信インタフェース112を含む。電子デバイス102又は104は、それぞれ、メモリ111及びこれらの構成要素を相互接続する1つ以上の通信バス115を含む。通信バス115は、システム構成要素(本明細書では不図示)間の通信を相互接続し且つ制御する回路網(チップセットと呼ばれることもある)を含んでもよい。簡単に上述したように、電子デバイス102及び104は、それぞれ、ディスプレイ126及びマルチタッチディスプレイ156を含むユーザインタフェース113をオプションとして含む。また、一般に電子デバイス102及び104は、入力デバイス128(例えば、キーボード、マウス、タッチスクリーン、タッチセンシティブ表面、マルチタッチスクリーン、キーパッド等)を含む。いくつかの実施形態において、入力デバイスは、オンスクリーン入力デバイス(例えば、表示装置のタッチセンシティブ表面)を含む。メモリ111は、DRAM、SRAM、DDR RAM又は他のランダムアクセス固体メモリ素子等の高速ランダムアクセスメモリを含んでもよく、1つ以上の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ素子又は他の不揮発性固体記憶装置等の不揮発性メモリを含んでもよい。メモリ111は、オプションとしてCPU110からリモートで配置された1つ以上の記憶装置を含んでもよい。メモリ111又はメモリ111内の不揮発性メモリ素子は、コンピュータ可読記憶媒体を含む。いくつかの実施形態において、メモリ111は、以下のプログラム、モジュール及びデータ構造又はそれらの部分集合を格納する:
・種々の基本システムサービスを処理し且つハードウェア依存タスクを実行する手順を含むオペレーティングシステム118;
・電子デバイス102又は104を、それぞれ、1つ以上のそれぞれの通信インタフェース112(有線又は無線)、並びに1つ以上の通信ネットワーク、例えばインターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク及びメトロポリタンエリアネットワーク等を介して他のデバイスに接続するために使用される通信モジュール120(電子デバイス102及び104のそれぞれにおける);
・オペレーティングシステム118内の種々の別の実施形態において又はアプリケーションソフトウェア124で実現されてもよいイベント配信システム122(電子デバイス102及び104のそれぞれにおける);しかし、いくつかの実施形態において、イベント配信システム122のいくつかの態様はオペレーティングシステム118において実現されてもよく、他の態様はアプリケーションソフトウェア124で実現される。
・それぞれ、アプリケーションソフトウェア124の1つ以上のアプリケーション(例えば、電子メールアプリケーション、ウェブブラウザアプリケーション、テキストメッセージングアプリケーション等)。
上記の識別された要素の各々は、上述のメモリ素子のうちの1つ以上に格納されてもよく、本明細書で説明する機能を実行する命令の集合に対応する。命令の集合は、1つ以上のプロセッサ(例えば、1つ以上のCPU110)により実行される。先に識別されたモジュール又はプログラム(すなわち、命令の集合)が別個のソフトウェアプログラム、手順又はモジュールとして実現される必要はないため、これらのモジュールの種々の部分集合は、種々の実施形態において組み合わされてもよくあるいは再配置されてもよい。いくつかの実施形態において、メモリ111は、先に識別されたモジュール及びデータ構造の部分集合を格納してもよい。更にメモリ111は、上述されていない更なるモジュール及びデータ構造を格納してもよい。
図2は、本発明のいくつかの実施形態に係る例示的な電子デバイス又は電子装置(例えば、デバイス102又は104)の入出力処理スタック200を示す図である。デバイスのハードウェア(例えば、電子回路網)212は、入出力処理スタック200のベースレベルにある。ハードウェア212は、図1A及び/又は図1bに示された構成要素等の種々のハードウェアインタフェース構成要素を含む。ハードウェア212は、上述のセンサ130のうちの1つ以上を更に含む。入出力処理スタック200の他の全ての要素(202〜210)は、ハードウェア212から受信した入力を処理し且つハードウェアユーザインタフェース(例えば、ディスプレイ、スピーカ、デバイス振動アクチュエータ)を介して示される種々の出力を生成するソフトウェア手順又はソフトウェア手順の一部である。
ドライバ、又はドライバ210の集合は、ハードウェア212と通信する。ドライバ210は、ハードウェア212から入力データを受信し、受信した入力データを処理する。コアオペレーティングシステム(「OS」)208はドライバ210と通信する。コアOS208は、ドライバ210から受信した生の入力データを処理する。いくつかの実施形態において、ドライバ210はコアOS208の一部であると考えられてもよい。
OSアプリケーションプログラミングインタフェース(「OS API)」206の集合は、コアOS208と通信するソフトウェアプロシージャである。いくつかの実施形態において、API206は、デバイスのオペレーティングシステムに含まれるが、コアOS208の上のレベルにある。API206は、本明細書で説明する電子デバイス又は電子装置上で実行するアプリケーションにより使用されるように設計される。ユーザインタフェース(UI)API204はOS API206を利用する。デバイス上で実行するアプリケーションソフトウェア(「アプリケーション」)202は、ユーザと通信するためにUI API204を利用する。その結果、UI API204は、より低いレベルの要素と通信し、マルチタッチディスプレイ156等の種々のユーザインタフェースハードウェアと最終的に通信する。
入出力処理スタック200の各層は、必ずしも必要とされない入出力処理スタック200の下の層を利用する。例えば、いくつかの実施形態において、アプリケーション202はOS API206と通信することもある。一般にOS API層206以上の層は、専用であると考えられるため、コアOS208、ドライバ210又はハードウェア212に直接アクセスしなくてもよい。アプリケーション層202及びUI API204は、通常、OS API206に対して直接呼び出すことにより、コアOS208、ドライバ210及びハードウェア212の層にアクセスする。
別の方法で示すと、電子デバイス102又は104の1つ以上のハードウェア要素212、並びにドライバ210(図2に示された)、コアOS(オペレーティングシステム)208(図2に示された)、オペレーティングシステムAPIソフトウェア206(図2に示された)及びアプリケーション・ユーザインタフェースAPIソフトウェア204(図2に示された)等のデバイス上で実行するソフトウェアは、入力デバイス128のうちの1つ以上及び/又はタッチセンシティブディスプレイ156で入力イベント(ジェスチャのサブイベントに対応してもよい)を検出し、入力イベントがアプリケーション202に配信されるインベントに対応するか及びいつ対応するかを判定するために現在アクティブイベント認識部の集合により使用された種々のデータ構造(デバイス102又は104のメモリに格納された)を生成又は更新する。イベント認識の技法、装置及びコンピュータプログラムを以下に更に詳細に説明する。
図3Aは、本例では最も外側のビュー302に表示された探索プログラムである例示的なビュー階層300を示す。最も外側のビュー302は、一般に、ユーザが直接対話するユーザインタフェース全体を含み、例えば以下のような従属ビュー(subordinate view)を含む。
・探索結果をグループ化し且つ縦方向にスクロールされる探索結果パネル304
・文字入力を受け入れる探索フィールド306
・迅速にアクセスするためにアプリケーションをグループ化するホームキー列310
本例において、各従属ビューは下位レベルの従属ビューを含む。他の例において、階層300におけるビューレベルの数は、階層の種々の分岐で異なってもよく、1つ以上の従属ビューは下位レベルの従属ビューを有し、1つ以上の他の従属ビューはそのような下位レベルの従属ビューを全く有さない。引き続き図3Aに示された例を参照すると、探索結果パネル304は、探索結果毎に別個の従属ビュー305(パネル304に従属する)を含む。本明細書において、この例は、地図ビュー305と呼ばれた従属ビューにおいて1つの探索結果を示す。探索フィールド306は、本明細書でクリアコンテンツアイコンビュー307と呼ばれる従属ビューを含む。クリアコンテンツアイコンビュー307は、ユーザがビューのクリアコンテンツアイコン307上で特定の動作(例えば、シングルタッチジェスチャ又はシングルタップジェスチャ)を実行する場合に探索フィールドのコンテンツをクリアする。ホームキー列310は、それぞれ、連絡先アプリケーション、電子メールアプリケーション、ウェブブラウザ及びiPodミュージックインタフェースに対応する従属ビュー310−1、310−2、310−3及び310−4を含む。
タッチサブイベント301−1は最も外側のビュー302に示される。探索結果パネル304及び地図ビュー305の双方の上にタッチサブイベント301−1の場所が与えられたとすると、タッチサブイベントは、それぞれ、301−2及び301−3としてこれらのビュー上に更に示される。タッチサブイベントの能動的に関与したビューは、ビュー探索結果パネル304、地図ビュー305及び最も外側のビュー302を含む。図3B及び図3Cを参照して、サブイベント配信及び能動的に関与したビューに関する更なる情報を以下に提供する。
ビュー(及び対応するプログラムレベル)はネストされる。換言すると、ビューは他のビューを含むことができる。その結果、第1のビューと関連付けられたソフトウェア要素(例えば、イベント認識部)は、第1のビュー内のビューと関連付けられた1つ以上のソフトウェア要素を含むか、あるいはそれにリンクされる。アプリケーションと関連付けられるビューもあれば、高レベルのOS要素、例えばグラフィカルユーザインタフェース、ウィンドウマネージャ等と関連付けられるビューもある。
後続の説明を簡略化するために、一般にビュー及びビュー階層のみを参照するが、いくつかの実施形態において、方法は、複数のプログラム層を有するプログラム階層及び/又はビュー階層で動作してもよいことが理解されるべきである。
図3B及び図3Cは、イベント認識部に関連した例示的な方法及び構造を示す。図3Bは、イベントハンドラがビューの階層内の特定のビューと関連付けられる場合のイベント処理の方法及びデータ構造を示す。図3Cは、イベントハンドラがプログラムレベルの階層内の特定のレベルと関連付けられる場合のイベント処理の方法及びデータ構造を示す。イベント認識部の包括的方法312及び350は、それぞれ、ヒットビュー判定モジュール314及びヒットレベル判定モジュール352、アクティブイベント認識部判定モジュール316及び354、並びにサブイベント配信モジュール318及び356を含む。
ヒットビュー判定モジュール314及びヒットレベル判定モジュール352は、それぞれ、1つ以上のビュー、例えば3つの主な分岐を有する図3Aに示された例示的なビュー階層300内でサブイベントが発生した場所を判定するソフトウェアプロシージャを提供する。
図3Bのヒットビュー判定モジュール314は、最も外側のビュー302、探索結果(地図ビュー305)及び探索結果パネルビュー304上に301−1として示されたユーザタッチ等のサブイベントに関連した情報を受信する。ヒットビュー判定モジュール314は、サブイベントを処理すべき階層における最低ビューとしてヒットビューを識別する。殆どの状況において、ヒットビューは、初期サブイベント(すなわち、イベント又は潜在的なイベントを形成するサブイベントのシーケンスの第1のサブイベント)が発生する最低レベルのビューである。ヒットビューは、識別されると、ヒットビューが識別された同一のタッチ又は入力源に関連した全てのサブイベントを受信する。
いくつかの実施形態において、図3Cのヒットレベル判定モジュール352は、類似の処理を利用してもよい。
イベント認識部の包括的方法312及び350のアクティブイベント認識部判定モジュール316及び354は、それぞれ、ビュー階層内の1つ又は複数のビューがサブイベントの特定のシーケンスを受信すべきかを判定する。図3Aは、サブイベント301を受信する例示的な活動中のビュー302、304及び305の集合を示す。図3Aの例において、アクティブイベント認識部判定モジュール304は、最高レベルのビュー302、探索結果パネル304及び地図ビュー305がサブイベント301により示されたタッチの物理的位置を含むため、これらのビューが能動的に関与したビューであると判定するだろう。尚、タッチサブイベント301が地図ビュー305と関連付けられたエリアに全体的に限定されたとしても、探索結果パネル304及び最高レベルのビュー302は、地図ビュー305の祖先であるため、能動的に関与したビューに依然として存在するだろう。
いくつかの実施形態において、アクティブイベント認識部判定モジュール316及び354は、類似の処理を利用する。
サブイベント配信モジュール318は、能動的に関与したビューに対するイベント認識部にサブイベントを配信する。図3Aの例を使用して、タッチマーク301−1、301−2及び301−3によりユーザのタッチを階層の種々のビューに示す。いくつかの実施形態において、このユーザのタッチを示すサブイベントデータは、能動的に関与したビュー、すなわち最高レベルのビュー302、探索結果パネル304及び地図ビュー305において、サブイベント配信モジュール318によりイベント認識部に配信される。また、ビューのイベント認識部は、ビュー内で開始するイベントの後続サブイベントを受信する(例えば、初期サブイベントがビュー内で発生する場合)。別の方法で示すと、ビューは、ビューの外側で継続する場合でも、ビューで開始するユーザ対話と関連付けられたサブイベントを受信する。
いくつかの実施形態において、サブイベント配信モジュール356は、サブイベント配信モジュール318により使用された処理に類似する処理において、能動的に関与したプログラムレベルに対するイベント認識部にサブイベントを配信する。
いくつかの実施形態において、別個のイベント認識部構造320又は360は、能動的に関与したイベント認識部毎に生成され且つデバイスのメモリに格納される。一般にイベント認識部構造320及び360は、それぞれ、イベント認識部状態334、374(図4A及び図4Bを参照する際に以下に更に詳細に説明する)、それぞれが状態遷移マシン340、380を有するイベント認識部専用コード338、378を含む。イベント認識部構造320はビュー階層基準336を更に含み、イベント認識部構造360はプログラム階層基準376を含む。特定のイベント認識部の各例は、厳密に1つのビュー又はプログラムレベルを参照する。ビュー階層基準336又はプログラム階層基準376(特定のイベント認識部に対する)は、それぞれのイベント認識部に論理的に結合されるビュー又はプログラムレベルを明らかにするために使用される。
ビューメタデータ341及びレベルメタデータ381は、それぞれ、ビュー又はレベルに関するデータを含んでもよい。ビューメタデータ又はレベルメタデータは、イベント認識部へのサブイベント配信に影響を及ぼす可能性のある少なくとも以下の特性を含んでもよい。
・ビュー又はプログラムレベルに対して設定された場合、ビュー又はプログラムレベル及びビュー又はプログラム階層における祖先と関連付けられたイベント認識部へのサブイベント配信を防止する停止特性342、382。
・ビュー又はプログラムレベルに対して設定された場合、ビュー又はプログラムレベルと関連付けられたイベント認識部へのサブイベント配信を防止するが、ビュー又はプログラム階層における祖先へのサブイベント配信を可能にするスキップ特性343、383。
・ビューに対して設定された場合、ビューがヒットビューでない限り、ビューと関連付けられたイベント認識部へのサブイベントの配信を防止する。上述したように、ヒットビュー判定モジュール314は、サブイベントを処理すべき階層における最低ビューとしてヒットビュー(又はヒットレベル判定モジュール352の場合はヒットレベル)を識別する。
イベント認識部構造320及び360は、それぞれ、メタデータ322、362を含んでもよい。いくつかの実施形態において、メタデータ322、362は、イベント配信システムが能動的に関与したイベント認識部へのサブイベント配信を実行すべき方法を示す構成可能な特性、フラグ及びリストを含む。いくつかの実施形態において、メタデータ322、362は、イベント認識部が互いに対話してもよい方法を示す構成可能な特性、フラグ及びリストを含んでもよい。いくつかの実施形態において、メタデータ322、362は、ビュー又はプログラム階層における変動レベルにサブイベントが配信されるかを示す構成可能な特性、フラグ及びリストを含んでもよい。いくつかの実施形態において、イベント認識部メタデータ322、362とビューメタデータ又はレベルメタデータ(341、381のそれぞれ)との組合せは、双方とも、a)能動的に関与したイベント認識部へのサブイベント配信を実行し、b)イベント認識部が互いに対話してもよい方法を示し、且つc)サブイベントがビュー又はプログラム階層において種々のレベルに配信されるか及び配信される時を示すようにイベント配信システムを構成するために使用されるものである。
尚、いくつかの実施形態において、それぞれのイベント認識部は、イベント認識部の構造320、360のフィールドにより規定されたように、イベント認識動作333、373をそれぞれの対象335、375に送出する。動作を対象に送出することは、サブイベントをそれぞれのヒットビュー又はヒットレベルに送出(及び遅延送出)することとは別個である。
対応するイベント認識部のそれぞれのイベント認識部構造320、360に格納されたメタデータ特性は、少なくとも以下のことを含む。
・イベント認識部に対して設定された場合、イベント認識部によりイベントを認識すると、イベント配信システムが、能動的に関与したビュー又はプログラムレベルの他のあらゆるイベント認識部(例外リスト326、366に列挙された他のあらゆるイベント認識部を除く)へのサブイベントの配信を停止すべきことを示す排他性フラグ324、364。対応する排他性フラグ324又は364により示されたように、サブイベントを受信することにより特定のイベント認識部が排他的状態になる場合、後続サブイベントは、排他的状態のイベント認識部(及び例外リスト326、366に列挙された他のあらゆるイベント認識部)にのみ配信される。
・いくつかのイベント認識部構造320、360は、排他性例外リスト326、366を含んでもよい。このリスト326、366は、それぞれのイベント認識部に対するイベント認識部構造320、360に含まれる場合、それぞれのイベント認識部が排他的状態になった後もサブイベントを受信し続けるイベント認識部の集合を示す。例えば、シングルタップイベントに対するイベント認識部が排他的状態になり、且つ現在含まれているビューがダブルタップイベントに対するイベント認識部を含む場合、リスト320、360は、シングルタップイベントが検出された後もダブルタップイベントが認識されるように、ダブルタップイベント認識部を列挙するだろう。従って、排他性例外リスト326、366により、イベント認識部は、サブイベントの共通のシーケンスを共有する種々のイベントを認識できる。例えばシングルタップイベント認識は、他のイベント認識部によるダブルタップイベント又はトリプルタップイベントの後続認識を排除しない。
・いくつかのイベント認識部構造320、360は、待ちリスト327、367を含んでもよい。このリスト327、367は、それぞれのイベント認識部に対するイベント認識部構造320、360に含まれる場合、それぞれの認識部がそれぞれのイベントを認識する前にイベント不可能状態又はイベント取消状態になるべきであるイベント認識部の集合を示す。実質的に、列挙されたイベント認識部は、イベントを認識するための優先順位が待ちリスト327、367を含むイベント認識部より高い。
・イベント認識部に対して設定された場合、サブイベントのシーケンスがこのイベント認識部のイベントの種類に対応しないと判定されるまで、イベント認識部がサブイベント(タッチ開始サブイベント又はフィンガーダウンサブイベント及び後続イベントを含む)をイベント認識部のそれぞれのヒットビュー又はヒットレベルに送出するのを遅延させる遅延タッチ開始済フラグ328、368。このフラグは、ジェスチャが認識される場合にヒットビュー又はヒットレベルがいずれかのサブイベントを参照するのを防止するために使用される。イベント認識部がイベントを認識できない場合、タッチ開始済サブイベント(及びサブ後続タッチ終了サブイベント)は、ヒットビュー又はヒットレベルに配信される。一例において、そのようなサブイベントをヒットビュー又はヒットレベルに配信することにより、ユーザインタフェースは、オブジェクトと関連付けられた動作を呼び出すことなく、そのオブジェクトを簡単に強調表示する。
・イベント認識部に対して設定された場合、サブイベントのシーケンスがこのイベント認識部のイベントの種類に対応しないと判定されるまで、イベント認識部がサブイベント(例えば、タッチ終了サブイベント)をイベント認識部のそれぞれのヒットビュー又はヒットレベルに送出するのを遅延させる遅延タッチ終了フラグ330、370。これは、ジェスチャが後で認識される場合にヒットビュー又はヒットレベルがタッチ終了サブイベントに影響を及ぼすのを防止するために使用される。タッチ終了サブイベントが送出されない限り、取り消されたタッチはヒットビュー又はヒットレベルに送出される。イベントが認識される場合、アプリケーションにより対応する動作が実行され、タッチ終了サブイベントはヒットビュー又はヒットレベルに配信される。
・イベント認識部に対して設定された場合、サブイベントのシーケンスがこのイベント認識部のイベントの種類に対応しないと判定されている際、イベント認識部がタッチ取消又は入力取消をイベント認識部のそれぞれのヒットビュー又はヒットレベルに送出させるタッチ取消フラグ332、372。ヒットビュー又はヒットレベルに送出されたタッチ取消又は入力取消は、先行するサブイベント(例えば、タッチ開始済サブイベント)が取り消されたことを示す。タッチ取消又は入力取消により、入力源ハンドラの状態(図4Bを参照)は入力シーケンス取消済状態460(以下に説明する)になってもよい。
いくつかの実施形態において、例外リスト326、366は、非排他的イベント認識部により更に使用されてもよい。特に、非排他的イベント認識部がイベントを認識する場合、後続サブイベントは、イベントを認識したイベント認識部の例外リスト326、366に列挙された排他的イベント認識部を除いて、現在活動中のビューと関連付けられた排他的イベント認識部に配信されない。
いくつかの実施形態において、イベント認識部は、望ましくないサブイベントがヒットビューに配信されるのを防止するために、遅延タッチ終了フラグと組み合わせてタッチ取消フラグを利用するように構成されてもよい。例えば、シングルタップジェスチャの定義とダブルタップジェスチャの前半とは同一である。シングルタップイベント認識部がシングルタップを正常に認識すると、望ましくない動作が起こるだろう。遅延タッチ終了フラグが設定される場合、シングルタップイベントが認識されるまで、シングルタップイベント認識部がサブイベントをヒットビューに送出するのを防止する。また、シングルタップイベント認識部の待ちリストがダブルタップイベント認識部を識別できるため、ダブルタップイベント認識部がイベント不可能状態になるまで、シングルタップイベント認識部がシングルタップを認識するのを防止する。待ちリストを使用することにより、ダブルタップジェスチャが実行される際にシングルタップと関連付けられた動作を実行するのを回避する。その代わり、ダブルタップイベントの認識に応答して、ダブルタップと関連付けられた動作のみが実行される。
タッチセンシティブ表面上のユーザタッチの形態を特に参照すると、上述したように、タッチ及びユーザジェスチャは瞬時でなくてもよい動作を含んでもよく、例えばタッチは、ある期間ディスプレイに対して指を移動又は保持する動作を含んでもよい。しかし、タッチデータ構造は、特定の時間のタッチの状態(すなわち、より一般的にはあらゆる入力源の状態)を定義する。従って、タッチデータ構造に格納された値がシングルタッチのコースを変更することにより、異なる時点のシングルタッチの状態をアプリケーションに搬送できる。
各タッチデータ構造は種々のフィールドを備える。いくつかの実施形態において、タッチデータ構造は、少なくとも図3Bのタッチ専用フィールド339又は図3Cの入力源専用フィールド379に対応するデータを含んでもよい。
例えば、図3Bの「ビューに対する第1のタッチ」フィールド345(図3Cの「レベルに対する第1のタッチ」385)は、タッチデータ構造が特定のビューに対する第1のタッチを定義するかどうかを示す(ビューを実現するソフトウェア要素がインスタンス化されたため)。「タイムスタンプ」フィールド346、386は、タッチデータ構造が関連する特定の時間を示す。
オプションとして、「情報(info)」フィールド347、387は、タッチが基本的なジェスチャであるかを示すために使用されてもよい。例えば「情報」フィールド347、387は、タッチがスワイプ(swipe)であるかを示し、スワイプである場合にはスワイプを配向する方向を示す。スワイプとは、1つ以上の指を直線方向に迅速にドラッグすることである。API実現例(以下に説明する)は、タッチがスワイプであるかを判定し且つその情報を「情報」フィールド347、387を介してアプリケーションに渡すことにより、タッチがスワイプであった場合に必要であったと考えられるあるデータ処理のアプリケーションを減少させる。
オプションとして、図3Bの「タップカウント(Tap Count)」フィールド348(図3Cの「イベントカウント(Event Count)」フィールド388)は、初期タッチの位置で順次実行されたタップの数を示す。タップは、特定の位置でタッチセンシティブパネルに対して指を迅速に押下し且つ離すものとして定義される。指がパネルの同一の位置で迅速に継続して再度押下され且つ解放される場合、複数の連続したタップが発生する。イベント配信システム124は、タップをカウントし、「タップカウント」フィールド348を介してこの情報をアプリケーションに中継する。同一の場所における複数のタップは、有用であり且つタッチ対応インタフェースに対する覚えやすいコマンドであると考えられることもある。従って、タップをカウントすることにより、イベント配信システム124は、アプリケーションからのあるデータ処理を再度減少させる。
「段階(phase)」フィールド349、389は、タッチに基づくジェスチャが現在ある特定の段階を示す。段階フィールド349、389は、タッチデータ構造が先行するタッチデータ構造により参照されていない新しいタッチを定義することを示す「タッチ段階開始済(Touch phase began)」等の種々の値を有する。「タッチ段階移動済(Touch phase moved)」値は、定義されているタッチが従来の位置から移動したことを示す。「タッチ段階静止(Touch phase stationary)」値は、タッチが同一の位置に留まっていることを示す。「タッチ段階終了済(Touch phase ended)」値は、タッチが終了した(例えば、ユーザがマルチタッチディスプレイの表面から指を離した)ことを示す。「タッチ段階取消済(Touch phase cancelled)」値は、タッチがデバイスにより取り消されたことを示す。取り消されたタッチは、ユーザにより必ずしも終了されなくてもよいが、デバイスが無視することを判定したタッチである。例えばデバイスは、タッチが意図せず(すなわち、ポータブルマルチタッチ対応デバイスをポケットに入れた結果)生成されていると判定し、その理由によりタッチを無視する。「段階フィールド(Phase field」349、389の各値は整数である。
従って、各タッチデータ構造は、特定の時間にタッチ(又は他の入力源)で発生していること(例えば、タッチが静止しているか、移動しているか等)及びタッチと関連付けられた他の情報(位置等)を定義する。従って、各タッチデータ構造は、特定の瞬間の特定のタッチの状態を定義する。同一の時間を参照する1つ以上のタッチデータ構造は、特定のビューが瞬間に受信している全てのタッチの状態を定義するタッチイベントデータ構造に追加される(上述したように、いくつかのタッチデータ構造は、終了し且つもう受信されていないタッチを更に参照してもよい)。複数のタッチイベントデータ構造は、ビューで発生しているタッチを示す連続した情報をソフトウェアに提供するために、時間が経つにつれビューを実現するソフトウェアに送出される。
オプションとしてマルチタッチジェスチャを含む複雑なタッチに基づくジェスチャを処理する機能は、種々のソフトウェア要素を複雑にする。いくつかの例において、そのように複雑になることにより、高度な所望のインタフェース機能を実現する必要がある。例えばゲームは、同時に複数のボタンを押下したり、あるいは加速度計データをタッチセンシティブ表面上のタッチと組み合わせたりすることを必要とする場合が多いため、種々のビューで発生する複数の同時のタッチを処理する機能を必要とするだろう。しかし、いくつかのより単純なアプリケーション及び/又はビュー(並びに、それらと関連付けられたソフトウェア要素)は、高度なインタフェース機能を必要としなくてもよい。例えば単純なソフトボタン(すなわち、タッチセンシティブディスプレイ上に表示されるボタン)は、マルチタッチ機能性ではなくシングルタッチで十分に動作できる。これらの場合、基礎となるOSは、シングルタッチ(例えば、ソフトボタン上のシングルタッチ又はシングルタップ)のみにより動作可能であることを意図するビューと関連付けられたソフトウェア要素に不必要なタッチデータ又は過剰なタッチデータ(例えば、マルチタッチデータ)を送出してもよい。ソフトウェア要素は、このデータを処理する必要があるため、シングルタッチのみが関連するビューと関連付けられても、複数のタッチを処理するソフトウェア要素の全ての複雑さを備える必要があるだろう。従来マウスインタフェース環境(すなわち、種々のボタン等)でプログラムするのが容易であったソフトウェア要素がマルチタッチ環境で非常により複雑になる可能性があるため、これによりデバイスに対してソフトウェアを開発するコストが増加する。
しかし、タッチセンシティブ表面上でユーザタッチを評価し且つ処理する複雑さに関する上記の説明は、それぞれ、入力デバイス128及び158を備える電子デバイス102及び104を操作する全ての形態のユーザ入力に更に当てはまり、ユーザ入力の全てがタッチスクリーン上で開始されるわけではなく、例えば、認識されるイベントを定義するサブイベントに対応する入力として利用されてもよい一回又は複数回のキーボード押下又はキーボード保持を含むかあるいは含まないマウスの移動及びマウスボタンの押下、タッチパッド上のユーザ移動タップ、ドラッグ、スクロール等、ペンスタイラスの入力、音声命令、検出された眼球運動、生体情報認識入力、検出されたユーザの生理学的変化、並びに/あるいはそれらのあらゆる組合せを連係することが理解されるだろう。
図4Aは、4つの状態を含むイベント認識部状態遷移マシン400を示す。受信したサブイベントに基づいてイベント認識部状態遷移マシン400の状態遷移を管理することにより、イベント認識部はイベント定義を効率的に表す。例えばタップジェスチャは、2つ又はオプションとして3つのサブイベントのシーケンスにより効率的に定義されてもよい。第1に、タッチは検出されるべきであり、これはサブイベント1となる。例えばタッチサブイベントは、状態遷移マシン400を有するイベント認識部を含むビューでタッチセンシティブ表面に触れるユーザの指であってもよい。第2に、タッチが実質的に所定の方向に全く移動しないオプションの測定された遅延(例えばタッチ位置のあらゆる移動は、ディスプレイ上で距離(例えば、5mm)又は画素数(例えば、5画素)として測定されてもよい所定の閾値より小さい)及び遅延は、十分に短く、サブイベント2として提供される。最後に、タッチの終了(例えば、タッチセンシティブ表面からユーザの指を離すこと)は、サブイベント3として提供される。これらのサブイベントを受信することに基づいてイベント認識部状態遷移マシン400を状態間の遷移に符号化することにより、イベント認識部状態遷移マシン400は、タップジェスチャイベント定義を効率的に表す。
イベントの種類にかかわらず、イベント認識部状態遷移マシン400は、イベント認識開始状態405から開始し、受信するサブイベントに依存して残りの状態のうちのいずれかに進んでもよい。イベント認識部状態遷移マシン400の説明を容易にするために、イベント可能状態410からの経路を説明した後、イベント認識開始状態405からイベント認識済状態415、イベント可能状態410及びイベント不可能状態420への直接経路を説明する。
イベント認識開始状態405から開始し、単独でイベントのイベント定義を含むサブイベントが受信される場合、イベント認識部状態遷移マシン400はイベント認識済状態415に遷移する。
状態イベント認識開始405から開始し、イベント定義の第1のサブイベントではないサブイベントが受信される場合、イベント認識部状態遷移マシン400はイベント不可能状態420に遷移する。
イベント認識開始状態405から開始し、所定のイベント定義の第1のサブイベントであり且つ最後のサブイベントではないサブイベントが受信される場合、イベント認識部状態遷移マシン400はイベント可能状態410に遷移する。受信する次のサブイベントが所定のイベント定義の第2のサブイベントであるが、最後のサブイベントではない場合、イベント認識部状態遷移マシン400は状態イベント可能410のままである。受信したサブイベントのシーケンスがイベント定義の部分であり続ける限り、イベント認識部状態遷移マシン400は状態イベント可能410のままである。イベント認識部状態遷移マシン400は、常にイベント可能状態410であり且つイベント定義の一部ではないサブイベントを受信する場合、状態イベント不可能420に遷移することにより、現在のイベント(もしあれば)がこのイベント認識部(すなわち、状態400に対応するイベント認識部)に対応するイベントの種類ではないと判定する。一方、イベント認識部状態遷移マシン400は、イベント可能状態410であり且つイベント定義の最後のサブイベントを受信する場合、イベント認識済状態415に遷移することにより、正常なイベント認識を完了する。
図4Bは、ビューがそれぞれの入力に関する情報を受信する方法を示す有限の状態遷移マシンを有する入力源処理過程(input source handling process)440の一実施形態を示す。尚、デバイスのタッチセンシティブ表面上に複数のタッチがある場合、各タッチは、自身の有限の状態遷移マシンを有する別個の入力源である。本実施形態において、入力源処理過程440は、入力シーケンス開始445、入力シーケンス継続450、入力シーケンス終了済455及び入力シーケンス取消済460の4つの状態を含む。入力源処理過程440は、例えば入力シーケンスの完了が検出された後で初めて入力がアプリケーションに配信される場合、それぞれのイベント認識部により使用されてもよい。入力源処理過程440は、アプリケーションに配信された入力シーケンスに応答して実行された変化を取り消せないかあるいは解除できないアプリケーションで使用される。
入力シーケンス開始445から開始し、単独で入力シーケンスを完了する入力が受信される場合、入力源処理過程440は入力シーケンス終了済455に遷移する。
入力シーケンス開始445から開始し、終了した入力シーケンスを示す入力が受信される場合、入力源処理過程440は入力シーケンス取消済460に遷移する。
入力シーケンス開始445から開始し、入力シーケンスの第1の入力であり且つ最後の入力ではない入力が受信される場合、入力源処理過程440は、状態入力シーケンス継続450に遷移する。受信する次の入力が入力シーケンスの第2の入力である場合、入力処理過程440は状態入力シーケンス継続450のままである。配信されるサブイベントのシーケンスが所定の入力シーケンスの部分であり続ける限り、入力源処理過程440は状態入力シーケンス継続450のままである。入力源処理過程440は、常に状態入力シーケンス継続450であり且つ入力シーケンスの部分ではない入力を受信する場合、状態入力シーケンス取消済460に遷移する。一方、入力源処理過程440は、入力シーケンス継続450であり且つ所定の入力定義の最後の入力を受信する場合、入力シーケンス終了済455に遷移することにより、サブイベントのグループを正常に受信する。
いくつかの実施形態において、入力源処理過程440は、特定のビュー又はプログラムレベルに対して実現されてもよい。その場合、サブイベントの特定のシーケンスは、結果として状態入力取消済460に遷移してもよい。
一例として、能動的に関与したビュー入力源ハンドラ480(以下、「ビュー480」)のみで表された能動的に関与したビューを想定する図4Cを考える。ビュー480は、イベント認識部のうちの1つとして縦スワイプイベント認識部468(以下、「認識部468」)のみで表された縦スワイプイベント認識部を含む。この場合、認識部468は、1)フィンガーダウン465−1、2)オプションのわずかな遅延465−2、3)少なくともN画素の縦スワイプ465−3及び4)フィンガーリフトオフ465−4を検出することを定義の一部として必要としてもよい。
例えば認識部468は、設定された遅延タッチ開始済フラグ328及びタッチ取消フラグ332を更に有する。次に、認識部468及びビュー480への以下のサブイベントのシーケンスの配信を考える。
・サブイベントシーケンス465−1:認識部468のイベント定義に対応するフィンガーダウン検出
・サブイベントシーケンス465−2:認識部468のイベント定義に対応する遅延測定
・サブイベントシーケンス465−3:指は、縦方向のスクローリングと互換性のある縦スワイプ移動を実行するがN画素より小さいため、認識部468のイベント定義に対応しない
・サブイベントシーケンス465−4:認識部468のイベント定義に対応するフィンガーリフトオフ検出
次に認識部468は、イベント定義の一部としてサブイベント1及び2を正常に認識することにより、サブイベント3の配信の直前にイベント可能472の状態になるだろう。認識部468が設定された遅延タッチ開始済フラグ328を有するため、初期タッチサブイベントはヒットビューに送出されない。従って、ビュー480の入力源処理過程440は、サブイベント3の配信の直前に依然として状態入力シーケンス開始のままだろう。
認識部468へのサブイベント3の配信が完了すると、認識部468の状態はイベント不可能476に遷移し、次に認識部468が、サブイベントのシーケンスが特定の縦スワイプジェスチャイベントの種類に対応しないと判定した(すなわち、認識部468は、イベントが縦スワイプではないと判断した。換言すると、縦スワイプとしての認識474はこの例では発生しない)ことが重要である。ビュー入力源ハンドラ480に対する入力源処理システム440は、その状態を更に更新する。いくつかの実施形態において、イベント認識部がイベントを認識し始めたことを示すステータス情報を送出する場合、ビュー入力源ハンドラ480の状態は、入力シーケンス開始状態482から入力シーケンス継続状態484に進むだろう。イベント認識部のタッチ取消フラグ322が設定されたためにイベントが認識されずにタッチ又は入力が終了する場合、ビュー入力源ハンドラ480は入力シーケンス取消済状態488になる。あるいは、イベント認識部のタッチ取消フラグ322が設定されていない場合、ビュー入力源ハンドラ480は、入力のタッチが終了する際に入力シーケンス終了済状態486になる。
イベント認識部468のタッチ取消フラグ332が設定されるため、イベント認識部468がイベント不可能状態476に遷移する場合、認識部は、タッチ取消のサブイベント又はメッセージをイベント認識部に対応するヒットビューに送出する。その結果、ビュー入力源ハンドラ480は状態入力シーケンス取消済488に遷移する。
いくつかの実施形態において、ビュー入力源ハンドラ480の他のイベント認識部がある場合は、サブイベントのシーケンスを解析し続けてもよいが、サブイベント465−4の配信は、認識部468により判断されたいずれのイベント認識にも密接に関連しない。
以下の表は、ビュー入力源ハンドラ480の状態と共に、上述したイベント認識部468の状態に関連するようなこの例示的なサブイベントシーケンス465の処理を要約した表形式で示す。この例において、認識部468のタッチ取消フラグ332が設定されたため、ビュー入力源ハンドラ480の状態は入力シーケンス開始445から入力シーケンス取消済488に進む。
図5Aを参照し、複数のイベント認識部を含む或るビューにより受信されているサブイベントシーケンス520の一例に注目する。例えば、2つのイベント認識部、すなわちスクローリングイベント認識部580及びタップイベント認識部590を図5Aに示す。説明のために、図3Aのビュー探索結果パネル304は、サブイベントシーケンス520の受信、並びにスクローリングイベント認識部580及びタップイベント認識部590における状態変遷に関連する。尚、この例において、サブイベント520のシーケンスは、タッチセンシティブディスプレイ又はトラックパッド上のタップフィンガージェスチャを定義するが、同一のイベント認識技術が、マウスボタンの押下を検出する等の無数の状況及び/又はプログラムレベルのプログラム階層を利用する実施形態で適用されてもよい。
第1のサブイベントがビュー探索結果パネル304に配信される前、イベント認識部580及び590は、それぞれ、イベント認識開始状態582及び592である。タッチサブイベント301−2としてビュー探索結果パネル304に対して能動的に関与したイベント認識部(及びタッチサブイベント301−3として地図ビュー305に対して能動的に関与したイベント認識部)にフィンガーダウン検出521−1サブイベントとして配信されるタッチ301に続き、スクローリングイベント認識部580は状態イベント可能584に遷移し、同様にタップイベント認識部590は状態イベント可能594に遷移する。これは、タッチ及びスクロールの双方のイベント定義が、タッチセンシティブ表面上でフィンガーダウンを検出すること等のタッチで開始するためである。
タップジェスチャ及びスクロールジェスチャのいくつかの定義は、オプションとして、イベント定義の初期タッチと何らかの次のステップとの間の遅延を含んでもよい。本明細書で説明する全ての例において、タップジェスチャ及びスクロールジェスチャの双方に対するイベント定義は、第1のタッチサブイベント(フィンガーダウン検出)に後続する遅延サブイベントを認識する。
従って、測定遅延521−2サブイベントがイベント認識部580及び590に配信されるため、双方は、それぞれ、イベント可能状態584及び594のままである。
最後に、フィンガーリフトオフ検出521−3サブイベントは、イベント認識部580及び590に配信される。この場合、タップ及びスクロールのイベント定義が異なるため、イベント認識部580及び590の状態遷移は異なる。スクローリングイベント認識部580の場合、状態イベント可能のままである次のサブイベントは移動を検出するサブイベントだろう。しかし、配信されたサブイベントがフィンガーリフトオフ検出521−3であるため、スクローリングイベント認識部580は状態イベント不可能588に遷移する。しかし、タップイベント定義はフィンガーリフトオフサブイベントで終了する。従って、タップイベント認識部590は、フィンガーリフトオフ521−3サブイベントが配信された後で状態イベント認識済596に遷移する。
尚、いくつかの実施形態において、図4B及び図4Cに関連して上述したように、図4Bで説明された入力源処理過程440は、ビューレベルで種々の目的のために使用されてもよい。以下の表は、イベント認識部580、590に関連するようなサブイベントシーケンス520の配信及び入力源処理過程440を要約した表形式で示す。
図5Bを参照し、複数のイベント認識部を含むビューにより受信されているサブイベントシーケンス530の別の例に注目する。例えば、2つのイベント認識部、すなわちスクローリングイベント認識部580及びタップイベント認識部590を図5Bに示す。説明のために、図3Aのビュー探索結果パネル304は、サブイベントシーケンス530の受信、並びにスクローリングイベント認識部580及びタップイベント認識部590における状態変遷に関連する。尚、この例において、サブイベント530のシーケンスは、タッチセンシティブディスプレイ上のスクロールフィンガージェスチャを定義するが、同一のイベント認識技術が、マウスボタンの押下、マウスの移動及びマウスボタンの解放を検出する等の無数の状況、並びに/又はプログラムレベルのプログラム階層を利用する実施形態で適用されてもよい。
第1のサブイベントがビュー探索結果パネル304に対して能動的に関与したイベント認識部に配信される前、イベント認識部580及び590は、それぞれ、イベント認識開始状態582及び592である。タッチ301に対応するサブイベントの配信(上述したような)に続き、スクローリングイベント認識部580は状態イベント可能584に遷移し、同様にタップイベント認識部590は状態イベント可能594に遷移する。
測定遅延531−2サブイベントがイベント認識部580及び590に配信されるため、双方は、それぞれ、イベント可能状態584及び594に遷移する。
次に、フィンガー移動検出531−3サブイベントはイベント認識部580及び590に配信される。この場合、タップ及びスクロールのイベント定義が異なるため、イベント認識部580及び590の状態遷移は異なる。スクローリングイベント認識部580の場合、状態イベント可能のままである次のサブイベントは移動を検出するサブイベントであるため、スクローリングイベント認識部580は、フィンガー移動検出531−3サブイベントを受信する場合にイベント可能状態584のままである。しかし、上述したように、タップの定義がフィンガーリフトオフサブイベントで終了するため、タップイベント認識部590は状態イベント不可能598に遷移する。
最後に、フィンガーリフトオフ検出531−4サブイベントはイベント認識部580及び590に配信される。タップイベント認識部は既にイベント不可能状態598であり、状態遷移は発生しない。スクローリングイベント認識部580のイベント定義は、フィンガーリフトオフを検出して終了する。配信されたサブイベントがフィンガーリフトオフ検出531−4であるため、スクローリングイベント認識部580は状態イベント認識済586に遷移する。尚、タッチセンシティブ表面上のフィンガー移動が複数の移動サブイベントを生成するため、スクロールは、リフトオフの前に認識され且つリフトオフまで継続してもよい。
以下の表は、イベント認識部580、590に関連するようなサブイベントシーケンス530の配信及び入力源処理過程440を要約した表形式で示す。
図5Cを参照し、複数のイベント認識部を含む或るビューにより受信されているサブイベントシーケンス540の別の例に注目する。例えば、2つのイベント認識部、すなわちダブルタップイベント認識部570及びタップイベント認識部590を図5Cに示す。説明のために、図3Aの地図ビュー305は、サブイベントシーケンス540の受信、並びにダブルタップイベント認識部570及びタップイベント認識部590における状態変遷に関連する。尚、この例において、サブイベント540のシーケンスは、タッチセンシティブディスプレイ上のダブルタップジェスチャを定義するが、同一のイベント認識技術が、マウスダブルクリックを検出する等の無数の状況及び/又はプログラムレベルのプログラム階層を利用する実施形態で適用されてもよい。
第1のサブイベントが地図ビュー305に対して能動的に関与したイベント認識部に配信される前、イベント認識部570及び590は、それぞれ、イベント認識開始状態572及び592である。タッチサブイベント301に関連したサブイベントの地図ビュー304への配信(上述したような)に続き、ダブルタップイベント認識部570及びタップイベント認識部590は、それぞれ、状態イベント可能574及び594に遷移する。これは、タップ及びダブルタップの双方のイベント定義がタッチセンシティブ表面上でフィンガーダウンを検出する等のタッチで開始するためである。
測定遅延541−2サブイベントがイベント認識部570及び590に配信されるため、双方は、それぞれ、状態イベント可能574及び594のままである。
次に、フィンガーリフトオフ検出541−3サブイベントはイベント認識部570及び590に配信される。この場合、タップ及びダブルタップのイベント定義が異なるため、イベント認識部580及び590の状態遷移は異なる。タップイベント認識部590の場合、イベント定義の最後のサブイベントがフィンガーリフトオフを検出するサブイベントであるため、タップイベント認識部590はイベント認識済状態596に遷移する。
しかし、ユーザが最終的に実行する可能性があることに関係なく遅延が開始しているため、ダブルタップ認識部570は状態イベント可能574のままである。完全なタップサブイベントシーケンスが後続するが、ダブルタップの完全なイベント認識定義は別の遅延を必要とする。これにより、既に状態イベント認識済576であるタップイベント認識部590と依然として状態イベント可能574のままであるダブルタップ認識部570との間のような曖昧な状況が発生する。
従って、いくつかの実施形態において、イベント認識部は、図3B及び図3Cに関連して上述したような排他性フラグ及び排他性例外リストを実現してもよい。本明細書において、タップイベント認識部590に対する排他性フラグ324が設定され、更にタップイベント認識部590に対する排他性例外リスト326は、タップイベント認識部590が状態イベント認識済596になった後にいくつかのイベント認識部(ダブルタップイベント認識部570等)へのサブイベントの配信を許可し続けるように構成されるだろう。
タップイベント認識部590は状態イベント認識済596のままであり、サブイベントシーケンス540はダブルタップサブイベント認識部570に配信され続ける。遅延測定541−4サブイベント、フィンガーダウン検出541−5サブイベント及び遅延測定541−6サブイベントはダブルタップ認識部570を状態イベント可能574に維持し、最後のシーケンスのサブイベント540、すなわちフィンガーリフトオフ検出541−7の配信により、ダブルタップ認識部570は状態イベント認識済576に遷移する。
この時点で、地図ビュー305は、タップイベント認識部590により認識されたシングルタップイベントではなく、イベント認識部570により認識されたようなイベントダブルタップを選択する。ダブルタップイベントを選択するという判断は、設定されるタップイベント認識部590の排他的フラグ324、ダブルタップイベントを含むタップイベント認識部590の排他性例外リスト326、並びにタップイベント認識部590及びダブルタップ認識部570の双方がそれぞれのイベントの種類を正常に認識したという事実の組合せを考慮して行われる。
以下の表は、イベント認識部570及び590に関連するようなサブイベントシーケンス540の配信、並びにサブイベント処理過程440を要約した表形式で示す。
別の実施形態において、図5Cのイベントの例では、シングルタップイベント認識部がダブルタップイベント認識部を識別する待ちリストを有するため、シングルタップジェスチャは識別されない。その結果、(実行されたとしても)ダブルタップイベント認識部がイベント不可能状態になるまで、シングルタップジェスチャは認識されない。ダブルタップジェスチャが認識されるこの例において、ダブルタップジェスチャが認識されるまで、シングルタップイベント認識部はイベント可能状態のままだろう。その時点で、シングルタップイベント認識部はイベント不可能状態に遷移するだろう。
次に、いくつかの実施形態に係るイベント認識方法を示すフローチャートである図6A及び図6Bに注目する。上述したように、いくつかの実施形態において電子デバイス102又は104であってもよい電子デバイスで方法600を実行する。いくつかの実施形態において、電子デバイスは、マルチタッチジェスチャを検出するように構成されたタッチセンシティブ表面を含んでもよい。あるいは、電子デバイスは、マルチタッチジェスチャを検出するように構成されたタッチスクリーンを含んでもよい。
方法600は、複数のビューを有するビュー階層を含むソフトウェアを実行するように構成される。方法600は、ビュー階層の1つ以上のビューを表示し(608)、1つ以上のソフトウェア要素を実行する(610)。各ソフトウェア要素は特定のビューと関連付けられ、各特定のビューは、それぞれ、イベント認識部構造320及び360として図3B及び図3Cで説明されたような1つ以上のイベント認識部を含む。
一般に各イベント認識部は、1つ以上のサブイベントに基づいて状態遷移マシンとして実現されてもよいイベント定義を含む。状態遷移マシンについては、例えば図3Bの状態遷移マシン340を参照する。更にイベント認識部は、一般に、対象に対する動作を規定するイベントハンドラを含み、イベント定義に対応するイベントを検出するイベント認識部に応答して動作を対象に送出するように構成される。
いくつかの実施形態において、図6Aのステップ612に示されたように、複数のイベント認識部のうちの少なくとも1つは、ジェスチャ定義及びジェスチャハンドラを有するジェスチャ認識部である。
いくつかの実施形態において、図6Aのステップ614に示されたように、イベント定義はユーザジェスチャを定義する。
あるいは、イベント認識部はイベント認識状態の集合を有する(616)。これらのイベント認識状態は、少なくともイベント可能状態、イベント不可能状態及びイベント認識済状態を含んでもよい。
いくつかの実施形態において、イベントハンドラは、イベント認識部がイベント可能状態になる場合に対象に配信するための対応する動作の準備を開始する(618)。図4A及び図5A〜図5Cの例に関連して上述したように、イベント認識部毎に実現された状態遷移マシンは、一般に状態イベント認識開始405等の初期状態を含む。イベント定義の初期部分を形成するサブイベントを受信することにより、イベント可能状態410への状態変化をトリガする。従って、いくつかの実施形態において、イベント認識部が状態イベント認識開始405から状態イベント可能410に遷移するのに伴い、イベント認識部のイベントハンドラは、イベントが正常に認識された後でイベント認識部の対象へ配信するための特定の動作を準備し始めてもよい。
一方、いくつかの実施形態において、イベントハンドラは、イベント認識部が状態イベント不可能420になる場合に対応する動作の準備を終了してもよい(620)。いくつかの実施形態において、対応する動作を終了することは、イベントハンドラの対応する動作のあらゆる準備を取り消すことを含む。
タップイベント認識部590が動作の準備を開始していてもよい(618)ため、図5Bの例は本実施形態とって有益である。しかし、フィンガー移動検出531−3サブイベントがタップイベント認識部590に配信されると、認識部590はイベント不可能状態598、578に遷移する。その時点で、タップイベント認識部590は、準備を開始した(618)動作の準備を終了してもよい(620)。
いくつかの実施形態において、イベントハンドラは、イベント認識部がイベント認識済状態になる場合に対象に配信するための対応する動作の準備を完了する(622)。地図ビュー305に対して能動的に関与したイベント認識部によりダブルタップが認識されるため、図5Cの例は本実施形態を示す。それは、いくつかの実現例において、地図ビュー305により示された探索結果を選択し且つ/あるいは実行する義務があるイベントである。本明細書において、ダブルタップイベント認識部570がサブイベントシーケンス540から構成されるダブルタップイベントを正常に認識した後、地図ビュー305のイベントハンドラは、動作、すなわち起動コマンドを受信したことを示す動作の準備を完了する(622)。
いくつかの実施形態において、イベントハンドラは、対応する動作をイベント認識部と関連付けられた対象に配信する(624)。引き続き図5Cの例を参照すると、準備された動作、すなわち地図ビュー305の起動コマンドは、地図ビュー305と関連付けられた特定の対象に配信される。これは、あらゆる適切なプログラムの方法又は目的であってもよい。
あるいは、複数のイベント認識部は、1つ以上のサブイベントのシーケンスを並列に個別に処理してもよい(626)。
いくつかの実施形態において、それぞれ、図3B及び図3Cの排他性フラグ324及び364に関連して上述したように、1つ以上のイベント認識部は排他的イベント認識部628として構成されてもよい。イベント認識部が排他的イベント認識部として構成される場合、イベント配信システムは、排他的イベント認識部がイベントを認識した後、ビュー階層で能動的に関与したビューに対する他のあらゆるイベント認識部(イベントを認識するイベント認識部の例外リスト326、366に列挙されたものを除く)が後続サブイベント(サブイベントの同一のシーケンスの)を受信するのを防止する。また、非排他的イベント認識部がイベントを認識する場合、イベント配信システムは、イベントを認識するイベント認識部の例外リスト326、366に列挙されたもの(もしあれば)を除き、ビュー階層で能動的に関与したビューに対するあらゆる排他的イベント認識部が後続サブイベントを受信するのを防止する。
いくつかの実施形態において、それぞれ、図3B及び図3Cの排他性例外リスト326及び366に関連して上述したように、排他的イベント認識部はイベント例外リストを含んでもよい(630)。上記の図5Cの説明で示されたように、イベント認識部の排他性例外リストは、それぞれのイベント定義を構成するサブイベントのシーケンスが重複する場合でもイベント認識部がイベント認識を継続できるようにするために使用される。従って、いくつかの実施形態において、イベント例外リストは、対応するイベント定義が反復サブイベント、例えば図5Cのシンブルタップ/ダブルタップイベントの例を有するイベントを含む(632)。
あるいは、イベント定義はユーザ入力動作を定義してもよい(634)。
いくつかの実施形態において、1つ以上のイベント認識部は、イベントが認識されるまでサブイベントのシーケンスの全てのサブイベントを配信するのを遅延させるように構成されてもよい。
方法600は1つ以上のサブイベントのシーケンスを検出し(636)、いくつかの実施形態において、1つ以上のサブイベントのシーケンスは基本のタッチイベントを含んでもよい(638)。基本のタッチイベントは、タッチセンシティブ表面上のタッチに基づくジェスチャの基本構成要素、例えば最初のフィンガータッチダウン又はスタイラスタッチダウンに関連したデータ、タッチセンシティブ表面にわたる複数のフィンガー移動又はスタイラス移動の開始に関連したデータ、逆方向の2フィンガー移動、タッチセンシティブ表面からのスタイラスリフトオフ等を含んでもよいがそれらに限定されない。
1つ以上のサブイベントのシーケンスのサブイベントは、特に、キー押下、キー押下保持、キー押下解放、ボタン押下、ボタン押下保持、ボタン押下解放、ジョイスティック移動、マウスの移動、マウスボタンの押下、マウスボタンの解放、ペンスタイラスのタッチ、ペンスタイラスの移動、ペンスタイラスの解放、音声命令、検出された眼球運動、生体情報認識入力及び検出されたユーザの生理学的変化を含むがそれらに限定されない多くの形態を含んでもよい。
方法600は、ビュー階層のビューのうちの1つをヒットビューとして識別する(640)。ヒットビューは、ビュー階層のどのビューが能動的に関与したビューであるかを明らかにする。能動的に関与したビュー306が、タッチサブイベント301が地図ビュー305と関連付けられた領域に接触したために地図ビュー305及び探索結果パネル304を含む一例を図3Aに示す。
いくつかの実施形態において、ビュー階層内の第1の能動的に関与したビューは、その第1の能動的に関与したビューと関連付けられたイベント認識部へのそれぞれのサブイベントの配信を防止するように構成されてもよい(642)。この挙動により、図3B及び図3Cに関連して上述したスキップ特性(それぞれ、330及び370)を実現する。スキップ特性がイベント認識部に対して設定される場合、それぞれのサブイベントの配信は、ビュー階層で他の能動的に関与したビューと関連付けられたイベント認識部に対して依然として実行される。
あるいは、ビュー階層内の第1の能動的に関与したビューは、第1の能動的に関与したビューがヒットビューでない限り、第1の能動的に関与したビューと関連付けられたイベント認識部へのそれぞれのサブイベントの配信を防止するように構成されてもよい(644)。この挙動により、図3B及び図3Cに関連して上述した条件付きスキップ特性(それぞれ、332及び372)を実現する。
いくつかの実施形態において、ビュー階層内の第2の能動的に関与したビューは、第2の能動的に関与したビューと関連付けられたイベント認識部及び第2の能動的に関与したビューの祖先と関連付けられたイベント認識部へのそれぞれのサブイベントの配信を防止するように構成される(646)。この挙動により、図3B及び図3Cに関連して上述した停止特性(それぞれ、328及び368)を実現する。
方法600は、ビュー階層内で能動的に関与したビュー毎にそれぞれのサブイベントをイベント認識部に配信する(648)。いくつかの実施形態において、ビュー階層で能動的に関与したビューに対するイベント認識部は、サブイベントのシーケンスの次のサブイベントを処理する前にそれぞれのサブイベントを処理する。あるいは、ビュー階層で能動的に関与したビューに対するイベント認識部は、それぞれのサブイベントを処理しつつサブイベント認識を判断する。
いくつかの実施形態において、ビュー階層で能動的に関与したビューに対するイベント認識部は、1つ以上のサブイベントのシーケンスを同時に処理してもよい(650)。あるいは、ビュー階層で能動的に関与したビューに対するイベント認識部は、1つ以上のサブイベントのシーケンスを並列に処理してもよい。
いくつかの実施形態において、1つ以上のイベント認識部は、イベント認識部がイベントを認識するまでサブイベントのシーケンスの1つ以上のサブイベントを送出するのを遅延させるように構成されてもよい(652)。この挙動は遅延したイベントを反映する。例えば、複数のタップジェスチャが可能であるビューのシングルタップジェスチャを考える。その場合、タップイベントは「タップ+遅延」認識部になる。本質的に、イベント認識部は、この挙動を実現する場合、サブイベントのシーケンスが実際にイベント定義に対応することを確定するまでイベント認識を遅延させる。受信側ビューが取り消されたイベントに適切に応答できない場合、この挙動は適切だろう。いくつかの実施形態において、イベント認識部は、サブイベントのシーケンスがイベント定義に対応しないことを確定するまで、イベント認識ステータスをそれぞれの能動的に関与したビューに更新するのを遅延させる。図3B及び図3Cに関連して上述したように、遅延タッチ開始済フラグ328、368、遅延タッチ終了フラグ330、370及びタッチ取消フラグ332、372は、サブイベント配信技術を調節するために提供され、イベント認識部及びビューステータス情報は特定のニーズに更新される。
説明のために、特定の実施形態を参照して上記の説明を説明した。しかし、上記の例示的な説明は、本発明を網羅すること又は開示された厳密な形式に限定することを意図しない。多くの変更及び変形が上記教示に鑑みて可能である。本発明の原理及び実際的な応用例を最適に説明するために実施形態が選択され且つ説明されたことより、当業者は、考えられる特定の用途に適するような本発明及び種々の変更を含む種々の実施形態を最適に利用できる。

Claims (27)

  1. 複数のビューを有するビュー階層を含むソフトウェアを実行するように構成された電子デバイスにおける方法であって、
    前記ビュー階層の1つ以上のビューを表示するステップと、
    各々が1つ以上のイベント認識部を含む特定のビューと各々が関連付けられる1つ以上のソフトウェア要素を実行するステップと、
    ここで、各イベント認識部は、1つ以上のサブイベントに基づくイベント定義と、イベントハンドラとを有し、
    ここで前記イベントハンドラは、対象に対する動作を規定し、且つ、前記イベント認識部が前記イベント定義に対応するイベントを検出するのに応答して前記動作を前記対象に送出するように構成される;
    1つ以上のサブイベントのシーケンスを検出するステップと、
    前記ビュー階層のどのビューが能動的に関与したビューであるかを明らかにするヒットビューとして前記ビュー階層の前記ビューのうちの1つを識別するステップと、
    前記ビュー階層内の能動的に関与したビュー毎にそれぞれのサブイベントをイベント認識部に配信するステップとを備え、
    前記ビュー階層で能動的に関与したビューに対する各イベント認識部は、前記サブイベントのシーケンスの次のサブイベントを処理する前に前記それぞれのサブイベントを処理することを特徴とする方法。
  2. 前記ビュー階層で能動的に関与したビューに対する各イベント認識部は、前記1つ以上のサブイベントのシーケンスを同時に処理することを特徴とする請求項1に記載の方法。
  3. 前記ビュー階層内の第1の能動的に関与したビューは、前記第1の能動的に関与したビューと関連付けられたイベント認識部への前記それぞれのサブイベントの配信を防止するように構成されることを特徴とする請求項1又は2に記載の方法。
  4. 前記ビュー階層内の第1の能動的に関与したビューは、前記第1の能動的に関与したビューが前記ヒットビューでない限り、前記第1の能動的に関与したビューと関連付けられたイベント認識部への前記それぞれのサブイベントの配信を防止するように構成されることを特徴とする請求項1又は2に記載の方法。
  5. 前記ビュー階層内の第2の能動的に関与したビューは、前記第2の能動的に関与したビューと関連付けられたイベント認識部及び前記第2の能動的に関与したビューの祖先と関連付けられたイベント認識部への前記それぞれのサブイベントの配信を防止するように構成されることを特徴とする請求項1乃至4のいずれか1項に記載の方法。
  6. 前記複数のイベント認識部のうちの少なくとも1つは、ジェスチャ定義及びジェスチャハンドラを有するジェスチャ認識部であることを特徴とする請求項1乃至5のいずれか1項に記載の方法。
  7. 前記イベント定義はユーザジェスチャを定義することを特徴とする請求項1乃至6のいずれか1項に記載の方法。
  8. 前記電子デバイスは、マルチタッチジェスチャを検出するように構成されたタッチセンシティブ表面を更に備えることを特徴とする請求項1乃至7のいずれか1項に記載の方法。
  9. 前記電子デバイスは、マルチタッチジェスチャを検出するように構成されたタッチスクリーンを更に備えることを特徴とする請求項1乃至7のいずれか1項に記載の方法。
  10. 前記1つ以上のサブイベントのシーケンスは基本のタッチイベントを含むことを特徴とする請求項1乃至9のいずれか1項に記載の方法。
  11. 各イベント認識部は、少なくともイベント可能状態、イベント不可能状態及びイベント認識済状態を含むイベント認識状態の集合を有することを特徴とする請求項1乃至10のいずれか1項に記載の方法。
  12. 前記イベント認識部が前記イベント可能状態になる場合に前記対象に配信するための対応する動作の準備を開始する前記イベントハンドラを更に備えることを特徴とする請求項11に記載の方法。
  13. 前記イベント認識部が前記認識済状態になる場合に前記対象に配信するための対応する動作の準備を完了する前記イベントハンドラを更に備えることを特徴とする請求項12に記載の方法。
  14. 対応する動作を前記対象に配信する前記イベントハンドラを更に備えることを特徴とする請求項13に記載の方法。
  15. 前記複数のイベント認識部は、前記1つ以上のサブイベントのシーケンスを並列に個別に処理することを特徴とする請求項1乃至14のいずれか1項に記載の方法。
  16. 前記複数のイベント認識部のうちの1つ以上は、前記イベント認識部が前記イベントを認識するまで前記サブイベントのシーケンスの1つ以上のサブイベントを配信するのを遅延させるように構成されることを特徴とする請求項1乃至15のいずれか1項に記載の方法。
  17. 排他的イベント認識部を備える前記複数のイベント認識部のうちの1つ以上は、排他的イベント認識を実行するように構成され、
    前記イベント配信システムは、前記排他的イベント認識部のうちのいずれかがイベントを認識した後、前記ビュー階層で能動的に関与したビューに対するあらゆる非排他的イベント認識部がそれぞれのイベントを認識するのを防止することを特徴とする請求項1乃至16のいずれか1項に記載の方法。
  18. 前記1つ以上の排他的イベント認識部はイベント例外リストを含むことを特徴とする請求項17に記載の方法。
  19. 前記イベント例外リストは、対応するイベント定義がそれぞれのサブイベントを有するイベントを含むことを特徴とする請求項18に記載の方法。
  20. 前記イベント定義はユーザ入力動作を定義することを特徴とする請求項1乃至19のいずれか1項に記載の方法。
  21. 前記1つ以上のサブイベントのシーケンスのそれぞれのサブイベントは、キー押下、キー押下保持、キー押下解放、ボタン押下、ボタン押下保持、ボタン押下解放、ジョイスティック移動、マウスの移動、マウスボタンの押下、マウスボタンの解放、ペンスタイラスのタッチ、ペンスタイラスの移動、ペンスタイラスの解放、音声命令、検出された眼球運動、生体情報認識入力及び検出されたユーザの生理学的変化から成るグループから選択されることを特徴とする請求項1乃至20のいずれか1項に記載の方法。
  22. 複数のビューを有するビュー階層を含むソフトウェアを実行するように構成された電子デバイスにおける方法であって、
    前記ビュー階層の1つ以上のビューを表示するステップと、
    各々が1つ以上のイベント認識部を含む特定のビューと各々が関連付けられる1つ以上のソフトウェア要素を実行するステップと、
    ここで、各イベント認識部は、1つ以上のサブイベントに基づくイベント定義と、イベントハンドラとを有し、
    各イベントハンドラは、対象に対する動作を規定し、且つ、前記イベント定義に対応するイベントを検出する前記イベント認識部に応答して前記動作を前記対象に送出するように構成される;
    1つ以上のサブイベントのシーケンスを検出するステップと、
    前記ビュー階層のどのビューが能動的に関与したビューであるかを明らかにするヒットビューとして前記ビュー階層の前記ビューのうちの1つを識別するステップと、
    前記ビュー階層内の能動的に関与したビュー毎にそれぞれのサブイベントをイベント認識部に配信するステップと、
    前記ビュー階層で前記能動的に関与したビューに対するイベント認識部において、前記それぞれのサブイベントを処理しつつサブイベント認識を判断するステップと、
    を備えることを特徴とする方法。
  23. 前記ビュー階層で能動的に関与したビューに対する各イベント認識部は、前記1つ以上のサブイベントのシーケンスを並列に処理することを特徴とする請求項22に記載の方法。
  24. コンピュータシステム又はコンピュータデバイスの1つ以上のプロセッサにより実行される1つ以上のプログラムを格納するコンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、
    複数のビューを有するビュー階層の1つ以上のビューを表示する1つ以上のアプリケーションプログラムと、
    ここで、前記1つ以上のアプリケーションプログラムは、各々が1つ以上のイベント認識部を含む特定のビューと各々が関連付けられる1つ以上のソフトウェア要素含み、
    ここで、各イベント認識部は、1つ以上のサブイベントに基づくイベント定義と、イベントハンドラとを有し、
    ここで、前記イベントハンドラは、対象に対する動作を規定し、且つ、前記イベント定義に対応するイベントを検出する前記イベント認識部に応答して前記動作を前記対象に送出するように構成されている;

    イベント管理命令であって、前記コンピュータシステム又は前記コンピュータデバイスの前記1つ以上のプロセッサにより実行される場合に、前記コンピュータシステム又は前記コンピュータデバイスに、
    1つ以上のサブイベントのシーケンスを検出させ、
    前記ビュー階層のどのビューが能動的に関与したビューであるかを明らかにするヒットビューとして前記ビュー階層の前記ビューのうちの1つを識別させ、且つ
    前記ビュー階層内の能動的に関与したビュー毎にそれぞれのサブイベントをイベント認識部に配信させるためのイベント管理命令と
    を含み、
    前記ビュー階層で能動的に関与したビューに対する各イベント認識部は、前記サブイベントのシーケンスの次のサブイベントを処理する前に前記それぞれのサブイベントを処理することを特徴とするコンピュータ可読記憶媒体。
  25. 前記1つ以上のプログラムは、前記1つ以上のプロセッサにより実行される場合に前記コンピュータシステム又は前記コンピュータデバイスに、請求項1乃至23のいずれか1項に記載の方法を実行させる命令を含むことを特徴とする請求項24に記載のコンピュータ可読記憶媒体。
  26. 装置であって、
    ディスプレイと、
    1つ以上のプロセッサと、
    メモリと、
    複数のビューを有するビュー階層の1つ以上のビューを表示するための、前記メモリに格納された1つ以上のプログラムと、
    ここで、前記1つ以上のプログラムは1つ以上のソフトウェア要素を含み、各ソフトウェア要素は特定のビューと関連づけられ、各特定のビューは1つ以上のイベント認識部を有し、
    ここで、各イベント認識部は、1つ以上のサブイベントに基づくイベント定義と、イベントハンドラとを有し、
    ここで、前記イベントハンドラは、対象に対する動作を規定し、且つ前記イベント定義に対応するイベントを検出する前記イベント認識部に応答して前記動作を前記対象に送出するように構成される、
    ここで、前記1つ以上のプログラムはイベント配信プログラムを含み、当該イベント配信プログラムは前記装置の前記1つ以上のプロセッサに実行されたとき、前記装置に、
    1つ以上のサブイベントのシーケンスを検出させ、
    前記ビュー階層のどのビューが能動的に関与したビューであるかを明らかにするヒットビューとして前記ビュー階層の前記ビューのうちの1つを識別させ、
    前記ビュー階層内の能動的に関与したビュー毎にそれぞれのサブイベントをイベント認識部に配信させ、
    前記ビュー階層で前記能動的に関与したビューに対するイベント認識部が前記それぞれのサブイベントを処理する間にサブイベント認識を判断させる
    ことを特徴とする装置。
  27. 前記メモリに格納された前記1つ以上のプログラムは、前記1つ以上のプロセッサにより実行される場合に前記コンピュータシステム又は前記コンピュータデバイスが請求項1乃至23のいずれか1項に記載の方法を実行させる命令を含むことを特徴とする請求項26に記載の装置。
JP2012500844A 2009-03-16 2010-03-12 イベント認識 Active JP5594914B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US21033209P 2009-03-16 2009-03-16
US61/210,332 2009-03-16
US12/566,660 2009-09-24
US12/566,660 US8285499B2 (en) 2009-03-16 2009-09-24 Event recognition
PCT/US2010/027118 WO2010107669A2 (en) 2009-03-16 2010-03-12 Event recognition

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014129689A Division JP5879395B2 (ja) 2009-03-16 2014-06-24 イベント認識

Publications (3)

Publication Number Publication Date
JP2012521050A true JP2012521050A (ja) 2012-09-10
JP2012521050A5 JP2012521050A5 (ja) 2013-06-27
JP5594914B2 JP5594914B2 (ja) 2014-09-24

Family

ID=42731388

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2012500844A Active JP5594914B2 (ja) 2009-03-16 2010-03-12 イベント認識
JP2014129689A Active JP5879395B2 (ja) 2009-03-16 2014-06-24 イベント認識
JP2016017396A Active JP6180563B2 (ja) 2009-03-16 2016-02-01 イベント認識
JP2017139218A Active JP6408085B2 (ja) 2009-03-16 2017-07-18 イベント認識
JP2018175226A Active JP6695395B2 (ja) 2009-03-16 2018-09-19 イベント認識

Family Applications After (4)

Application Number Title Priority Date Filing Date
JP2014129689A Active JP5879395B2 (ja) 2009-03-16 2014-06-24 イベント認識
JP2016017396A Active JP6180563B2 (ja) 2009-03-16 2016-02-01 イベント認識
JP2017139218A Active JP6408085B2 (ja) 2009-03-16 2017-07-18 イベント認識
JP2018175226A Active JP6695395B2 (ja) 2009-03-16 2018-09-19 イベント認識

Country Status (9)

Country Link
US (5) US8285499B2 (ja)
EP (2) EP2409222A2 (ja)
JP (5) JP5594914B2 (ja)
KR (1) KR101278346B1 (ja)
CN (4) CN102422264B (ja)
AU (1) AU2010226120B2 (ja)
CA (4) CA2817648C (ja)
DE (1) DE112010001143T5 (ja)
WO (1) WO2010107669A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016114288A1 (ja) * 2015-01-15 2016-07-21 シャープ株式会社 情報処理装置、情報処理装置の制御方法および制御プログラム
US11372538B2 (en) 2012-06-22 2022-06-28 Sony Corporation Detection device and detection method

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256356B2 (en) * 2001-03-29 2016-02-09 International Business Machines Corporation Method and system for providing feedback for docking a content pane in a host window
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
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
US8174502B2 (en) 2008-03-04 2012-05-08 Apple Inc. Touch event processing for web pages
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8463430B2 (en) * 2008-10-23 2013-06-11 Utique, Inc Interactive and 3-D multi-senor touch selection interface for an automated retail store, vending machine, digital sign, or retail display
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US8566044B2 (en) * 2009-03-16 2013-10-22 Apple Inc. Event recognition
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
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US9223590B2 (en) * 2010-01-06 2015-12-29 Apple Inc. System and method for issuing commands to applications based on contextual information
US20110214092A1 (en) * 2010-02-26 2011-09-01 Siemens Product Lifecycle Management Software Inc. System and Method for Management of User Interactions Using Configurable Listeners in a Data Processing System
US8776091B2 (en) * 2010-04-30 2014-07-08 Microsoft Corporation Reducing feedback latency
US8552999B2 (en) 2010-06-14 2013-10-08 Apple Inc. Control selection approximation
US9104306B2 (en) * 2010-10-29 2015-08-11 Avago Technologies General Ip (Singapore) Pte. Ltd. Translation of directional input to gesture
US20120131513A1 (en) * 2010-11-19 2012-05-24 Microsoft Corporation Gesture Recognition Training
CN102768608B (zh) * 2010-12-20 2016-05-04 苹果公司 事件识别
WO2012087939A1 (en) * 2010-12-20 2012-06-28 Apple Inc. Event recognition
AU2015203638B2 (en) * 2010-12-20 2016-11-17 Apple Inc. Event recognition
JP5885309B2 (ja) * 2010-12-30 2016-03-15 トムソン ライセンシングThomson Licensing ジェスチャ認識のためのユーザ・インタフェース、装置および方法
US20120196540A1 (en) * 2011-02-02 2012-08-02 Cisco Technology, Inc. Method and apparatus for a bluetooth-enabled headset with a multitouch interface
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
US9604542B2 (en) * 2011-04-20 2017-03-28 Harman Becker Automotive Systems Gmbh I/O device for a vehicle and method for interacting with an I/O device
US20120278712A1 (en) * 2011-04-27 2012-11-01 Microsoft Corporation Multi-input gestures in hierarchical regions
US8793624B2 (en) * 2011-05-18 2014-07-29 Google Inc. Control of a device using gestures
US8782525B2 (en) 2011-07-28 2014-07-15 National Insturments Corporation Displaying physical signal routing in a diagram of a system
US8713482B2 (en) * 2011-07-28 2014-04-29 National Instruments Corporation Gestures for presentation of different views of a system diagram
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US20130036377A1 (en) * 2011-08-05 2013-02-07 Nokia Corporation Controlling responsiveness to user inputs
US8971572B1 (en) 2011-08-12 2015-03-03 The Research Foundation For The State University Of New York Hand pointing estimation for human computer interaction
US9348668B2 (en) 2011-09-15 2016-05-24 Oracle International Corporation System and method for supporting a server-side event model in a distributed data grid
US20130179844A1 (en) * 2012-01-06 2013-07-11 Mirko Mandic Input Pointer Delay
US9575652B2 (en) 2012-03-31 2017-02-21 Microsoft Technology Licensing, Llc Instantiable gesture objects
JP6182207B2 (ja) 2012-05-09 2017-08-16 アップル インコーポレイテッド ユーザインタフェースオブジェクトのアクティブ化状態を変更するためのフィードバックを提供するためのデバイス、方法、及びグラフィカルユーザインタフェース
CN108241465B (zh) 2012-05-09 2021-03-09 苹果公司 用于针对在用户界面中执行的操作提供触觉反馈的方法和装置
AU2013259606B2 (en) 2012-05-09 2016-06-02 Apple Inc. Device, method, and graphical user interface for displaying additional information in response to a user contact
AU2013259630B2 (en) 2012-05-09 2016-07-07 Apple Inc. Device, method, and graphical user interface for transitioning between display states in response to gesture
US20130325832A1 (en) * 2012-05-31 2013-12-05 Microsoft Corporation Presenting search results with concurrently viewable targets
KR20150034255A (ko) * 2012-07-15 2015-04-02 애플 인크. 3d 상호작용을 위한 멀티터치 제스처 인식의 명확화
US9507513B2 (en) 2012-08-17 2016-11-29 Google Inc. Displaced double tap gesture
JP5700020B2 (ja) * 2012-10-10 2015-04-15 コニカミノルタ株式会社 画像処理装置、プログラム及び操作イベント判別方法
CN103729172A (zh) * 2012-10-12 2014-04-16 英业达科技有限公司 避免触控事件被拦截以触发给多元件执行的系统及其方法
CN103838502B (zh) * 2012-11-22 2018-04-27 腾讯科技(深圳)有限公司 一种滑动识别方法和装置
US20140149916A1 (en) * 2012-11-28 2014-05-29 SoMo Audience Corp. Content manipulation using swipe gesture recognition technology
KR101958582B1 (ko) 2012-12-29 2019-07-04 애플 인크. 터치 입력에서 디스플레이 출력으로의 관계들 사이에서 전환하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
US9092527B2 (en) * 2013-01-30 2015-07-28 Quixey, Inc. Performing application search based on entities
TWM471654U (zh) * 2013-02-07 2014-02-01 Asustek Comp Inc 可攜式電子裝置
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US9280452B1 (en) * 2013-06-26 2016-03-08 Amazon Technologies, Inc. Systems and methods for generating test cases
KR20150017977A (ko) * 2013-08-08 2015-02-23 삼성전자주식회사 지능적 정보 제공 방법 및 장치
US10242315B2 (en) 2013-10-14 2019-03-26 International Business Machines Corporation Finite state machine forming
JP6062351B2 (ja) * 2013-11-28 2017-01-18 京セラ株式会社 電子機器
US9679183B2 (en) * 2013-12-20 2017-06-13 Apple Inc. Finger biometric sensor including drive signal level updating and related methods
US9430142B2 (en) * 2014-07-17 2016-08-30 Facebook, Inc. Touch-based gesture recognition and application navigation
CN104596037B (zh) * 2015-01-16 2019-11-29 珠海格力电器股份有限公司 空调器、空调控制器及其控制方法和装置
DE112016000495T5 (de) 2015-01-27 2017-11-02 Mitsubishi Electric Corporation Benutzerschnittstelle und verfahren zum anzeigen einer benutzerschnittstelle
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
CN105100916B (zh) * 2015-07-09 2019-03-08 北京奇虎科技有限公司 一种视频播放器的制作方法和装置
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
CN105549824A (zh) * 2015-12-26 2016-05-04 魅族科技(中国)有限公司 一种显示控制方法及移动终端
CN106126355A (zh) * 2016-06-22 2016-11-16 百度在线网络技术(北京)有限公司 基于iOS系统的事件传递方法和装置
US10558288B2 (en) * 2016-07-07 2020-02-11 Samsung Display Co., Ltd. Multi-touch display panel and method of controlling the same
CN106250229B (zh) * 2016-08-16 2020-01-24 东软集团股份有限公司 事件处理的方法及装置
CN106896987B (zh) * 2017-02-27 2019-06-25 网易(杭州)网络有限公司 实现界面元素跟随的方法及装置
EP3593235A1 (en) * 2017-05-16 2020-01-15 Apple Inc. Devices, methods, and graphical user interfaces for touch input processing
CN107219983B (zh) * 2017-06-20 2020-07-31 武汉斗鱼网络科技有限公司 列表显示方法及装置
US11210684B1 (en) 2018-01-17 2021-12-28 Amazon Technologies, Inc. Accurately estimating causal effects for related events
US20190288927A1 (en) * 2018-03-14 2019-09-19 Scaled Inference, Inc. Methods and systems for generating data visualizations and control interfaces to transform computing analytics frameworks into cross-platform real-time decision-making systems
CN108711185B (zh) * 2018-05-15 2021-05-28 清华大学 联合刚性运动和非刚性形变的三维重建方法及装置
US10921975B2 (en) 2018-06-03 2021-02-16 Apple Inc. Devices, methods, and user interfaces for conveying proximity-based and contact-based input events
US10877660B2 (en) * 2018-06-03 2020-12-29 Apple Inc. Devices and methods for processing inputs using gesture recognizers
JP6709255B2 (ja) 2018-07-27 2020-06-10 本田技研工業株式会社 内燃機関の冷却構造
CN110111812B (zh) * 2019-04-15 2020-11-03 深圳大学 一种键盘击键内容的自适应识别方法和系统
CN110989888B (zh) * 2019-12-13 2021-03-02 广州方硅信息技术有限公司 一种触摸事件分发方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627959A (en) * 1993-09-20 1997-05-06 Oracle Corporation Method for manipulating graphic objects
JPH10500509A (ja) * 1994-05-13 1998-01-13 アップル コンピュータ, インコーポレイテッド オペレーティングシステムにおけるイベント分配装置及び方法
WO2008030779A2 (en) * 2006-09-06 2008-03-13 Apple Inc. Portable electronic device for photo management
JP2008508601A (ja) * 2004-07-30 2008-03-21 アップル インコーポレイテッド タッチ・センシティブ入力デバイスのためのジェスチャ

Family Cites Families (506)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1517521A (en) 1975-09-01 1978-07-12 Tilgate Pallets Ltd Pallets
US4455452A (en) 1982-09-13 1984-06-19 Touch Activated Switch Arrays, Inc. Touch activated controller for generating X-Y output information
US4674066A (en) 1983-02-18 1987-06-16 Houghton Mifflin Company Textual database system using skeletonization and phonetic replacement to retrieve words matching or similar to query words
JPH02140822A (ja) 1988-11-22 1990-05-30 Nec Corp マルチウインドディスプレイ方式
US5252951A (en) 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
JP2862626B2 (ja) 1990-03-22 1999-03-03 株式会社東芝 電子辞書及び情報検索方法
US5046434A (en) 1990-05-02 1991-09-10 Penda Corporation Plastic reinforced thermoformed pallet
JP3145735B2 (ja) 1991-07-17 2001-03-12 富士通株式会社 入力制御方式
JPH05197573A (ja) 1991-08-26 1993-08-06 Hewlett Packard Co <Hp> タスク指向パラダイムによるタスク管理システム
JP2827612B2 (ja) 1991-10-07 1998-11-25 富士通株式会社 タッチパネル装置およびタッチパネル装置におけるオブジェクトの表示方法。
US5233547A (en) 1991-11-12 1993-08-03 Ncr Corporation Electronic checking account apparatus and method having a digitizer to receive information as a check is being written
JP2787523B2 (ja) 1992-04-15 1998-08-20 沖電気工業株式会社 キーボード
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
JPH0816314B2 (ja) 1992-09-12 1996-02-21 グンゼ株式会社 筒状編地の連続染色法
US7084859B1 (en) 1992-09-18 2006-08-01 Pryor Timothy R Programmable tactile touch screen displays and man-machine interfaces for improved vehicle instrumentation and telematics
US5583543A (en) 1992-11-05 1996-12-10 Sharp Kabushiki Kaisha Pen input processing apparatus
JP2999335B2 (ja) 1992-11-05 2000-01-17 シャープ株式会社 ジェスチャー処理装置およびジェスチャー処理方法
US5612719A (en) * 1992-12-03 1997-03-18 Apple Computer, Inc. Gesture sensitive buttons for graphical user interfaces
US5463725A (en) 1992-12-31 1995-10-31 International Business Machines Corp. Data processing system graphical user interface which emulates printed material
US5513309A (en) 1993-01-05 1996-04-30 Apple Computer, Inc. Graphic editor user interface for a pointer-based computer system
DE4406668C2 (de) * 1993-04-27 1996-09-12 Hewlett Packard Co Verfahren und Vorrichtung zum Betreiben eines berührungsempfindlichen Anzeigegeräts
JP2986047B2 (ja) 1993-04-29 1999-12-06 インターナショナル・ビジネス・マシーンズ・コーポレイション ディジタル入力用表示装置並びに入力処理装置および方法
DE69432199T2 (de) 1993-05-24 2004-01-08 Sun Microsystems, Inc., Mountain View Graphische Benutzerschnittstelle mit Verfahren zur Schnittstellebildung mit fernsteuernden Einrichtungen
US6035343A (en) 1993-06-11 2000-03-07 Fujitsu Limited Method for executing software formed of software components and a system for executing such software
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
CA2124505C (en) 1993-07-21 2000-01-04 William A. S. Buxton User interface having simultaneously movable tools and cursor
US5581670A (en) 1993-07-21 1996-12-03 Xerox Corporation User interface having movable sheet with click-through tools
US5564112A (en) 1993-10-14 1996-10-08 Xerox Corporation System and method for generating place holders to temporarily suspend execution of a selected command
US5454960A (en) 1993-11-10 1995-10-03 Advanced Building Technologies, Inc. Oil change and recycling system
US5534893A (en) * 1993-12-15 1996-07-09 Apple Computer, Inc. Method and apparatus for using stylus-tablet input in a computer system
US5588072A (en) 1993-12-22 1996-12-24 Canon Kabushiki Kaisha Method and apparatus for selecting blocks of image data from image data having both horizontally- and vertically-oriented blocks
US5686940A (en) 1993-12-24 1997-11-11 Rohm Co., Ltd. Display apparatus
CA2185990C (en) * 1994-03-21 2002-07-23 Kirk M. Scott Document proxy framework
JP2939119B2 (ja) 1994-05-16 1999-08-25 シャープ株式会社 手書き文字入力表示装置および方法
US5570113A (en) 1994-06-29 1996-10-29 International Business Machines Corporation Computer based pen system and method for automatically cancelling unwanted gestures and preventing anomalous signals as inputs to such system
US5510061A (en) 1994-07-26 1996-04-23 Norton Chemical Process Products Corp. Non-welded support plate member
DE69521575T2 (de) 1994-09-12 2002-05-16 Adobe Systems Inc Verfahren und Anordnung zur Darstellung elektronischer Dokumente
ES2115166T3 (es) 1994-11-15 1998-06-16 Uop Inc Separacion por adsorcion mejorada de meta-xileno a partir de hidrocarburos aromaticos.
US5495566A (en) 1994-11-22 1996-02-27 Microsoft Corporation Scrolling contents of a window
JP2944439B2 (ja) 1994-12-27 1999-09-06 シャープ株式会社 手書き文字入力装置および方法
US5708460A (en) 1995-06-02 1998-01-13 Avi Systems, Inc. Touch screen
US6496182B1 (en) 1995-06-07 2002-12-17 Microsoft Corporation Method and system for providing touch-sensitive screens for the visually impaired
JPH0969037A (ja) 1995-08-31 1997-03-11 Sharp Corp データ処理装置
JP3636792B2 (ja) 1995-10-18 2005-04-06 株式会社リコー ペン先座標入力装置
US5676064A (en) 1996-04-22 1997-10-14 Shuert; Lyle H. Pallet and pallet package
US5903902A (en) * 1996-09-09 1999-05-11 Design Intelligence, Inc. Design engine with tree and component structure
US5745116A (en) * 1996-09-09 1998-04-28 Motorola, Inc. Intuitive gesture-based graphical user interface
US5995083A (en) 1996-11-20 1999-11-30 Alps Electric Co., Ltd. Coordinates input apparatus
JP3889466B2 (ja) 1996-11-25 2007-03-07 ソニー株式会社 文章入力装置及び方法
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
US6141018A (en) 1997-03-12 2000-10-31 Microsoft Corporation Method and system for displaying hypertext documents with visual effects
JPH1185354A (ja) 1997-09-04 1999-03-30 Internatl Business Mach Corp <Ibm> キーボード組込み型座標指示装置、キーボード・ユニット、及び情報処理機器
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
FI115689B (fi) 1997-05-21 2005-06-15 Nokia Corp Menetelmä ja järjestely matkaviestimen näytöllä esitettävän tiedon vierittämiseksi
US6028602A (en) * 1997-05-30 2000-02-22 Telefonaktiebolaget Lm Ericsson Method for managing contents of a hierarchical data model
JP3968477B2 (ja) 1997-07-07 2007-08-29 ソニー株式会社 情報入力装置及び情報入力方法
US6034688A (en) 1997-09-15 2000-03-07 Sony Corporation Scrolling navigational display system
US6377965B1 (en) 1997-11-07 2002-04-23 Microsoft Corporation Automatic word completion system for partially entered data
WO1999028841A2 (en) 1997-12-01 1999-06-10 Cedara Software Corp. Architecture for an application framework
EP2256607A3 (en) * 1998-01-26 2011-12-14 Apple Inc. Method and apparatus for integrating manual input
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
US7614008B2 (en) 2004-07-30 2009-11-03 Apple Inc. Operation of a computer with touch screen interface
US7834855B2 (en) 2004-08-25 2010-11-16 Apple Inc. Wide touchpad on a portable computer
US6323846B1 (en) 1998-01-26 2001-11-27 University Of Delaware Method and apparatus for integrating manual input
US8479122B2 (en) * 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US20070177804A1 (en) 2006-01-30 2007-08-02 Apple Computer, Inc. Multi-touch gesture dictionary
US7840912B2 (en) 2006-01-30 2010-11-23 Apple Inc. Multi-touch gesture dictionary
US9292111B2 (en) 1998-01-26 2016-03-22 Apple Inc. Gesturing with a multipoint sensing device
US20040080541A1 (en) 1998-03-20 2004-04-29 Hisashi Saiga Data displaying device
US7346850B2 (en) * 1998-06-12 2008-03-18 Cygnus Systems, Inc. System and method for iconic software environment management
US6429846B2 (en) 1998-06-23 2002-08-06 Immersion Corporation Haptic feedback for touchpads and other touch controls
US6570594B1 (en) 1998-06-30 2003-05-27 Sun Microsystems, Inc. User interface with non-intrusive display element
US6061063A (en) 1998-06-30 2000-05-09 Sun Microsystems, Inc. Method and apparatus for providing feedback while scrolling
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
CA2244431C (en) 1998-07-30 2002-02-19 Ibm Canada Limited-Ibm Canada Limitee Touchscreen keyboard support for multi-byte character languages
US6068124A (en) 1998-08-27 2000-05-30 Nanya Plastics Plastic pallet and separator for packaging yarn spools
US6628835B1 (en) * 1998-08-31 2003-09-30 Texas Instruments Incorporated Method and system for defining and recognizing complex events in a video sequence
US20020018051A1 (en) 1998-09-15 2002-02-14 Mona Singh Apparatus and method for moving objects on a touchscreen display
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
JP4159674B2 (ja) 1998-10-22 2008-10-01 富士通株式会社 オブジェクト指向業務システムおよび方法
JP2000163443A (ja) 1998-11-25 2000-06-16 Seiko Epson Corp 携帯情報機器及び情報記憶媒体
JP4542637B2 (ja) 1998-11-25 2010-09-15 セイコーエプソン株式会社 携帯情報機器及び情報記憶媒体
US8938688B2 (en) 1998-12-04 2015-01-20 Nuance Communications, Inc. Contextual prediction of user words and user actions
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
US7469381B2 (en) 2007-01-07 2008-12-23 Apple Inc. List scrolling and document translation, scaling, and rotation on a touch-screen display
JP2000222130A (ja) 1999-02-02 2000-08-11 Toshiba Corp 入力装置および方法および記憶媒体
US20060061551A1 (en) 1999-02-12 2006-03-23 Vega Vista, Inc. Motion detection and tracking system to control navigation and display of portable displays including on-chip gesture detection
US6486896B1 (en) * 1999-04-07 2002-11-26 Apple Computer, Inc. Scalable scroll controller
ES2193068T3 (es) 1999-04-21 2003-11-01 Barrie Weatherall Estabilizador para escaleras de mano.
JP4939682B2 (ja) 1999-04-27 2012-05-30 エーユー オプトロニクス コーポレイション 表示装置
US6714936B1 (en) * 1999-05-25 2004-03-30 Nevin, Iii Rocky Harry W. Method and apparatus for displaying data stored in linked nodes
AUPQ439299A0 (en) 1999-12-01 1999-12-23 Silverbrook Research Pty Ltd Interface system
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US6631501B1 (en) 1999-06-30 2003-10-07 Microsoft Corporation Method and system for automatic type and replace of characters in a sequence of characters
US6639584B1 (en) * 1999-07-06 2003-10-28 Chuang Li Methods and apparatus for controlling a portable electronic device using a touchpad
JP2001027924A (ja) 1999-07-14 2001-01-30 Sharp Corp 表示画面を用いる入力装置
US6636242B2 (en) * 1999-08-31 2003-10-21 Accenture Llp View configurer in a presentation services patterns environment
US6448986B1 (en) 1999-09-07 2002-09-10 Spotware Technologies Llc Method and system for displaying graphical objects on a display screen
EP1094383A3 (en) 1999-10-18 2005-11-02 Honeywell International, Inc. Methods and apparatus for cursor control
KR100747421B1 (ko) 1999-10-20 2007-08-09 코닌클리케 필립스 일렉트로닉스 엔.브이. 영상 콜렉션을 브라우징하는 장치 및 방법
JP2001134382A (ja) * 1999-11-04 2001-05-18 Sony Corp 図形処理装置
JP2001167227A (ja) 1999-12-07 2001-06-22 Hitachi Ltd 情報端末装置
US6778992B1 (en) * 1999-12-21 2004-08-17 Lockstream Corporation Flexible and hierarchical user interfaces defined using a data definition language
US6664991B1 (en) 2000-01-06 2003-12-16 Microsoft Corporation Method and apparatus for providing context menus on a pen-based device
US6809724B1 (en) 2000-01-18 2004-10-26 Seiko Epson Corporation Display apparatus and portable information processing apparatus
US6820237B1 (en) 2000-01-21 2004-11-16 Amikanow! Corporation Apparatus and method for context-based highlighting of an electronic document
WO2001056007A1 (en) 2000-01-28 2001-08-02 Intersense, Inc. Self-referenced tracking
US6856326B1 (en) 2000-01-28 2005-02-15 International Business Machines Corporation Smooth scrolling system and method
US7138983B2 (en) 2000-01-31 2006-11-21 Canon Kabushiki Kaisha Method and apparatus for detecting and interpreting path of designated position
JP4803883B2 (ja) 2000-01-31 2011-10-26 キヤノン株式会社 位置情報処理装置及びその方法及びそのプログラム。
US6590595B1 (en) 2000-02-08 2003-07-08 Sun Microsystems, Inc. Mechanism for providing intuitive scrolling feedback
US6922810B1 (en) 2000-03-07 2005-07-26 Microsoft Corporation Grammar-based automatic data completion and suggestion for user input
AU2001242153A1 (en) 2000-03-17 2001-09-24 Vizible.Com Inc. A three dimensional spatial user interface
US7142205B2 (en) * 2000-03-29 2006-11-28 Autodesk, Inc. Single gesture map navigation graphical user interface for a personal digital assistant
KR20030010591A (ko) 2000-03-30 2003-02-05 콸콤 인코포레이티드 지정된 이벤트를 이동국 애플리케이션에 통지하는 방법 및장치
JP4124402B2 (ja) 2000-03-31 2008-07-23 株式会社リコー 画像入力装置
WO2001077792A2 (en) 2000-04-07 2001-10-18 Rsa Security Inc. System and method for authenticating a user
US6765557B1 (en) * 2000-04-10 2004-07-20 Interlink Electronics, Inc. Remote control having touch pad to screen mapping
US7450114B2 (en) * 2000-04-14 2008-11-11 Picsel (Research) Limited User interface systems and methods for manipulating and viewing digital documents
WO2001082309A1 (en) 2000-04-19 2001-11-01 Analogic Corporation Backlash-resistant drive assembly for collimator in a ct scanner
JP2001299733A (ja) 2000-04-27 2001-10-30 Konica Corp Pci放射線画像処理装置、pci放射線画像検出処理装置、pci放射線画像出力装置及びpci画像診断支援装置
US6559869B1 (en) 2000-05-04 2003-05-06 Microsoft Corporation Adaptive auto-scrolling merge for hand written input
NZ523065A (en) 2000-05-11 2004-11-26 Nes Stewart Irvine A graphical user interface where a procedure is activated by movement of a pointer over a predetermined path
US6446083B1 (en) 2000-05-12 2002-09-03 Vastvideo, Inc. System and method for classifying media items
US6912694B1 (en) 2000-06-28 2005-06-28 Intel Corporation Providing a scrolling function for a multiple frame web page
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
US20020015064A1 (en) 2000-08-07 2002-02-07 Robotham John S. Gesture-based user interface to multi-level and multi-modal sets of bit-maps
JP2002062983A (ja) 2000-08-21 2002-02-28 Hitachi Ltd ポインティングデバイス
US6791530B2 (en) 2000-08-29 2004-09-14 Mitsubishi Electric Research Laboratories, Inc. Circular graphical user interfaces
US6707449B2 (en) 2000-08-30 2004-03-16 Microsoft Corporation Manual controlled scrolling
US6912462B2 (en) 2000-08-31 2005-06-28 Sony Corporation Information processing apparatus, information processing method and program storage media
US20020138617A1 (en) 2000-09-06 2002-09-26 Jacob Christfort Providing content from multiple services
US6757673B2 (en) 2000-10-09 2004-06-29 Town Compass Llc Displaying hierarchial relationship of data accessed via subject index
US6735583B1 (en) 2000-11-01 2004-05-11 Getty Images, Inc. Method and system for classifying and locating media content
US7072501B2 (en) 2000-11-22 2006-07-04 R2 Technology, Inc. Graphical user interface for display of anatomical information
US7184796B2 (en) 2000-12-04 2007-02-27 International Business Machines Corporation Personal communication device having a built in projection display
US7240291B2 (en) 2000-12-21 2007-07-03 Xerox Corporation Methods, systems, and computer program products for display of information relating to a virtual three-dimensional book
US6976172B2 (en) 2000-12-28 2005-12-13 Intel Corporation System and method for protected messaging
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
WO2002059868A1 (en) * 2001-01-24 2002-08-01 Interlink Electronics, Inc. Game and home entertainment device remote control
US6677932B1 (en) * 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
US6570557B1 (en) * 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
US7030861B1 (en) 2001-02-10 2006-04-18 Wayne Carl Westerman System and method for packing multi-touch gestures onto a hand
US20040027398A1 (en) 2001-02-15 2004-02-12 Denny Jaeger Intuitive graphic user interface with universal tools
US6972776B2 (en) 2001-03-20 2005-12-06 Agilent Technologies, Inc. Scrolling method using screen pointing device
GB2373778B (en) 2001-03-30 2003-08-06 Robin Lewis Corner elements for packaging
US6741996B1 (en) * 2001-04-18 2004-05-25 Microsoft Corporation Managing user clips
EP1449190B1 (en) 2001-05-02 2013-07-10 Bitstream, Inc. Methods, systems, and programming for producing and displaying subpixel-optimized images and digital content including such images
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
US7730401B2 (en) 2001-05-16 2010-06-01 Synaptics Incorporated Touch screen with user interface enhancement
US20050024341A1 (en) 2001-05-16 2005-02-03 Synaptics, Inc. Touch screen with user interface enhancement
US6498590B1 (en) 2001-05-24 2002-12-24 Mitsubishi Electric Research Laboratories, Inc. Multi-user touch surface
TW521205B (en) 2001-06-05 2003-02-21 Compal Electronics Inc Touch screen capable of controlling amplification with pressure
US6868383B1 (en) 2001-07-12 2005-03-15 At&T Corp. Systems and methods for extracting meaning from multimodal inputs using finite-state devices
US6985137B2 (en) * 2001-08-13 2006-01-10 Nokia Mobile Phones Ltd. Method for preventing unintended touch pad input due to accidental touching
US6661409B2 (en) 2001-08-22 2003-12-09 Motorola, Inc. Automatically scrolling handwritten input user interface for personal digital assistants and the like
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
US6907575B2 (en) 2001-09-06 2005-06-14 Danger, Inc. Method of scrolling a display window
JP2003173237A (ja) * 2001-09-28 2003-06-20 Ricoh Co Ltd 情報入出力システム、プログラム及び記憶媒体
US7254775B2 (en) 2001-10-03 2007-08-07 3M Innovative Properties Company Touch panel system and method for distinguishing multiple touch inputs
US20030071850A1 (en) 2001-10-12 2003-04-17 Microsoft Corporation In-place adaptive handwriting input method and system
US7046230B2 (en) 2001-10-22 2006-05-16 Apple Computer, Inc. Touch pad handheld device
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
US7009599B2 (en) 2001-11-20 2006-03-07 Nokia Corporation Form factor for portable device
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
US7414616B2 (en) 2002-01-03 2008-08-19 Mahesh Jayachandra User-friendly Brahmi-derived Hindi keyboard
US6957392B2 (en) * 2002-01-16 2005-10-18 Laszlo Systems, Inc. Interface engine providing a continuous user interface
GB0201074D0 (en) 2002-01-18 2002-03-06 3G Lab Ltd Graphic user interface for data processing device
US7603627B2 (en) 2002-02-05 2009-10-13 Microsoft Corporation Systems and methods for creating and managing graphical user interface lists
JP3951727B2 (ja) * 2002-02-06 2007-08-01 松下電器産業株式会社 情報処理装置
US7075512B1 (en) 2002-02-07 2006-07-11 Palmsource, Inc. Method and system for navigating a display screen for locating a desired item of information
AU2003220400A1 (en) 2002-03-19 2003-10-08 America Online, Inc. Controlling content display
US20030184525A1 (en) 2002-03-29 2003-10-02 Mitac International Corp. Method and apparatus for image processing
JP2003296024A (ja) 2002-04-01 2003-10-17 Nec Engineering Ltd タッチパネル制御方式
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
US7203911B2 (en) 2002-05-13 2007-04-10 Microsoft Corporation Altering a display on a viewing device based upon a user proximity to the viewing device
TWI238348B (en) * 2002-05-13 2005-08-21 Kyocera Corp Portable information terminal, display control device, display control method, and recording media
US7158675B2 (en) 2002-05-14 2007-01-02 Microsoft Corporation Interfacing with ink
US20030214531A1 (en) 2002-05-14 2003-11-20 Microsoft Corporation Ink input mechanisms
EP1505484B1 (en) 2002-05-16 2012-08-15 Sony Corporation Inputting method and inputting apparatus
US7519918B2 (en) 2002-05-30 2009-04-14 Intel Corporation Mobile virtual desktop
FI20021655A (fi) 2002-06-19 2003-12-20 Nokia Corp Menetelmä lukituksen avaamiseksi ja kannettava elektroninen laite
US7062090B2 (en) 2002-06-28 2006-06-13 Microsoft Corporation Writing guide for a free-form document editor
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
JP4338364B2 (ja) 2002-07-02 2009-10-07 ソニー株式会社 携帯情報通信端末、プログラムおよび該プログラムを記録した記録媒体
TW591488B (en) * 2002-08-01 2004-06-11 Tatung Co Window scrolling method and device thereof
US20040021698A1 (en) * 2002-08-05 2004-02-05 Baldwin Amanda K. Intuitive touchscreen interface for a multifunction device and method therefor
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
JP2004084111A (ja) 2002-08-26 2004-03-18 Tsudakoma Corp 織機の情報表示装置
US7739604B1 (en) 2002-09-25 2010-06-15 Apple Inc. Method and apparatus for managing windows
US7002560B2 (en) 2002-10-04 2006-02-21 Human Interface Technologies Inc. Method of combining data entry of handwritten symbols with displayed character data
GB0223883D0 (en) 2002-10-15 2002-11-20 Seamless Display Ltd Visual display screen arrangement
US7281248B2 (en) 2002-11-19 2007-10-09 Microsoft Corporation Virtualized and realized user interface controls
ATE332528T1 (de) 2002-11-20 2006-07-15 Nokia Corp Verfahren und benutzerschnittstelle zur zeicheneingabe
CA2414047A1 (en) 2002-12-09 2004-06-09 Corel Corporation System and method of extending scalable vector graphics capabilities
US6903927B2 (en) * 2002-12-17 2005-06-07 Nokia Corporation Convertible mobile computing device
US20040125136A1 (en) 2002-12-30 2004-07-01 Jukka Wallenius Provision of services through a display system
US20040135817A1 (en) 2003-01-14 2004-07-15 Daughtery Joey L. Interface for selecting and performing operations on objects
US7117453B2 (en) * 2003-01-21 2006-10-03 Microsoft Corporation Media frame object visualization system
US20040225965A1 (en) 2003-05-06 2004-11-11 Microsoft Corporation Insertion location tracking for controlling a user interface
US7490296B2 (en) 2003-01-31 2009-02-10 Microsoft Corporation Utility object for specialized data entry
US20040160419A1 (en) * 2003-02-11 2004-08-19 Terradigital Systems Llc. Method for entering alphanumeric characters into a graphical user interface
US20040155888A1 (en) 2003-02-11 2004-08-12 Padgitt David Gary Method for displaying the contents of a collection of media objects
US7894177B2 (en) 2005-12-29 2011-02-22 Apple Inc. Light activated hold switch
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
US7187801B2 (en) 2003-03-31 2007-03-06 Microsoft Corporation Multiple handwriting recognition engine selection
KR100465969B1 (ko) 2003-04-11 2005-01-13 (주)모비솔 손가락 표면을 이용한 소형 포인팅 장치
US8484576B2 (en) 2003-04-17 2013-07-09 Supersonic Aerospace International, Llc System and method for customizing multiple windows of information on a display
US7102626B2 (en) 2003-04-25 2006-09-05 Hewlett-Packard Development Company, L.P. Multi-function pointing device
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
KR20070026809A (ko) 2003-05-21 2007-03-08 가부시키가이샤 히다치 하이테크놀로지즈 지문센서내장 휴대 단말장치
JP2006527439A (ja) 2003-06-13 2006-11-30 ユニヴァーシティ オブ ランカスター ユーザインタフェース
US7567239B2 (en) 2003-06-26 2009-07-28 Motorola, Inc. Method and system for message and note composition on small screen devices
WO2005008444A2 (en) * 2003-07-14 2005-01-27 Matt Pallakoff System and method for a portbale multimedia client
US20050027666A1 (en) 2003-07-15 2005-02-03 Vente, Inc Interactive online research system and method
KR100522940B1 (ko) 2003-07-25 2005-10-24 삼성전자주식회사 활성영역을 설정 가능한 터치스크린 시스템 및 그 제어방법
JP2005056286A (ja) 2003-08-07 2005-03-03 Nec Engineering Ltd ウェブブラウザにおける拡大表示方法および拡大表示プログラム
JP2005062086A (ja) 2003-08-19 2005-03-10 Cstec Kk 検査用チップ
WO2005029460A1 (en) 2003-08-21 2005-03-31 Microsoft Corporation Focus management using in-air points
US9024884B2 (en) 2003-09-02 2015-05-05 Apple Inc. Touch-sensitive electronic apparatus for media applications, and methods therefor
JP4360871B2 (ja) 2003-09-10 2009-11-11 富士通テン株式会社 情報端末における入力装置
US7411575B2 (en) 2003-09-16 2008-08-12 Smart Technologies Ulc Gesture recognition method and touch system incorporating the same
EP1671219A2 (en) 2003-09-30 2006-06-21 Koninklijke Philips Electronics N.V. Gesture to define location, size, and/or content of content window on a display
US7034834B2 (en) * 2003-10-24 2006-04-25 Microsoft Corporation Communication protocol for synchronizing animation systems
US20050183035A1 (en) 2003-11-20 2005-08-18 Ringel Meredith J. Conflict resolution for graphic multi-user interface
US7962862B2 (en) 2003-11-24 2011-06-14 International Business Machines Corporation Method and data processing system for providing an improved graphics design tool
US7298367B2 (en) 2003-11-25 2007-11-20 3M Innovative Properties Company Light emitting stylus and user input device using same
US7814419B2 (en) 2003-11-26 2010-10-12 Nokia Corporation Changing an orientation of a user interface via a course of motion
JP3962718B2 (ja) 2003-12-01 2007-08-22 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
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
US7366995B2 (en) 2004-02-03 2008-04-29 Roland Wescott Montague Combination tool that zooms in, zooms out, pans, rotates, draws, or manipulates during a drag
FI117308B (fi) 2004-02-06 2006-08-31 Nokia Corp Eleohjausjärjestelmä
US7319457B2 (en) 2004-02-12 2008-01-15 Sentelic Corporation Method of scrolling window screen by means of controlling electronic device
US7358965B2 (en) 2004-02-18 2008-04-15 Microsoft Corporation Tapping to create writing
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
GB2411331A (en) 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
FR2866726B1 (fr) 2004-02-23 2006-05-26 Jazzmutant Controleur par manipulation d'objets virtuels sur un ecran tactile multi-contact
JP4438448B2 (ja) 2004-02-26 2010-03-24 セイコーエプソン株式会社 構造化文書表示処理装置、構造化文書表示方法、構造化文書表示プログラム
US7327349B2 (en) 2004-03-02 2008-02-05 Microsoft Corporation Advanced navigation techniques for portable devices
JP2005275652A (ja) 2004-03-24 2005-10-06 Canon Inc 入力軌跡処理装置および入力軌跡処理方法
CN100407223C (zh) 2004-04-02 2008-07-30 诺基亚公司 一种用于手写识别的设备和方法
US7623119B2 (en) 2004-04-21 2009-11-24 Nokia Corporation Graphical functions by gestures
KR20070037559A (ko) * 2004-04-30 2007-04-05 마이크로소프트 코포레이션 규칙들을 사용한 최종 사용자 응용 프로그램 맞춤화
JP4387242B2 (ja) 2004-05-10 2009-12-16 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
US7624355B2 (en) 2004-05-27 2009-11-24 Baneth Robin C System and method for controlling a user interface
JP4855654B2 (ja) 2004-05-31 2012-01-18 ソニー株式会社 車載装置、車載装置の情報提供方法、車載装置の情報提供方法のプログラム及び車載装置の情報提供方法のプログラムを記録した記録媒体
US7358962B2 (en) 2004-06-15 2008-04-15 Microsoft Corporation Manipulating association of data with a physical object
US7773950B2 (en) 2004-06-16 2010-08-10 Telefonaktiebolaget Lm Ericsson (Publ) Benign interference suppression for received signal quality estimation
CN100483319C (zh) 2004-06-17 2009-04-29 皇家飞利浦电子股份有限公司 在触摸屏上使用两手指输入
US7519223B2 (en) * 2004-06-28 2009-04-14 Microsoft Corporation Recognizing gestures and using gestures for interacting with software applications
WO2006003590A2 (en) 2004-06-29 2006-01-12 Koninklijke Philips Electronics, N.V. A method and device for preventing staining of a display device
US20080284799A1 (en) 2004-06-29 2008-11-20 Koninklijke Philips Electronics, N.V. Discontinous Zoom
JP4903371B2 (ja) 2004-07-29 2012-03-28 任天堂株式会社 タッチパネルを用いたゲーム装置およびゲームプログラム
US7506799B2 (en) 2004-07-30 2009-03-24 Nokia Corporation Method for the monitoring of system security in electronic devices
KR100958490B1 (ko) 2004-07-30 2010-05-17 애플 인크. 사용자 인터페이스 방법, 미디어 항목들을 통해 스크롤하는방법, 디스플레이 및 터치 스크린을 갖는 사용자-조작되는전자 장치 상에서 수행되는 방법, 디스플레이 및 터치감지 입력 장치를 갖는 컴퓨팅 장치 상에서 수행되는 방법,컴퓨팅 시스템, 컴퓨팅 장치, 터치 감지 장치를 통해플로팅 컨트롤을 기동시키는 컴퓨터 구현 방법 및 컴퓨터구현 방법
US7653883B2 (en) * 2004-07-30 2010-01-26 Apple Inc. Proximity detector in handheld device
US7728821B2 (en) 2004-08-06 2010-06-01 Touchtable, Inc. Touch detecting interactive display
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
US20070046643A1 (en) 2004-08-06 2007-03-01 Hillis W Daniel State-Based Approach to Gesture Identification
US7721197B2 (en) * 2004-08-12 2010-05-18 Microsoft Corporation System and method of displaying content on small screen computing devices
US7181373B2 (en) 2004-08-13 2007-02-20 Agilent Technologies, Inc. System and methods for navigating and visualizing multi-dimensional biological data
US7434173B2 (en) 2004-08-30 2008-10-07 Microsoft Corporation Scrolling web pages using direct interaction
US20060055669A1 (en) 2004-09-13 2006-03-16 Mita Das Fluent user interface for text entry on touch-sensitive display
US7761814B2 (en) 2004-09-13 2010-07-20 Microsoft Corporation Flick gesture
JP4366695B2 (ja) 2004-09-13 2009-11-18 日本ビクター株式会社 メニュー画像表示方法及び電子情報機器
JP4355639B2 (ja) 2004-09-15 2009-11-04 キヤノン株式会社 画像処理装置およびその制御方法
US7728823B2 (en) 2004-09-24 2010-06-01 Apple Inc. System and method for processing raw data of track pad device
JP3786669B2 (ja) 2004-10-06 2006-06-14 株式会社バンダイナムコゲームス ゲームシステム、プログラム及び情報記憶媒体
US20060077183A1 (en) 2004-10-08 2006-04-13 Studt Peter C Methods and systems for converting touchscreen events into application formatted data
WO2006045530A2 (en) 2004-10-22 2006-05-04 Novo Nordisk A/S An apparatus and a method of providing information to a user
JP3770499B1 (ja) 2004-11-02 2006-04-26 任天堂株式会社 ゲーム装置及びゲームプログラム
US7925996B2 (en) 2004-11-18 2011-04-12 Microsoft Corporation Method and system for providing multiple input connecting user interface
US7665031B2 (en) 2004-12-08 2010-02-16 Microsoft Corporation Method and system of taskbar button interfaces
US20060136833A1 (en) 2004-12-15 2006-06-22 International Business Machines Corporation Apparatus and method for chaining objects in a pointer drag path
WO2006067711A2 (en) 2004-12-21 2006-06-29 Koninklijke Philips Electronics N.V. Method and device for displaying animated buttons
CN100377055C (zh) 2004-12-22 2008-03-26 盛群半导体股份有限公司 触控感应装置的判读方法
WO2006074267A2 (en) 2005-01-05 2006-07-13 Hillcrest Laboratories, Inc. Distributed software construction for user interfaces
EP1851609A4 (en) 2005-01-05 2012-01-25 Jaewoo Ahn METHOD AND DEVICE FOR ENTERING CHARACTERS BY A SHOWING DEVICE
US20060156249A1 (en) 2005-01-12 2006-07-13 Blythe Michael M Rotate a user interface
US20070185876A1 (en) * 2005-02-07 2007-08-09 Mendis Venura C Data handling system
GB0503253D0 (en) 2005-02-17 2005-03-23 Univ Northumbria Newcastle User control of a hand-held device
US8819569B2 (en) * 2005-02-18 2014-08-26 Zumobi, Inc Single-handed approach for navigation of application tiles using panning and zooming
JP4613078B2 (ja) 2005-03-01 2011-01-12 学校法人 名城大学 半導体基板の製造方法
KR101492761B1 (ko) 2005-03-04 2015-02-12 애플 인크. 다기능 휴대용 장치
CN1841284A (zh) 2005-03-28 2006-10-04 上海桐港信息科技有限公司 触摸屏式移动设备微浏览器页面显示漂移方法
US20060221061A1 (en) 2005-03-31 2006-10-05 Tyco Electronic Corporation Touch sensor and control with random pulse spacing
US7750893B2 (en) * 2005-04-06 2010-07-06 Nintendo Co., Ltd. Storage medium storing input position processing program, and input position processing device
CN1845046A (zh) 2005-04-07 2006-10-11 技嘉科技股份有限公司 具有触控式功能键的键盘和鼠标
US7355595B2 (en) * 2005-04-15 2008-04-08 Microsoft Corporation Tactile device for scrolling
US7673255B2 (en) 2005-04-22 2010-03-02 Microsoft Corporation Interface and system for manipulating thumbnails of live windows in a window manager
US7692637B2 (en) 2005-04-26 2010-04-06 Nokia Corporation User input device for electronic device
US7499027B2 (en) 2005-04-29 2009-03-03 Microsoft Corporation Using a light pointer for input on an interactive display surface
JP4490326B2 (ja) 2005-05-09 2010-06-23 株式会社土井製作所 地中埋設ケーブル等に対する地盤変動時の保護方法及びその保護装置
WO2006124248A2 (en) 2005-05-16 2006-11-23 General Motors Global Technology Operations, Inc. Catalyst for fuel cell electrode
US8117540B2 (en) 2005-05-18 2012-02-14 Neuer Wall Treuhand Gmbh Method and device incorporating improved text input mechanism
US20060262104A1 (en) 2005-05-19 2006-11-23 Sullivan Darius M Systems and methods for distinguishing contact-induced plate vibrations from acoustic noise-induced plate vibrations
US20070024646A1 (en) 2005-05-23 2007-02-01 Kalle Saarinen Portable electronic apparatus and associated method
US7487447B1 (en) 2005-05-25 2009-02-03 Google Inc. Web page zoom feature
US20060271520A1 (en) 2005-05-27 2006-11-30 Ragan Gene Z Content-based implicit search query
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
US7710397B2 (en) 2005-06-03 2010-05-04 Apple Inc. Mouse with improved input mechanisms using touch sensors
US9019209B2 (en) 2005-06-08 2015-04-28 3M Innovative Properties Company Touch location determination involving multiple touch location processes
JP4849300B2 (ja) 2005-06-14 2012-01-11 ソニー株式会社 表示信号処理装置および方法、記録媒体、並びにプログラム
KR20060133389A (ko) 2005-06-20 2006-12-26 엘지전자 주식회사 이동 단말기의 데이터 처리 장치 및 그 방법
TW200701082A (en) * 2005-06-23 2007-01-01 Elan Microelectronics Corp Scroll control method used in the touch panel
US8108787B2 (en) * 2005-07-01 2012-01-31 Microsoft Corporation Distributing input events to multiple applications in an interactive media environment
US7463263B2 (en) 2005-07-15 2008-12-09 Sap Portals Israel Ltd. Declarative specification of model visualizations
EP1908051A4 (en) 2005-07-22 2012-01-25 Matthew G Pallakoff SYSTEM AND METHOD FOR A THUMB-OPTIMIZED USER INTERFACE OF A TOUCH SCREEN
US7808478B2 (en) 2005-08-22 2010-10-05 Samsung Electronics Co., Ltd. Autonomous handheld device having a drawing tool
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
US7694231B2 (en) 2006-01-05 2010-04-06 Apple Inc. Keyboards for portable electronic devices
US20070152980A1 (en) 2006-01-05 2007-07-05 Kenneth Kocienda Touch Screen Keyboards for Portable Electronic Devices
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
CN1949161B (zh) 2005-10-14 2010-05-26 鸿富锦精密工业(深圳)有限公司 多层次菜单显示装置及显示控制方法
US20070109275A1 (en) 2005-11-16 2007-05-17 Chen-Ting Chuang Method for controlling a touch screen user interface and device thereof
JP2007148927A (ja) 2005-11-29 2007-06-14 Alps Electric Co Ltd 入力装置及びこれを用いたスクロール制御方法
US9069877B2 (en) 2005-12-07 2015-06-30 Ziilabs Inc., Ltd. User interface with variable sized icons
EP2543971B8 (en) 2005-12-08 2019-02-27 Conversant Wireless Licensing S.à r.l. A method for an electronic device
US20070132789A1 (en) 2005-12-08 2007-06-14 Bas Ording List scrolling in response to moving contact over list of index symbols
US7786975B2 (en) 2005-12-23 2010-08-31 Apple Inc. Continuous scrolling list with acceleration
US7650137B2 (en) 2005-12-23 2010-01-19 Apple Inc. Account information display for portable communication device
US7480870B2 (en) 2005-12-23 2009-01-20 Apple Inc. Indication of progress towards satisfaction of a user input condition
US7657849B2 (en) 2005-12-23 2010-02-02 Apple Inc. Unlocking a device by performing gestures on an unlock image
CN101379461A (zh) 2005-12-30 2009-03-04 苹果公司 具有多重触摸输入的便携式电子设备
US8018440B2 (en) * 2005-12-30 2011-09-13 Microsoft Corporation Unintentional touch rejection
US20070152983A1 (en) 2005-12-30 2007-07-05 Apple Computer, Inc. Touch pad with symbols based on mode
US7509588B2 (en) 2005-12-30 2009-03-24 Apple Inc. Portable electronic device with interface reconfiguration mode
US7860536B2 (en) 2006-01-05 2010-12-28 Apple Inc. Telephone interface for a portable communication device
US7574672B2 (en) 2006-01-05 2009-08-11 Apple Inc. Text entry interface for a portable communication device
WO2007084852A2 (en) * 2006-01-18 2007-07-26 Roxse, Llc Systems and methods for providing sorted search results
US20070176903A1 (en) 2006-01-31 2007-08-02 Dahlin Jeffrey J Capacitive touch sensor button activation
US8312479B2 (en) 2006-03-08 2012-11-13 Navisense Application programming interface (API) for sensory events
US20070214436A1 (en) 2006-03-13 2007-09-13 Myers Raymond L Jr Positional navigation graphic link system
US7620901B2 (en) 2006-03-21 2009-11-17 Microsoft Corporation Simultaneous input across multiple applications
US8866750B2 (en) 2006-04-10 2014-10-21 Microsoft Corporation Universal user interface device
US8587526B2 (en) * 2006-04-12 2013-11-19 N-Trig Ltd. Gesture recognition feedback for a dual mode digitizer
US20070242607A1 (en) 2006-04-13 2007-10-18 Tellabs Operations, Inc. Method and system for controlling distribution of network topology information
US8077153B2 (en) 2006-04-19 2011-12-13 Microsoft Corporation Precise selection techniques for multi-touch screens
TWI328185B (en) 2006-04-19 2010-08-01 Lg Electronics Inc Touch screen device for potable terminal and method of displaying and selecting menus thereon
KR20070113025A (ko) 2006-05-24 2007-11-28 엘지전자 주식회사 터치스크린 장치 및 이의 작동방법
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
KR101277256B1 (ko) 2006-06-16 2013-07-05 삼성전자주식회사 사용자 인터페이스를 위한 장치 및 방법
US8169421B2 (en) 2006-06-19 2012-05-01 Cypress Semiconductor Corporation Apparatus and method for detecting a touch-sensor pad gesture
GB0612624D0 (en) 2006-06-26 2006-08-02 Symbian Software Ltd Speed of 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
BRPI0712821A2 (pt) 2006-06-30 2012-07-24 Tele Atlas North America Inc mÉtodo e sistema para coletar solicitaÇÕes de atualizaÇço de usuÁrio com relaÇço a dados geogrÁficos para suportar anÁlise, processamento e atualizaÇÕes de dados geogrÁficos, automatizados
JP5324440B2 (ja) 2006-07-12 2013-10-23 エヌ−トリグ リミテッド デジタイザのためのホバリングおよびタッチ検出
JP4762070B2 (ja) 2006-07-19 2011-08-31 富士通株式会社 手書き入力装置、手書き入力方法、及びコンピュータプログラム
JP4280759B2 (ja) 2006-07-27 2009-06-17 キヤノン株式会社 情報処理装置およびユーザインタフェース制御方法
EP2057527B1 (en) 2006-08-15 2013-05-22 N-trig Ltd. Gesture detection for a digitizer
US20080043020A1 (en) 2006-08-18 2008-02-21 Microsoft Corporation User interface for viewing street side imagery
US7941760B2 (en) 2006-09-06 2011-05-10 Apple Inc. Soft keyboard display for a portable multifunction device
US8253695B2 (en) 2006-09-06 2012-08-28 Apple Inc. Email client for a portable multifunction device
US7864163B2 (en) 2006-09-06 2011-01-04 Apple Inc. Portable electronic device, method, and graphical user interface for displaying structured electronic documents
CN101356493A (zh) 2006-09-06 2009-01-28 苹果公司 用于照片管理的便携式电子装置
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
US8056007B2 (en) 2006-11-15 2011-11-08 Yahoo! Inc. System and method for recognizing and storing information and associated context
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 (ja) 2006-12-06 2013-04-24 株式会社ジャパンディスプレイウェスト 表示装置、表示装置の制御方法、及びプログラム
TW200828089A (en) 2006-12-29 2008-07-01 Inventec Appliances Corp Method for zooming image
US8489783B2 (en) 2007-01-03 2013-07-16 Apple Inc. Multi buffer asynchronous scheme for processing incoming information
US7777732B2 (en) 2007-01-03 2010-08-17 Apple Inc. Multi-event input system
US7956847B2 (en) 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
US8214768B2 (en) 2007-01-05 2012-07-03 Apple Inc. Method, system, and graphical user interface for viewing multiple application windows
US7924271B2 (en) 2007-01-05 2011-04-12 Apple Inc. Detecting gestures on multi-event sensitive devices
US8656295B2 (en) 2007-01-05 2014-02-18 Apple Inc. Selecting and manipulating web content
US7907125B2 (en) * 2007-01-05 2011-03-15 Microsoft Corporation Recognizing multiple input point gestures
US8519963B2 (en) 2007-01-07 2013-08-27 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture on a touch screen display
US7903115B2 (en) 2007-01-07 2011-03-08 Apple Inc. Animations
US7872652B2 (en) 2007-01-07 2011-01-18 Apple Inc. Application programming interfaces for synchronization
US7671756B2 (en) * 2007-01-07 2010-03-02 Apple Inc. Portable electronic device with alert silencing
US20080168478A1 (en) 2007-01-07 2008-07-10 Andrew Platzer Application Programming Interfaces for Scrolling
US7844915B2 (en) 2007-01-07 2010-11-30 Apple Inc. Application programming interfaces for scrolling operations
US7966578B2 (en) 2007-01-07 2011-06-21 Apple Inc. Portable multifunction device, method, and graphical user interface for translating displayed content
US8665225B2 (en) * 2007-01-07 2014-03-04 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture
US20080168402A1 (en) 2007-01-07 2008-07-10 Christopher Blumenberg Application Programming Interfaces for Gesture Operations
US20080168395A1 (en) * 2007-01-07 2008-07-10 Bas Ording Positioning a Slider Icon on a Portable Multifunction Device
US8091045B2 (en) 2007-01-07 2012-01-03 Apple Inc. System and method for managing lists
US7912700B2 (en) 2007-02-08 2011-03-22 Microsoft Corporation Context based word prediction
JP4866262B2 (ja) 2007-02-16 2012-02-01 ソフトバンクモバイル株式会社 操作入力処理方法及び携帯型情報処理装置
JP4793287B2 (ja) 2007-02-28 2011-10-12 ブラザー工業株式会社 通信装置および通信システム
KR101383709B1 (ko) * 2007-03-07 2014-04-09 삼성디스플레이 주식회사 표시 장치 및 그의 구동 방법
EP1970799B1 (en) 2007-03-15 2017-08-16 LG Electronics Inc. Electronic device and method of controlling mode thereof and mobile communication terminal
US8436815B2 (en) 2007-05-25 2013-05-07 Microsoft Corporation Selective enabling of multi-input controls
JP5117121B2 (ja) 2007-06-18 2013-01-09 パイオニア株式会社 Av機器の操作制御システム
US8350815B2 (en) 2007-06-20 2013-01-08 Sony Mobile Communications Portable communication device including touch input with scrolling function
US8171432B2 (en) 2008-01-06 2012-05-01 Apple Inc. Touch screen device, method, and graphical user interface for displaying and selecting application options
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
US8181122B2 (en) 2007-07-30 2012-05-15 Perceptive Pixel Inc. Graphical user interface for large-scale, multi-user, multi-touch systems
JP4465374B2 (ja) 2007-08-14 2010-05-19 株式会社エヌ・ティ・ティ・ドコモ 無線通信システム、基地局装置及び送信方法
US8471823B2 (en) 2007-08-16 2013-06-25 Sony Corporation Systems and methods for providing a user interface
US20090051671A1 (en) 2007-08-22 2009-02-26 Jason Antony Konstas Recognizing the motion of two or more touches on a touch-sensing surface
US7949516B2 (en) 2007-08-31 2011-05-24 Research In Motion Limited Handheld electronic device and method employing logical proximity of characters in spell checking
KR101348721B1 (ko) 2007-09-03 2014-01-08 엘지전자 주식회사 휴대 단말기 및 그 휴대 단말기의 터치 인식 방법
KR20090024541A (ko) 2007-09-04 2009-03-09 삼성전자주식회사 하이퍼링크 선택 방법 및 이를 이용하는 이동통신 단말기
WO2009049331A2 (en) 2007-10-08 2009-04-16 Van Der Westhuizen Willem Mork User interface
US7917584B2 (en) * 2007-10-22 2011-03-29 Xcerion Aktiebolag Gesture-based collaboration
JP2009110286A (ja) 2007-10-30 2009-05-21 Toshiba Corp 情報処理装置、ランチャー起動制御プログラムおよびランチャー起動制御方法
WO2009062124A1 (en) 2007-11-09 2009-05-14 Wms Gaming, Inc. Interface for wagering game environments
JP2009169825A (ja) 2008-01-18 2009-07-30 Kyocera Mita Corp 表示入力装置、電子機器及び表示入力制御プログラム
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
US8416196B2 (en) 2008-03-04 2013-04-09 Apple Inc. Touch event model programming interface
US8289283B2 (en) 2008-03-04 2012-10-16 Apple Inc. Language input interface on a device
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
US8174502B2 (en) * 2008-03-04 2012-05-08 Apple Inc. Touch event processing for web pages
US8352877B2 (en) 2008-03-06 2013-01-08 Microsoft Corporation Adjustment of range of content displayed on graphical user interface
US20090231281A1 (en) 2008-03-11 2009-09-17 Microsoft Corporation Multi-touch virtual keyboard
US8289289B2 (en) 2008-04-03 2012-10-16 N-trig, Ltd. Multi-touch and single touch detection
KR101513024B1 (ko) 2008-04-22 2015-04-17 엘지전자 주식회사 단말기 및 이것의 이미지 인식 방법
US8526767B2 (en) 2008-05-01 2013-09-03 Atmel Corporation Gesture recognition
US20100177053A2 (en) 2008-05-09 2010-07-15 Taizo Yasutake Method and apparatus for control of multiple degrees of freedom of a display
US20090282332A1 (en) 2008-05-12 2009-11-12 Nokia Corporation Apparatus, method and computer program product for selecting multiple items using multi-touch
US9268483B2 (en) 2008-05-16 2016-02-23 Microsoft Technology Licensing, Llc Multi-touch input platform
WO2009155092A2 (en) 2008-05-29 2009-12-23 Telcordia Technologies, Inc. Method and system for multi-touch-based browsing of media summarizations on a handheld device
US20090309847A1 (en) 2008-06-12 2009-12-17 You I Labs, Inc. Apparatus and method for providing multi-touch interface capability
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
US8754855B2 (en) 2008-06-27 2014-06-17 Microsoft Corporation Virtual touchpad
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 (ja) 2008-07-01 2010-01-21 Sony Corp 情報処理装置、及び補助情報の表示方法
US8154428B2 (en) 2008-07-15 2012-04-10 International Business Machines Corporation Gesture recognition control of electronic devices using a multi-touch device
US8237807B2 (en) * 2008-07-24 2012-08-07 Apple Inc. Image capturing device with touch screen for adjusting camera settings
US8390577B2 (en) 2008-07-25 2013-03-05 Intuilab Continuous recognition of multi-touch gestures
KR101482120B1 (ko) 2008-08-01 2015-01-21 엘지전자 주식회사 스케줄 관리가 가능한 휴대 단말기 및 그 제어방법
CN101339453B (zh) * 2008-08-15 2012-05-23 广东威创视讯科技股份有限公司 基于交互式输入设备的模拟鼠标输入方法
US8135171B2 (en) 2008-08-19 2012-03-13 Au Optronics Corp. Multipoint tracking method and related device
CN101661361A (zh) 2008-08-27 2010-03-03 比亚迪股份有限公司 多点触摸检测系统
US8279241B2 (en) 2008-09-09 2012-10-02 Microsoft Corporation Zooming graphical user interface
US20100088628A1 (en) 2008-10-07 2010-04-08 Sony Ericsson Mobile Communications Ab Live preview of open windows
US20100107116A1 (en) 2008-10-27 2010-04-29 Nokia Corporation Input on touch user interfaces
JP4853507B2 (ja) 2008-10-30 2012-01-11 ソニー株式会社 情報処理装置、情報処理方法およびプログラム
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
US8217909B2 (en) 2008-12-19 2012-07-10 Cypress Semiconductor Corporation Multi-finger sub-gesture reporting for a user interface device
US8869070B2 (en) 2008-12-30 2014-10-21 T-Mobile Usa, Inc. Handwriting manipulation for conducting a search over multiple databases
KR101521932B1 (ko) 2009-01-19 2015-05-20 엘지전자 주식회사 단말기 및 그 제어 방법
JP5009422B2 (ja) 2009-02-10 2012-08-22 シャープ株式会社 認証装置、認証方法及びそれをコンピュータに実行させるためのプログラム
US8566044B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
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
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
KR101510484B1 (ko) 2009-03-31 2015-04-08 엘지전자 주식회사 이동 단말기 및 이동 단말기의 제어 방법
US20100281435A1 (en) 2009-04-30 2010-11-04 At&T Intellectual Property I, L.P. System and method for multimodal interaction using robust gesture processing
US8427440B2 (en) 2009-05-05 2013-04-23 Microsoft Corporation Contact grouping and gesture recognition for surface computing
US20100295799A1 (en) 2009-05-21 2010-11-25 Sony Computer Entertainment America Inc. Touch screen disambiguation based on prior ancillary touch input
US9009612B2 (en) 2009-06-07 2015-04-14 Apple Inc. Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface
US20110069021A1 (en) 2009-06-12 2011-03-24 Hill Jared C Reducing false touchpad data by ignoring input when area gesture does not behave as predicted
DE102009024656A1 (de) 2009-06-12 2011-03-24 Volkswagen Ag Verfahren zum Steuern einer grafischen Benutzerschnittstelle und Bedienvorrichtung für eine grafische Benutzerschnittstelle
KR101608532B1 (ko) * 2009-08-11 2016-04-01 엘지전자 주식회사 이동 통신 단말기에서의 데이터 표시방법 및 이를 적용한 이동 통신 단말기
US8310459B2 (en) 2009-09-23 2012-11-13 Nokia Corporation Touch detection
US9223590B2 (en) 2010-01-06 2015-12-29 Apple Inc. System and method for issuing commands to applications based on contextual information
TWI400638B (zh) 2009-10-20 2013-07-01 Acer Inc 觸控顯示裝置、觸控顯示系統及其調整觸控區域之方法
KR20110047349A (ko) 2009-10-30 2011-05-09 주식회사 팬택 휴대용 단말기에서 터치와 가압을 이용하는 사용자 인터페이스 장치 및 방법
US8957918B2 (en) 2009-11-03 2015-02-17 Qualcomm Incorporated Methods for implementing multi-touch gestures on a single-touch touch surface
US8390600B2 (en) 2009-11-13 2013-03-05 Microsoft Corporation Interactive display system with contact geometry interface
US20100085323A1 (en) 2009-12-04 2010-04-08 Adam Bogue Segmenting a Multi-Touch Input Region by User
US8432368B2 (en) 2010-01-06 2013-04-30 Qualcomm Incorporated User interface methods and systems for providing force-sensitive input
US8140570B2 (en) 2010-03-11 2012-03-20 Apple Inc. Automatic discovery of metadata
US8296332B2 (en) 2010-04-01 2012-10-23 Apple Inc. Visual manipulation of database schema
KR20110110940A (ko) 2010-04-02 2011-10-10 삼성전자주식회사 휴대용 단말기의 터치 입력 장치 및 방법
US20110252376A1 (en) 2010-04-07 2011-10-13 Imran Chaudhri Device, Method, and Graphical User Interface for Managing Concurrently Open Software Applications
US9146751B2 (en) 2010-04-07 2015-09-29 Apple Inc. Device, method, and graphical user interface for navigation of multiple applications
US8131898B2 (en) 2010-05-27 2012-03-06 Adobe Systems Incorporated Event handling in an integrated execution environment
US8669946B2 (en) 2010-05-28 2014-03-11 Blackberry Limited Electronic device including touch-sensitive display and method of controlling same
EP2390766B1 (en) 2010-05-28 2013-09-25 BlackBerry Limited Electronic device including touch-sensitive display and method of controlling same
US20130120280A1 (en) 2010-05-28 2013-05-16 Tim Kukulski System and Method for Evaluating Interoperability of Gesture Recognizers
CN102262890A (zh) 2010-05-31 2011-11-30 鸿富锦精密工业(深圳)有限公司 电子装置及其标记方法
US8552999B2 (en) 2010-06-14 2013-10-08 Apple Inc. Control selection approximation
JP5663980B2 (ja) 2010-06-29 2015-02-04 ブラザー工業株式会社 画像処理装置
TWI407346B (zh) 2010-07-30 2013-09-01 Ind Tech Res Inst 觸控輸入裝置之軌跡補償方法與系統,及其電腦程式產品
US20120133579A1 (en) 2010-11-30 2012-05-31 Microsoft Corporation Gesture recognition management
US20120242584A1 (en) 2011-03-22 2012-09-27 Nokia Corporation Method and apparatus for providing sight independent activity reports responsive to a touch gesture
US9298363B2 (en) 2011-04-11 2016-03-29 Apple Inc. Region activation for touch sensitive surface
AU2011202182B1 (en) 2011-05-11 2011-10-13 Frequency Ip Holdings, Llc Creation and presentation of selective digital content feeds
TWI467463B (zh) 2011-05-27 2015-01-01 Asustek Comp Inc 具觸控式螢幕的電腦系統及其手勢的處理方法
US9071970B2 (en) 2011-12-05 2015-06-30 Sony Corporation Terminal device
US9046958B2 (en) 2012-03-15 2015-06-02 Nokia Technologies Oy Method, apparatus and computer program product for user input interpretation and input error mitigation
US9733716B2 (en) 2013-06-09 2017-08-15 Apple Inc. Proxy gesture recognizer
US9430142B2 (en) 2014-07-17 2016-08-30 Facebook, Inc. Touch-based gesture recognition and application navigation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627959A (en) * 1993-09-20 1997-05-06 Oracle Corporation Method for manipulating graphic objects
JPH10500509A (ja) * 1994-05-13 1998-01-13 アップル コンピュータ, インコーポレイテッド オペレーティングシステムにおけるイベント分配装置及び方法
JP2008508601A (ja) * 2004-07-30 2008-03-21 アップル インコーポレイテッド タッチ・センシティブ入力デバイスのためのジェスチャ
WO2008030779A2 (en) * 2006-09-06 2008-03-13 Apple Inc. Portable electronic device for photo management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6014032061; 'iosイベント処理ガイド' iosイベント処理ガイド 2011-03-10, 20110310, 1-82ページ, アップルジャパン株式会社 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11372538B2 (en) 2012-06-22 2022-06-28 Sony Corporation Detection device and detection method
WO2016114288A1 (ja) * 2015-01-15 2016-07-21 シャープ株式会社 情報処理装置、情報処理装置の制御方法および制御プログラム
JPWO2016114288A1 (ja) * 2015-01-15 2017-04-27 シャープ株式会社 情報処理装置、情報処理装置の制御方法および制御プログラム

Also Published As

Publication number Publication date
JP2017215983A (ja) 2017-12-07
CN102422264B (zh) 2014-06-11
US20140160052A1 (en) 2014-06-12
CA2817890A1 (en) 2010-09-23
US20160162180A1 (en) 2016-06-09
US9965177B2 (en) 2018-05-08
US8285499B2 (en) 2012-10-09
CA2755443C (en) 2013-08-06
US9285908B2 (en) 2016-03-15
CA2909730A1 (en) 2010-09-23
JP2019032854A (ja) 2019-02-28
AU2010226120B2 (en) 2013-10-24
WO2010107669A2 (en) 2010-09-23
US20110310047A1 (en) 2011-12-22
US20100235118A1 (en) 2010-09-16
CN104035718B (zh) 2017-08-25
WO2010107669A3 (en) 2010-11-25
CA2817890C (en) 2015-12-29
EP2413237A1 (en) 2012-02-01
EP2413237B1 (en) 2019-10-16
CN104049975B (zh) 2017-04-19
CN104035717B (zh) 2017-04-12
JP5879395B2 (ja) 2016-03-08
US8428893B2 (en) 2013-04-23
CN104035717A (zh) 2014-09-10
JP2014211889A (ja) 2014-11-13
KR101278346B1 (ko) 2013-06-25
JP5594914B2 (ja) 2014-09-24
CN102422264A (zh) 2012-04-18
CA2909730C (en) 2018-06-05
JP2016129029A (ja) 2016-07-14
US20130016039A1 (en) 2013-01-17
CN104049975A (zh) 2014-09-17
JP6695395B2 (ja) 2020-05-20
AU2010226120A1 (en) 2011-11-03
US8682602B2 (en) 2014-03-25
CA2817648C (en) 2014-12-30
DE112010001143T5 (de) 2012-05-16
EP2409222A2 (en) 2012-01-25
CA2817648A1 (en) 2010-09-23
CA2755443A1 (en) 2010-09-23
JP6408085B2 (ja) 2018-10-17
JP6180563B2 (ja) 2017-08-16
KR20110130484A (ko) 2011-12-05
CN104035718A (zh) 2014-09-10

Similar Documents

Publication Publication Date Title
JP6408085B2 (ja) イベント認識
US11755196B2 (en) Event recognition
JP6785082B2 (ja) 事象認識
JP5938429B2 (ja) ジェスチャ認識を制御及び変更するためのデリゲートを有するジェスチャ・レコグナイザ

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130603

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130903

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140624

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140702

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: 20140801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140804

R150 Certificate of patent or registration of utility model

Ref document number: 5594914

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