JP5909240B2 - 溝メタファーを使用する瞬時パニング - Google Patents

溝メタファーを使用する瞬時パニング Download PDF

Info

Publication number
JP5909240B2
JP5909240B2 JP2013542009A JP2013542009A JP5909240B2 JP 5909240 B2 JP5909240 B2 JP 5909240B2 JP 2013542009 A JP2013542009 A JP 2013542009A JP 2013542009 A JP2013542009 A JP 2013542009A JP 5909240 B2 JP5909240 B2 JP 5909240B2
Authority
JP
Japan
Prior art keywords
user input
moving
user
computing device
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2013542009A
Other languages
English (en)
Other versions
JP2013544415A (ja
JP2013544415A5 (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.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2013544415A publication Critical patent/JP2013544415A/ja
Publication of JP2013544415A5 publication Critical patent/JP2013544415A5/ja
Application granted granted Critical
Publication of JP5909240B2 publication Critical patent/JP5909240B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • 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
    • G06F3/04817Interaction 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 using icons
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Position Input By Displaying (AREA)

Description

本発明は、溝メタファー(groove metaphor)を使用する瞬時パニング(instantaneous panning)に関する。
[0001]最新のコンピューティングデバイスは、多くが従来のキーボードとマウスのメタファーを離れた様々な物理的入力デバイスを介して、ユーザーが入力を行うことを可能にし得る。例えば、最新のコンピューティングデバイスは、タッチスクリーン、タブレット、トラックパッド、または他の類似した物理的に押すことに基づく入力周辺装置を備え得る。別の例として、一部の最新のコンピューティングデバイスは、ユーザーの動きをキャプチャすることができ、その結果、コンピューティングデバイスがそれらの動きをユーザー入力に変換することを可能にする、ビデオカメラまたは静止画像カメラなどの画像キャプチャ周辺装置を備え得る。
[0002]しかし、そのような最新のコンピューティングデバイス上で実行されているプロセスは、そのような様々な入力周辺装置を介して入力を受け取ることに合わせて必ずしも最適化されていない可能性がある。例えば、多くのアプリケーション、オペレーティングシステム、コンポーネント、またはコンピューター実行可能命令の他の集合によって提示されるユーザーインターフェースは、ユビキタスのクリックアンドドラッグのメタファーを広範に使用する場合があり、これをいくつかの入力周辺装置を使用して実施するのは困難な場合がある。その結果、タッチスクリーンなどの代替の入力周辺装置を介してユーザー入力を受け取るコンピューティングデバイスは、ユーザーが何を実現しようと試みているのかをまず識別することによってユーザーを支援しようと努め、その後に初めて、ユーザーの入力を、しばしば変更する形で、そのようなコンピューティングデバイス上で実行されるアプリケーションプログラム、オペレーティングシステム、および他のコンピューター実行可能命令に送る解釈機構(interpretatioal mechanism)を実施してきた。そのような解釈機構は、ユーザーを苛立たせる可能性もある遅延をもたらす。
[0003]そのような遅延の一例は、パンする、つまり、ユーザーに表示されるグラフィカルユーザーインターフェース要素を動かすことの脈絡においてである。そのような事例において、既存の解釈機構は、ユーザーがアクティブ化を実行することを所望するのか、自由形式でパンすることを所望するのか、またはユーザーが、まっすぐ上下に、またはまっすぐ左右になど、直線的にパンすることを所望するのかを解釈機構が判定することができるまで、ユーザーの入力をアプリケーションプログラムに送ることが遅れる。このため、ユーザーが、例えば、タッチスクリーンを有するコンピューティングデバイスを利用し、タッチスクリーンをユーザーの指などを用いて押し、ユーザーの指を動かしはじめると、解釈機構は、ユーザーの指が十分な距離を動くまで待ってから、ユーザーの入力のいずれかをアプリケーションプログラムまたはオペレーティングシステムに送る。ユーザーの指が十分な距離を動いた後に初めて、既存の解釈機構は、ユーザーが、アクティブ化を実行しようと試みているのか、自由形式でパンしようと試みているのか、または、ユーザーの指は正確には直線で動いていないものの、ユーザーが直線にパンしようとしているのかをインテリジェントに判定することができる。解釈機構が、ユーザーが直線的にパンしようと試みていると判定した場合、そのコンピューティングデバイス上で実行されているアプリケーションプログラムなどに解釈機構が供給するユーザー入力は、ユーザーの指が正確には直線で動いていない場合でさえ、完全に直線のパンを示すユーザー入力であり得る。しかし、ユーザーの視点からすれば、ユーザーの指が少なくともいくらかの距離を動いてから、対応するグラフィカルユーザーインターフェース要素の動きがやっと生じるということになる。前述したとおり、そのような遅延は、苛立たせるものであり得る。
[0004]一実施形態において、ユーザー入力解釈機構が、ユーザーの入力を自由形式の動きとして、遅延なしに送ることができる。その後、ユーザー入力解釈機構が、継続するユーザー入力に基づいて、ユーザーが直線的な動きを試みていると判定した場合、ユーザー入力解釈機構は、そのユーザー入力を、自由形式の動きではなく、直線的な動きとして送ることに移行することができ、送られるユーザー入力を、ユーザー入力解釈機構によって解釈される、ユーザーによって意図される直線的な動きの方向に向けられた「溝(groove)」に制限することができる。
[0005]別の実施形態において、ユーザー入力解釈機構が、ユーザーの入力を、そのユーザーの入力が最初に受け取られた初期ポイントを取り囲む閾値をそのユーザーの入力が超えない限り、自由形式の動きとして解釈することが可能である。ユーザーの入力が、そのような閾値を超えて移動を進める場合、ユーザー入力解釈機構は、範囲内でそのユーザーの入力が依然として自由形式の動きとして解釈される定められた領域を確立することが可能である。同様に、そのような閾値を超えると、ユーザー入力解釈機構は、直線的な向きにされるとともに、その範囲内でそのユーザーの入力が、直線的な動きであることが意図されるものと解釈され、同様の様態で送られることになる、「溝」領域を同様に確立することが可能である。
[0006]さらなる実施形態において、ユーザー入力解釈機構が、ユーザーの入力を、直線的な動きであることが意図されるものと解釈した後、そのユーザーの入力が、先行する直線的な動きの方向に対して直角に、閾値距離を超えて動いた場合、そのような解釈は非アクティブ化にされることが可能である。そのような場合、そのユーザーの入力は、その時点におけるそのユーザーの入力の位置を取り囲む領域内で、自由形式の動きとして再び解釈され得る。そのユーザーの入力が、その領域を超えて動いた場合、そのユーザーの入力は、自由形式の動きの既定の領域、および直線的な動きの既定の溝領域に鑑みて再び解釈され得る。
[0007]さらに別の実施形態において、ユーザーの入力を自由形式の動きとする解釈と、ユーザーの入力が直線的な動きに制限されるものとする解釈の間で移行する際、ユーザーの入力が直線的に制限される溝は、ユーザーの入力が最初に受け取られた初期ポイントと揃えられることが可能であり、送られるユーザー入力は、ユーザー入力の現在の位置からそのような溝に「急に戻される」ことが可能であり、またはユーザーの入力が直線的に制限される溝が、ユーザーの入力の現在の位置と揃えられることが可能である。同様に、ユーザーが、短い期間にわたってだけ入力を与えた場合、またはユーザーの入力が、アクティブ化閾値を超えて動かなかった場合、ユーザーは、何も動かすことを意図しておらず、ユビキタスの「マウスクリック」に比類し得るように、アクティブ化イベントを実行することを代わりに意図していたという判定が行われ得る。そのような場合、ユーザー入力解釈機構によって送られた動きが、元に戻され得る。そのようなアクションは、ユーザーによって動かされることが決して意図されていなかったビジュアルユーザーインターフェース要素が、実際、わずかに動いて、その後、それらの要素の元の位置に戻ることをもたらし得るが、そのような活動は、その要素が、実際、動かされ得るという視覚的示唆をユーザーに与えることが可能であるため、実際には、有益であり得る。
[0008]この概要は、詳細な説明において後段でさらに説明される概念の選定を、簡略化された形態で導入するように与えられる。この概要は、主張される主題の重要な特徴、または不可欠な特徴を特定することは意図しておらず、主張される主題の範囲を限定するのに使用されることも意図していない。
[0009]さらなる特徴および利点が、添付の図面を参照して進められる以下の詳細な説明から明白となろう。
[0010]以下の詳細な説明は、添付の図面と併せて解釈されると、最もよく理解さ
れ得る。
[0011]例示的なコンピューティングデバイスを示すブロック図である。 [0012]例示的な入力解釈機構の動作の視覚化を示すブロック図である。 [0013]例示的な入力解釈機構の動作の別の態様の視覚化を示すブロック図である。 [0014]例示的な入力解釈機構を示す流れ図である。 [0015]例示的な入力解釈機構の状態図である。
[0016]以下の説明は、ユーザーに表示されている1つまたは複数のグラフィカルユーザーインターフェース要素をパンすること、または動かすことの脈絡でユーザーから受け取られる入力の解釈に関する。ユーザー入力解釈機構(interpretatioal mechanism)は、初期ユーザー入力イベントを受け取ると、いずれの動きも自由形式の動きと解釈することができ、そのようなユーザー入力を、そのようなユーザー入力が向けられるべきアプリケーションプログラムまたは他のコンピューター実行可能命令に、遅延なしに送り込むことができる。ユーザー入力が、アクティブ化閾値を超えて進まない場合、ユーザー入力解釈機構は、そのユーザーの入力をアクティブ化と解釈することができ、例えば元の入力イベントの位置に戻るように入力を自動的に生成することによって、ユーザー入力解釈機構が送った可能性があるいずれの小さな動きをも「元に戻す」ことができる。ユーザー入力の動きが、自由形式閾値を超えて進んだ場合、ユーザー入力解釈機構は、その動きを自由形式の動きと解釈すること、または、代替として、初期ユーザー入力イベントの位置から直線的に延びる「溝」領域に基づく直線的な動きと解釈し、ユーザーが、まっすぐ上下になど、直線的な方向で入力を容易に与えることを可能にすることができる。溝領域の外の領域は、自由形式領域のままであり得る。ユーザー入力が溝領域に入っていると判定された場合、ユーザー入力解釈機構は、そのユーザー入力を、その溝領域の直線的な向きに制限し、実際のユーザー入力自体は、多少不正確であり得るものの、直線的なユーザー入力を送ることができる。溝の方向に対して直角の動きが、その後、そのような溝からユーザー入力を解放することが可能であり、自由形式の動きを再開させることが可能である。そのようにして、ユーザーの入力が、ユーザー入力解釈機構によって、解釈の遅延なしに送られることが可能であるだけでなく、そのような入力が、溝領域を介してユーザーの入力を直線的な方向に制限することなどの解釈上の支援を役立てることも可能である。
[0017]例示の目的で、本明細書で説明される技術は、ユーザーが、1つまたは複数の指を介して入力を与えることを可能にするなどの、タッチベースのインターフェースを対象とし、1つまたは複数のユーザーインターフェース要素が動かされる、またはパンされるコンテキストを対象とする。しかし、そのような参照は、厳密に例示的であり、説明される機構を、与えられる特定の例に限定することは意図していない。そうではなく、そのような参照は、そのような参照が、当業者には直ちに明白となる概念上の枠組みを与え、したがって、説明される解釈機構の少なくとも1つの実施形態を説明するための有用な枠組みを与えるという理由で、選択されている。しかし、タッチベースのインターフェースが参照され、特に、指によってアクティブ化されるタッチベースのインターフェースが参照されるが、説明される機構は、タッチスクリーンに触れる代わりに、ユーザーが代わりに、ユーザーの手などを単に動かして妥当な入力を与える、例えば、ジェスチャインターフェースまたは3次元インターフェースを含む、他の形態のユーザーインターフェースに、変更なしに、同様に適用可能である。実際、説明される技術は、キーボード、マウス、トラックパッド、ペンベースの周辺装置、および他の類似したインターフェースなどのさらなる従来のインターフェース周辺装置を介する入力を含め、任意のユーザー入力に適用可能である。したがって、「触れる」、「押す」、または「解放する」などが後段で参照されることは、単に例示的であり、関連するインターフェースにおける任意の類似した入力を参照することを意図している。同様に、「パンすること」または「動かすこと」が後段で参照されるが、そのような参照は、説明される機構が、ビデオゲームの脈絡で2次元方向、または3次元方向の入力を与えることなどの、他のユーザー対話にも同様に適用可能であるので、やはり、単に例示的であることが意図される。したがって、「パンする」および「動かす」という用語の利用は、均等のユーザー入力を包含するものと広く解釈されることが意図される。
[0018]必須ではないものの、後段の説明は、コンピューティングデバイスによって実行されている、プログラムモジュールなどのコンピューター実行可能命令の概括的な脈絡で行われる。より詳細には、この説明は、特に明記しない限り、1つまたは複数のコンピューティングデバイスまたは周辺装置によって実行される動作の作用および記号表現を参照する。このため、ときとして、コンピューターによって実行されるものとして記述される、そのような作用および動作には、処理装置による、構造化された形態のデーターを表す電気信号の操作が含まれることが理解されよう。この操作は、そのデーターを変換し、またはメモリーの中のロケーションにそのデーターを保持し、このことが、コンピューティングデバイスまたは周辺装置の動作を、当業者によってよく理解されている様態で再構成する、またはそれ以外で変更する。データーが保持されるデーター構造は、データーのフォーマットによって定められる特定の特性を有する物理的ロケーションである。
[0019]概して、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データー型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データー構造などが含まれる。さらに、当業者は、コンピューティングデバイスが、従来のパーソナルコンピューターに必ずしも限定されず、コンピューティングデバイスには、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電子機器もしくはプログラマブル家庭用電子機器、ネットワークPC、ミニコンピューター、メインフレームコンピューターなどを含む、他のコンピューティング構成が含まれることを認識するだろう。同様に、コンピューティングデバイスは、通信ネットワークを介して結びつけられた遠隔処理デバイスによってタスクが実行される分散コンピューティング環境で機構が実施されることも可能であるので、スタンドアロンのコンピューティングデバイスに必ずしも限定されない。分散コンピューティング環境において、プログラムモジュールは、ローカルメモリーストレージデバイスと遠隔メモリーストレージデバイスの両方の中に配置され得る。
[0020]図1を参照すると、例示的なコンピューティングデバイス100が示されており、コンピューティングデバイス100上で、かつコンピューティングデバイス100と連携して、後段で説明される機構が実施され得る。図1の例示的なコンピューティングデバイス100は、限定なしに、1つまたは複数の中央処理装置(CPU)120と、RAM132を含み得るシステムメモリー130と、システムメモリーを含む様々なシステムコンポーネントを処理装置120に結合するシステムバス121とを含み得る。システムバス121は、様々なバスアーキテクチャのいずれかを使用する、メモリーバスまたはメモリーコントローラー、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のいずれかであり得る。コンピューティングデバイス100は、グラフィックスハードウェアインターフェース190を含むが、以上には限定されない、ビジュアルユーザーインターフェースを表示するためなどのグラフィックスハードウェア、およびディスプレイデバイス191をオプションとして含み得る。さらに、コンピューティングデバイス100は、マウス153、デジタルビデオカメラ152、および/またはタッチセンサー151などのユーザーインターフェース入力ハードウェアを含むことも可能である。入力ハードウェアは、周辺インターフェース150を介してシステムバス121と通信するように結合され得る。一部の事例において、入力ハードウェアは、コンピューティングデバイス100の他の態様と並置され得る。例えば、ハンドヘルド構成またはタブレット構成において、コンピューティングデバイス100は、タッチセンサー151上の接触の位置が、ディスプレイデバイス191によって同一の位置に表示され得る1つまたは複数のグラフィカルユーザーインターフェース要素と互いに関係付けられ得るように、タッチセンサー151と一体にされたディスプレイデバイス191を備え得る。
[0021]また、コンピューティングデバイス100は、コンピューティングデバイス100によってアクセスされ得る任意の利用可能な媒体を含むことが可能であり、揮発性媒体と不揮発性媒体、リムーバブルな媒体とリムーバブルでない媒体をともに含むコンピューター可読媒体も、通常、含む。例として、限定としてではなく、コンピューター可読媒体は、コンピューター記憶媒体と、通信媒体とを備えることが可能である。コンピューター記憶媒体には、コンピューター可読命令、データー構造、プログラムモジュール、または他のデーターなどの情報を格納するために任意の方法または技術で実施される媒体が含まれる。コンピューター記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリーもしくは他のメモリー技術、CD−ROM、デジタルバーサタイルディスク(DVD)もしくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、ソリッドステート記憶媒体、または所望される情報を格納するのに使用されることが可能であり、コンピューティングデバイス100によってアクセスされることが可能な他の任意の媒体が含まれるが、以上には限定されない。通信媒体は、通常、コンピューター可読命令、データー構造、プログラムモジュール、または他のデーターを、搬送波などの変調されたデーター信号、または他のトランスポート機構として実体化し、任意の情報伝達媒体を含む。例として、限定としてではなく、通信媒体には、有線ネットワークまたは直接配線接続などの有線媒体、ならびに音響媒体、RF媒体、赤外線媒体、および他のワイヤレス媒体などのワイヤレス媒体が含まれる。また、前述した媒体うちの任意の媒体の組合せも、コンピューター可読媒体の範囲に含められなければならない。
[0022]システムメモリー130は、読取り専用メモリー(ROM)131、および前述したRAM132などの揮発性メモリーおよび/または不揮発性メモリーの形態のコンピューター記憶媒体を含む。起動中などにコンピューティングデバイス100内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム133(BIOS)が、通常、ROM131の中に格納される。RAM132は、処理装置120が即時にアクセス可能であり、さらに/または処理装置120によって現在、操作されているデーターおよび/またはプログラムモジュールを通常含む。例として、限定としてではなく、図1は、オペレーティングシステム134を、他のプログラムモジュール135、およびプログラムデーター136とともに示す。
[0023]また、コンピューティングデバイス100は、他のリムーバブルな/リムーバブルでない、揮発性/不揮発性のコンピューター記憶媒体を含むことも可能である。単に例として、図1は、リムーバブルでない、不揮発性の磁気媒体から読取りを行う、またはそのような媒体に書込みを行うハードディスクドライブ141を示す。例示的なコンピューティングデバイスで使用され得る他のリムーバブルな/リムーバブルでない、揮発性/不揮発性のコンピューター記憶媒体には、磁気テープカセット、フラッシュメモリーカード、デジタルバーサタイルディスク、デジタルビデオテープ、ソリッドステートRAM、ソリッドステートROM、他のソリッドステートストレージデバイスなどが含まれるが、これらに限定されない。ハードディスクドライブ141は、通常、インターフェース140などのリムーバブルでないメモリーインターフェースを介してシステムバス121に接続される。
[0024]前段で説明され、図1に示されるドライブ、および関連するコンピューター記憶媒体は、コンピューティングデバイス100にコンピューター可読命令、データー構造、プログラムモジュール、および他のデーターのストレージを提供する。図1で、例えば、ハードディスクドライブ141が、オペレーティングシステム144、他のプログラムモジュール145、およびプログラムデーター146を格納しているものとして示される。これらのコンポーネントは、オペレーティングシステム134、他のプログラムモジュール135、およびプログラムデーター136と同一であることも、異なることも可能であることに留意されたい。オペレーティングシステム144、他のプログラムモジュール145、およびプログラムデーター146は、少なくとも、これらが異なるコピーであることを示すように本明細書で異なる参照符号が与えられている。
[0025]コンピューティングデバイス100は、1つまたは複数の遠隔コンピューターに対する論理接続を使用して、ネットワーク180によって表されるネットワーク化された環境において動作することができる。コンピューティングデバイス100は、ネットワークインターフェースまたはネットワークアダプタ170を介して一般的なネットワーク接続171に接続されているものとして示され、このネットワークインターフェースまたはネットワークアダプタ170は、システムバス121に接続される。ネットワーク化された環境において、コンピューティングデバイス100、またはコンピューティングデバイス100のいくつかの部分もしくは周辺装置に関連して示されるプログラムモジュールは、一般的なネットワーク接続171を介してコンピューティングデバイス100と通信するように結合された他の1つまたは複数のコンピューティングデバイスのメモリーの中に格納され得る。図示されるネットワーク接続は、例示的であり、コンピューティングデバイス間で通信リンクを確立する他の手段も使用され得ることが認識されよう。
[0026]図2を参照すると、図示されるシステム200が、タッチスクリーンデバイスを利用するユーザーによって、従来のファイルアイコンとして示されるグラフィカルユーザーインターフェース要素210が動かされる脈絡でユーザー入力解釈機構の例示的な動作を示す。最初に、ユーザーが、ファイルアイコン210を動かすことを所望する場合、ユーザーは、ユーザーの指などを用いて、ファイルアイコン210の付近データーッチスクリーンデバイスを押すことが可能である。円211は、ユーザーが、円211によって表される位置データーッチスクリーンデバイスを押すことによって生成され得るような、ユーザーの入力の位置を表す。同様に、線215は、ユーザーが、線215に沿ってユーザーの指を動かしながら、タッチスクリーンデバイスを押し続けることによって生成され得るような、ユーザーの入力のその後の動きを表す。
[0027]一実施形態において、領域291が、ユーザーの入力が最初に受け取られた位置211の周囲に広がることが可能であり、範囲内でユーザー入力解釈機構が、ユーザーの入力を遅延なしに送るとともに、ユーザーの入力を、さらなる編集、または変更を要求しない自由形式の動きとして扱う領域を定めることが可能である。自由形式の動き領域291は、ユーザーの入力が最初に受け取られた位置211から広がり得る自由形式の動き閾値280によって定められ得る。このため、図2のシステム200によって示されるとおり、ユーザーが、例えば、位置211データーッチスクリーンデバイスをユーザーの指を用いて押し、その後、線215に沿って位置221までユーザーの指をドラッグしたとする場合、ユーザー入力解釈機構は、一実施形態において、そのようなユーザー入力を遅延なしに、ユーザーインターフェース要素210を担当するアプリケーションプログラムまたはオペレーティングシステムに送ることができる。その結果、そのようなアプリケーションプログラムまたはオペレーティングシステムは、図2のシステム200に示されるアイコン210の輪郭、またはグレー表示されたバージョンをアイコン220として示して、ユーザーに、アイコン210をユーザーが「ドラッグしていること」の視覚的フィードバックを与えることができる。
[0028]本明細書における説明の目的で、アイコン220などの、アイコン210のグレー表示されたバージョンは、そのようなグレー表示されたバージョンが、ユーザー入力が解釈機構によって供給されるにつれ、ユーザー入力の直接の結果として生成され得るので、解釈機構がユーザーの入力を送る様態を示す。例えば、図2のシステム200に示される特定の例において、ユーザー入力解釈機構は、線215に沿って位置211から位置221までドラッグする際、ユーザーの入力を遅延なしに、変更せずに送ることができる。ユーザーの入力が変更されずにそのように送られることが、そのような入力を受け取るアプリケーションプログラムまたはオペレーティングシステムが、位置221になど、ユーザー入力解釈機構によって受け取られた実際のユーザー入力を中心としてグレー表示されたアイコン220を位置付けていることによって示される。理解され得るとおり、ユーザー入力は、線215に沿って位置211から位置221までドラッグする際、ユーザーの動きのすべてが、前述した自由形式領域291内に留まるので、ユーザー入力解釈機構によって自由形式の動きと解釈され得る。このため、ユーザー入力は、機構のユーザー入力解釈が、ユーザーの意図を導き出すことが試みられるさらなるユーザー入力を待つのではなく、自由形式の動き閾値280範囲内のユーザーの初期の入力を、変更なしに自由形式の動きとして送るので、ユーザー入力解釈機構によって遅延なしに送られることが可能である。
[0029]ユーザー入力解釈機構は、ユーザーの入力が、自由形式の動きに関連する領域内に留まる限り、ユーザーの入力を自由形式の動きと解釈し続けることができる。一実施形態において、自由形式の動きに関連する領域は、単に、別段、定められない領域であり得る。
[0030]別のタイプの領域が、ユーザーが特定の支援された精度で動こうとする可能性がある動きの向きを、そのタイプの領域が表し得るため、「溝」領域として識別されることが可能である。例えば、1つまたは複数のユーザーインターフェース要素を上下に動かす際、ユーザーは、通常、そのようなインターフェース要素を正確に上方に、または正確に下方に動かして、左右への逸脱を回避することを所望する。このため、例えば、ユーザーが文書を読んでいたとすると、そのユーザーは、読み続けるためにその文書をまっすぐ上に、またはまっすぐ下にスクロールしようとし、左または右のいずれの動きも、ユーザーがその文書を読もうと努めることに対して紛らわしいものとなり得る。別の例として、水平の向きになっている画像の集合をユーザーがブラウズしているとした場合、ユーザーは、妥当なユーザーインターフェース要素を正確に左に、または正確に右に動かすことによって、次の画像にスクロールしようとする可能性があり、同様に、上または下のいずれの動きも、ユーザーが画像の集合をブラウズしようと努めることに対して紛らわしいものとなり得る。これらの例において、ユーザーが1つまたは複数のユーザーインターフェース要素を垂直に動かすこと、および水平に動かすことは、ユーザー入力解釈機構が「溝」メタファーを適用することによって支援可能であり、その結果、実質的に垂直であるユーザー入力などの、実質的に特定の方向に向けられたユーザーの入力が、正確に垂直に揃えられた溝に入るものと考えられてもよく、したがって、ユーザーの入力が完全には垂直でなく、左または右にわずかに逸れている場合でさえ、ユーザー入力解釈機構によって供給されるユーザー入力は、ユーザーが、そのような支援なしには自ら実現することができない正確に垂直な動きを反映するように変更または補正可能である。
[0031]一実施形態において、溝領域は、例えば、そのような領域を、ユーザーインターフェース要素の初期位置と揃えることによって、事前に定められ得る。このため、図2のシステム200に示されるとおり、溝領域292、293、294、および295が、アイコン210の初期位置、または位置211におけるユーザーの入力の初期ポイントに基づいて定められ得る。そのような実施形態における残りの領域、すなわち、領域296、297、298、および299は、自由形式領域のままであり得る。さらに、そのような実施形態において、ユーザーの入力が溝領域に入ると、送られるユーザー入力をその溝領域と揃えるようにユーザー入力解釈機構によって適用され得るそのようなユーザー入力の変更は、そのようなユーザー入力によって影響されるユーザーインターフェース要素を、その溝領域に視覚的に「ジャンプして」入らせることが可能である。
[0032]これに対して、別の実施形態において、溝領域は、所定でなくてもよい、または向きに関してだけ所定であり、位置に関しては所定でないことが可能である。そのような実施形態において、例えば、ユーザー入力が、左または右へのわずかな人間の不正確さを除いて、実質的に垂直に向かっている場合など、ユーザーの入力が、正確に直線で動く意図を明らかにすると、溝領域が、そのユーザーの入力が、溝領域の向きで動く意図を明らかにした位置で確立され得る。そのような実施形態において、ユーザー入力解釈機構によって行われるユーザー入力の変更は、影響されるユーザーインターフェース要素のどんな類の初期の視覚的「ジャンプ」も生じさせる必要はなく、代わりに、溝領域が確立されると、単に、その後のユーザー入力を、その溝の向きでまっすぐにすることが可能である。そのような実施形態の時間的性質のため、図には特に示されないが、後段で溝領域について述べることは、具体的には、図に示される溝領域のような既成の溝領域と、履歴上のユーザー入力に基づいて動的に確立される溝領域の両方に対する参照を含むと意図される。
[0033]図2に再び戻ると、ユーザー入力が、例えば、ユーザーがユーザーの指をタッチスクリーン上で位置221から位置231まで動かすことによって、線215に沿って続いた場合、ユーザー入力はそれでも、ユーザー入力が自由形式領域291を離れたという事実にもかかわらず、自由形式領域298に入るように進んでおり、その結果、引き続き、自由形式の動きと解釈され得るため、変更されずに送られ得る。ユーザー入力の位置231を中心として位置付けられたグレー表示されたアイコン230は、アプリケーションプログラムまたはオペレーティングシステムが、ユーザー入力解釈機構から、位置231にあるものとしてユーザー入力を受け取り、その結果、そのユーザー入力位置に従ってグレー表示されたアイコン230を描くので、ユーザー入力が、変更されずに、アプリケーションプログラムまたはオペレーティングシステムに送られて、グレー表示されたアイコン230を生成していることを例示する。
[0034]同様に、ユーザー入力が、線215に沿って位置231から位置241まで進み続けると、このユーザー入力は、自由形式領域内に留まること、すなわち、最初、自由形式領域298内にあり、その後、自由形式領域291内に戻ることが可能であるため、自由形式の動きと解釈され続けることが可能である。したがって、ユーザー入力は、ユーザー入力解釈機構によって、変更されずに送られ続けることが可能である。このため、図示されるとおり、ユーザー入力の位置241が、ユーザー入力解釈機構によって、変更なしに送られ得るので、グレー表示されたアイコン240が、ユーザー入力位置241を中心とすることが可能である。さらに、ユーザー入力が、線215に沿って位置241から位置251まで進むと、このユーザー入力は、自由形式領域291内に留まり、その後、自由形式領域291内に入るため、同様に、自由形式の動きと解釈され続けることが可能である。その結果、そのようなユーザー入力が、グレー表示されたアイコン250を描くことを担うアプリケーションプログラムまたはオペレーティングシステムに、自由形式入力として変更されずに送られるので、グレー表示されたアイコン250が、ユーザー入力251の位置を中心とすることが可能である。
[0035]しかし、線215に沿って進み続けるユーザー入力が、位置261に到達すると、ユーザー入力解釈機構は、ユーザーが、アイコン210を正確に垂直に動かそうとしていると判定することができ、その結果、ユーザー入力解釈機構は、解釈機構によって送られるユーザー入力が、例えば、タッチスクリーン上で実際に与えられているユーザー入力とは異なり得るように、ユーザー入力を変更することができる。図2のシステム200に示されるとおり、位置261におけるユーザー入力は、ユーザー入力解釈機構によって、変更されない形態で送られた場合、従来は、グレー表示されたアイコンが、アイコン輪郭260によって輪郭を示されるとおり提示されることをもたらす。アプリケーションプログラムまたはオペレーティングシステムによって表示される実際のグレー表示されたアイコン262は、提示されるグレー表示されたアイコン262が、アイコン210の元の位置と正確に垂直に揃えられるように、アイコン輪郭260の位置から逸れた位置にあることが可能である。ユーザーの視点からは、線215に沿って位置251から位置261までユーザー入力を与えることは、このユーザー入力が位置261に到達すると、結果的にもたらされるグレー表示されたアイコンを、位置260から、グレー表示されたアイコン262によって示される位置まで視覚的に「ジャンプ」させて、これにより、グレー表示されたアイコンが、アイコン210の元の位置と垂直に揃えられた溝に落ちたかのように見えることをもたらし得る。
[0036]ユーザーが、アイコン210などのユーザーインターフェース要素を、正確に垂直に、または正確に水平に動かすのを支援するのに、溝領域が、アイコン210の元の位置の真上と真下、および正確に左と右に確立され得る。このため、図2のシステム200に示されるとおり、溝領域292は、溝領域292が、それぞれ、アイコン210の最左部の境界と最右部の境界の延長であり得る境界282と283によって定められるように、アイコン210の真上に延びることが可能である。同様に、溝領域294が、アイコン210の真下に延びることが可能であり、やはりそれぞれ、アイコン210の最左部の境界と最右部の境界の延長であり得る境界287と286によって定められることが可能である。さらなる溝領域293および295が、アイコン210の正確に水平の動きを可能にするように、それぞれ、アイコン210の右側と左側に延びることが可能である。アイコン210の右側に延びる溝領域293は、それぞれ、アイコン210の最上部の境界と最下部の境界の延長であり得る境界284と285によって境界が定められることが可能である。同様に、アイコン210の左側に延びる溝領域295は、それぞれ、アイコン210の最上部の境界と最下部の境界の延長であり得る境界289と288によって境界が定められることが可能である。
[0037]溝領域292、293、294、および295は、アイコン210の境界に相応する境界を有するものとして図2のシステム200に示されるものの、説明されるユーザー入力解釈機構は、特定のサイズの溝領域によって限定されず、代わりに、範囲内でユーザーが1つまたは複数のユーザーインターフェース要素を正確に直線で動かそうと試みていると結論付けるのが適切であり得る任意の幅または任意の長さの溝領域を確立することができる。同様に、図2のシステム200に示される溝領域292、293、294、および295は、アイコン210に対する溝領域292、293、294、および295の向きに関して、単に例示的であることが意図されるに過ぎない。一実施形態は、溝領域が、ユーザーがユーザーインターフェース要素を正確に水平に、または垂直に動かすことを支援するように水平、および垂直に延び得ることを企図するが、他の実施形態は、より多くの溝領域、またはより少ない溝領域を企図する。例えば、アイコン210の代わりに、動かされているユーザーインターフェース要素が文書のページであった場合、一実施形態は、そのような文書を読むには、さらに読むために下にスクロールするか、または特定のセクションを読み直すために上にスクロールして戻るかのいずれかのための垂直方向における正確に直線的な動きしか要求されない可能性が高いので、溝領域295および293が存在しなくてもよいことを企図する。別の例として、アイコン210の代わりに、動かされているユーザーインターフェース要素が、一連の水平に並べられた写真のうちの1つの写真であった場合、一実施形態は、水平に並べられた写真を閲覧するには、水平方向だけに正確に直線的な動きが要求される可能性があるので、溝領域292および294が存在しなくてもよいことを企図する。さらに別の例として、ユーザーインターフェース要素210が描画プログラムにおける要素であった場合、例えば、45°対角線で、または、例えば、その描画プログラムの脈絡で実用的であり得る他の類似した角度オフセットなどで、図2のシステム200に示される溝領域に加えてさらなる溝領域が確立されることもある。
[0038]図2に示されるシステム200に戻ると、ユーザー入力が線215に沿って位置261に到達した際などに、ユーザー入力が溝領域に入ると、ユーザー入力解釈機構は、ユーザー入力解釈機構がアプリケーションプログラム、オペレーティングシステム、またはコンピューター実行可能命令の他の集合に送るユーザー入力を変更して、そのユーザー入力が、例えば、位置261で、溝領域292の中心からわずかに右にあるという事実にもかかわらず、ユーザー入力解釈機構によって供給されるユーザー入力が、溝領域292の中心にあるように変更され得るようにすることができる。その結果、そのような入力を受け取っているアプリケーションプログラム、オペレーティングシステム、またはコンピューター実行可能命令の他の集合は、適切なユーザーインターフェース要素を、それらのユーザーインターフェース要素の元の位置に対して正確に直線的な関係でレンダリングすることができる。このため、例えば、図2のシステム200に示されるとおり、ユーザーの入力は、位置261で、アイコン210の元の位置の真上にはないものの、ユーザー入力解釈機構によって供給される変更されたユーザー入力は、グレー表示されたアイコン262を描くアプリケーションプログラムまたはオペレーティングシステムに、そのようなアイコンを、元のアイコン210に対して正確に直線的な関係で、すなわち、図示される例において、元のアイコン210の真上に描かせることが可能である。
[0039]前述したとおり、溝領域は、物理的な溝を模倣し、例えば、車両の車輪が、左右への走行の小さいばらつきにもかかわらず、入り込んだ溝に限定されたままであるのとほとんど同じように、ユーザー入力が、ばらつきにもかかわらず、範囲内で正確なパスに限定される領域を定めることができる。このため、図2のシステム200に示されるとおり、線215に沿って位置261から位置271まで進むユーザー入力が、水平方向でわずかに逸れた場合、ユーザー入力解釈機構によって送られるユーザー入力が、線215によって表されるとともに、わずかな逸脱を含む実際のユーザー入力からわずかに変更され得るので、対応するユーザーインターフェース要素の、すなわち、図2に示される例でアイコン210の動きが、逸脱しない垂直方向で動き続けることが可能である。例えば、位置271におけるユーザー入力が、位置261におけるユーザー入力からわずかに右に逸れていることが可能である。それでも、グレー表示されたアイコン272は、グレー表示されたアイコン262と揃ったままであることが可能であり、さらにアイコン210の元の位置からのアイコン210の正確に垂直な動きを表し得る。このため、位置271におけるユーザー入力は、従来は、位置270におけるアイコンのレンダリングをもたらす可能性があったが、ユーザー入力解釈機構によって供給される変更は、代わりに、アイコンをレンダリングするアプリケーションプログラムまたはオペレーティングシステムによって受け取られるユーザー入力が変更されて、そのアプリケーションプログラムまたはそのオペレーティングシステムが、ユーザー入力が溝領域292の中心に位置付けられていると考え、さらに、その結果、位置271における実際のユーザー入力の左側にグレー表示されたアイコン272を生成するようになることをもたらし得る。ユーザー入力が、全体的に上向きの方向で線215に沿って進むと、位置261と比べた位置271の相対的な水平方向の位置によって示されるような、ユーザー入力のこれらのわずかな水平方向の逸脱が、代わりに、このユーザー入力を変更して、このユーザー入力が溝領域292に制限されるようにすることができ、さらに、ユーザーが、例えば、正確に垂直にアイコン210をドラッグすることができるようにするユーザー入力解釈機構によって解消され得る。
[0040]したがって、理解され得るとおり、280の自由形式の動き閾値が、初期のユーザー入力が変更なしに送られ、さらに、このため、遅延なしに送られることが可能であるように、ユーザーインターフェース要素の周囲の自由形式の動き領域291を定めることが可能である一方で、その後のユーザー入力が解析されて、そのような入力が、自由形式領域内に入るか、またはユーザーが妥当な方向で正確に直線的な動きを実行するのを支援するように確立され得る溝領域内に入るかが判定されることが可能である。そのようにして、ユーザー入力解釈機構は、ユーザーが正確に直線的な動きを実行するのを支援することができる一方で、同時に、初期遅延が生じるのを回避する。これに対して、まず待って、ユーザーが正確に直線的な動きを実行しようとするかどうかを判定する通常のユーザー入力解釈機構は、ユーザーの意図が拾い集められる十分なユーザー入力を待たなければならないので、ユーザーの入力を送る際に初期遅延を生じさせる。
[0041]図3を参照すると、図示されるシステム300が、継続的なユーザー入力が、そのユーザーの入力が、正確に直線的な動きに限定されるユーザーによる意図を明らかにするものと分かった後でさえ、さらにユーザー入力解釈機構によって送られるユーザー入力が、溝領域292などの溝領域に限定された後でさえ、ユーザーによる、支援されない自由形式の動きに戻る意図を明らかにし得る、一実施形態による例示的な機構を示す。そのような実施形態を例示するのに、図3のシステム300は、図2のシステム200において前に示され、さらに前段で詳細に説明された線215から続けられたユーザー入力を表し得る線315を備える。前述し、さらに図3のシステムに示されるとおり、位置261と位置271の間で動くユーザー入力は、図2で前に示されたアイコン210を正確に直線的に動かすことが所望されることを示すものと解釈されることが可能であり、さらに、このため、このユーザー入力は、送られるユーザー入力が溝領域292の中心にあることが可能であるようにユーザー入力解釈機構によって変更され得る。このため、図3のシステム300に示されるとおり、図2で前に示されたアイコン210が、溝領域292内で、グレー表示されたアイコン262および272によって示されるとおり、正確に垂直に動かされる。やはり、前述したとおり、ユーザー入力解釈機構は、溝領域292の付近のユーザー入力を、1つまたは複数のユーザーインターフェース要素を正確に垂直に動かす意図を明らかにするものと解釈することが可能であり、さらに、このため、線315、ならびに図3のシステム300に示される位置261および271によって示されるような、与えられている実際のユーザー入力の水平方向のばらつきにもかかわらず、溝領域292の中心にあることが可能な変更されたユーザー入力を送ることが可能である。
[0042]しかし、一実施形態において、ユーザーの入力が、溝エスケープ閾値(groove escape threshold)を超えて動いた場合、ユーザー入力解釈機構は、そのユーザーの入力を溝領域に限定するようにもはや変更することができず、さらに、代わりに、そのユーザーの入力を自由形式で解釈することに戻ることが可能である。溝エスケープ閾値は、溝領域292の限界282および283などの、溝領域の限界を超える距離として確立され得、これらの限界を超えると、継続的なユーザー入力により、その溝領域をエスケープして、自由形式の動きに戻りたいと所望されることが明らかになる。したがって、図3のシステム300に示されるとおり、溝エスケープ閾値370は限界372を確立することが可能であり、その限界372を超えると、継続的なユーザー入力により、溝領域292をエスケープして、自由形式の動きに戻りたいと所望されることが明らかになり得る。同様に、溝エスケープ閾値371は限界373を確立することが可能であり、その限界373を超えると、継続的なユーザー入力により、同様に、溝領域292をエスケープして、自由形式の動きに戻りたいと所望されることが明らかになり得る。溝エスケープ閾値370には、一実施形態において、そのようなエスケープ閾値が互いに独立に確立され得ることを示すように、溝エスケープ閾値371とは異なる参照符号が割り当てられている。このため、例えば、溝がスクリーンの端の近くに確立された場合、スクリーンの端の方向の溝エスケープ閾値は、実質的に、より小さいこと、または0であることさえ可能である一方で、反対方向の溝エスケープ閾値は、より大きいことが可能である。
[0043]別の実施形態において、例えば図3のシステム300に示されるように、溝領域の限界を超える距離として溝エスケープ閾値を確立するのではなく、溝エスケープ閾値は、ユーザーが溝領域からどれだけ遠くにユーザーの入力を動かすかではなく、ユーザーが溝領域に対して直角の方向でどれだけ「きつく」ユーザーの入力を動かすかを定量化する速度ベクトルに関して確立されることが可能である。そのような実施形態を利用すると、例えば、ユーザーは長い期間にわたって例えば垂直方向でパンすることを意図していたが、そのような長い期間中、ユーザーの入力は、水平に滑り続け、その結果、例えば、溝からの距離だけに基づいていた溝エスケープ閾値を最終的に超える状況においては、ユーザーがそのように行うことを意図していなかった場合に自由形式の動きに戻ることを制限することができる。この例で、ユーザー入力が水平方向でそのように滑ることは比較的小さいので、対応する速度ベクトルも、同様に比較的小さく、このため、そのような速度ベクトルに関して決定された溝エスケープ閾値を超えず、代わりに、ユーザーが、溝に依然として限定されながら、より長い期間にわたってパンし続けることを可能にする。
[0044]図3のシステム300によって示される特定の例に戻ると、システム300における線315によって示されるとおり、ユーザー入力が、図示される例において、溝領域292に対して実質的に直角の方向で位置271から進んで、位置311に到達することが可能である。ユーザー入力が溝エスケープ閾値境界373を超えて進む、そのような動きは、ユーザー入力解釈機構に、そのユーザー入力をもはや変更させず、代わりに、そのような入力を自由形式入力と解釈させることが可能である。このため、グレー表示されたアイコン310によって示されるとおり、位置311におけるユーザー入力が、ユーザー入力解釈機構によって、変更されずに送られ、その結果、グレー表示されたアイコン310は、ユーザー入力が実際に受け取られた位置311を中心とする。
[0045]一実施形態において、ユーザー入力が、溝エスケープ閾値境界を過ぎると、ユーザー入力がその溝エスケープ閾値境界を過ぎた位置、または別のより適切な位置などの、適切な位置の周囲に新たな自由形式領域が確立されることが可能である。例示の目的で、新たな自由形式領域391が、位置311の周囲の自由形式の動き閾値380によって確立されているものとして、図3のシステム300に示される。一実施形態において、自由形式領域391を確立するのに利用される自由形式の動き閾値380は、前述した、図2に示される自由形式の動き閾値280と同一であり得る。別の実施形態において、自由形式の動き閾値380は、図2に示される自由形式の動き閾値280とは無関係に確立されることが可能であり、自由形式の動き閾値280と比べて、より大きいことも、より小さいことも可能である。
[0046]自由形式領域391を超えて、溝領域393および394などのさらなる溝領域が、前段で詳細に説明されるように、それぞれ、境界384と境界385の間、および境界386と境界387の間に確立され得る。さらに、前段でやはり詳細に説明されるとおり、溝領域393および394などの溝領域の外の領域は、自由形式領域398などの自由形式領域のままであることが可能である。このため、図3のシステム300に示されるとおり、ユーザー入力が、線315に沿って位置311から位置321まで進んだ場合、ユーザー入力解釈機構は、少なくとも1つには、そのような入力が自由形式領域391内に留まるという事実のため、そのような入力を自由形式入力と解釈することができ、その結果、そのような入力をアプリケーションプログラムまたはオペレーティングシステムに変更なしに送ることができ、すると、アプリケーションプログラムまたはオペレーティングシステムは、アプリケーションプログラムまたはオペレーティングシステムに供給されたユーザー入力、すなわち、変更されていないユーザー入力に従ってグレー表示されたアイコン320をレンダリングすることができ、その結果、実際のユーザー入力の位置321を中心とするグレー表示されたアイコン320をレンダリングする。同様に、ユーザー入力が線315に沿って位置321から位置331まで進むと、ユーザー入力解釈機構は、この場合も、そのような入力が自由形式領域内に、すなわち、自由形式領域398内に入っていることが可能であるため、そのような入力を自由形式入力と解釈することが可能である。その結果、ユーザー入力解釈機構は、ユーザー入力を変更なしに送ることができ、このことにより、やはり、グレー表示されたアイコン330は、実際のユーザー入力の位置331を中心として位置付けられることになり得る。
[0047]しかし、前述の場合と同様に、ユーザー入力が、図3のシステム300に示されるとおり、ユーザー入力が線315に沿って位置331から位置341まで進む場合のように、溝領域に入る場合、ユーザー入力解釈機構は、ユーザーが正確に直線的に動くのを支援するようにユーザー入力を変更することができる。このため、示されているとおり、ユーザー入力が位置341にあり、かつ変更なしに送られた場合、位置340にグレー表示されたアイコンをもたらすという事実にもかかわらず、グレー表示されたアイコン342は、実際には、溝領域393が揃えられたアイコンの元の位置と揃うように上向きにオフセットされた位置に表示される。このため、ユーザー入力解釈機構は、位置341で受け取られたユーザー入力を、溝領域393の中心に位置付けられた異なる位置に変更していることが可能であり、その結果、そのような入力を受け取っているアプリケーションプログラムまたはオペレーティングシステムは、図示される位置にグレー表示されたアイコン342をレンダリングすることになる。
[0048]一実施形態において、前述した自由形式領域および溝領域などの領域に関して、ユーザーの入力の位置を参照することに加えて、またはそうすることの代替として、例えば、溝領域に従ってユーザーの入力を変更すべきかどうかを判定する際に、または代替として、ユーザーの入力が、溝領域をエスケープして、自由形式の動きに戻ることが所望されることを明らかにしているかどうかを判定する際に、ユーザーの入力の履歴が、機構のユーザー入力解釈によって同様に考慮され得る。例えば、そのような実施形態において、線315に沿った位置311から位置341までのユーザー入力が、線315によって示されるユーザーの入力の履歴が、ユーザーによる、正確に直線的な形で動く意図を十分に明らかにしていないので、ユーザー入力解釈機構が、溝領域393に従って位置341におけるユーザー入力を変更することを必ずしももたらしていない可能性がある。代わりに、そのような実施形態において、ユーザーの入力は、ユーザーの入力が、線315の終端の矢印によって示されるとおり、線315に沿って、溝領域393と実質的に平行に、かつ溝領域393に沿って続く場合、溝領域393に従って変更され得る。同様に、そのような実施形態において、線315に沿った位置271から位置311までのユーザー入力は、単に、ユーザーの入力が溝エスケープ閾値境界373を過ぎるという理由だけでなく、線315によって示されるユーザーの入力が、溝領域292に対して実質的に直角の方向で動くという理由で、溝領域292をエスケープすることが所望されることを明らかにし得る。
[0049]図4を参照すると、図示される流れ図400は、前段で詳細に説明されるユーザー入力解釈機構によって実行され得る例示的な一連のステップを示す。最初、ステップ410によって示されるとおり、初期のユーザー入力が受け取られることが可能である。前述したとおり、説明を簡単にし、理解を容易にするため、与えられる説明は、通常のタッチスクリーンデバイスの脈絡で行われており、ユーザーは、例えば、1つまたは複数の指を利用してそのようなデバイスに入力を与えることによって対話することができる。その例示的な脈絡で、ステップ410で受け取られる初期のユーザー入力は、例えば、タッチスクリーン上のポイントをユーザーの指が押すことであり得る。その後、ステップ415で、ユーザー入力解釈機構が、ユーザーが押している位置が動くにつれ、ユーザー入力の位置を送ることが可能である。前述したとおり、ステップ415でユーザー入力を送ることは、ユーザー入力解釈機構が、ステップ415に先立って、ユーザーの意図が導き出される何らかの閾値量のユーザー入力を待つ必要がないので、遅延なしに行われ得る。
[0050]ステップ420で、ユーザーが入力を行うことを止めたかどうかの判定が行われ得る。この場合も、説明の簡明のために利用されるタッチスクリーンの特定の例の範囲内で、ユーザーが入力を止めることは、例えば、タッチスクリーンデバイス上にユーザーの指によって加えられる圧力の解放の形態をとり得る。ステップ420で、そのような解放が検出される場合、ユーザー入力が動いた距離が、アクティブ化閾値未満であったかどうか、または、より正確には、ユーザー入力位置の動きがたどった総距離に加えて、ユーザー入力が始まった位置とユーザー入力が終わった位置の間の差が、アクティブ化閾値未満であったかどうかについてのその後の判定が、ステップ425で行われ得る。当業者によって認識されるとおり、いくつかの状況において、ユーザー入力の位置のいくらかの小さい動きが存在し得るものの、ユーザーの意図は、いずれか1つまたは複数のユーザーインターフェース要素を動かすことではなく、ユーザーの意図は、ユビキタスのマウスクリックによって従来、実行されてきたように、それらの要素のうちの1つでアクティブ化を実行することであった。例示的なタッチスクリーンデバイスの脈絡で、そのようなアクティブ化動作は、ユーザーによって、例えば、ユーザーの指を用いて、タッチスクリーンデバイスを押し、その後、圧力を解放して、ユーザーの指を外すことによって実行され得る。ユーザー入力解釈機構は、ステップ415などで、ユーザー入力を遅延なしに送ることができるため、ユーザー入力解釈機構は、ユーザーが、実際には、特定の位置でユーザーの指を押下げ、その後、その指を解放して、そのロケーションでアクティブ化イベントを実行することを意図したに過ぎない場合に、ユーザー入力の動きを送る可能性がある。そのような事例において、ステップ425で、その量未満のいずれの動きも、動きであることが意図されない可能性が高く、むしろ、ユーザーによるアクティブ化イベントであることが意図される十分に小さい量の動きと定められ得る、アクティブ化閾値に関して判定が行われることが可能である。
[0051]ステップ425で、ステップ410における押下げイベントからステップ420における解放イベントまでにユーザー入力の位置が動いた距離が、アクティブ化閾値未満であったと判定された場合、ユーザー入力解釈機構は、ステップ430で、ユーザー入力解釈機構が送った可能性があるそれまでのユーザー入力のいずれの動きをも元に戻すのに十分な量のユーザー入力を生成する。さらに、ステップ430で、ユーザー入力解釈機構が、そのユーザーの入力およびアクティブ化イベントを処理することができ、そのアクティブ化イベントをアプリケーションプログラム、オペレーティングシステム、またはコンピューター実行可能命令の他の集合に送ることができる。
[0052]当業者によって認識されるとおり、ステップ415などで、ユーザーの入力を遅延なしに送ることによって、説明されるユーザー入力解釈機構は、一実施形態において、ステップ425における判定などによって、ユーザーが、動きイベントではなく、アクティブ化イベントを意図していたことが後に明らかとなった場合、いずれのそのような動きをも元に戻す必要があり得る。そのような場合、ステップ415で送られたユーザー入力の一部としての、それまでの動きを元に戻すそのようなユーザー入力解釈機構によって生成されるさらなるユーザー入力は、ユーザーインターフェース要素がわずかに動き、その後、ユーザーが実際に意図していたアクティブ化イベントに先立って、そのユーザーインターフェース要素の元の位置に戻ることを視覚的にもたらし得る。一部のユーザーは、アクティブ化イベントが意図されていた場合、そのような動きを邪魔だと感じる可能性があるが、そのような動きは、そのユーザーインターフェース要素が動かせることの視覚的表示を与え得るため、他のユーザーには役立つ可能性がある。しかし、別の実施形態では、供給されたユーザー入力は、元に戻されなくてもよく、ステップ430が、ユーザー入力解釈機構がアクティブ化イベントを送ることだけを備えることが可能である。
[0053]ステップ425に戻ると、ステップ425における判定が、ユーザー入力位置の動きが、アクティブ化閾値の動きを超えたことを明らかにした場合、ユーザー入力解釈機構は、ステップ420で検出された解放とともに、ステップ435で、ユーザー入力の動きが止まったという指示を送ることができる。オプションとして、ユーザー入力解釈機構は、ユーザー入力によって影響されているグラフィカルユーザーインターフェース要素の慣性をシミュレートするさらなるユーザー入力を生成することができる。例えば、そのような慣性は、ユーザーインターフェース要素の動きを瞬時に止めるのではなく、代わりに、或る距離をかけて止まるまでそのような動きを減速させるさらなるユーザー入力を生成することによってシミュレートされ得る。
[0054]ステップ420に戻ると、ステップ420で解放が全く検出されなかった場合、処理は、ステップ440に進むことが可能であり、その時点で、ユーザーの入力が溝に既に制限されているかどうかの判定が行われ得る。ステップ440で判定され得るとおり、ユーザーの入力が溝に既に制限されている場合、処理は、ステップ455に進むことが可能であり、その時点で、ユーザーの入力が、溝に対して直角の動き、溝エスケープ閾値を超える動き、またはこれらの動きの組合せを明らかにしているかどうかの判定が行われ得る。ステップ455で、ユーザーの入力が、ユーザーが溝を離れようとしていることを明らかにしてはいないと判定された場合、ユーザーの入力は、ステップ460で溝に制限され続けることが可能であり、ユーザーの入力は、変更されずに送られることが可能であり、したがって、ユーザーの入力の小さなばらつきが消されることが可能であり、ユーザーの入力は溝に制限されたままであることが可能である。次に、処理は、ステップ420に戻ることが可能である。逆に、ステップ455で、ユーザーの入力が、ユーザーが溝を離れようとしていることを明らかにしていると判定された場合、処理は、ステップ465に進むことが可能であり、その時点で、自由形式の動きが許されることが可能であり、ユーザーの入力は変更されずに送られることが可能である。
[0055]ステップ440で、ユーザーの入力が溝に既に制限されてはいないと判定された場合、処理は、ステップ455に進むことが可能であり、その時点で、ユーザーの入力が自由形式閾値を超えて動いたかどうかの判定が行われ得る。ステップ445で、ユーザーの入力が自由形式閾値を超えて動いてはいないと判定された場合、ユーザーの入力は、ステップ465で自由形式の動きが許されることによって示されるとおり、変更されずに送られ続けることが可能である。次に、処理は、ステップ420に戻ることが可能である。逆に、例えば、ユーザーの入力が溝領域に近い場合、溝領域に実質的に沿った方向で進んでいる場合、またはこれらの任意の組合せの場合など、ステップ445で、ユーザーの入力が自由形式閾値を超えて動いたと判定された場合、ステップ450で、ユーザーの入力が明らかにするのが、正確に直線的に動くことが所望されることであるかどうかのさらなる判定が行われることが可能である。ステップ450で、ユーザーの入力が、正確に直線的に動くことが所望されることを明らかにしてはいないと判定された場合、ユーザー入力解釈機構は、ユーザーの入力を変更なしに送ることを続けることができ、ステップ465で自由形式の動きを許し続けることができ、処理は、ステップ420に戻ることが可能である。逆に、ステップ450で、ユーザーの入力が明らかにするのが、正確に直線的に動くことが所望されることであると判定された場合、ユーザー入力解釈機構は、ステップ460に示されるとおり、ユーザーの入力を溝に制限するようにユーザーの入力を変更することができる。前述の場合と同様に、その後、処理は、ステップ420に戻り、その時点で、ユーザーの入力が終わったかどうかの判定が、再び行われ得る。
[0056]企図されるユーザー入力解釈機構の態様をさらに説明するのに、ユーザー入力解釈機構の例示的な状態を示す状態図500が、図5に示される。最初、図5の状態図500によって示されるとおり、ユーザー入力解釈機構は、停止状態510にあることが可能である。タッチスクリーンが押されるなど、ユーザー入力が開始されると、ユーザー入力解釈機構は、ユーザー入力のそのような開始によってトリガされた移行512によって示されるとおり、瞬時自由形式パン状態520に移行することが可能である。瞬時自由形式パン状態520で、ユーザー入力解釈機構は、ユーザー入力を変更なしに送ることができ、遅延なしにそうすることができる。ユーザー入力解釈機構が瞬時自由形式パン状態520にある間、移行528の解放イベントによって示されるように、ユーザー入力が終わった場合、ユーザー入力解釈機構は、移行528および581によって示されるとおり、停止状態510に戻るように移行することが可能であり、または移行528および584によって示されるとおり、アクティブ化状態540に移行することが可能である。ユーザー入力解釈機構が、停止状態510に戻るように移行するか、またはアクティブ化状態540に移行するかの判定は、ユーザー入力がアクティブ化閾値を超えて動いているかどうかの判定580を基にすることが可能である。そのようなアクティブ化閾値が超えられた場合、ユーザー入力解釈機構は、移行581によって示されるとおり、オプションとして、さらなるユーザー入力が、1つまたは複数のユーザーインターフェース要素の慣性をシミュレートするようにユーザー入力解釈機構によって生成されて、停止状態510に戻るように移行することが可能である。逆に、アクティブ化閾値が超えられなかった場合、ユーザー入力解釈機構は、移行584によって示されるとおり、アクティブ化状態540に移行することが可能である。アクティブ化状態540で、ユーザー入力解釈機構は、アクティブ化イベントを送ることができ、オプションとして、ユーザー入力解釈機構が瞬時自由形式パン状態520で動作していた間に送られた可能性があるいずれの動きをも元に戻すことができる。その後、移行541によって示されるとおり、ユーザー入力解釈機構は、停止状態510に戻ることができる。
[0057]瞬時自由形式パン状態520にある間、ユーザー入力が動いた場合、移行525によって示されるとおり、ユーザー入力解釈機構は、ユーザー入力解釈機構がユーザー入力位置の変化を変更なしに送る瞬時自由形式パン状態520に戻ることができ、またはユーザー入力解釈機構は、ユーザー入力解釈機構が、ユーザー入力を送るのに先立って、ユーザー入力を変更する、溝に沿ってパンする状態530に移行することが可能であり、変更されたユーザー入力が、溝の中に正確に入り、ユーザーが正確に直線的な動きを実行することを可能にするようにする。ユーザー入力解釈機構が瞬時自由形式パン状態520に戻るか、または溝に沿ってパンする状態530に移行するかの判定は、判定550および560を基にすることが可能である。判定550で、ユーザーの入力の動きが自由形式閾値の範囲内であったかどうかの判定が行われ得る。判定550による判定により、ユーザーの入力が、自由形式閾値の範囲内に留まる場合、ユーザー入力解釈機構は、移行552によって示されるとおり、瞬時自由形式パン状態520に戻るように移行することができる。逆に、判定550が、ユーザーの入力の動きが自由形式閾値を超えることを示す場合、移行556によって示されるとおり、さらなる判定560が行われ得る。
[0058]判定560で、ユーザーの入力の動きが明らかにするのが、正確に直線的に動くことが所望されることであるかどうかの判定が行われ得る。判定560で、ユーザーの入力が、正確に直線的に動くことが所望されることを明らかにしてはいないと判定された場合、ユーザー入力解釈機構は、移行562に示されるとおり、瞬時自由形式パン状態520に戻るように移行することが可能である。しかし、判定560で、ユーザーの入力が、正確に直線的に動くことが所望されることを明らかにしていると判定された場合、ユーザー入力解釈機構は、移行563によって示されるとおり、溝に沿ってパンする状態530に移行することが可能である。
[0059]溝に沿ってパンする状態530にある間、ユーザー入力解釈機構が、ユーザー入力が止まったことを検出した場合、ユーザー入力解釈機構は、移行531によって示されるとおり、停止状態510に戻るように移行することができる。逆に、ユーザー入力解釈機構が、ユーザーの入力のさらなる動きを検出した場合、移行537によって示されるとおり、ユーザー入力解釈機構は、瞬時自由形式パン状態520に戻るように移行すること、または溝に沿ってパンする状態530に戻ることが可能である。機構のユーザー入力解釈がいずれの状態に戻るかは、ユーザー入力が、直角になど、溝エスケープ閾値を超えて動いたかどうかを判定することが可能な判定570を基にすることが可能である。判定570が、ユーザー入力が溝エスケープ閾値を超えて動いてはいないと判定した場合、ユーザー入力解釈機構は、移行572によって示されるとおり、瞬時自由形式パン状態520に戻ることができ、ユーザー入力を溝に沿って揃えるようにユーザー入力を変更することを止めることができる。逆に、判定570が、ユーザー入力が溝エスケープ閾値を超えていない、または、それ以外で、自由形式で動くことが所望されることを明らかにしてはいないと判定した場合、ユーザー入力解釈機構は、移行573によって示されるとおり、溝に沿ってパンする状態530に戻ることができ、ユーザー入力を溝と揃えるように変更された、変更されたユーザー入力を送り続けることができる。
[0060]前述の説明から理解され得るとおり、ユーザー入力を解釈することを、そのようなユーザー入力を送る際に遅延を生じさせずに行うための機構が列挙されてきた。本明細書で説明される主題の可能な多くの変形形態に鑑みて、添付の特許請求の範囲、および均等の範囲に含まれ得る、すべてのそのような実施形態を本発明として主張する。

Claims (6)

  1. コンピューティングデバイスに対するユーザー入力を前記コンピューティングデバイスにおいて解釈するための方法であって、
    前記コンピューティングデバイスにおいて、前記コンピューティングデバイスに通信可能に結合されたユーザーインターフェース入力ハードウェアを介してユーザーによって提供される動くユーザー入力を受け取るステップであって、前記動くユーザー入力は、元のポイントから始まっている、ステップと、
    前記ユーザー入力が前記元のポイントから自由形式の動き閾値距離の範囲内に留まっている間、前記ユーザー入力が受け取られたとおり、変更されない形態で、前記動くユーザー入力を、前記コンピューティングデバイス上で実行するプロセスに送るステップと、
    前記元のポイントから前記自由形式の動き閾値距離を超えて、かつ溝領域に入るように、前記動くユーザー入力が動いたことに応答して、変更されたユーザー入力を前記コンピューティングデバイス上で実行する前記プロセスに送るステップであって、前記変更されたユーザー入力は、前記溝領域に沿って前記動くユーザー入力を中心に位置付けるように変更される、ステップと
    前記変更されたユーザー入力を前記送るステップの後、前記動くユーザー入力が溝エスケープ閾値境界を超えて前記溝領域に対して直角に移動したことに応答して、前記動くユーザー入力を前記変更されない形態で、前記コンピューティングデバイス上で実行する前記プロセスに再び送るステップと、
    前記動くユーザー入力が前記溝エスケープ閾値境界を超えて動いたポイントから第2の自由形式の動き閾値距離を超えて、かつ第2の溝領域に入るように、前記動くユーザー入力が動いたことに応答して、再び変更されたユーザー入力を、前記コンピューティングデバイス上で実行する前記プロセスに送るステップであって、前記再び変更されたユーザー入力は、前記第2の溝領域に沿って前記動くユーザー入力を中心に位置付けるように変更される、ステップと
    を含む方法。
  2. コンピューティングデバイスに対するユーザー入力を前記コンピューティングデバイスにおいて解釈するための方法であって、
    前記コンピューティングデバイスにおいて、前記コンピューティングデバイスに通信可能に結合されたユーザーインターフェース入力ハードウェアを介してユーザーによって提供される動くユーザー入力を受け取るステップであって、前記動くユーザー入力は、元のポイントから始まっている、ステップと、
    前記ユーザー入力が前記元のポイントから自由形式の動き閾値距離の範囲内に留まっている間、前記ユーザー入力が受け取られたとおり、変更されない形態で、前記動くユーザー入力を、前記コンピューティングデバイス上で実行するプロセスに送るステップと、
    前記元のポイントから前記自由形式の動き閾値距離を超えて、かつ溝領域に入るように、前記動くユーザー入力が動いたことに応答して、変更されたユーザー入力を前記コンピューティングデバイス上で実行する前記プロセスに送るステップであって、前記変更されたユーザー入力は、前記溝領域に沿って前記動くユーザー入力を中心に位置付けるように変更される、ステップと
    を含み、
    前記溝領域は、前記元のポイントに揃えて位置付けられた所定の直線的な領域である方法。
  3. コンピューティングデバイスに対するユーザー入力を前記コンピューティングデバイスにおいて解釈するための方法であって、
    前記コンピューティングデバイスにおいて、前記コンピューティングデバイスに通信可能に結合されたユーザーインターフェース入力ハードウェアを介してユーザーによって提供される動くユーザー入力を受け取るステップであって、前記動くユーザー入力は、元のポイントから始まっている、ステップと、
    前記ユーザー入力が前記元のポイントから自由形式の動き閾値距離の範囲内に留まっている間、前記ユーザー入力が受け取られたとおり、変更されない形態で、前記動くユーザー入力を、前記コンピューティングデバイス上で実行するプロセスに送るステップと、
    前記元のポイントから前記自由形式の動き閾値距離を超えて、かつ溝領域に入るように、前記動くユーザー入力が動いたことに応答して、変更されたユーザー入力を前記コンピューティングデバイス上で実行する前記プロセスに送るステップであって、前記変更されたユーザー入力は、前記溝領域に沿って前記動くユーザー入力を中心に位置付けるように変更される、ステップと、
    前記動くユーザー入力が或る方向に実質的に沿った向きであると判定するステップと、
    コンピューター実行可能命令が、前記動くユーザー入力が前記方向に実質的に沿った向きであると判定すると、前記溝領域を、前記向きに揃えられ、かつ前記動くユーザー入力の位置に配置された直線的な領域として確立するステップと
    を含む方法。
  4. 前記ユーザーによって終えられるより前に、前記動くユーザー入力がアクティブ化閾値を超えないことに応答して、前記元のポイントにおけるアクティブ化イベントを、前記コンピューティングデバイス上で実行する前記プロセスに送るステップをさらに含む請求項1乃至3のいずれか1項に記載の方法。
  5. 前記ユーザーによって終えられるより前に、前記動くユーザー入力がアクティブ化閾値を超えないことに応答して、送られた前記動くユーザー入力を元に戻すユーザー入力を、前記コンピューティングデバイス上で生成するステップをさらに含む請求項に記載の方法。
  6. ユーザー入力周辺装置と、1つまたは複数の処理装置と、コンピューター実行可能命令を含む1つまたは複数のコンピューター可読媒体とを備えるコンピューティングデバイスであって、前記コンピューター実行可能命令は、前記1つまたは複数の処理装置によって実行されると、
    前記ユーザー入力周辺装置から、動くユーザー入力を受け取るステップであって、前記動くユーザー入力は、元のポイントから始まっている、受け取るステップと、
    前記ユーザー入力が、前記元のポイントから自由形式の動き閾値距離の範囲内に留まっている間、前記ユーザー入力周辺装置から前記動くユーザー入力が受け取られたとおり、変更されない形態で前記動くユーザー入力を送るステップと、
    前記元のポイントから前記自由形式の動き閾値距離を超えて、かつ溝領域に入るように、前記動くユーザー入力が動いたことに応答して、変更されたユーザー入力を送るステップであって、前記変更されたユーザー入力は、前記溝領域に沿って前記動くユーザー入力を中心に位置付けるように変更される、送るステップと
    前記変更されたユーザー入力を送るステップの後、前記動くユーザー入力が溝エスケープ閾値境界を超えて前記溝領域に対して直角に移動したことに応答して、前記動くユーザー入力を前記変更されない形態で再び送るステップと、
    前記動くユーザー入力が前記溝エスケープ閾値境界を超えて動いたポイントから第2の自由形式の動き閾値距離を超えて、かつ第2の溝領域に入るように、前記動くユーザー入力が動いたことに応答して、再び変更されたユーザー入力を送るステップであって、前記再び変更されたユーザー入力は、前記第2の溝領域に沿って前記動くユーザー入力を中心に位置付けるように変更される、ステップと
    を実行する、
    コンピューティングデバイス。
JP2013542009A 2010-11-29 2011-11-09 溝メタファーを使用する瞬時パニング Active JP5909240B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/955,034 US8773473B2 (en) 2010-11-29 2010-11-29 Instantaneous panning using a groove metaphor
US12/955,034 2010-11-29
PCT/US2011/059946 WO2012074701A2 (en) 2010-11-29 2011-11-09 Instantaneous panning using a groove metaphor

Publications (3)

Publication Number Publication Date
JP2013544415A JP2013544415A (ja) 2013-12-12
JP2013544415A5 JP2013544415A5 (ja) 2014-11-27
JP5909240B2 true JP5909240B2 (ja) 2016-04-26

Family

ID=46126322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013542009A Active JP5909240B2 (ja) 2010-11-29 2011-11-09 溝メタファーを使用する瞬時パニング

Country Status (9)

Country Link
US (1) US8773473B2 (ja)
EP (1) EP2646892B1 (ja)
JP (1) JP5909240B2 (ja)
KR (1) KR101955731B1 (ja)
CN (1) CN102520851B (ja)
AU (1) AU2011337066B2 (ja)
CA (1) CA2816600C (ja)
TW (1) TW201237672A (ja)
WO (1) WO2012074701A2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101892567B1 (ko) * 2012-02-24 2018-08-28 삼성전자 주식회사 단말기에서 콘텐츠 이동 방법 및 장치
US9335913B2 (en) * 2012-11-12 2016-05-10 Microsoft Technology Licensing, Llc Cross slide gesture
JP6575081B2 (ja) * 2015-03-13 2019-09-18 富士ゼロックス株式会社 表示装置、画像処理装置及びプログラム
KR20180020517A (ko) * 2016-08-18 2018-02-28 엘지전자 주식회사 이동 단말기
JP2018085128A (ja) * 2018-01-04 2018-05-31 株式会社東芝 情報処理装置及びグラフ表示方法
US11182542B2 (en) * 2018-10-29 2021-11-23 Microsoft Technology Licensing, Llc Exposing annotations in a document

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0762821B2 (ja) 1986-05-30 1995-07-05 株式会社日立製作所 タツチパネル入力装置
AU759440B2 (en) 1998-01-26 2003-04-17 Apple Inc. Method and apparatus for integrating manual input
JP3792920B2 (ja) 1998-12-25 2006-07-05 株式会社東海理化電機製作所 タッチ操作入力装置
JP3955718B2 (ja) * 2000-07-07 2007-08-08 アルパイン株式会社 ナビゲーション装置
AUPR667801A0 (en) * 2001-07-27 2001-08-23 Honeywell Limited A control system for allowing an operator to proportionally control a work piece
JP4269155B2 (ja) * 2003-06-25 2009-05-27 日本電気株式会社 ポインティングデバイス制御システムおよび電子機器
JP2005044036A (ja) * 2003-07-24 2005-02-17 Ricoh Co Ltd スクロール制御方法、その方法をコンピュータに実行させるプログラム
CN1702605A (zh) * 2004-04-05 2005-11-30 伯斯有限公司 接收用户控制器
EP1743322A4 (en) 2004-04-30 2008-04-30 Hillcrest Lab Inc METHOD AND DEVICES FOR REMOVING UNINTENDED MOVEMENTS IN FREE-AIR INDICATORS
US8230358B1 (en) * 2004-06-22 2012-07-24 Apple Inc. Defining motion in a computer system with a graphical user interface
US7284192B2 (en) * 2004-06-24 2007-10-16 Avaya Technology Corp. Architecture for ink annotations on web documents
TWI248576B (en) 2004-07-05 2006-02-01 Elan Microelectronics Corp Method for controlling rolling of scroll bar on a touch panel
DE102005011356B3 (de) * 2005-03-04 2006-11-02 Hannes Perkunder Eingabevorrichtung mit Drehregler und Eingabeverfahren sowie ein entsprechendes computerlesbares Speichermedium
US7577925B2 (en) * 2005-04-08 2009-08-18 Microsoft Corporation Processing for distinguishing pen gestures and dynamic self-calibration of pen-based computing systems
US8300062B2 (en) * 2005-04-18 2012-10-30 Steve Tsang Method, system and computer program for using a suggestive modeling interface
JP4832826B2 (ja) * 2005-07-26 2011-12-07 任天堂株式会社 オブジェクト制御プログラムおよび情報処理装置
JP2007108257A (ja) * 2005-10-11 2007-04-26 Alpine Electronics Inc 地図移動装置
US7701457B2 (en) * 2006-02-21 2010-04-20 Chrysler Group Llc Pen-based 3D drawing system with geometric-constraint based 3D cross curve drawing
US8665225B2 (en) * 2007-01-07 2014-03-04 Apple Inc. Portable multifunction device, method, and graphical user interface for interpreting a finger gesture
US20110012856A1 (en) 2008-03-05 2011-01-20 Rpo Pty. Limited Methods for Operation of a Touch Input Device
US8645857B2 (en) * 2008-03-26 2014-02-04 Intellectual Ventures Fund 83 Llc Method for controlling information display
JP4951570B2 (ja) * 2008-03-31 2012-06-13 株式会社日立製作所 情報処理装置とその表示方法
JP2009284468A (ja) * 2008-04-23 2009-12-03 Sharp Corp 携帯情報端末、コンピュータ読取可能なプログラムおよび記録媒体
CN101587419B (zh) * 2008-05-21 2012-08-29 鸿富锦精密工业(深圳)有限公司 控制触摸屏图标显示的方法
US8689128B2 (en) 2009-03-16 2014-04-01 Apple Inc. Device, method, and graphical user interface for moving a current position in content at a variable scrubbing rate
KR101844366B1 (ko) * 2009-03-27 2018-04-02 삼성전자 주식회사 터치 제스처 인식 장치 및 방법
KR20100114572A (ko) 2009-04-16 2010-10-26 삼성전자주식회사 터치스크린을 구비한 단말기의 컨텐츠 표시 방법 및 장치
TW201133298A (en) * 2010-03-25 2011-10-01 Novatek Microelectronics Corp Touch sensing method and system using the same
US9098182B2 (en) * 2010-07-30 2015-08-04 Apple Inc. Device, method, and graphical user interface for copying user interface objects between content regions

Also Published As

Publication number Publication date
US20120133680A1 (en) 2012-05-31
KR101955731B1 (ko) 2019-03-07
JP2013544415A (ja) 2013-12-12
EP2646892A2 (en) 2013-10-09
KR20130126625A (ko) 2013-11-20
TW201237672A (en) 2012-09-16
CA2816600A1 (en) 2012-06-07
WO2012074701A3 (en) 2012-07-19
AU2011337066A1 (en) 2013-05-30
WO2012074701A2 (en) 2012-06-07
EP2646892A4 (en) 2016-08-31
EP2646892B1 (en) 2018-05-02
CA2816600C (en) 2018-10-02
US8773473B2 (en) 2014-07-08
AU2011337066B2 (en) 2016-05-12
CN102520851A (zh) 2012-06-27
CN102520851B (zh) 2015-06-17

Similar Documents

Publication Publication Date Title
US10901584B2 (en) Devices, methods, and systems for manipulating user interfaces
US9898180B2 (en) Flexible touch-based scrolling
AU2016101418A4 (en) Devices and methods for processing touch inputs based on their intensities
KR102027612B1 (ko) 애플리케이션의 썸네일-이미지 선택 기법
EP3180687B1 (en) Hover-based interaction with rendered content
JP5909240B2 (ja) 溝メタファーを使用する瞬時パニング
CN109643210B (zh) 使用悬停的设备操纵
CN106293315B (zh) 浮动窗口显示的方法和装置
KR102118223B1 (ko) 크로스 윈도우 애니메이션
DK201870352A1 (en) Devices and Methods for Measuring Using Augmented Reality
WO2018120084A1 (zh) 柔性显示设备的控制方法及装置
US20090144623A1 (en) Playback control method for multimedia device using multi-touch-enabled touchscreen
US20120092381A1 (en) Snapping User Interface Elements Based On Touch Input
US20140372923A1 (en) High Performance Touch Drag and Drop
US20080074391A1 (en) Zero-click activation of an application
US10706811B2 (en) Method and device for controlling display of a flexible display screen
US20150185833A1 (en) Display device, display method, and program
KR20140068938A (ko) 터치 입력을 사용하는 멀티 셀 선택 기법
KR20140078629A (ko) 인플레이스 방식으로 값을 편집하는 사용자 인터페이스
EP2907015A1 (en) Object placement within graphical user interface
US9720566B1 (en) Management of user interface elements
JP7137884B1 (ja) 描画方法及び描画プログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141006

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141006

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160203

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160325

R150 Certificate of patent or registration of utility model

Ref document number: 5909240

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