ユーザー入力を解釈するための方法であって、動くユーザー入力を受け取るステップであって、前記動くユーザー入力は、元のポイントから始まっている、ステップと、前記ユーザー入力が、前記元のポイントから自由形式の動き閾値距離の範囲内に留まっている間、前記ユーザー入力が受け取られたとおり、変更されない形態で前記動くユーザー入力を送るステップと、前記元のポイントから前記自由形式の動き閾値距離を超えて、前記動くユーザー入力が動いた場合、および前記動くユーザー入力が、溝領域に入るように動いた場合、変更されたユーザー入力を送るステップであって、前記変更されたユーザー入力は、前記溝領域の中心に沿うように前記動くユーザー入力を位置付けるように変更される、ステップとを含む方法。前記変更されたユーザー入力を前記送るステップの後、前記動くユーザー入力が、溝エスケープ閾値境界を超えて前記溝領域に対して直角に移動した場合、前記動くユーザー入力を前記変更されない形態で再び送るステップをさらに含む請求項1に記載の方法。前記動くユーザー入力が前記溝エスケープ閾値境界を超えて動いたポイントから第2の自由形式の動き閾値距離を超えて、前記動くユーザー入力が動いた場合、および前記動くユーザー入力が第2の溝領域に入るように動いた場合、再び変更されたユーザー入力を送るステップであって、前記再び変更されたユーザー入力は、前記第2の溝領域の中心に沿うように前記動くユーザー入力を位置付けるように変更される、ステップをさらに含む請求項2に記載の方法。前記溝領域は、前記元のポイントに揃えて位置付けられた所定の直線的な領域である請求項1に記載の方法。前記動くユーザー入力が或る方向に実質的に沿った向きであると判定するステップと、コンピューター実行可能命令が、前記動くユーザー入力が前記方向に実質的に沿った向きであると判定すると、前記溝領域を、前記向きに揃えられ、かつ前記動くユーザー入力の位置に配置された直線的な領域として確立するステップとをさらに含む請求項1に記載の方法。前記ユーザーによって終えられるより前に、前記動くユーザー入力がアクティブ化閾値を超えなかった場合、前記元のポイントにおけるアクティブ化イベントを送るステップをさらに含む請求項1に記載の方法。前記ユーザーによって終えられるより前に、前記動くユーザー入力がアクティブ化閾値を超えなかった場合、送られた前記動くユーザー入力を元に戻すユーザー入力を生成するステップをさらに含む請求項6に記載の方法。前記変更されたユーザー入力を前記送るステップは前記元のポイントから前記自由形式の動き閾値距離を超えて、前記動くユーザー入力が動いた場合、前記動くユーザー入力が前記溝領域に入るように動いた場合、および前記動くユーザー入力の直近の先行する複数の位置が、前記溝領域の方向に実質的に沿っている場合に限って、実行される請求項1に記載の方法。請求項1に記載のステップを実行するためのコンピューター実行可能命令を含む1つまたは複数のコンピューター可読媒体。ユーザー入力周辺装置と、1つまたは複数の処理装置と、コンピューター実行可能命令を含む1つまたは複数のコンピューター可読媒体とを備えるコンピューティングデバイスであって、前記コンピューター実行可能命令は、前記1つまたは複数の処理装置によって実行されると、前記ユーザー入力周辺装置から、動くユーザー入力を受け取ることであって、前記動くユーザー入力は、元のポイントから始まっている、受け取ることと、前記ユーザー入力が、前記元のポイントから自由形式の動き閾値距離の範囲内に留まっている間、前記ユーザー入力周辺装置から前記ユーザー入力が受け取られたとおり、変更されない形態で前記動くユーザー入力を送ることと、前記元のポイントから前記自由形式の動き閾値距離を超えて、前記動くユーザー入力が動いた場合、および前記動くユーザー入力が、溝領域に入るように動いた場合、変更されたユーザー入力を送ることであって、前記変更されたユーザー入力は、前記溝領域の中心に沿うように前記動くユーザー入力を位置付けるように変更される、送ることとを実行する、コンピューティングデバイス。0004一実施形態において、ユーザー入力解釈機構が、ユーザーの入力を自由形式の動きとして、遅延なしに送ることができる。その後、ユーザー入力解釈機構が、継続するユーザー入力に基づいて、ユーザーが直線的な動きを試みていると判定した場合、ユーザー入力解釈機構は、そのユーザー入力を、自由形式の動きではなく、直線的な動きとして送ることに移行することができ、送られるユーザー入力を、ユーザー入力解釈機構によって解釈される、ユーザーによって意図される直線的な動きの方向に向けられた溝grooveに制限することができる。0005別の実施形態において、ユーザー入力解釈機構が、ユーザーの入力を、そのユーザーの入力が最初に受け取られた初期ポイントを取り囲む閾値をそのユーザーの入力が超えない限り、自由形式の動きとして解釈することが可能である。ユーザーの入力が、そのような閾値を超えて移動を進める場合、ユーザー入力解釈機構は、範囲内でそのユーザーの入力が依然として自由形式の動きとして解釈される定められた領域を確立することが可能である。同様に、そのような閾値を超えると、ユーザー入力解釈機構は、直線的な向きにされるとともに、その範囲内でそのユーザーの入力が、直線的な動きであることが意図されるものと解釈され、同様の様態で送られることになる、溝領域を同様に確立することが可能である。0006さらなる実施形態において、ユーザー入力解釈機構が、ユーザーの入力を、直線的な動きであることが意図されるものと解釈した後、そのユーザーの入力が、先行する直線的な動きの方向に対して直角に、閾値距離を超えて動いた場合、そのような解釈は非アクティブ化にされることが可能である。そのような場合、そのユーザーの入力は、その時点におけるそのユーザーの入力の位置を取り囲む領域内で、自由形式の動きとして再び解釈され得る。そのユーザーの入力が、その領域を超えて動いた場合、そのユーザーの入力は、自由形式の動きの既定の領域、および直線的な動きの既定の溝領域に鑑みて再び解釈され得る。0007さらに別の実施形態において、ユーザーの入力を自由形式の動きとする解釈と、ユーザーの入力が直線的な動きに制限されるものとする解釈の間で移行する際、ユーザーの入力が直線的に制限される溝は、ユーザーの入力が最初に受け取られた初期ポイントと揃えられることが可能であり、送られるユーザー入力は、ユーザー入力の現在の位置からそのような溝に急に戻されることが可能であり、またはユーザーの入力が直線的に制限される溝が、ユーザーの入力の現在の位置と揃えられることが可能である。同様に、ユーザーが、短い期間にわたってだけ入力を与えた場合、またはユーザーの入力が、アクティブ化閾値を超えて動かなかった場合、ユーザーは、何も動かすことを意図しておらず、ユビキタスのマウスクリックに比類し得るように、アクティブ化イベントを実行することを代わりに意図していたという判定が行われ得る。そのような場合、ユーザー入力解釈機構によって送られた動きが、元に戻され得る。そのようなアクションは、ユーザーによって動かされることが決して意図されていなかったビジュアルユーザーインターフェース要素が、実際、わずかに動いて、その後、それらの要素の元の位置に戻ることをもたらし得るが、そのような活動は、その要素が、実際、動かされ得るという視覚的示唆をユーザーに与えることが可能であるため、実際には、有益であり得る。0008この概要は、詳細な説明において後段でさらに説明される概念の選定を、簡略化された形態で導入するように与えられる。この概要は、主張される主題の重要な特徴、または不可欠な特徴を特定することは意図しておらず、主張される主題の範囲を限定するのに使用されることも意図していない。0009さらなる特徴および利点が、添付の図面を参照して進められる以下の詳細な説明から明白となろう。0010以下の詳細な説明は、添付の図面と併せて解釈されると、最もよく理解され得る。0016以下の説明は、ユーザーに表示されている1つまたは複数のグラフィカルユーザーインターフェース要素をパンすること、または動かすことの脈絡でユーザーから受け取られる入力の解釈に関する。ユーザー入力解釈機構interpretatioalmechanismは、初期ユーザー入力イベントを受け取ると、いずれの動きも自由形式の動きと解釈することができ、そのようなユーザー入力を、そのようなユーザー入力が向けられるべきアプリケーションプログラムまたは他のコンピューター実行可能命令に、遅延なしに送り込むことができる。ユーザー入力が、アクティブ化閾値を超えて進まない場合、ユーザー入力解釈機構は、そのユーザーの入力をアクティブ化と解釈することができ、例えば元の入力イベントの位置に戻るように入力を自動的に生成することによって、ユーザー入力解釈機構が送った可能性があるいずれの小さな動きをも元に戻すことができる。ユーザー入力の動きが、自由形式閾値を超えて進んだ場合、ユーザー入力解釈機構は、その動きを自由形式の動きと解釈すること、または、代替として、初期ユーザー入力イベントの位置から直線的に延びる溝領域に基づく直線的な動きと解釈し、ユーザーが、まっすぐ上下になど、直線的な方向で入力を容易に与えることを可能にすることができる。溝領域の外の領域は、自由形式領域のままであり得る。ユーザー入力が溝領域に入っていると判定された場合、ユーザー入力解釈機構は、そのユーザー入力を、その溝領域の直線的な向きに制限し、実際のユーザー入力自体は、多少不正確であり得るものの、直線的なユーザー入力を送ることができる。溝の方向に対して直角の動きが、その後、そのような溝からユーザー入力を解放することが可能であり、自由形式の動きを再開させることが可能である。そのようにして、ユーザーの入力が、ユーザー入力解釈機構によって、解釈の遅延なしに送られることが可能であるだけでなく、そのような入力が、溝領域を介してユーザーの入力を直線的な方向に制限することなどの解釈上の支援を役立てることも可能である。0017例示の目的で、本明細書で説明される技術は、ユーザーが、1つまたは複数の指を介して入力を与えることを可能にするなどの、タッチベースのインターフェースを対象とし、1つまたは複数のユーザーインターフェース要素が動かされる、またはパンされるコンテキストを対象とする。しかし、そのような参照は、厳密に例示的であり、説明される機構を、与えられる特定の例に限定することは意図していない。そうではなく、そのような参照は、そのような参照が、当業者には直ちに明白となる概念上の枠組みを与え、したがって、説明される解釈機構の少なくとも1つの実施形態を説明するための有用な枠組みを与えるという理由で、選択されている。しかし、タッチベースのインターフェースが参照され、特に、指によってアクティブ化されるタッチベースのインターフェースが参照されるが、説明される機構は、タッチスクリーンに触れる代わりに、ユーザーが代わりに、ユーザーの手などを単に動かして妥当な入力を与える、例えば、ジェスチャインターフェースまたは3次元インターフェースを含む、他の形態のユーザーインターフェースに、変更なしに、同様に適用可能である。実際、説明される技術は、キーボード、マウス、トラックパッド、ペンベースの周辺装置、および他の類似したインターフェースなどのさらなる従来のインターフェース周辺装置を介する入力を含め、任意のユーザー入力に適用可能である。したがって、触れる、押す、または解放するなどが後段で参照されることは、単に例示的であり、関連するインターフェースにおける任意の類似した入力を参照することを意図している。同様に、パンすることまたは動かすことが後段で参照されるが、そのような参照は、説明される機構が、ビデオゲームの脈絡で2次元方向、または3次元方向の入力を与えることなどの、他のユーザー対話にも同様に適用可能であるので、やはり、単に例示的であることが意図される。したがって、パンするおよび動かすという用語の利用は、均等のユーザー入力を包含するものと広く解釈されることが意図される。0018必須ではないものの、後段の説明は、コンピューティングデバイスによって実行されている、プログラムモジュールなどのコンピューター実行可能命令の概括的な脈絡で行われる。より詳細には、この説明は、特に明記しない限り、1つまたは複数のコンピューティングデバイスまたは周辺装置によって実行される動作の作用および記号表現を参照する。このため、ときとして、コンピューターによって実行されるものとして記述される、そのような作用および動作には、処理装置による、構造化された形態のデーターを表す電気信号の操作が含まれることが理解されよう。この操作は、そのデーターを変換し、またはメモリーの中のロケーションにそのデーターを保持し、このことが、コンピューティングデバイスまたは周辺装置の動作を、当業者によってよく理解されている様態で再構成する、またはそれ以外で変更する。データーが保持されるデーター構造は、データーのフォーマットによって定められる特定の特性を有する物理的ロケーションである。0019概して、プログラムモジュールには、特定のタスクを実行する、または特定の抽象データー型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データー構造などが含まれる。さらに、当業者は、コンピューティングデバイスが、従来のパーソナルコンピューターに必ずしも限定されず、コンピューティングデバイスには、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電子機器もしくはプログラマブル家庭用電子機器、ネットワークPC、ミニコンピューター、メインフレームコンピューターなどを含む、他のコンピューティング構成が含まれることを認識するだろう。同様に、コンピューティングデバイスは、通信ネットワークを介して結びつけられた遠隔処理デバイスによってタスクが実行される分散コンピューティング環境で機構が実施されることも可能であるので、スタンドアロンのコンピューティングデバイスに必ずしも限定されない。分散コンピューティング環境において、プログラムモジュールは、ローカルメモリーストレージデバイスと遠隔メモリーストレージデバイスの両方の中に配置され得る。0020図1を参照すると、例示的なコンピューティングデバイス100が示されており、コンピューティングデバイス100上で、かつコンピューティングデバイス100と連携して、後段で説明される機構が実施され得る。図1の例示的なコンピューティングデバイス100は、限定なしに、1つまたは複数の中央処理装置CPU120と、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は、読取り専用メモリーROM131、および前述したRAM132などの揮発性メモリーおよび/または不揮発性メモリーの形態のコンピューター記憶媒体を含む。起動中などにコンピューティングデバイス100内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入出力システム133BIOSが、通常、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しかし、一実施形態において、ユーザーの入力が、溝エスケープ閾値grooveescapethresholdを超えて動いた場合、ユーザー入力解釈機構は、そのユーザーの入力を溝領域に限定するようにもはや変更することができず、さらに、代わりに、そのユーザーの入力を自由形式で解釈することに戻ることが可能である。溝エスケープ閾値は、溝領域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前述の説明から理解され得るとおり、ユーザー入力を解釈することを、そのようなユーザー入力を送る際に遅延を生じさせずに行うための機構が列挙されてきた。本明細書で説明される主題の可能な多くの変形形態に鑑みて、添付の特許請求の範囲、および均等の範囲に含まれ得る、すべてのそのような実施形態を本発明として主張する。