ユーザの指の接触を検出するように構成されるタッチセンサを含むタッチセンサ式ディスプレイを有するコンピュータ装置での使用のための入力方法であって、前記方法は、前記タッチセンサ式ディスプレイ上で最初に指を下ろす位置をタッチセンサを介して検出するステップと、前記指を下ろす位置において仮想コントローラのニュートラルポジションを確立するステップと、前記最初に指を下ろす位置に対する後続の指の動きを検出するステップと、前記最初に指を下ろす位置に対する後続の指の動きに基づくコントローラ入力パラメータを判定するステップと、前記判定されたコントローラ入力パラメータを示すコントローラ入力メッセージを生成するステップとを備えることを特徴とする方法。指を上げるイベントを検出するステップと、次に指を下ろす位置を検出するステップと、前記次に指を下ろす位置において前記仮想コントローラの前記ニュートラルポジションを再配置するステップと、前記指を下ろす位置および/または前記次に指を下ろす位置が、前記タッチセンサ式ディスプレイの境界近傍の領域で発生して、前記仮想コントローラの作動可能なエリアが境界で妨害されるような場合に、最も近い許容仮想コントローラ位置を判定するステップであって、前記指を上げるイベントは、所定の閾値期間、指と前記ディスプレイの接触がないことである、ステップとをさらに備えることを特徴とする請求項1に記載の方法。前記コントローラ入力パラメータを判定するステップが、前記最初に指を下ろす位置に対する前記後続の指の動きの方向、速度、および/または相対的な大きさを判定するステップを含み、前記最初に指を下ろす位置を検出するステップ、前記ニュートラルポジションを確立するステップ、前記後続の動きを検出するステップ、前記コントローラ入力パラメータを判定するステップ、および前記コントローラ入力メッセージを生成するステップが、前記コンピュータ装置上で実行されるアプリケーションプログラミングインターフェースによって行われ、前記方法は、前記コントローラ入力メッセージを、前記アプリケーションプログラミングインターフェースから、前記コンピュータ装置上で実行されるプログラムに出力するステップをさらに備えることを特徴とする請求項1に記載の方法。前記後続の動きの最中に前記タッチセンサ式ディスプレイに掛かる前記指の圧力を検出するステップをさらに備え、前記コントローラ入力メッセージを生成するステップが、前記検出された圧力のインジケーションを含み、前記圧力を検出するステップが、前記指に関連する接触のエリア内における経時的な変化から圧力を判定するステップ、および/または、前記タッチセンサ式ディスプレイに結合される圧力センサから圧力を検出するステップを含むことを特徴とする請求項1に記載の方法。指を上げるイベントを検出するステップと、補助コントロールゾーン内における次に指を下ろす位置を検出するステップと、前記補助コントロールゾーン内における次に指を下ろす位置を検出するステップの際に、前記ニュートラルポジションの再配置を抑制するステップと、前記補助コントロールゾーン内における前記次に指を下ろす位置に基づく補助コントロール入力パラメータを判定するステップとをさらに備え、前記生成されたコントローラ入力メッセージが、前記補助コントロール入力パラメータのインジケーションを含み、かつ、前記補助コントロールゾーンが仮想ボタンまたは方向パッドとして構成されることを特徴とする請求項1に記載の方法。ユーザの指の接触を検出するように構成されるタッチセンサを含むタッチセンサ式ディスプレイと、コンピュータ装置のプロセッサにより実行される仮想コントローラ入力モジュールとを備えるコンピュータ装置であって、前記仮想コントローラ入力モジュールが、前記タッチセンサ式ディスプレイ上で最初に指を下ろす位置を前記タッチセンサを介して検出し、前記最初に指を下ろす位置において仮想コントローラのニュートラルポジションを確立し、前記最初に指を下ろす位置に対する後続の指の動きを検出し、前記最初に指を下ろす位置に対する前記後続の指の動きに基づくコントローラ入力パラメータを判定し、前記判定されたコントローラ入力パラメータを示すコントローラ入力メッセージを生成するように構成されることを特徴とするコンピュータ装置。前記仮想コントローラ入力モジュールが、指を上げるイベントを検出し、次に指を下ろす位置を検出し、前記次に指を下ろす位置において前記仮想コントローラの前記ニュートラルポジションを再配置するように構成され、前記指は親指であり、前記仮想コントローラは仮想ジョイスティックコントローラであり、前記仮想コントローラ入力モジュールが前記ニュートラルポジションに固定されるコントロールアイコンを表示するように構成され、前記コントロールアイコンがユーザに前記コントロールの位置決めする視覚的インジケーションを提供することを特徴とする請求項6に記載のコンピュータ装置。前記コントローラ入力メッセージが、前記後続の動きの最中に前記指の前記ディスプレイに掛かる圧力のインジケーションを含み、前記圧力が、前記タッチセンサ式ディスプレイに結合される圧力センサから受信される信号に基づき、または、前記指に関連する接触のエリア内における経時的な変化に基づき検出されることを特徴とする請求項6に記載のコンピュータ装置。前記仮想コントローラ入力モジュールが、指を上げるイベントを検出し、補助コントロールゾーン内における次に指を下ろす位置を検出し、前記補助コントロールゾーン内における次に指を下ろす位置を検出する際に、前記ニュートラルポジションの再配置を抑制し、前記補助コントロールゾーン内における後続のユーザの接触に基づく補助コントロール入力パラメータを判定し、前記補助コントロール入力パラメータのインジケーションをさらに含むようにコントローラ入力メッセージを生成するようにさらに構成されることを特徴とする請求項6に記載のコンピュータ装置。前記補助コントロールゾーンが仮想ボタンまたは方向パッドとして構成され、前記仮想コントローラ入力モジュールが、前記タッチセンサ式ディスプレイ上で補助コントロールゾーン内に補助コントロールアイコンを表示するように構成されて、前記補助コントロールゾーンの位置のインジケーションを提供することを特徴とする請求項9に記載のコンピュータ装置。図1は、タッチセンサ式ディスプレイ用の仮想コントローラ14を示すコンピュータ装置10の一実施形態の斜視図である。コンピュータ装置10は、例えば、携帯電話、タブレットコンピュータ、または他のハンドヘルドコンピュータ装置として構成されうる。コンピュータ装置10は、図2に関して詳述される、ユーザの指の複数の接触を検出するように構成されるタッチセンサを含むマルチタッチディスプレイ12などのタッチセンサ式ディスプレイを備えることができる。さらに、コンピュータ装置10は、複数の接触を介してユーザからの入力を受信するように構成され、および仮想コントローラ14を制御するための入力方法を実行することができる。そのような方法については、図6に関して詳細に説明する。まず、図1を見ると、コンピュータ装置10は、ビデオゲームなどのプログラムの制御をユーザが行うことを可能にする構成において、マルチタッチディスプレイ12上に仮想コントローラ14を表示することができる。図示される実施形態において、仮想コントローラ14は、ビデオゲームの態様を制御するために使用されうる仮想ジョイスティックコントローラを含むゲームコントローラであり、それにより、ゲーム表示領域16においてゲームプレーが可能となる。典型的には、仮想コントローラは、ゲーム表示領域のディスプレイを過度に視覚的に妨げることのないように提示される。別の実施形態において、仮想コントローラ入力モジュールは、仮想コントローラの入力に対応する聴覚フィードバックをスピーカ/マイクユニット26を通して提供することができる。仮想コントローラ14は、ユーザの指の複数の接触に反応することができる。例えば、指は親指18であってよく、指は任意のさまざまな方向に移動してよく、この動きを仮想コントローラ14により1つまたは複数のコントローラ入力パラメータに変換することができる。コントローラ入力パラメータは、親指18の動きに対応する方向、速度、および/または相対的な大きさを含むことができる。その結果、ある実施形態において、1つまたは複数のコントロールアイコン20が、ユーザに制御の位置決めの視覚的インジケーションを提供することができ、これはユーザが指を動かすと更新される。1つまたは複数のコントロールアイコン20は、1つまたは複数の仮想コントローラ14および/またはユーザに異なる態様のゲームの制御を行わせることができる1つまたは複数の補助コントローラを表すことができる。コントロールアイコン20はそれぞれ、仮想ジョイスティック、ボタン、Dパッドボタン、スライダ、および、作動させてゲームの一態様を制御することができる任意の他の特徴の内の1つまたは複数であってよい。図1に例示される実施形態において、仮想コントローラがマイクロソフト登録商標社のXBOX登録商標コントローラを実装することは理解されるであろう。他のコントローラ実装が同様に利用されてよい。典型的には、仮想コントローラは、ゲーム表示領域のディスプレイを過度に視覚的に妨げることのないように提示される。従って、ある実施形態において、ディスプレイ上にコントローラアイコンが提供されず、ディスプレイ上のゲームプレー領域の可視エリアが最大化される。他の実施形態において、アイコンを部分的に透明にしてその下のゲームプレーを見えるようにすることができ、または、アイコンを短時間提示した後、徐々に消えるようにすることができる。図2は、図1のコンピュータ装置10のソフトウェアコンポーネントおよびハードウェアコンポーネントを例示する概略図である。コンピュータ装置10は、マルチタッチディスプレイ12、プロセッサ22、メモリユニット24、スピーカ/マイクユニット26、および大容量記憶装置ユニット28を含むが、それら全てが、1つまたは複数のデータバスを介してお互いに通信するように構成される。マルチタッチディスプレイ12は、可視画像を作成するための様々なディスプレイ技術を採用し、例えば、グラフィカルユーザインターフェースGUI32を含むことができる。マルチタッチディスプレイ12は、液晶ディスプレイLCD、または、例えば、複数の発光画素から成る有機発光ダイオードOLEDディスプレイとして構成されうる。マルチタッチディスプレイ12は、タッチセンサ30および圧力センサ34をさらに含むことができる。タッチセンサ30はマルチタッチディスプレイ12に連結されており、接触36などのユーザの指の複数の接触を検出することができる。圧力センサ34はマルチタッチディスプレイ12に結合されており、指に関連する接触36のエリア内における経時的な変化から、または圧力の増加に関連する電気特性における変化から、圧力を検出することができ、それによって歪みゲージとして機能する。マルチタッチディスプレイ12は、本開示の範囲から逸脱することなく、追加または代替のセンサを含むことができる。大容量記憶装置ユニット28は、仮想コントローラ入力モジュール42およびプログラム38を含む種々のプログラムおよびモジュールを含むことができ、これらは、メモリユニット24およびディスプレイ12を使用してプロセッサ22によって実行されて、本明細書に記載される種々の機能を達成することができる。さらに大容量記憶装置ユニット28は、例えば、マルチタッチディスプレイ12上でのGUI32の表示を制御することが可能な表示出力40を送信するように構成されうる、1つまたは複数のプログラム38を記憶することができる。種々のプログラムがオペレーティングシステムリソースと通信し、および当該リソースを利用するアプリケーションプログラミングインターフェースAPIを含むオペレーティングシステムをコンピュータ装置10が含みうることは理解されるであろう。ある実施形態において、仮想コントローラ入力モジュール42は、コンピュータ装置上にAPI48として実装されることができる。あるいは、仮想コントローラ入力モジュール42は、プログラム、ライブラリ、サービス、または、コンピュータ装置10上で実行される他のソフトウェアコンポーネントとして実装されることができる。仮想コントローラ入力モジュール42は、コンピュータ装置10のプロセッサ22により実行されうる。仮想コントローラ入力モジュール42は、マルチタッチディスプレイ12上において、タッチセンサ30、圧力センサ34、および/または追加のセンサを介して、ユーザの複数の指を接触として検出するように、および、それらの接触に対応する動きを検出するように構成されうる。このように、仮想コントローラ入力モジュール42は、1つまたは複数のセンサにより受信したデータを変換し、このデータに基づいてコントローラ入力メッセージ46を生成し、当該メッセージをプログラム38に送信することができる。例えば、仮想コントローラ入力モジュール42は、マルチタッチディスプレイ12上に最初に指を下ろす位置をタッチセンサ30を介して検出することができる。また、仮想コントローラ入力モジュール42は、仮想コントローラ14のニュートラルポジションを最初に指を下ろす位置において確立することができる。換言すると、仮想コントローラ入力モジュール42は、指がマルチタッチディスプレイ12に触れた時に最初の接触を検出することができる。さらに、仮想コントローラ入力モジュール42は、ニュートラルポジションに固定される、または制御可能にニュートラルポジションの中心に置かれる、コントロールアイコンを表示するように構成されうる。ニュートラルポジションを確立した後、仮想コントローラ入力モジュール42は、例えば、最初に指を下ろす位置に対する後続の指の動きを検出するように構成されうる。とりわけ、そのような接触および動きについて、図3から図6に関してさらに詳細に検討する。仮想コントローラ入力モジュール42は、例えば、最初に指を下ろす位置に対する後続の指の動きに基づくコントローラ入力パラメータ44を判定するように構成されうる。コントローラ入力パラメータ44の判定には、例えば、最初に指を下ろす位置に対する後続の指の動きの方向、速度、および/または、相対的な大きさの判定が含まれてよい。さらに、判定されたコントローラ入力パラメータ44を示すコントローラ入力メッセージ46は、仮想コントローラ入力モジュール42により生成され、および、プログラム38に送信されることができる。コントローラ入力メッセージ46は、上述したようにビデオゲームまたは他のプログラムとすることができる、仮想コントローラ入力モジュールとプログラム38との間の通信経路として機能する。このメッセージには、検出された後続の動きに基づくコントローラ入力パラメータ44、および/または、以下で検討する種々の他のコントローラ入力パラメータ、が含まれてよい。別のコントローラ入力パラメータ44の一例として、コントローラ入力メッセージ46は、後続の動きの最中にマルチタッチディスプレイ12に掛かる指の圧力のインジケーションを含んでもよく、圧力は圧力センサ34から受信される信号に基づいて検出される。検出される圧力は、例えば、指に関連する接触のエリア内における経時的な変化、または、歪みゲージにより検出される電気特性における変化に基づくものとすることができる。また、仮想コントローラ入力モジュール42は、他のコントローラ、例えば、仮想コントローラ14とは異なるゲームの態様を制御することができる補助コントローラに対するユーザの指の複数の接触を検出することができる。そのような補助コントローラは、補助コントロールゾーンと関連付けられてよく、これについては図5に関してさらに詳細に検討する。これらの補助コントローラからの出力に基づくコントローラ入力パラメータも、コントローラ入力メッセージ46に含まれうる。上述のように、仮想コントローラ入力モジュール42は、アプリケーションプログラミングインターフェースAPI48として実装されうる。従って、例えば、最初に指を下ろす位置の検出、ニュートラルポジションの確立、後続の動きの検出、コントローラ入力パラメータ44の判定、およびコントローラ入力メッセージ46の生成は、コンピュータ装置10上で実行されるアプリケーションプログラミングインターフェース48によって行われうる。さらに、アプリケーションプログラミングインターフェース48は、コンピュータ装置10上で実行されるプログラム38にコントローラ入力メッセージ46を出力することができる。他の実施形態において、仮想コントローラ入力モジュール42は、ドライバスタンドアロン実行可能プログラム、ライブラリ、サービス、または他のタイプのソフトウェアコンポーネントとして実装されうる。図3は、図1の仮想コントローラ14について相対的な動きを例示する、ニュートラルポジション50の図式的図である。図示されるように、ユーザの指は、上述のように、最初に指を下ろす位置に対応する接触を行い、最初に指を下ろす位置にニュートラルポジション50を確立することができる。ユーザは、ニュートラルポジション50に対して動くことにより仮想コントローラ14を制御することができる。例えば、ユーザは、後続の動きを行って、指を位置52に移動させることができ、または、ユーザは、後続の動きを行って、指を位置54に移動させることができる。各動きは、指がマルチタッチディスプレイ12に触れた状態を継続したまま発生し、プログラム36により別の方法で解釈される異なる制御入力として変換することができる。例えば、位置52への後続の動きでは、仮想の車両を前方および左に進ませることになり、一方、位置54への後続の動きでは、仮想の車両をバックさせることになってよい。後続の動きが、記載した以外の位置で検出されてよいことは理解されるであろう。図4は、図1の仮想コントローラ14についてのニュートラルポジション50の再配置の図式的図である。時折、ユーザはマルチタッチディスプレイ12の表面から指を上げ、続いて、次に指を下ろす位置で仮想コントローラ14の制御を継続することができる。仮想コントローラの再配置を行わないと、コンピュータ装置に対するユーザのグリップが次に指を下ろす位置におけるクリープを引き起こすことが、ユーザには分かる。その結果、ユーザは不注意に仮想コントローラを誤打し、満足のいかないユーザ経験、ビデオゲームでの悲劇的な結末などにつながることになる。この問題に対処するために、仮想コントローラ入力モジュール42は、そのようなクリープが検出されると、ニュートラルポジションを再配置するように構成される。この再配置は次のように実装されうる。図4に示すように、ユーザの指は、上述のように、最初に指を下ろす位置に対応する接触を行い、最初に指を下ろす位置に仮想コントローラ14のニュートラルポジション50を確立することができる。仮想コントローラ入力モジュール42は、指を上げるイベント58を検出するように構成されることができ、指を上げるイベント58は、例えば、所定の閾値期間、指とマルチタッチディスプレイ12の接触がないこととすることができる。仮想コントローラ入力モジュール42は、第1および第2の次に指を下ろす位置を検出し、ニュートラルポジションを、50B、50Cにおける対応する重心の位置に再配置、または、次に指を下ろす位置に対する他の位置に再配置するように構成されることができ、それにより、仮想コントローラが14B、14Cにて図示されるように再配置される。あるシナリオにおいて、ユーザは、ニュートラルポジションが、マルチタッチディスプレイ12の境界に実質的に近くなるように、かつ、それにより、結果として不完全な仮想コントローラとなってしまうように、指を位置決めするかもしれない。この問題を解決するために、ニュートラルポジションについて最も近い許容位置を判定することができ、また、コントロールアイコンを最も近い許容位置に表示することができる。従って、仮想コントローラ入力モジュール42は、指を下ろす位置および/または次に指を下ろす位置が、タッチセンサ式ディスプレイの境界近傍の領域で発生して、仮想コントローラの作動可能なエリアが境界で妨害されるような場合に、最も近い許容仮想コントローラ位置を判定するように構成されることができる。ある実施形態において、最も近い許容位置は、仮想コントローラの作動可能なエリア全体をディスプレイ上に配置させることが可能な、ユーザの指を下ろす位置に最も近い位置と見なすことができる。この特性は選択的に、例えば、初心者モードに含まれてよく、ユーザが仮想コントローラを容易に使いこなせるようにする。別の例において、検出されたニュートラルポジションは、最も近い許容位置の判定を行わずに却下されてよく、従って、コントロールアイコンは最も近い許容位置に表示されなくともよい。別の例において、不完全な仮想コントローラを有効とすることができる。例えば、ユーザが上級モードを選択する場合、不完全な仮想コントローラを有効とし、ゲームは制御できるが、境界が仮想コントローラの作動可能なエリアの一部を妨害するために、機能が縮小されてしまう場合がある。この場合、仮想コントローラには、仮想コントローラの作動可能なエリアにおいてコントロールアイコンの部分表示が含まれてよい。従って、不完全な仮想コントローラでは、ユーザにとって可視である仮想コントローラの一部分のみからの制御を有効とすることができる。同様に、ディスプレイの境界により遮られる仮想コントローラの一部分は、視界が遮られかつ作動不可能であるため、機能が縮小されてしまう。図5は、ユーザが、上述の仮想ジョイスティックなどの主コントロールアイコンの使用の後に補助コントロールアイコンを作動させようとすると検出されうるサムアップイベントの図式的図である。図5に示すように、ニュートラルポジション50は、仮想コントローラ14を制御するように確立されうる。一度確立されると、仮想コントローラ入力モジュール42が、指を上げるイベント58を検出することができ、かつ、さらに、例えば、補助コントロールゾーン56内の指接触60にて、次に指を下ろす位置を検出することができる。補助コントロールゾーン56は、仮想ボタンもしくは方向パッドDパッドコントローラ62、または他のユーザ入力機構として構成されうる。従って、補助コントロールアイコンは、仮想ボタン、Dパッド等の形状に対応する補助コントロールゾーン56内に表示されうる。そのような補助コントロールアイコンを表示することにより、仮想コントローラ入力モジュール42は、ユーザに、補助コントロールゾーン56の位置のインジケーションを提供することができる。さらに、仮想コントローラ入力モジュール42は、補助コントロールゾーン内におけるユーザの指の後続の位置または相対的な動きに基づく、補助コントロール入力パラメータを判定するように構成されうる。従って、仮想コントローラ入力モジュール42は、補助コントロール入力パラメータのインジケーションをさらに含むようにコントローラ入力メッセージ46を生成することができる。あるいは、補助コントロールゾーン56が他のプログラムに関するユーザ入力を有効にするように種々の他の構成で構成されうることは理解されるであろう。ある実施形態において、補助コントロールゾーン内における次に指を下ろす位置を検出した時に、仮想コントローラ入力モジュール42はニュートラルポジションの再配置を阻止するように構成されうる。この状況では、仮想コントローラ入力モジュール42は、ユーザの手が不慮のクリープによって動いたのではなく、主コントロールとして機能する仮想コントロールからの所定の距離および方向にある補助コントロールを制御するというユーザの意図によって動いたものと判定する。そのような場合、仮想コントローラ入力モジュール42は、仮想コントローラの再配置を抑制して、代わりに、補助コントロールゾーン内に位置決めされる補助コントロールとユーザが対話することを可能にする。このように、ユーザは、例えば、主ジョイスティックコントローラと補助Dパッドコントローラとの間を、自分の親指を前後に切り替えることができる。図6は、マルチタッチディスプレイ用の仮想コントローラ14を介して入力を受信するように構成されるコンピュータ装置のための方法600を例示するフロー図である。方法600は、ユーザの指の複数の接触を検出するように構成されるタッチセンサを含むマルチタッチディスプレイなどの、タッチセンサ式ディスプレイを有するコンピュータ装置での使用のための入力方法とすることができる。上述のコンピュータ装置10のソフトウェアコンポーネントおよびハードウェアコンポーネントを使用して、または、他の適切なコンポーネントを使用して、方法600が実行されうることは理解されるであろう。方法600は、ステップ602にて開始され、タッチセンサ式ディスプレイ上で最初に指を下ろす位置をタッチセンサを介して検出することを含む。方法600は、ステップ604に進み、上述のように、指を下ろす位置において仮想コントローラのニュートラルポジションを確立することを含む。方法600はステップ606に進み、最初に指を下ろす位置に対する後続の指の動きを検出することを含む。方法600はステップ608に進み、最初に指を下ろす位置に対する後続の指の動きに基づくコントローラ入力パラメータを判定することを含む。例えば、コントローラ入力パラメータは、マルチタッチディスプレイ上に表示される仮想ジョイスティックなどのコントロールアイコンへの後続の動きに関連する、方向、速度および/または大きさを含みうる。上述のように、他のコントローラ入力パラメータも検出されうる。方法600はステップ610に進み、後続の動きの最中にマルチタッチディスプレイに掛かる指の圧力を検出することを含む。そして、方法600はステップ612に進み、判定されたコントローラ入力パラメータを示すコントローラ入力メッセージを生成することを含み、かつ、検出された圧力のインジケーションをさらに含むことができる。ステップ612から、方法600はステップ614およびステップ622に非同期的に進む。ステップ622にて、方法600は、コントローラパラメータを含むコントローラ入力メッセージをコンピュータ装置上で実行されるプログラムに送信することを含む。ある実施形態において、ステップ602から622はAPIにより実行されることができ、一方、ステップ624は、コンピュータ装置上で実行されるプログラムにより実行されうる。従って、ステップ622から624への処理フローは、オペレーティングシステム/API空間を出て、プログラム空間に入るものとしてよい。ステップ624にて、方法は、プログラムにおいて、受信したコントローラ入力メッセージに基づき、GUI要素を調整することを含むことができる。ステップ624から、方法600は終了、あるいは、ステップ606へループして入力を検出することを継続することができる。ステップ612での決定に戻り、方法はステップ614に分岐してもよく、そこでは、方法は、例えば、所定の期間、ディスプレイに接触が無いことを検出したことに基づき、指を上げるイベントが発生したかどうかを判断することを含む。ステップ614に対する応答がいいえである場合、方法600はステップ606に進み、入力を検出することを再開する。ステップ614に対する応答がはいである場合、方法600はステップ616に進み、次に指を下ろす位置を検出することを含む。方法600はステップ618へ続き、補助コントロールゾーン内で次に指を下ろす位置が検出されているかどうかを判定することを含む。ステップ618に対する応答がいいえである場合、方法600はステップ604に進んで、ニュートラルなコントローラの位置を再確立する。換言すれば、ステップ604には、上述のように、次に指を下ろす位置において仮想コントローラのニュートラルポジションを再配置することが含まれうる。ステップ618に対する応答がはいである場合、ニュートラルポジションは再配置されない。正確には、方法600はステップ620に進み、補助コントロールゾーン内における次に指を下ろす位置に基づく補助コントロール入力パラメータを判定することを含む。例えば、補助コントロールアイコンは、補助コントロールゾーン内に表示されてよく、Dパッドコントローラとして構成されてよいものであり、一例の補助コントロール入力パラメータは、Dパッドコントローラを下ろすイベントであってよい。他の例についても上述された。ステップ620から、方法600はステップ612に戻り、そこでは、コントローラ入力メッセージを生成することは、補助コントロール入力パラメータのインジケーションを含むことができる。ある実施形態において、上述されたように、方法600の一部は、コンピュータ装置上で実行されるAPIによって実行されうる。例えば、APIは、最初に指を下ろす位置の検出、ニュートラルポジションの確立、後続の動きの検出、コントローラ入力パラメータの判定、および/または、コントローラ入力メッセージの生成を行うことができる。ある実施形態において、上述されたように、方法600の一部は、指を下ろす位置および/または次に指を下ろす位置などの指接触が、タッチセンサ式ディスプレイの境界近傍の領域において発生して、結果的に仮想コントローラの作動可能なエリアが境界により妨害されることになる場合に、最も近い許容仮想コントローラ位置を判定することをさらに含みうる。最も近い許容仮想コントローラ位置は、上述のように判定されうる。仮想コントローラが位置決めされることができ、およびコントロールアイコンは、指接触により検出されるニュートラルポジションではなく、最も近い許容仮想コントローラ位置において表示されることができる。他の例において、検出されたニュートラルポジションは、最も近い許容仮想コントローラ位置の表示を行わずに却下されてよく、または、仮想コントローラは、上述されたように、部分的に可視かつ作動可能とすることができる。上述のシステムおよび方法を実装することにより、相対的な入力を受信するように構成され、かつ、関連する補助コントロールを有することもできるタッチセンサ式ディスプレイ上に表示される仮想コントローラを使用して、ユーザがプログラムと対話することを可能にすることは理解されるであろう。さらに、仮想コントローラでは、そのニュートラルポジションを都合よく再配置して、ユーザの手の位置の任意の変更を追跡することができ、一方で、ユーザは、装置をグリップすることとコントロールの作動とを同時に行うことができる。その結果、コントローラの誤打が回避され、ユーザエクスペリエンスを向上させることができる。用語モジュール、プログラムおよびエンジンは、本明細書で使用されて、コンピュータ装置のプロセッサにより実行される時に1つまたは複数の特定の機能を実行するソフトウェアを指す。これらの用語は、例えば、個々またはグループの実行可能ファイル、データファイル、ライブラリ、ドライバ、スクリプト、データベースレコードが包含されることを意味する。本明細書に記載される実施形態は、これらのモジュール、プログラム、およびエンジンを組織化した一例を示すが、本明細書に記載される機能を、異なって組織化されるソフトウェアコンポーネントにより達成することができることは理解すべきである。さらに、マルチタッチディスプレイが、ディスプレイ上の複数の接触を同時に感知するディスプレイであることは理解されるであろう。理解すべきは、本明細書に記載される構成および/またはアプローチは例であり、かつ、これらの特定の実施形態または実施例は制限する意味を持つものとみなれるべきではない。なぜなら、多数の変形が可能であるからである。本明細書に記載される特定のルーチンまたは方法は、任意の数の処理戦略の内の1つまたは複数を表すことができる。故に、例示される種々の動作は、例示される順序で、他の順序で、並行して、または、何らかの事例を省略して、行われうる。同様に、上述の処理の順番は変更されうる。本開示の主題には、種々のプロセス、システム、および構成の、全ての新規で非自明的なコンビネーションおよびサブコンビネーション、ならびに、本明細書において開示される他の特徴、機能、動作および/またはプロパティ、のみならず、任意のおよび全てのその等価物が含まれる。