(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-22
(45)【発行日】2024-04-01
(54)【発明の名称】動的センサ割当
(51)【国際特許分類】
G06F 3/041 20060101AFI20240325BHJP
G06F 3/044 20060101ALI20240325BHJP
【FI】
G06F3/041 500
G06F3/041 580
G06F3/044
G06F3/041 400
(21)【出願番号】P 2021534749
(86)(22)【出願日】2019-11-22
(86)【国際出願番号】 US2019062830
(87)【国際公開番号】W WO2020131302
(87)【国際公開日】2020-06-25
【審査請求日】2022-11-11
(32)【優先日】2018-12-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517160525
【氏名又は名称】バルブ コーポレーション
(74)【代理人】
【識別番号】110001737
【氏名又は名称】弁理士法人スズエ国際特許事務所
(72)【発明者】
【氏名】ニートフェルド、スコット・ダグラス
【審査官】田中 洋行
(56)【参考文献】
【文献】米国特許出願公開第2010/0134423(US,A1)
【文献】特開2012-174251(JP,A)
【文献】特開2013-117915(JP,A)
【文献】米国特許出願公開第2011/0118025(US,A1)
【文献】特開2008-027183(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/03
G06F 3/041-3/047
(57)【特許請求の範囲】
【請求項1】
コントローラであって、
静電容量式パッドを有するセンサと、
1つ以上のプロセッサと、
前記1つ以上のプロセッサによって実行されると、前記1つ以上のプロセッサに以下を含む動作を実行させるコンピュータ実行可能命令を記憶する1つ以上の非一時的コンピュータ可読媒体と、を具備し、
前記コントローラに近接する1つ以上のオブジェクトに対応するデータを受信することと、
前記データに少なくとも部分的に基づいて、複数のコントローラの構成に対する個別スコアを決定することと、ここにおいて、前記個別スコアは、前記複数のコントローラの構成が前記コントローラのユーザの手のサイズ又は指のサイズに適合する確率を示す、
前記複数のコントローラの構成に対する前記個別スコアをランク付けすること、
前記コントローラの構成に対する前記個別スコアが最高ランクであることに少なくとも部分的に基づいて、前記複数のコントローラの構成の1つのコントローラの構成を選択することと、
ここにおいて、前記コントローラの構成は、前記1つ以上のオブジェクトを前記静電容量式パッドに関連付ける、
前記コントローラの構成に従って前記センサを構成すること、
を具備するコントローラ。
【請求項2】
前記コントローラの構成に従って前記センサを構成することは、
第1の容量式パッドを前記1つ以上のオブジェクトの第1のオブジェクトに関連付けることと、
第2の容量式パッドを前記1つ以上のオブジェクトの第2のオブジェクトに関連付けることと、
第3の容量式パッドを前記1つ以上のオブジェクトの第3のオブジェクトに関連付けることと、
を具備する請求項1に記載のコントローラ。
【請求項3】
前記動作は、
前記データを1つ以上のデバイスに送信することと、
前記コントローラの構成に関連する指示を受信することと、
をさらに具備し、
前記コントローラの構成を選択することは、前記指示に少なくとも部分的に基づいている
請求項1に記載のコントローラ。
【請求項4】
前記データは、第1のデータを含み、前記動作は、
前記静電容量式パッドによって検出された静電容量値を表す第2のデータを受信することと、
前記コントローラの構成に少なくとも部分的に基づいて、前記第2のデータを前記1つ以上のオブジェクトに関連付けることと、
前記第2のデータを前記1つ以上のオブジェクトに関連付けることに少なくとも部分的に基づいて、前記1つ以上のオブジェクトの前記コントローラに対する近接度を決定することと、
前記1つ以上のオブジェクトの前記近接度を表す第3のデータを送信することと、
をさらに具備する請求項1に記載のコントローラ。
【請求項5】
前記データは、第1のデータを含み、前記コントローラの構成は、第1のコントローラの構成を含み、前記動作は、
前記コントローラに近接する前記1つ以上のオブジェクトに対応する第2のデータを受信することと、
前記1つ以上のオブジェクトを前記センサの
静電容量式パッドに関連付ける第2のコントローラの構成を選択することと、
前記第2のコントローラの構成に従って前記センサを構成すること、
をさらに具備する請求項1に記載のコントローラ。
【請求項6】
前記第1のコントローラの構成は、
前記1つ以上のオブジェクトのうちの第1のオブジェクトに割り当てられた前記静電容量式パッドの第1のグループと、
前記1つ以上のオブジェクトのうちの第2のオブジェクトに割り当てられた前記
静電容量式パッドの第2のグループと、を具備し、
前記第2のコントローラの構成は、
前記1つ以上のオブジェクトのうちの前記第1のオブジェクトに割り当てられた前記
静電容量式パッドの第3のグループと、
前記1つ以上のオブジェクトのうちの前記第2のオブジェクトに割り当てられた前記
静電容量式パッドの第4のグループと、
を具備する請求項
5に記載のコントローラ。
【請求項7】
前記
静電容量式パッドの前記第1のグループは、前記
静電容量式パッドの前記第3のグループと異なる、又は
前記
静電容量式パッドの前記第2のグループは、前記
静電容量式パッドの前記第4のグループと異なる、
のうちの少なくとも1つである、請求項
6に記載のコントローラ。
【請求項8】
前記1つ以上のオブジェクトは、1つ以上の指を含む請求項1に記載のコントローラ。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本特許出願は、2018年12月18日出願の米国一般特許出願第16/223,956号に対する優先権を主張し、その記載内容を、完全な形で引用することで本明細書に組み込む。
【背景技術】
【0002】
ハンドヘルドコントローラは、例えば、遠隔コンピューティングデバイスに入力を供給するためのアーキテクチャアレイで使用される。例えば、ハンドヘルドコントローラは、ゲーム産業で利用され、プレーヤーが、ゲームアプリケーション、ゲームコンソール、ゲームサーバ、及び/又はそれに類するものを実行するパーソナルコンピューティングデバイスとやりとりできる。ハンドヘルドコントローラは、仮想現実(VR)環境で使用され得、握持、投出、絞り等の自然な相互作用の模擬を、できる限り可能にする。現在のハンドヘルドコントローラが、ある範囲の機能を提供する一方、さらなる技術的改善は、ユーザ体験を強化し得る。
【図面の簡単な説明】
【0003】
【
図1】
図1は、本開示の典型的な実施形態に係る、手保持具が開位置にある、コントローラを示す。
【
図2】
図2は、本開示の典型的な実施形態に係る、ユーザの掌を上にして開いた手の中にある、
図1のコントローラを示す。
【
図3】
図3は、本開示の典型的な実施形態に係る、ユーザの閉じた手の中にある、
図1のコントローラを示す。
【
図4】
図4は、本開示の典型的な実施形態に係る、ユーザの掌を下にして閉じた手の中にある、
図1のコントローラを示す。
【
図5】
図5は、手保持具が開位置にある、本開示の典型的な実施形態に係る、一対のコントローラを示す。
【
図6】
図6は、本開示の典型的な実施形態に係る、
図1のコントローラのタッチセンサを示す。
【
図7A】
図7Aは、本開示の典型的な実施形態に係る、
図6のタッチセンサの第1のコントローラの構成を示す。
【
図7B】
図7Bは、本開示の典型的な実施形態に係る、
図6のタッチセンサの第2のコントローラの構成を示す。
【
図7C】
図7Cは、本開示の典型的な実施形態に係る、
図6のタッチセンサの第3のコントローラの構成を示す。
【
図8】
図8は、本開示の典型的な実施形態に係る、コントローラのタッチセンサを構成するための典型的なプロセスを示す。
【
図9】
図9は、本開示の典型的な実施形態に係る、コントローラのタッチセンサを構成するための典型的なプロセスを示す。
【
図10】
図10は、本開示の典型的な実施形態に係る、コントローラのタッチセンサを構成するための典型的なプロセスを示す。
【
図11】
図11は、本開示の典型的な実施形態に係る、コントローラのタッチセンサを構成するための典型的なプロセスを示す。
【
図12】
図12は、本開示の典型的な実施形態に係る、
図1のコントローラの典型的な構成要素を示す。
【発明を実施するための形態】
【0004】
本明細書で特に記載されるのは、タッチセンサ式制御部を有するハンドヘルドコントローラと、タッチセンサ式制御部の出力を使用するための方法と、ハンドヘルドコントローラを操作するユーザの手のサイズ及び/又は握りに基づいて、タッチセンサ式制御部を動的に調整するための方法である。いくつかの事例において、本明細書記載のハンドヘルドコントローラは、遠隔デバイス(例:テレビ、オーディオシステム、パーソナルコンピューティングデバイス、ゲームコンソール等)を制御可能で、ビデオゲームプレイ及び/又はそれに類するものに関与可能である。
【0005】
ハンドヘルドコントローラは、1つ以上のジョイスティック、トラックパッド、トラックボール、ボタン、又はハンドヘルドコントローラを操作するユーザにより制御可能な他の制御部等の1つ以上の制御部を具備し得る。追加的に、又は代替的に、ハンドヘルドコントローラは、ハンドヘルドコントローラのそれぞれの制御部で、ユーザの存在、近接度、位置、及び/又はジェスチャーを検出するように構成されたタッチセンサを含む1つ以上の制御部を具備し得る。タッチセンサは、容量性タッチセンサ、力抵抗性タッチセンサ、赤外線タッチセンサ、音波を利用して、対象の存在又は位置、対象の近接度を検出するタッチセンサ、及び/又はハンドヘルドコントローラでのタッチ入力又はハンドヘルドコントローラに対する1つ以上の対象の近接度を検出するために構成された他の任意の種類のセンサを具備し得る。さらに、いくつかの事例において、タッチセンサは、静電容量式パッドを具備する場合がある。
【0006】
タッチセンサは、ハンドヘルドコントローラの1つ以上のプロセッサに通信的に結合して、ハンドヘルドコントローラでタッチ入力を示すタッチセンサデータを送信する。タッチセンサデータはまた、ハンドヘルドコントローラに対する1つ以上の指の近さ又は近接度を示し得る。タッチセンサデータは、潜在的に経時的な変化をする際に、ハンドヘルドコントローラ上のタッチ入力の位置を示し得及び/又はハンドヘルドコントローラに対する指の位置を示し得る。例えば、ユーザの指がハンドヘルドコントローラの上をホバーする又はそれから離れて配置されれば、タッチセンサデータは、指がどの程度ハンドヘルドコントローラに対して伸ばされ又は近接しているかを示し得る。
【0007】
ハンドヘルドコントローラは、タッチセンサデータを受信し、ユーザの指の存在及び/又はハンドヘルドコントローラ上の指の場所(又は「位置」)を決定するように構成される論理回路(例:ソフトウェア、ハードウェア、ファームウェア等)を含み得る。例えば、タッチセンサが静電容量式パッドを具備する事例において、異なる領域又はグループの静電容量式パッドは、ユーザの異なる指を表示又はそれに対応する場合があり、論理回路は、キャパシタンスを検出する静電容量式パッドの領域及び/又はグループを決定し得る。ハンドヘルドコントローラは、この情報を、ゲーム又はハンドヘルドコントローラに触る又は近接する指で実行するジェスチャー等の、ハンドヘルドコントローラで1つ以上の操作を実行するための他のアプリケーションに提供し得る。例えば、ハンドヘルドコントローラは、タッチセンサデータ又は他の表示値を、ゲームコンソール、遠隔システム、他のハンドヘルドコントローラ、又は他のコンピューティングデバイスに送信可能である。コンピューティングデバイスは、タッチセンサデータ及び/又は表示値を利用可能で、ユーザの手のジェスチャーに対応する画像データの生成等の1つ以上の動作を実行する。
【0008】
ハンドヘルドコントローラ(又はハンドヘルドコントローラに通信的に結合されたコンピューティングデバイス)の論理回路は、キャパシタンス値等のタッチセンサデータを使用可能で、ユーザに対するコントローラの構成を識別する。ハンドヘルドコントローラ、又はコンピューティングデバイスは、ユーザのそれぞれの指に対する静電容量式パッドの異なる割当を表示する異なるコントローラの構成を記憶し得る。すなわち、上述の通り、タッチセンサの静電容量式パッドは、グループ分けが可能で、各グループは、手のそれぞれの指(例:小指、薬指、中指、及び人さし指)に対応又は関連し得る。それぞれのコントローラの構成に対して、タッチセンサの静電容量式パッドは、手のそれぞれの指に関連し得る。したがって、データをタッチセンサから受信する場合、論理回路は、タッチセンサデータをユーザの対応する指に関連付け可能で、次に、該データは、手のジェスチャーを識別するために利用可能である。言い換えれば、手のそれぞれの指に対応する静電容量式パッドを認識することで、論理回路が、ハンドヘルドコントローラを掴持する指及び/又はハンドヘルドコントローラを掴持しない指等のユーザの対応する手のジェスチャーを決定できる。例えば、論理回路は、ユーザが、ハンドヘルドコントローラを小指ではなく、中指と薬指で掴持することを決定し得る。したがって、手のそれぞれの指に対応する静電容量式パッドが、又はグループの静電容量式パッドを認識することで、論理回路は、このジェスチャーの表示値を、ジェスチャーに関連する所定の動作を実行又はジェスチャー(例:中指と薬指が対象を掴持する一方、小指は対象を掴持しない)に対応する画像データを生成するように構成されたアプリケーションに提供し得る。さらに、検出されたキャパシタンス値等のハンドヘルドコントローラに対する指の近接度に関連するタッチセンサデータを利用することにより、ハンドヘルドコントローラの論理回路は、各指に関連するカール又は伸びの量を決定可能である(例:指がどの程度の距離でハンドヘルドコントローラから離れて配置されているか)。
【0009】
ハンドヘルドコントローラは、ハンドヘルドコントローラを操作するユーザ又は異なるユーザの様々な握りを動的に調整、検出、及び収容し得る。例えば、ユーザの握りが、ユーザがハンドヘルドコントローラを把持する方法、ユーザがプレーするゲーム、及び/又はユーザの手の物理的特徴(例:指の長さ、指の幅等)によって変化し得る。したがって、タッチセンサは、ユーザの異なる握りに適合し得る。さらに、ユーザによっては、ハンドヘルドコントローラを把持する方法が異なるので、タッチセンサは、ユーザの握りに適合可能である。言い換えれば、異なるユーザが類似の手を有する場合でさえ、又はユーザが、ゲームプレー中に進行するにつれて、ユーザの握りは変わり得る(例:ユーザの指は、ハンドヘルドコントローラの異なる部分を掴持し得る)。様々な握りを収容し、ゲームプレー体験を強化するために、論理回路は、異なるコントローラの構成にしたがって、タッチセンサの静電容量式パッドを再配置又は再結合し得る。それをする際に、コントローラの論理回路は、タッチセンサデータを、ユーザの特定の指に関連付け可能で、ユーザの手のジェスチャーを正確に表現する。
【0010】
簡潔に例示するため、ハンドヘルドコントローラ(例:ゲームコンソール)に通信的に結合されたハンドヘルドコントローラ又はコンピューティングデバイスは、機械学習手法及びタッチセンサデータを使用して、スコアを生成可能である。ハンドヘルドコントローラ、又はコンピューティングデバイスは、最高位のスコアを備えたコントローラの構成(又は厳密に適合したコントローラの構成)を選択し、選択されたコントローラの構成にしたがって、ハンドヘルドコントローラを構成し得る。このような構成は、タッチセンサの特定の静電容量式パッドを、ユーザの指(例:中指、薬指、小指等)にマッピング可能である。すなわち、ゲームプレー(例:VR環境)においてユーザの手のジェスチャーを正確に表現するために、ハンドヘルドコントローラ(又はコンピューティングデバイス)は、コントローラの構成の選択に基づいて、特定の指に対応するタッチセンサの静電容量式パッドを構成可能である。続いて、タッチセンサデータの受信において、ハンドヘルドコントローラは、静電容量式パッドを対応する指に関連付け可能で、それによって、ハンドヘルドコントローラに対する指の位置及び/又は近接度を認識する。しかしながら、静電容量式パッドはまた、例えば、キャパシタンスを測定することで、ハンドヘルドコントローラに対し指の近接度を測定可能である。コントローラの構成を連続して記録することにより、ハンドヘルドコントローラは、ユーザの握りに動的に適合し、静電容量式パッドをユーザのそれぞれの指に関連付け可能である。ハンドヘルドコントローラは、したがって、タッチセンサの特定の静電容量式パッドを再割当又は再配置可能で、ユーザの特定の指に関連付ける。次に、タッチセンサデータは、(例:VR環境において)ユーザの手を正確に表現するために使用可能である。
【0011】
ハンドヘルドコントローラはまた、タッチセンサ及び/又は圧力センサにより、ハンドヘルドコントローラでタッチ入力に関連する力の量を感知、検出、又は測定可能である。例えば、ユーザの指が、ハンドヘルドコントローラを押す際に、タッチセンサ及び/又は圧力センサの上に配設されたカバー等のコントローラの部分は、ゆがんで、タッチセンサ及び/又は圧力センサに接する場合がある。圧力センサは、指のタッチ入力が、力データを、1つ以上のプロセッサに提供する結果となるように、1つ以上のプロセッサに結合し得る。圧力センサは、タッチ入力の力の量を示す力データを、1つ以上のプロセッサに提供し得る。いくつかの事例において、圧力センサは、力感知レジスタ(FSR)センサ、圧電センサ、ロードセル、歪みゲージ、容量性力の測定値を測定する容量式圧力センサ、又は他の任意の種類の圧力センサを具備可能である。さらに、いくつかの事例において、タッチセンサデータ及び/又は力データは、ともに解釈され、所定の命令(例:絞り)と関連付け可能である。
【0012】
従来のハンドヘルドコントローラが、タッチ入力を感知するためのセンサを具備し得る一方、従来のコントローラは、タッチセンサを静的にマッピングして、特定の指に関連付ける。しかしながら、このようなマッピングは、静電容量式パッド等のタッチセンサの部分を特定の指に再割当せず、又はユーザの握りによっては、タッチセンサを異なる指に動的に適合させない。この静的マッピングにより、ゲームプレー環境内のユーザ体験が、決して理想的にならない結果になり得る。例えば、タッチセンサデータが、ユーザのそれぞれの指に正確にマッピングしないと、生成された手の画像は、ハンドヘルドコントローラを操作するユーザの手を正確に描写しない場合がある。本明細書記載の手法やシステムは、既存の技術を改良して、タッチセンサの静電容量式パッドを動的に割当て又は静電容量式パッドをユーザの特定の指に相関させる。それをする際に、タッチセンサデータから生成された画像データは、ユーザの指を正確に描写可能で、ゲームプレー体験及び/又はハンドヘルドコントローラにより制御される他のアプリケーションの品質向上が可能になる。
【0013】
図1は、1つ以上のタッチセンサ式制御部を具備可能な、典型的なコントローラ100の正面図である。本明細書記載の通り、タッチセンサ式制御部は、ユーザの手のジェスチャーを作成するために、コントローラ100及び/又は他のコンピューティングデバイスにより利用されるタッチセンサデータを生成可能である。タッチセンサデータは、コントローラ100を操作するユーザの指の存在、位置、近さ、及び/又はジェスチャーを表示可能である。いくつかの事例において、コントローラ100は、VRビデオゲームシステム、ロボット、武器、又は医療機器等の電子システムにより利用可能である。
【0014】
図示の通り、コントローラ100は、ハンドル112を有するコントローラ本体110と、手保持具120と、を具備してよい。コントローラ本体110は、コントローラ100のハンドル112と遠位端部111との間に配設されたヘッド部を具備可能で、該ヘッド部は、1つ以上の親指操作式制御部114、115、116を含み得る。例えば、親指操作式制御部は、傾斜ボタン、又は他の任意のボタン、つまみ、輪部分、ジョイスティック、又はコントローラ100がユーザの手に保持される場合の通常操作中に、ユーザの親指により都合よく操作されるトラックボールを含んでよい。
【0015】
ハンドル112は、略円筒形の管状ハウジングを具備し得る。これに関連して、略円筒形状は、一定の外径、又は完全に円形の断面を有する必要がない。
【0016】
ハンドル112は、ハンドル112の外面の周りに部分的又は完全に、空間的に分布された複数の静電容量式センサを有する近接センサ及び/又はタッチセンサを具備し得る。例えば、静電容量式センサは、ハンドル112の外面下方に空間的に分布可能及び/又はハンドル112の外面の下に埋め込み可能である。静電容量式センサは、ユーザが、ハンドル112を触る、掴持する、又は握持するのに応答可能で、ユーザの1つ以上の指の存在、位置、及び/又はジェスチャーを識別する。さらに、静電容量式センサは、1つ以上の指が、ハンドル112の上をホバーする又は配置されるのに応答し得る。例えば、ユーザの1つ以上の指は、コントローラ100を握持又はその周りを包まないが、その代わりに、ハンドル112の外面の上に移動させ得る。このようなものを収容し、指の近接度及び/又はタッチ入力を検出するために、ハンドル112の外面は、電気的絶縁材料を含み得る。
【0017】
手保持具120は、コントローラ100に結合可能で、ハンドル112の外表面に対して、ユーザの掌を付勢する。
図1に示す通り、手保持具120は、開位置にある。手保持具120は、オプションとして、ユーザがコントローラ100を握持する場合、手保持具120とコントローラ本体110との間にユーザの手を挿入しやすくするために、湾曲した弾性部材122により、開位置で付勢し得る。例えば、湾曲した弾性部材122は、弾性的に曲がる可撓性の金属片を具備し得、又は略弾性的に曲がり得るナイロン等の代替プラスチック材料を具備し得る。布材料124(例:ネオプレンシース)は、湾曲した弾性部材122を部分的又は完全に覆うことが可能で、衝撃を吸収又はユーザの着け心地を向上させる。その代わりとして、吸収材又は布材料124は、ユーザの手に面する湾曲した弾性部材122の側面のみに付着可能である。
【0018】
手保持具120は、例えば、ばね付勢されたチョック128により締め付けられるドローコード126を含むことで、長さが調節可能である。ドローコード126は、オプションとして、ストラップとして使用するために余分な長さを有してもよい。いくつかの実施例において、吸収材又は布材料124は、ドローコード126に取り付けられてよい。さらに、湾曲した弾性部材122は、締め付けられたドローコード126の張力によって予荷重がかけられていてよく、このような実施形態では、湾曲した弾性部材122が(手保持具120を開位置に付勢するために)手保持具120に付与する張力により、ドローコード126が締め付けられていないときに手保持具は自動的に開く。しかしながら、クリート、弾性バンド(手が挿入される場合に一時的に伸びるので、手の甲を押すために弾性張力を加える)、長さ調節を可能にするフックアンドループストラップアタッチメント等の、手保持具120の長さを調節するための代替的な従来の方法を使用してよい。
【0019】
手保持具120は、ハンドル112と追跡部材130との間に配設可能で、ユーザの手の甲に接してよい。追跡部材130は、コントローラ本体110に固定可能で、オプションとして、2つのノーズ部132、134を具備し得、各ノーズ部は、追跡部材130の2つの対向する遠位端部の対応する1つから突出し得る。いくつかの事例において、追跡部材130は、略弓形形状を有する円弧部を含み得る。いくつかの事例において、追跡部材130は、その中に配設された追跡トランスデューサを含む場合があり、各々の突出するノーズ部132、134に少なくとも1つの追跡トランスデューサが配設される。コントローラ本体110は、遠位端部111に隣接して配設される追跡トランスデューサ等の追加の追跡トランスデューサを具備し得る。
【0020】
コントローラ100は、コントローラ本体110内に配設された充電式電池を具備し得、手保持具120は、充電式電池に電気的に結合された電導性充電ワイヤを具備し得る。コントローラ100はまた、電子システム(例:ゲームコンソール)の残部との通信用の無線周波数(RF)送信機を具備し得る。充電式電池は、RF送信機に電力供給し得、送信されるRFは、親指操作式制御部114、115、116、ハンドル112内のタッチセンサ(例:静電容量式センサ)、及び/又は追跡部材130内の追跡センサに応答し得る。
【0021】
いくつかの事例において、コントローラ本体110は、ユーザの指からタッチセンサまで力を伝達するのに十分な剛性があり、ユーザの指とタッチセンサとの間で静電容量結合を可能にするのに十分に薄い、射出成形プラスチック又は他の任意の材料の単一片を含んでよい。その代わりとして、コントローラ本体110と追跡部材130は、別々に作製可能で、後でともに組立可能である。
【0022】
図2は、コントローラ100の正面図であって、ユーザの左手をその中に挿入するものの、コントローラ本体110を握持しない操作中のコントローラ100を示す。
図2において、手保持具120は、ユーザの手の上で締め付けられ、ハンドル112の外表面に対してユーザの掌を物理的に付勢する。本明細書で、手保持具120は、閉じられる場合、手がコントローラ本体110を握持しない場合でさえ、コントローラ100をユーザの手の中に保持し得る。図示の通り、手保持具120をユーザの手の周りできつく閉じる場合、手保持具120は、コントローラ100がユーザの手から落ちないように防止可能である。したがって、いくつかの実施形態において、手保持具120により、ユーザは、コントローラ100が実際に、手から離れ、投げ出され、及び/又は床上に落下することなく、コントローラ100から手を放すことが可能で、追加の機能を可能にする場合がある。例えば、ユーザのコントローラ本体110のハンドル112の握持の解放や復元が感知されると、解放又は把持は、ゲームに組み込み可能で、投出又は握持する対象を表示する(例:VR環境において)。手保持具120により、このような機能を繰り返し安全に達成可能にする場合がある。
【0023】
手保持具120はまた、ユーザの指を、タッチセンサに対して過度に移動させないことが可能で、ハンドル112上の指の動き及び/又は配置をより確実に感知する。
【0024】
図3及び
図4は、ユーザの手がコントローラ本体110を握持して、ユーザの手にコントローラ100を保持する間、手保持具120を締め付ける操作中のコントローラ100を示す。
図3及び
図4に示す通り、ユーザの親指は、親指操作式制御部114、115、116の1つ以上を操作可能である。
【0025】
図5は、特定の実施形態において、コントローラ100が、類似の右コントローラ500を具備する、一対のコントローラ内の左コントローラであり得ることを示す。特定の実施形態において、コントローラ100及び500は、例えば、VR体験を強化するために、同時に、ユーザの両手の動きと握りを(ともに)追跡し得る。
【0026】
図6は、コントローラ100に対する1つ以上の対象(例:指)の近接度に加えて、コントローラ(例:コントローラ100)のタッチ入力を検出するように構成された複数の静電容量式パッド602を有する近接センサ又はタッチセンサ600を示す。いくつかの実施形態において、タッチセンサ600は、追加的に、又は代替的に、コントローラ100でのタッチ入力、又は赤外線又は音響センサ等のコントローラ100に対する指の近接度を検出するように構成された異なる種類のセンサを具備し得る。
図6に示す通り、タッチセンサ600の静電容量式パッド602は、必ずしも同一サイズではなく、その間で必ずしも略同一の間隔を有しない。しかしながら、いくつかの実施形態において、静電容量式パッド602は、その間で略同一の間隔と、略同一のサイズを備えたグリッドを含み得る。
【0027】
タッチセンサ600は、静電容量式パッド602が配設される、可撓性のプリント回路アセンブリ(FPCA)604を具備し得る。FPCA604は、1つ以上のプロセッサを含むコントローラ100のプリント回路基板(PCB)を接続するためのコネクタ606を具備し得る。静電容量式パッド602は、FPCA604上に配設されたトレース608により、コネクタ606に通信的に接続可能である。静電容量式パッド602は、トレース608とコネクタ606により、タッチセンサデータ(例:キャパシタンス値)をコントローラ100の1つ以上のプロセッサに提供可能である。本明細書で詳細に記載の通り、タッチセンサデータは、コントローラ100に対する指の近接度を示し得る。すなわち、タッチセンサ600は、個々の静電容量式パッド602のキャパシタンスを測定可能で、キャパシタンスは、(例:コントローラ100のハンドル112を触る又はその上に配設される)コントローラ100に対する指の近接度に関連付け可能である。
【0028】
タッチセンサ600は、コントローラ本体110のハンドル112内に取り付けされた構造体、又はコントローラ本体110のハンドル112の下に取り付けされた構造体等のコントローラ本体110内の内面に結合可能である。それをする際に、タッチセンサ600は、ハンドル112に対する指の近接度を検出するために、ハンドル112の外面の下に配設可能である。タッチセンサ600は、コントローラ100に結合される場合、ハンドル112の外周又は部分の周りに角度を付けて伸びることができる。例えば、FPCA604は、ハンドル112でコントローラ本体110の内面に結合(例:粘着)可能で、ハンドル112に対する指の近接度を検出する。いくつかの実施形態において、タッチセンサ600は、ハンドル112の外周の周りに少なくとも100度であるが170度を越えないで延伸可能である。追加的に、又は代替的に、タッチセンサ600は、ハンドル112の外面等のコントローラ110の外面に結合可能である。
【0029】
静電容量式パッド602は、互いに間隔をあけて配置可能で、コントローラ100に対する異なる指、又はユーザの指の異なる部分(例:指先)の近接度を検出する。例えば、
図6に示す通り、静電容量式パッド602は、列、行、グリッド、組、サブセット、又はグループ610に配列される。いくつかの事例において、静電容量式パッド602の個々のグループ610は、ユーザの特定の指(例:人さし指、中指、薬指、小指)に対応可能である。追加的に、又は代替的に、静電容量式パッド602の多重グループ610又は多重グループ610からの静電容量式パッド602は、ユーザの単一の指に対応可能である。例えば、2つ以上のグループ610は、ユーザの指(例:中指)に対応可能である。
【0030】
図6に示す通り、タッチセンサ600は、静電容量式パッド602の6つのグループ610を具備し得、グループ610は、FPCA604の面にわたって水平に延伸する。しかしながら、いくつかの実施形態において、タッチセンサ600は、7つ以上のグループ610又は6つ未満のグループ610を具備可能である。
【0031】
静電容量式パッド602をグループ610に配列、又は特定の静電容量式パッド602を特定のグループ610に割り当てることで、コントローラ100(又は別の通信的に結合されたコンピューティングデバイス)は、静電容量式パッド602からタッチセンサデータ(例:キャパシタンス値)を利用可能で、ユーザの手のジェスチャーを生成する。すなわち、タッチセンサ600は、コントローラ100を掴持するユーザの指の存在、位置、及び/又はジェスチャーを検出するのに使用するためにタッチセンサデータを生成可能である。これらの事例において、ユーザがコントローラ100を特定の指で掴持し、コントローラ100上で特定の指をホバーし、静電場が生じるように、電圧を静電容量式パッド602に印加する。したがって、ユーザの指等の導体が、静電容量式パッド602に触る又は接近する場合、キャパシタンスの変化が生じる。キャパシタンスは、RC発振回路をタッチセンサ600に接続し、時定数(したがって、振動の周期と周波数)がキャパシタンスとともに変化することを認識することで、感知可能である。このように、ユーザが、コントローラ100から指を解放し、コントローラ100を特定の指で掴持し、又はコントローラ100に接近する際に、コントローラ100は、キャパシタンスの変化を検出可能である。
【0032】
静電容量式パッド602、又は各静電容量式パッド602上のグリッド内の個々の静電容量式センサのキャパシタンス値は、静電容量式パッド602に対する導体の近接度に加えて、導体の位置を決定するために使用される。すなわち、ユーザがコントローラ100を掴持する際、特定の指及び/又は指の部分は、コントローラ100のハンドル112に接触可能である。指が導体として作用するため、ユーザがハンドル112に触る、ハンドル112の下にあるそのような静電容量式パッド602は、キャパシタンス値を測定可能である。これらのキャパシタンス値は、ユーザのジェスチャーを識別するのに使用するため、経時的に測定される。しかしながら、ユーザが、指又は指の特定の部分をコントローラ100から離れてホバーする事例において、キャパシタンス値は、指がどの程度コントローラ100から離れて配置されるかを表す又は関連され得る。タッチセンサデータは、したがって、コントローラ100に対する指の近接度及び/又は位置を決定するために利用可能である。ユーザの握りが、ゲームプレー体験全体にわたって又は異なるユーザ間で変化し得る際に、指をタッチセンサ600の異なる静電容量式パッド602に関連付けることは利点になり得る。例えば、第1の事例で、ユーザは、広い握りを有し得、タッチセンサ600のすべての静電容量式パッド602は、画像データの作成で使用するためのキャパシタンス値を検出可能である。第2の事例では、ユーザの握りは狭い場合があり、タッチセンサ600の決してすべてではない静電容量式パッド602は、画像データの作成で使用するためのキャパシタンス値を検出可能である。すなわち、手のジェスチャーを描写する正確な画像データを生成するために、静電容量式パッド602は、手の特定の指に動的に相関又は関連付け可能である。言い換えれば、ユーザの対応する手のジェスチャーを生成するために、コントローラ100又は通信的に結合されたコンピューティングデバイスは、タッチセンサデータ(例:キャパシタンス値)を利用可能である。手のそれぞれの指に関連付けられたタッチセンサ600の静電容量式パッド602を認識することで、タッチセンサ600により検出されたキャパシタンス値を使用して、対応する手のジェスチャーが生成可能である。したがって、ユーザの握りを変えることで、静電容量式パッド602は、キャパシタンス値が手のジェスチャーを描写する正確な画像データを生成するように、異なる指を再編成又はそれと関連付け可能である。
【0033】
1つ以上のプロセッサは、指の解剖学的に可能な動きを例示するアルゴリズム及び/又は機械学習手法を具備可能で、タッチセンサデータをうまく使用して、ユーザの手の開き、指の指さし、又はコントローラ100に対する又は互いに対する指の他の動きを検出する。このように、コントローラ100及び/又はユーザの指の動きは、VRゲームシステム、防御システム、医療システム、産業ロボット又は機械、又は別のデバイスを制御する一助となり得る。VRアプリケーション(例:ゲーム、トレーニング等用)において、タッチセンサデータは、ハンドル112の外面からユーザの指の感知された解放に基づいて、対象を解放させるために利用可能である。追加的に、又は代替的に、コントローラ100がやりとりする、通信的に結合されたコンピューティングデバイスの1つ以上のプロセッサ(例:ホストコンピューティングデバイス、ゲームコンソール等)は、タッチデータを使用して、ジェスチャーを検出可能である。
【0034】
いくつかの事例において、静電容量式パッド602はまた、コントローラ100の関連部分に加えられる力(例:少なくとも1つの親指操作式制御部114、115、116等に対する、ハンドル112の外面に加えられる力)の量に対応するキャパシタンス値を検出可能である。追加的に、又は代替的に、タッチセンサ600、又はコントローラ100の他の部分(例:ハンドル112)は、力感知レジスタ(FSR)を具備可能で、可変抵抗を使用して、FSRに加えられる力の量を測定する。コントローラ100が、ユーザの手により保持されるように構成可能なため、FSRは、コントローラ本体110のハンドル112内に取付けられた構造体、又はコントローラ本体110の下に取付けられた構造体等のコントローラ本体110内の構造体の平面上に取り付け可能である。特定の実施形態において、FSRは、静電容量式パッド602とともに、ユーザによる握持の開始と、ユーザによるそのような握持の相対強度の両方の感知を容易にし得、特定のゲームプレーの特徴を容易にし得る。いずれかの実施例において、FSRは、コントローラ100を握持するユーザの指の存在、位置、及び/又はジェスチャーを検出するのに使用するための力データを生成可能である。FSR及び/又は静電容量式パッド602は、コントローラ100に実装される場合、コントローラ100の関連部分に加えられる力の量にそれぞれ対応する、抵抗値、又はキャパシタンス値を測定可能である。
【0035】
いくつかの実施形態において、コントローラ100の1つ以上のプロセッサは、タッチセンサデータ及び/又は力データを利用可能で、ハンドル112を握持する手のサイズを検出及び/又は手のサイズにしたがって、静電容量式パッド602及び/又はFSRでタッチ入力を登録するために必要なしきい値力を調整する。これは、力に基づく入力が、手が小さいユーザにとって容易になる(手が大きいユーザには容易ではないが、困難でもない)ように有用であり得る。
【0036】
図7A~7Cは、様々なコントローラの構成を示す。上述の通り、ユーザの握りによっては、タッチセンサ600の静電容量式パッド602は、ユーザの特定の指に対応又は関連付け可能である。様々なコントローラの構成は、静電容量式パッド602を、それぞれの指と指の対応する部分(例:基部、先端、中部等)にマッピング可能である。それをする際に、タッチセンサ600から生成されたタッチセンサデータ、又は個々の静電容量式パッド602からのキャパシタンス値は、手のジェスチャーを表示する画像データを生成するのに使用するためのユーザのそれぞれの指に関連可能である。
【0037】
図7Aは、第1のコントローラの構成700であって、そのキャパシタンス値が、手のジェスチャーの画像データを生成する場合に利用される、タッチセンサ600のそのような静電容量式パッド602を示す。すなわち、
図7Aにおいて、「黒塗りの」静電容量式パッド602は、そのタッチセンサデータが、手のジェスチャーに対応する画像データを生成するために利用される、そのような静電容量式パッド602を表す。それと比較して、黒塗りでない静電容量式パッド602は、そのキャパシタンス値が、手のジェスチャーに対応する画像データを生成する場合に利用されない、そのような静電容量式パッド602を表す。しかしながら、黒塗りでない静電容量式パッド602は、コントローラの構成を変更する目的で、キャパシタンス値をいまだに測定可能である。例えば、第1のコントローラの構成700において、ユーザが、黒塗りでない静電容量式パッド602の1つに触れば、コントローラ100又は通信的に結合されたコンピューティングデバイスは、この情報を使用可能で、コントローラの構成を変更するかを決定する。
【0038】
第1のコントローラの構成700の詳細について、タッチセンサ600の第1の列702、第2の列704、及び第3の列706は、ユーザの第1の指(例:中指)に対応し得る。タッチセンサ600の第4の列708と第5の列710は、ユーザの第2の指(例:薬指)に対応し得る。タッチセンサ600の第6の列712は、ユーザの第3の指(例:小指)に対応し得る。タッチセンサ600の列をユーザの特定の指に、列の特定の静電容量式パッド602を特定の指に一致させることで、タッチセンサ600の静電容量式パッド602により生成されるキャパシタンス値は、手のジェスチャーを描写する画像データを生成するために利用可能である(すなわち、ユーザがコントローラ100を把持する方法)。例えば、コントローラ100が、第1のコントローラの構成700にしたがって構成される間に、ユーザが、コントローラ100を掴持し、ユーザが、コントローラ100を第1の指で掴持しなければ、列702、704、及び706で受信されるキャパシタンス値は、第1の指がコントローラ100に触らないことを示し得る。
【0039】
言い換えれば、第1の指に関連する、第1の列702、第2の列704、及び第3の列706に対するキャパシタンス値は、第1の指が、コントローラ100に触らないことを示し得る。その代わりに、第1の列702、第2の列704、及び/又は第3の列706のキャパシタンスパッド602からのキャパシタンス値は、第1の指がコントローラ100の上をホバーする、接触距離又は近接度を示し得る。さらに、第4の列708、第5の列710、及び第6の列712に関連する静電容量式パッド602は、第2及び第3の指がコントローラ100に触ることを示すキャパシタンス値を検出可能である。それぞれの静電容量式パッド602により受信されたこのようなキャパシタンス値は、例えば、対象の周りでカールした指と比較して、人さし指が伸びる(例:指さし)を示す手の画像データを生成するために利用可能である。したがって、個々の静電容量式パッド602からのキャパシタンス値は、ユーザの指が、コントローラ100からどれ程度離れて配置されるかを決定するために利用可能である。しかしながら、上述の通り、そのキャパシタンス値が、画像データを生成するために利用される、そのような静電容量式パッド602は、別のコントローラの構成にしたがって、コントローラ100を構成するかを決定するために、コントローラ100により利用可能である。
【0040】
図7Bは、第2のコントローラの構成714であって、そのキャパシタンス値が、画像データを生成する場合に利用される、タッチセンサ600のそのような静電容量式パッド602を示す。すなわち、
図7Bにおいて、「黒塗りの」静電容量式パッド602は、そのキャパシタンス値が、手のジェスチャーに対応する画像データを生成するために利用される、そのような静電容量式パッド602を表す。それと比較して、黒塗りでない静電容量式パッド602は、そのキャパシタンス値が、手のジェスチャーに対応する画像データを生成するために利用されない、そのような静電容量式パッド602を表す。しかしながら、黒塗りでない静電容量式パッド602は、コントローラの構成間で切替するかどうかを決定する目的で、キャパシタンス値をいまだに測定可能である。
【0041】
第2のコントローラの構成714において、タッチセンサ600の第1の列716、第2の列718、及び第3の列720は、ユーザの第1の指に対応し得る。第4の列722は、ユーザの第2の指に対応し得、タッチセンサ600の第5の列724は、ユーザの第3の指に対応可能である。第1のコントローラの構成700と比較して、第2のコントローラの構成714は、コントローラ100を操作するユーザの小さい握り(又は手のサイズ)を表し得る。言い換えれば、第2のコントローラの構成714に対して、ユーザの握りは、タッチセンサ600の第6の列726に触らない場合がある。タッチセンサ600の列を特定の指に一致させることで、タッチセンサ600により生成されるキャパシタンス値は、手のジェスチャーを描写する画像データを生成するために利用される(すなわち、ユーザがコントローラを把持する方法)。例示により、また、第2のコントローラの構成714が、ハンドル112の小さい握りに対応し得るため、第2のコントローラの構成714を第1のコントローラの構成700と比較することで、第2のコントローラの構成714にしたがって生成される手は、第1のコントローラの構成700にしたがって生成される手よりも小さい場合がある。
【0042】
タッチセンサ600の静電容量式パッド6062を動的に再マッピングすることで、静電容量式パッド602は、ユーザの異なる指に関連付け可能、又はユーザの指に関連付けされ得ない。したがって、第2のコントローラの構成は、第1のコントローラの構成700よりも、小さい手のサイズ及び/又は小さい指のサイズを持つユーザにより適合し得る。例えば、小さい手を持つユーザに対し第1のコントローラの構成700を使用することで、ユーザが、第6の列712に触れられて、第1のコントローラの構成700の異なる列が、ユーザの異なる指に対応するため、ユーザの手のジェスチャーを正確に描写できない。したがって、第2のコントローラの構成714は、静電容量式パッド602をユーザの特定の指に、より正確に関連付けられる。
【0043】
図7Cは、第3のコントローラの構成728であって、そのキャパシタンス値が、画像データを生成する場合に利用される、タッチセンサ600のそのような静電容量式パッド602を示す。すなわち、
図7Cにおいて、「黒塗りの」静電容量式パッド602は、そのキャパシタンス値が、手のジェスチャーに対応する画像データを生成するために利用される、そのような静電容量式パッド602を表す。それと比較して、黒塗りでない静電容量式パッド602は、そのキャパシタンス値が、手のジェスチャーに対応する画像データを生成するために利用されない、そのような静電容量式パッド602を表す。しかしながら、黒塗りでない静電容量式パッド602は、コントローラの構成間で切替するかどうかを決定する目的で、キャパシタンス値を測定し、タッチセンサデータをいまだに生成可能である。
【0044】
第3のコントローラの構成728において、タッチセンサ600の静電容量式パッド602のすべては、黒塗りで示される。それをする際に、例えば、手の表示を描写する画像データは、すべての静電容量式パッド602からのキャパシタンス値から生成可能である。第3のコントローラの構成728は、第2のコントローラの構成714と比較して、コントローラ100のハンドル112上の大きい手のサイズ又は大きい握りを表示可能である。さらに、第1のコントローラの構成700と比較して、コントローラの第3の構成728は、(第1のコントローラの構成700と比較して)、黒塗りされた列におけるすべての静電容量式パッド602が示す通り、大きい指の長さを有する手に対応可能である。第3のコントローラの構成728において、タッチセンサ600の第1の列730、第2の列732、及び第3の列734は、ユーザの第1の指に対応し得る。タッチセンサ600の第4の列736と第5の列738は、ユーザの第2の指に対応し得る。タッチセンサ600の第6の列740は、ユーザの第3の指に対応し得る。
【0045】
上記の説明により、タッチセンサ600の静電容量式パッド602は、ユーザの異なる指に対応するために、再マッピング可能である。ユーザの握り又はユーザの手のサイズによっては、特定の単列又は複列の、例えば、タッチセンサ600は、ユーザの特定の指(例:中指)に対応可能な一方、他の事例においては、ユーザの異なる指(例:薬指)に対応可能である。ユーザの握り又は指の位置を示すタッチセンサデータ(例:キャパシタンス値)を受信することで、タッチセンサ600の静電容量式パッド602は、再マッピングし、ユーザの異なる指に対応可能である。言い換えれば、静電容量式パッド602は、いくつかの事例において指定可能で、コントローラ100のハンドル112により、特定のユーザの握りによっては、ユーザの異なる指に対応する。この意味で、コントローラ100は、異なるコントローラの構成(すなわち、第1のコントローラの構成700、第2のコントローラの構成714、及び第3のコントローラの構成728)を含み得、異なる指により異なる静電容量式パッド602に対応する。従来の手法と比較して、静電容量式パッド602を特定の指にこのように動的に適合させると、ユーザの正確なジェスチャーを、VR環境において生成することが可能な場合がある。
【0046】
さらに、
図7A~7Cが特定のコントローラの構成又は特定の量の静電容量式パッドを示す一方、タッチセンサ600は、追加のコントローラの構成を表現し得る。例えば、任意の組み合わせの静電容量式パッド602、グループ610、又は静電容量式パッド602の列は、ユーザの特定の指又は握りに対応可能である。さらに、タッチセンサ600は、4つ以上の指用のマッピング又は静電容量式パッド602を具備し得る。タッチセンサ600は、したがって、ユーザの握りに関連付け可能で、静電容量式パッド602は、ユーザの特定の指にマッピング可能である。
【0047】
図8~11は、ハードウェア、ソフトウェア、又はそれらの組み合わせで実装され得る動作のシーケンスを表す、論理フロー図内のブロックの集合体として様々なプロセスを示す。ソフトウェアに関連して、ブロックは、1つ以上のプロセッサによって実行される場合、列挙された動作を実行する、コンピュータ実行可能な命令を表す。一般に、コンピュータ実行可能な命令は、特定の機能を実行するか、又は特定の抽象データタイプを実行する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。動作が記載される順序は、限定として解釈されることを意図せず、任意の数の記載されたブロックを任意の順序で及び/又は並行して組み合わせ可能で、プロセスを実施する。
【0048】
図8は、異なるコントローラの構成用のタッチセンサ600を較正・構成するための典型的なプロセス800のフロー図である。802では、コントローラ100の論理回路は、タッチセンサデータをタッチセンサ600から受信可能である。例えば、対象(例:指、親指等)は、コントローラ100に接触又はコントローラ100の近接範囲内(例:ハンドル112の上)に入ることができる。タッチセンサデータは、タッチセンサ600の静電容量式パッド602により検出又は測定されるキャパシタンス値を示し得る。例えば、指がコントローラ100に触れば、キャパシタンス値は、コントローラ100に触ることなく、コントローラ100の上をホバーする指と比較して、大きい場合がある。この意味で、キャパシタンス値は、コントローラ100に対する指の近接度を示し得る。コントローラ100の論理回路は、キャパシタンス値をデジタル化した値に変換可能である。
【0049】
いくつかの事例において、802で受信されたタッチセンサデータは、他の静電容量式パッド602から提供された他のタッチセンサデータで較正及び/又は正規化されない生データを表し得る。すなわち、802で受信されたタッチデータは、特定の静電容量式パッド602に対し、静電容量式パッド602が、静電容量式パッド602のサイズとコントローラ100に触るユーザの指及び/又は手のサイズによっては、キャパシタンス値又はキャパシタンス値の範囲を検出可能であるという意味で、生データを表し得る。
【0050】
804では、コントローラ100の論理回路は、タッチセンサデータを正規化可能である。例えば、反復的にタッチセンサデータをタッチセンサ600から受信することで(例:ユーザがコントローラ100とやりとりする際)、タッチセンサデータは、静電容量式パッド602により測定されるキャパシタンス値を示し得る。経時的に、キャパシタンス値は、タッチセンサ600の個々の静電容量式パッド602により検出又は測定されるキャパシタンス値の範囲を示し得る。例えば、静電容量式パッド602は、ユーザが、静電容量式パッド602の上に存在するコントローラ100の部分を掴持する場合、高いキャパシタンス値を検出可能で、ユーザが、静電容量式パッド602の上に存在するコントローラ100の部分を掴持しない場合、低いキャパシタンス値を検出可能である。したがって、804では、タッチセンサ600のそれぞれの静電容量式パッド602に対して、コントローラ100の論理回路は、タッチセンサデータを分析し、受信したキャパシタンス値の範囲、受信した最大キャパシタンス値、受信した最小キャパシタンス値、平均キャパシタンス値、及び/又は中央キャパシタンス値を決定可能である。いくつかの事例において、キャパシタンス値は、[0、1]の範囲内で正規化可能である。
【0051】
806では、コントローラ100の論理回路は、タッチセンサ600を較正可能である。
図8のサブブロックで示す通り、プロセス800は、タッチセンサ600を較正するためのより詳細な動作を伴い得る。例えば、タッチセンサ600を較正することは、サブブロック808及び810を含み得る。サブブロック808により示す通り、タッチセンサ600を較正することは、個別のジェスチャー認識を含み得る。個別のジェスチャー認識は、コントローラ100でユーザにより実行される個別のジェスチャーに対応可能である。例えば、静電容量式パッド602のすべて又は大多数のキャパシタンス値が急降下すれば、論理回路は、この降下を、ユーザがコントローラ100から手を解放する又はコントローラ100から指を解放することに関連付けることができる。ユーザが、指をコントローラ100から突然解放する際に受信されるキャパシタンス値は、特定の静電容量式パッド602に対して検出されるキャパシタンス値の範囲の低レベル値に対応可能である(例:キャパシタンス値は、指がコントローラ100に触らない場合を表す)。急降下前に受信されるキャパシタンス値は、特定の静電容量式パッド602に対して検出されるキャパシタンス値の範囲の高レベル値に対応可能である(例:キャパシタンス値は、指がコントローラ100に触る場合を表す)。キャパシタンス値の範囲により、コントローラ100の論理回路は、コントローラ100により受信されるキャパシタンス値に対し、バイアスと倍率を計算可能である。すなわち、静電容量式パッド602に対する倍率を認識することで、受信されたキャパシタンス値の正規化が可能になる。
【0052】
サブブロック810が示す通り、タッチセンサ600を較正することはまた、連続する低レベル及び/又は高レベルの調整を含み得る。コントローラ100の論理回路が、タッチセンサデータをタッチセンサ600から連続して受信可能なため、論理回路は、タッチセンサデータを連続して監視可能で、所定の静電容量式パッド602のキャパシタンス値の範囲に対し、低レベルキャパシタンス値及び/又は高レベルキャパシタンス値を再較正する。例えば、タッチセンサデータを個々の静電容量式パッド602から連続して受信することで、コントローラ100の論理回路は、受信されたキャパシタンス値が、前に決定された低レベルキャパシタンス値及び/又は高レベルキャパシタンス値よりも、それぞれ低い又は高いかを決定可能である。この決定に基づいて、コントローラ100の論理回路は、低レベルキャパシタンス値又は高レベルキャパシタンス値を更新可能で、それによって、特定の静電容量式パッド602に対するキャパシタンス値の範囲を調整する。それをする際に、バイアス及び/又は倍率は、キャパシタンス値を正規化するのに使用するために更新可能である。
【0053】
タッチセンサ600を較正することは、したがって、特定の静電容量式パッド602とコントローラ100を操作する特定のユーザに対し、バイアスと倍率の計算の一助になり得る。
【0054】
812では、コントローラ100の論理回路は、タッチセンサ600を構成可能で、それによって、静電容量式パッド602は、特定のコントローラの構成に基づいて、ユーザの特定の指に割り当てられる。例えば、中指が、薬指の上に配置され、薬指が、小指の上に配置されると認識することで、コントローラ100は、特定の静電容量式パッド602とそのキャパシタンス値をユーザの特定の指にマッピング可能である。このマッピングは、各コントローラの構成に対して生じ得、それによって、静電容量式パッド602は、対応する指及び/又は指の対応する部分にそれぞれマッピングされる。しかしながら、上述の通り、すべてではない静電容量式パッド602は、指に割当可能である。
図8のサブブロックが示す通り、プロセス800は、タッチセンサ600を構成するためのより詳細な動作を伴い得る。例えば、タッチセンサ600を構成することは、サブブロック814で低レベル範囲のキャパシタンス値でのノイズを除去、サブブロック816での静電容量式パッドと指拒否を含み得、それらの各々は、以下に記載される。
【0055】
サブブロック814では、プロセス800は、キャパシタンス値の低レベル範囲内でノイズを除去可能である。例えば、指が、コントローラ100に触らない場合(例:ハンドル112の上をホバーする又はハンドル112に近接する)、指に関連するそのような静電容量式パッド602は、ノイズに影響されやすい場合がある。言い換えれば、静電容量式パッド602に対するキャパシタンス値の低レベル範囲では、少量の測定されたキャパシタンスにより、ユーザの指の部分が変化し得る。これらの変化に対応する画像データを生成することは、VR環境内で指を不快に引っ張る結果になり得る。その代わりに、個々の静電容量式パッド602に対するタッチセンサ600からのキャパシタンス値が、特定のしきい値以下に降下し、前のキャパシタンス値からのしきい値変化以下である事例において、又はキャパシタンス値が、静電容量式パッド602に対する低レベルキャパシタンス値の特定のしきい値内であれば、コントローラ100の論理回路は、キャパシタンス値を抑制可能である。それをする際に、コントローラ100は、それ以外では、VR環境内で指を不快に引っ張ることになり得るタッチセンサ600で、わずかなスプリアスタッチ入力を無視可能である。
【0056】
サブブロック816での静電容量式パッドと指拒否は、その低レベルキャパシタンス値又は高レベルキャパシタンス値が、互いのしきい値範囲内にある、静電容量式パッド602を識別することを含み得る。例えば、低レベル及び高レベルキャパシタンス値が、小さい範囲により分離されれば、静電容量式パッドは、ユーザの指の位置を十分詳細に、正確に感知・検出不能である場合がある。本明細書で、静電容量式パッド602が、キャパシタンス値をしきい値範囲内で検出可能なため、測定されたキャパシタンス値は、指の位置に正確に対応不能である。
【0057】
追加的に、又は代替的に、特定の指は、検出されたキャパシタンス値の信頼性を低下させる複数の静電容量式パッド602に関連付け可能である。これらの状況において、静電容量式パッド602により受信されたキャパシタンス値は、ノイズを導入可能である。特定の静電容量式パッド602、又は静電容量式パッド602のグループを無視すると、キャパシタンス値が、ユーザの手のジェスチャーに対応する信頼性を増加可能である。
【0058】
812から、プロセスは、
図9に関して以下に記載される「A」と、プロセス900に継続可能である。さらに、プロセス800が、コントローラ100により実行されるよう記載される一方、いくつかの事例においては、1つ以上の通信的に結合されたコンピューティングデバイスは、プロセス800のブロックのすべて又は部分を実行可能である。例えば、1つ以上のコンピューティングデバイスが、増加された処理を含み得るため、コントローラ100は、タッチセンサ600から受信されたタッチデータを、キャパシタンス値を較正・正規化するためのコンピューティングデバイスに送信可能である。
【0059】
図9は、選択されたコントローラの構成にしたがって、コントローラの構成用のスコアを計算し、コントローラ100を構成するための典型的なプロセス900のフロー図である。いくつかの事例において、プロセス900は、プロセス800の「A」から継続可能である。902では、コントローラ100の論理回路は、タッチセンサ600から受信されたキャパシタンス値を使用して(上述の通り、キャパシタンス値の正規化後)、複数のコントローラの構成を記録可能である。例えば、論理回路は、コントローラ100のデータ蓄積又は別の通信的に結合されたコンピューティングデバイス、複数のコントローラの構成の個々のコントローラの構成に関連するデータから、アクセス可能である。論理回路は、その後、コントローラの構成への入力として、タッチセンサデータを提供可能である。例えば、個々のコントローラの構成は、上述したプロセス800を使用して、前に操作及び/又は較正された場合がある。上述の通り、個々のコントローラの構成は、ユーザの指に対応するタッチセンサ600の静電容量式パッド602を指定可能である。例えば、第1のコントローラの構成は、第1の静電容量式パッド602をユーザの中指に関連付け可能な一方、第2のコントローラの構成は、第2の静電容量式パッド602を中指に関連付け可能で、第1の静電容量式パッド602と第2の静電容量式パッド602は、異なる又は異なる組み合わせの静電容量式パッド602を表す。
【0060】
プロセス900に示す通り、コントローラの構成に対するスコアを決定することは、904でコントローラの構成の各指グループ内の変動を計算及び/又は906でコントローラの構成の指グループ間の変動を計算すること等のサブブロックを含み得る。いくつかの事例において、コントローラの構成に対するスコアは、各指グループ間の変動に対する。各指グループ内の変動の比率を表し得、「f-統計量」又は「f-試験」を含み得る。該スコアは、手のサイズ、指の位置、及び/又はユーザの握りに適合するコントローラの構成の確率を示し得る。言い換えれば、コントローラの構成は、ユーザの指が、どの程度近接してアライン又はそれ以外では、コントローラの構成に関連付けられるかを表し得る。高スコアは、厳密に適合又は適合したコントローラの構成を示し得る一方、低スコアは、ユーザの握りに適合する可能性がないコントローラの構成を示し得る。例えば、任意の適切な数のコントローラの構成に対し、第1のスコアは、第1のコントローラの構成に起因、第2のスコアは、第2のコントローラの構成に起因し、以下同様とする。
【0061】
いくつかの事例において、コントローラの構成に対するスコアは、コントローラ100の電源がオンの場合、初期設定(すなわち、メモリをゼロに設定)され得る。コントローラ100が、タッチセンサデータを受信する際、論理回路は、コントローラの構成に対するスコアを計算可能である。それをする際に、論理回路は、タッチセンサデータを受信し、コントローラの構成に対するスコアを更新し得、経時的に、コントローラの構成に対するスコアが計算されると、論理回路は、コントローラの構成を選択可能である。ユーザの握りに最良に適合するコントローラの構成は、ユーザの握りに最良な適合ではない他のコントローラの構成よりも高いスコアを有する。
【0062】
コントローラの構成に対するスコアを決定することを示すために、ユーザがコントローラ100を掴持する際、静電容量式パッド602は、ユーザが掴持するコントローラ100の領域又はコントローラ100に対するユーザの指の近接度に基づいて、キャパシタンスの変化を検出可能である。タッチデータが、正規化され、タッチセンサ600が、較正され及び/又は構成された後に(例:プロセス800)、タッチセンサデータは、それぞれのコントローラの構成に対するスコアを計算するために使用される。一般的に、ユーザが、コントローラ100を薬指の上に配置された中指と小指の上に配置された薬指で掴持することを認識すると、コントローラ100で受信されるキャパシタンス値は、中指、薬指、及び小指にそれぞれ関連付け可能である。さらに、コントローラの構成の各々は、特定の静電容量式パッド602が、ユーザの特定の指に関連付けられる、所定のレイアウトを含み得る。すなわち、静電容量式パッド602のグループは、特定の指に対応可能である。例えば、大きな手の構成は、中指に関連する静電容量式パッド602の複列を含み得る一方、小さい手の構成は、中指に関連する静電容量式パッド602の単列を含み得る。
【0063】
静電容量式パッド602が、ともにグループ分けされ、ユーザが、コントローラ本体110から指に触るため、コントローラの構成の特定の指に関連するそのような静電容量式パッド602は、キャパシタンス値を検出する場合とそうでない場合がある。例えば、ユーザが、正しいコントローラの構成に対して、中指をコントローラ本体110から上げる場合、中指に割り当てられるそのような静電容量式パッド602は、キャパシタンス値を測定不能で低キャパシタンス値も測定不能である。いくつかの事例において、中指グループの静電容量式パッド602のキャパシタンス値は、略同一量のキャパシタンス変化を、略同一時間で体験可能である。例えば、正しいコントローラの構成(例:高スコアを有するコントローラの構成)に対して、特定の指に割り当てられた静電容量式パッドは、略同一キャパシタンス又はキャパシタンスの略同一変化を、略同一時間で体験するであろう。中指に関連する正しいコントローラの構成に対する静電容量式パッド602は、したがって、互いに統計的に相関し、互いに高い相関又は互いの間で低い変動を示すであろう。各指グループ内の変動を、個々のコントローラの構成に対し計算することは、特定の指(例:「f-統計量」又は「f-試験」)に割り当てられたそのような静電容量式パッド602間の変動を表し得る。それに比べて、指グループ内に高い変動を有するコントローラの構成は、不正確なコントローラの構成又はユーザの握りに十分適さないコントローラの構成を示し得る。すなわち、静電容量式パッド602の指グループ内に高い変動を有するコントローラの構成は、ユーザのそれぞれの指に対する静電容量式パッド602の不適切な割当を示し得る。
【0064】
指グループ間の変動を計算することは、静電容量式パッド602の1つの指グループと静電容量式パッド602の別の指グループとの間の変位を示し得る(例:「f-統計量」又は「f-試験」)。例えば、上記の実施例に再度言及すると、ユーザが、中指をコントローラ本体110から上げるが、小指をコントローラ本体110に接したままにする際に、中指に割り当てられた静電容量式パッド602のキャパシタンス値と小指に割り当てられた静電容量式パッド602のキャパシタンス値との間に、高い変動が存在可能である。各指と異なるコントローラの構成に対して、変動スコアを生成可能である。したがって、中指に対して、中指グループと小指グループ間の変動を計算し、中指グループと薬指グループとの間の変動を計算する。同様に、薬指グループと小指グループとの間の変動を計算可能である。このプロセスは、各指と各コントローラの構成に対して、継続可能である。しかしながら、上記の実施例が、3つの指(例:中指、薬指、及び小指)に関して記載されるものの、タッチセンサ600は、前後の数の指に対しても構成可能である。
【0065】
各コントローラの構成が、複数の決定スコアを含む際、スコアの総合(例:合計)は、特定のコントローラの構成が、どの程度ユーザの握りに厳密に適合するかを示し得る。さらに、いくつかの事例において、プロセス900は、キャパシタンス値が、履歴キャパシタンス値と比較して、高い差異度を示す事例において、コントローラの構成に対するスコアを決定可能である。例えば、コントローラの構成に対するスコアは、移動平均を含み得、コントローラの構成に対し新規のスコアを決定することは、移動平均を更新可能である。本明細書で、コントローラの構成に対する平均は、大きな差異、又はしきい値以上の差異が、コントローラの構成に対する決定スコアと前の又は平均のスコアとの間に存在すれば、更新可能である。この意味で、コントローラの構成に対する単一スコアは、それることなく、又は前に計算されたスコアに対し不適切に比較検討されない場合がある。さらに、大きな差異が存在する場合、コントローラの構成に対するスコアは、加重可能である。
【0066】
908では、コントローラ100の論理回路は、少なくとも部分的に決定スコアに基づいて、コントローラの構成をランク付け可能である。上述の通り、個々のコントローラの構成に関連するスコアは、コントローラの構成の静電容量式パッド602の割当が、ユーザの握りをマッピング又は表す確率に関する。すなわち、コントローラの構成に対する静電容量式パッド602の割当は、手のそれぞれの指に適合する。
【0067】
910では、コントローラ100の論理回路は、コントローラの構成を選択可能である。コントローラの構成は、ユーザの各指に関連する静電容量式パッド602を示し得る。それをする際に、コントローラ100が、タッチセンサデータをタッチセンサ600から受信し続けると、タッチセンサデータは、ユーザの特定の指と指の特定の部分(例:基部、先端等)に関連する。ユーザのそれぞれの指に対応するタッチセンサ600の静電容量式パッド602を認識することで、ユーザの手のジェスチャーを描写する(タッチセンサデータ及び/又は力データを使用する)画像データを正確に生成する一助となり得る。
【0068】
912では、コントローラ100の論理回路は、選択されたコントローラの構成が、コントローラ100の現在のコントローラの構成と異なるかどうかを決定可能である。例えば、コントローラ100は、デフォルトコントローラの構成を含み得、912では、プロセス900は、選択されたコントローラの構成が、デフォルトコントローラの構成と異なるかどうかを決定可能である。コントローラの構成が、同一で、選択されたコントローラの構成(例:最高位のコントローラの構成)が、コントローラ100ですでに構成されることを意味するのであれば、異なるコントローラの構成を更新又は割当する必要がない場合がある。そうであれば、プロセス900は、「いいえ」のルートを通り、916に進み得る。
【0069】
その代わりとして、コントローラの構成が、同一でなく、選択されたコントローラの構成(例:最高位のコントローラの構成)が、コントローラ100で現在実装されないことを意味するのであれば、異なるコントローラの構成を更新又は割当する必要がある。言い換えれば、ユーザの握りが変化し、又はコントローラ100が、ユーザ間で切り替え可能であるので、コントローラの構成は、更新可能で、静電容量式パッド602をユーザのそれぞれの指で割り当てる。そうであれば、プロセス900は、「はい」のルートを通り、914に進み得る。
【0070】
914では、コントローラ100の論理回路は、選択されたコントローラの構成にしたがって、コントローラ100を構成可能である。914では、選択されるコントローラの構成によっては(910では)、タッチセンサ600の静電容量式パッド602は、異なる指又は指の異なる部分に相関可能である。したがって、将来の事例において、タッチセンサデータを使用して、コントローラ100の論理回路は、コントローラ100に対する特定の指の近接度に加えて、コントローラ100に触る指及び/又は個々の指の部分を決定可能である。コントローラの構成にしたがって、コントローラ100を構成することは、ユーザの特定の指に対応するために、タッチセンサ600の静電容量式パッド602を割り当てることを含み得る。静電容量式パッド602の割当は、静電容量式パッド602をユーザのそれぞれの指に関連付けるため、静電容量式パッド602をマッピングすることを含み得る。いくつかの事例において、タッチセンサ600のすべてではない静電容量式パッド602は、ユーザのそれぞれの指にマッピング可能である。例えば、ユーザが、小さい手又は小さい握りを有すると、ユーザの握りは、タッチセンサ600の静電容量式パッド602のサブセットに伸びる場合がある。このような事例において、残りの静電容量式パッド602から受信されたキャパシタンス値は、手のジェスチャーを描写する画像データを生成する場合に使用不可である。対照的に、大きい手は、タッチセンサ600の全体に伸びることができ、この場合、静電容量式パッド602のすべて(又は少なくともしきい値の数以上の数)は、画像データを生成するのに使用するためのタッチセンサデータを提供可能である。
【0071】
916では、コントローラ100の論理回路は、指に関連する静電容量式パッド602のグループの個々の静電容量式パッド602に加わる1組の重みを使用して、静電容量式パッド602のキャパシタンス値を正規化可能である。例えば、静電容量式パッド602の個々のパッドに割り当てられた重みは、コントローラの構成に関連付け可能である。例えば、タッチセンサ600の4つの静電容量式パッド602が、ユーザの中指に関連すれば、4つすべての静電容量式パッド602には同じ重みが割り当てられ得る。したがって、これら4つの静電容量式パッド602から受信されたキャパシタンス値は、4分の1の重みを含み得る。それをする際に、これら静電容量式パッド602からのキャパシタンス値は、指の位置を決定する場合に使用される同じ重みを含み得る。さらに、いくつかの事例において、特定の静電容量式パッド602の重みは、無視又は特定のしきい値以下で信頼性を有する、静電容量式パッド602を指示する、静電容量式パッドと指拒否に基づいて、ゼロに設定可能である。
【0072】
タッチセンサデータを916で正規化することはまた、静電容量式パッド602の各グループに対し、静電容量式パッド602からのキャパシタンス値を合計することを含み得る。実施例として、特定のコントローラの構成に対し、中指が4つの静電容量式パッド602により表されれば、中指の静電容量式パッド602の各キャパシタンス値は、4分の1の重みを有し得る。論理回路は、指に対するそれぞれの静電容量式パッド602用のキャパシタンス値に加重可能で、所定の静電容量式パッド602に対するキャパシタンス値が、指に対する総キャパシタンス値に与える影響を指示する。
【0073】
追加的に、又は代替的に、タッチセンサデータを正規化することは、静電容量式パッド602に前に加えられた重みにしたがって、タッチセンサデータを正規化することを含み得る。静電容量式パッドと指拒否(サブブロック816)により、静電容量式パッド602のグループ内のすべてではない静電容量式パッド602は、同じ重みを有し得る。実施例として、ユーザは、特定の静電容量式パッド602をグループに接触しないであろう。次に、論理回路は、例えば、ユーザの手が小さい又はユーザが、手をコントローラ100に別々に置くならば、ユーザが触らない特定の静電容量式パッド602のキャパシタンス値を拒否し得又は分解できない。例えば、上述の通り、低レベルキャパシタンス値と高レベルキャパシタンス値が小幅(すなわち、範囲が小さい)ならば、静電容量式パッド602は、大量のノイズに影響されやすい場合がある。本明細書で、コントローラ100の論理回路は、加重和内の静電容量式パッド602の特定のキャパシタンス値を無視可能である。キャパシタンス値を使用しない事例において、使用するキャパシタンス値は、合計され、使用する重みの和で除算され得る。例えば、4つの静電容量式パッド602が、特定の指に割り当てられれば、各静電容量式パッド602は、4分の1の重みを有し得る。しかしながら、静電容量式パッド602の1つに対するキャパシタンス値が、信頼性がなければ(例:大量のノイズを含む)、1つの静電容量式パッド602の重みは、残り3つの静電容量式パッドが3分の1の重みを有するように、無視可能である。それにおいて、静電容量値は合計され、使用する静電容量式パッド602の重みの和で除算される。
【0074】
918では、コントローラ100の論理回路は、少なくとも部分的にタッチセンサデータに基づいて、ユーザのそれぞれの指に指値を割当可能である。例えば、タッチセンサデータを正規化して、タッチセンサデータを特定の指に関連付けた後、コントローラ100は、指値を[0、1]の尺度で決定可能である。ユーザの指に割り当てられた指値は、コントローラ100に対する指の相対位置又はカールを示し得る。この意味では、コントローラ100は、個々の静電容量式パッドから検出されるキャパシタンス値を使用して、コントローラ100に対するユーザの指の位置を決定可能である。いくつかの事例において、コントローラ100は、ユーザの各指又はタッチセンサ600が構成されるそのような指に対する指値を決定可能である。
【0075】
920では、コントローラ100の論理回路は、指値(例:表示値)を1つ以上のコンピューティングデバイスに送信可能である。いくつかの事例において、1つ以上のコンピューティングデバイスは、指値を利用可能で、コントローラ100上にユーザの手のジェスチャーを描写する画像データを作成する。いくつかの実施形態において、1つ以上のコンピューティングデバイスは、指値の追加の分析を実行可能である。例えば、1つ以上のコンピューティングデバイスは、画像データに指のカールを生成する場合、カール論理回路を利用可能である。さらに、いくつかの事例において、コントローラ100は、少なくとも1つの指により表面を押すとき、コントローラ100の圧力センサからの力データ等のコントローラにより捕捉及び/又は受信された追加のデータを送信可能である。
【0076】
920から、プロセス900は、プロセス800のステップ802にループし得る。したがって、コントローラ100は、ユーザの握りにしたがって、画像データを作成するのに使用するための、また、コントローラ100のコントローラの構成を更新するかどうかを決定するのに使用するためのキャパシタンス値を連続して受信可能である。
【0077】
プロセス900のいくつか又はすべてが、コントローラ100により実行されるように記載される一方、いくつかの事例において、1つ以上の通信的に結合されたコンピューティングデバイスは、プロセス900のブロックのすべて又は部分を実行可能である。例えば、コンピューティングデバイスが、増加された処理電力を含み得るため、コントローラは、タッチセンサ600から受信されたタッチデータを、コントローラの構成用のスコアを決定するためのコンピューティングデバイスに送信可能である。次に、コンピューティングデバイスは、コントローラの構成をコントローラ100に送信、又はコントローラの構成の表示値をコントローラ100に送信可能である。
【0078】
図10は、1つ以上のコントローラの構成にしたがって、コントローラ100を構成するための典型的なプロセス1000を示す。1002では、プロセス1000は、タッチセンサデータをコントローラ100のタッチセンサ600から受信可能である。いくつかの実施形態において、タッチセンサデータは、タッチセンサ600のそれぞれの静電容量式パッド602により検出されたキャパシタンス値を示し得る。
【0079】
1004では、プロセス1000は、タッチセンサデータを分析可能である。いくつかの事例において、タッチセンサデータを分析することは、本明細書で上述したプロセス800及び/又は900を含み得、それによって、タッチセンサデータは、正規化され、タッチセンサ600は、較正される。例えば、コントローラ100の論理回路は、タッチセンサデータを分析可能で、それぞれのコントローラの構成に対するスコアを決定可能である。コントローラの構成を選択することは、(1)特定の指に割り当てられた静電容量式パッド602のグループ内のキャパシタンス値の変動と(2)静電容量式パッドのグループ間のキャパシタンス値の変動の比率を決定することを含み得る。例えば、指グループ内で変動を決定することは、第1の指に割り当てられた第1の静電容量式パッドと第2の静電容量式パッド間のキャパシタンスの変動を決定することを含み得る(例:「f-統計量」又は「f-試験」)。指グループ間の変動を決定することは、第1の静電容量式パッドと第2の静電容量式パッドの総キャパシタンス値間のキャパシタンスの変動を決定し、その後、総キャパシタンス値を、第2の指に割り当てられた静電容量式パッド602の別のグループの総キャパシタンス値と比較することを含み得る。各コントローラの構成に対する比率を計算し、ユーザの握りに対して最も適合しやすい構成を決定する。いくつかの事例において、コントローラ100は、タッチセンサデータをコンピューティングデバイス(例:ゲームコンソール)に分析用に送信可能で、コンピューティングデバイスは、それぞれのコントローラの構成に対するスコアを決定可能である。
【0080】
1006では、プロセス1000は、第1のコントローラの構成700を選択可能である。例えば、タッチセンサデータを分析した後(ブロック1004)、プロセス1000は、手のサイズ、指のサイズ、及び/又はユーザの握りと最良に適合するコントローラの構成(例:第1のコントローラの構成700)を選択可能である。コンピューティングデバイスが、第1のコントローラの構成700を選択する事例において、コンピューティングデバイスは、コントローラ100に、選択の表示値を送信可能である。
【0081】
1008では、プロセス1000は、第1のコントローラの構成700にしたがって、コントローラ100を構成可能である。本明細書に記載の通り、また
図10に示す通り、第1のコントローラの構成700にしたがって、コントローラ100を構成することは、タッチセンサ600の特定の静電容量式パッド602を特定の指及び/又は指の特定の部分に関連付けることを含み得る。静電容量式パッド602を特定の指に関連付けることはまた、1つ以上の静電容量式パッド602をともにグループ分けして、静電容量式パッド602のグループを指に関連付けることを含み得る。さらに、上述の通り、手のサイズ及び/又はユーザの握りによっては、タッチセンサ600のすべてではない静電容量式パッド602は、マッピング又はそれ以外では指に割当可能である。
【0082】
1010では、プロセス1000は、タッチセンサデータをコントローラ100のタッチセンサ600から受信可能で、1012では、プロセス1000は、タッチセンサデータを分析可能である。タッチセンサデータはまた、第1のコントローラの構成を利用して、画像データを生成するために利用可能である。
【0083】
1014では、プロセス1000は、第2のコントローラの構成714を選択可能である。例えば、タッチセンサデータ(ブロック1012)を分析した後、プロセス1000は、ユーザの手の大きさ及び/又は握りを最良に適合するコントローラの構成(例:第2のコントローラの構成714)を選択可能である。例えば、ユーザの握りは、変化可能で、又は異なる握りを有する異なるユーザは、コントローラ100を操作可能である。これらの事例において、コントローラの構成は、正確に感知、検出、又はそれ以外では、タッチセンサ600の異なる静電容量式パッド602をユーザの指に関連付けるために更新可能である。
【0084】
1016では、プロセス1000は、第2のコントローラの構成714にしたがって、コントローラ100を構成可能である。第2のコントローラの構成714にしたがって、コントローラ100を構成することは、タッチセンサの特定の静電容量式パッド602を再マッピング又は再結合することを含み得、第1のコントローラの構成700に比べて、ユーザの特定の指に再マッピングする。
【0085】
図11は、コントローラ100のタッチセンサ600等のコントローラのタッチセンサを較正し、タッチセンサデータ内のノイズを低減し、タッチセンサデータを利用して、ユーザにより実行される手のジェスチャーを表す画像データを生成するためのプロセス1100を示す。いくつかの事例において、プロセス1100は、指がどの程度カール又は伸びる等の指値又は指の位置を表す表示値を出力可能である。
【0086】
1102では、プロセス1100は、タッチセンサデータをタッチセンサ600から受信可能で、タッチセンサデータは、タッチセンサ600の静電容量式パッド(例:静電容量式パッド602)により検出される生のキャパシタンス値を表示又は指示する。
図11に示す通り、いくつかの事例において、プロセス1100は、a
1、a
i、及びa
Nにより示す通り、キャパシタンス値を個々の静電容量式パッド602から受信可能である。いくつかの事例において、プロセス1100は、VR環境で表示された各フレームに対して、生の静電容量値をタッチセンサ600から受信可能である。
【0087】
1104では、プロセス1100は、工場正規化を実行可能で、生のキャパシタンス値を正規化する。例えば、静電容量式パッド602は、製造条件、静電容量式パッド602のサイズ等によっては、異なるバイアス、倍率、及び残留偏差を有し得る。いくつかの事例において、工場正規化は、キャパシタンス値内のバイアスを除去するための一次較正と、キャパシタンス値を正規化すること、を含み得る。
【0088】
1106では、プロセス1100は、握り較正を実行可能である。図示の通り、握り較正は、サブブロック1108、1110、及び1112を含み得、以下に詳細を記載する。
【0089】
サブブロック1108では、プロセス1100は、それぞれの静電容量式パッド602に対して、キャパシタンス値の範囲、受信した最大キャパシタンス値、受信した最小キャパシタンス値、平均キャパシタンス値、及び/又は中央キャパシタンス値を監視するために、統計的分析を実行可能である。
【0090】
1110では、プロセス1100は、個別のジェスチャーの検出を実行可能である。本明細書で、プロセス1100は、工場正規化にしたがって正規化された後に、タッチセンサデータ(すなわち、キャパシタンス値)を分析可能で、コントローラ100で個別のジェスチャーを検出する。例えば、タッチセンサデータが、静電容量式パッド602のキャパシタンス値、すなわちその部分が急降下するのを示せば、プロセス1100は、キャパシタンス値のこの降下を、ユーザが、手をコントローラ100から解放する、又は特定の指をコントローラ100から解放することに関連付け可能である。ユーザが、指をコントローラ100から突然解放する際に受信されるキャパシタンス値は、特定の静電容量式パッド602により検出されるキャパシタンス値の範囲に対する低レベル値に対応可能である(例:キャパシタンス値は、指がコントローラ100に触らない場合を表す)。急降下前に受信されるキャパシタンス値は、特定の静電容量式パッド602により検出されるキャパシタンス値の範囲の高レベル値に対応可能である(例:キャパシタンス値は、指がコントローラ100に触る場合を表す)。キャパシタンス値の範囲により、プロセス1100は、静電容量式パッド602のキャパシタンス値に対しバイアスと倍率を決定可能で、それぞれの静電容量式パッド602で受信されるキャパシタンス値を正規化する。
【0091】
1112では、プロセス1100は、連続較正の更新及び減衰を実行可能である。プロセス1100が、タッチセンサデータをタッチセンサ600から連続して受信可能なため、プロセス1100は、タッチセンサデータを連続して監視可能で、所定の静電容量式パッド602のキャパシタンス値の範囲に対し、低レベルキャパシタンス値及び/又は高レベルキャパシタンス値を再較正又は再設定する。言い換えれば、タッチセンサデータを個々の静電容量式パッド602から連続して受信することで、プロセス1100は、キャパシタンス値が、該範囲の前に決定された低レベルキャパシタンス値及び/又は該範囲の高レベルキャパシタンス値よりも、それぞれ低い又は高いかを決定可能である。例えば、キャパシタンスが、ゲームプレー体験(例:手が発汗又は乾燥状態、湿度や温度等)により変化する際、プロセス1100は、新規の低レベルキャパシタンス値又は新規の高レベルキャパシタンス値を決定又は設定可能で、それによって、静電容量式パッド602により検出されるキャパシタンス値の範囲を調整する。さらに、いくつかの事例において、連続較正は、1110での個別のジェスチャー検出を決定するプロセス1100への依存度を低減可能である。
【0092】
いくつかの事例において、プロセス1100は、新規に検出される低レベルキャパシタンス値又は新規に検出される高レベルキャパシタンス値に重み又は割合を割当可能で、それぞれ低レベルキャパシタンス値又は高レベルキャパシタンス値を更新する。例えば、プロセス1100が、特定の時間中に、前に検出された低レベルキャパシタンス値以下のキャパシタンス値を検出すれば、プロセス1100は、キャパシタンス値に加重し、低レベルキャパシタンス値を更新可能である。
【0093】
さらに、低レベルキャパシタンス値又は高レベルキャパシタンス値は、ユーザがコントローラ100を掴持する方法、環境条件(例:湿度)、又は他の特性(例:肌の湿り具合)によっては、経時的に減衰可能である。低レベルキャパシタンス値と高レベルキャパシタンス値が減衰可能な量は、低レベルキャパシタンス値と高レベルキャパシタンス値が、範囲のしきい値の量により分離されて、センサノイズを低減するように、限定され得る。いくつかの事例において、減衰は、時間及び/又はキャパシタンス値の変化率に依存し得る。例えば、ユーザが、コントローラ100上で指をタップする、又はコントローラ100が、ユーザを切り替えて、それによって、受信されたキャパシタンス値の変化を潜在的に生じると、減衰率は、増加可能で、低レベル及び/又は高レベルキャパシタンス値の更新に必要な時間を低減する。
【0094】
1106、及びサブブロック1108~1112での握り較正の結果として、各静電容量式パッド602から感知された静電容量値は、[0、1]の尺度で正規化可能である。[0、1]の尺度は、ユーザの特定の握りと個々の静電容量式パッド602に対して、タッチセンサ600から感知されたキャパシタンス値に対する高及び低レベルを表し得る。
【0095】
1114では、プロセス1100は、静電容量値の加重和を実行可能である。静電容量値が、[0、1]の尺度で正規化されるため、プロセス1110は、コントローラの構成によっては、静電容量式パッド602からのキャパシタンス値に重みを割当可能である。すなわち、キャパシタンス値は、[0、1]間で正規化され、重みは、個々の静電容量式パッド602で受信された個々のキャパシタンス値に割り当てられる。例えば、特定のコントローラの構成が、特定の指に割り当てられた5つの静電容量式パッド602を具備するならば、キャパシタンス値は、同じ重み(例:5分の1)を含み得る。言い換えれば、静電容量式パッド602が、最大キャパシタンス値を検出する場合、加重和の出力は、1に相当し得る。
【0096】
図示の通り、加重和を決定することは、サブブロック1116、1118、1120、及び1122を含み得る。サブブロック1116は、コントローラ100に対するコントローラの構成モデルを含み得る。上述の通り、コントローラの構成は、タッチセンサ600の静電容量式パッド602のマッピングを指定して、特定の静電容量式パッド602をユーザの特定の指に関連付ける。
【0097】
サブブロック1118では、プロセス1100は、動的コントローラの構成の選択を実施可能で、プロセス1100は、キャパシタンス値をコントローラの構成モデルに入力し、ユーザの握りにしたがって、最良の適合、又は最高に適合したコントローラの構成を決定する。コントローラの構成を選択することは、(1)特定の指に割り当てられた静電容量式パッド602のグループに対するキャパシタンス値の変動と(2)静電容量式パッドのグループ間のキャパシタンス値の変動の比率を決定することを含み得る。各コントローラの構成に対する比率を計算し、ユーザの握りに対して最も適合しやすい構成を決定する。
【0098】
サブブロック1120では、プロセス1100は、キャパシタンス値内に含まれたノイズを除去可能である。例えば、指が十分に伸びた場合等、指がコントローラ100に触らない場合、コントローラ100に触らない指に関連するそのような静電容量式パッド602は、ノイズに影響されやすい場合がある。本明細書で、少量のキャパシタンスを検出することは、受信されたキャパシタンス値内に大量のノイズを生じ得る。個々の静電容量式パッド602に対するタッチセンサ600からのキャパシタンス値が、特定のしきい値以下に降下する事例において、又はキャパシタンス値が、静電容量式パッド602に対し低レベルキャパシタンス値の特定の限界内にあれば、プロセス1100は、検出されたキャパシタンスを抑制可能である。他の事例において、このような状況では、プロセス1100は、低い重みをキャパシタンス値に割当可能である。
【0099】
サブブロック1122では、プロセス1100は、タッチセンサ600の静電容量式パッド602からの特定のキャパシタンス値及び/又はそれぞれの静電容量式パッド602に関連する指を拒否可能である。例えば、1120では、プロセス1100は、低レベルキャパシタンス値又は高レベルキャパシタンス値の間に小さい範囲を有する、静電容量式パッド602を識別可能である。これらの状況において、静電容量式パッド602により受信されたキャパシタンス値は、ノイズを導入可能で、特定の静電容量式パッド602、又は静電容量式パッド602のグループを無視することは、タッチセンサデータがユーザの手のジェスチャーに対応する信頼性を向上可能である。すなわち、静電容量式パッド602により検出されるキャパシタンス値の範囲が小さければ、静電容量式パッド602は、大量のノイズに影響されやすい場合がある。
【0100】
追加的に、又は代替的に、特定の指は、低い信頼性を有する複数の静電容量式パッド602に関連付け可能である。特定の指、又は静電容量式パッド602のグループを拒否することは、小さい手用のコントローラの構成に対し偶発的行動を導入する。これらの状況において、それぞれの指は、隣り合う指に関連付け可能である(例:小指が薬指に関連する)。
【0101】
1124では、プロセス1100は、最終正規化を実行可能である。例えば、いくつかの事例において、特定の指に割り当てられる静電容量式パッド602は、キャパシタンス値を検出不能、又はキャパシタンス値は、信頼性がない場合がある。本明細書で、ユーザは、手のサイズを理由に又はユーザが握りを再調整した事例において、タッチセンサ600の特定の静電容量式パッド602に触れることはできない。さらに、低レベル及び高レベルキャパシタンス値が小幅で、又は小さい範囲により分離されるいくつかの事例において、キャパシタンス値は、信頼性がない場合があり、ノイズは、指の動きにかなり影響し得る。これらの静電容量式パッド602からのノイズを除去又は減少するために、最終正規化1124は、キャパシタンス値の信頼度を決定可能で、信頼度が低いと、静電容量式パッド602からの静電容量値の重みは、加重和から除去される。それにおいて、静電容量値は合計され、使用する静電容量式パッド602の重みの和で除算される。
【0102】
1126では、プロセス1100は、タッチセンサデータをフィルタリングと曲線適合することが可能で、ユーザの手のジェスチャーを表示する。フィルタリングと曲線適合は、タッチセンサデータと指の位置の間に線形関係を達成するために(例:カールする、伸ばされる、途中まで伸ばされる等)、[0、1]の尺度でタッチデータの最終正規化を線形化することを含み得る。例えば、1124で決定される最終正規化の値は、ユーザの手が、コントローラ100に近接し、コントローラ100を掴持する際に、最終の正規化値は、指数関数的に増加するように、指数関数をなし得る。言い換えれば、総キャパシタンス値は、コントローラ100の上/周りに配置された指により、近接度に指数関数的に関する場合がある。キャパシタンス値が、指の位置に相関するように、[0、1]の尺度で該値を線形化することは、指が、コントローラ100に触る又は近接する場合に加えて、感度と、指がコントローラ100から伸ばされる場合にノイズが有し得る影響とを低減可能である。
【0103】
図示の通り、フィルタリングと曲線適合は、様々なサブブロックを具備可能で、手のジェスチャーを生成するために利用される最終値を達成する。フィルタリングと曲線適合のステージ1126では、プロセス1100は、曲線適合の前後のいずれかで、フィルタリングを適用してよい。例えば、サブブロックは、静電容量式パッド602が、ノイズに影響されやすい場合、キャパシタンス値の低レベル範囲内にキャパシタンス値をフィルタリングすることを含み得る。言い換えれば、指がコントローラ100を掴持する又はコントローラ100に近接する場合等、高レベルキャパシタンス範囲内で、静電容量式パッド602は、ノイズからの影響は少ない。
【0104】
プロセス1100は、1128で適応性フィルタリングを適用可能で、キャパシタンス値で実行されるフィルタリングの量を調整する。適応性フィルタリングは、キャパシタンス値が、キャパシタンス値の高範囲内にある場合と比較して、キャパシタンス値の低範囲内で、キャパシタンス値をより積極的にフィルタリングするために、適応性フィルタリング可能である。図示の通り、適応性フィルタリングは、サブブロック1130、1132、及び1134を含み得る。一般的に、1126での適応性フィルタリングは、サブブロック1130、1132、及び1134の結果を利用可能で、どの程度ノイズが正規化値に存在するかを決定し、正規化されたキャパシタンス値に加えられるフィルタリングの量を決定する。キャパシタンス値に存在するノイズの量を決定することは、それぞれの静電容量式パッド602に対する高レベル及び低レベルキャパシタンス値に加えて、キャパシタンス値を生成するために使用される静電容量式パッド602を決定することを含み得る。例えば、静電容量式パッド602は、基準ノイズを有し得、静電容量式パッド602に対する高レベルと低レベルキャパシタンス値との間の範囲が低ければ、静電容量式パッド602の基準ノイズは、指の動きが大きいことに相当し得る(すなわち、基準ノイズは、静電容量式パッド602が感知可能なキャパシタンス値の範囲の大きな部分である)。本明細書で、ノイズに対する信号の比率は、高い場合がある。それと比較すると、静電容量式パッド602に対する高レベルと低レベルキャパシタンス値との間の範囲が大きいと、静電容量式パッド602の基準ノイズは、大きな指の動きの量を導入不可である。これらの状況において、キャパシタンス値内のノイズを低減するために、キャパシタンス値の範囲が小さい場合、プロセス1100は、キャパシタンス値の範囲が大きい場合よりも、キャパシタンス値をより重くフィルタリングするのが可能である。フィルタリングと曲線適合1126は、各静電容量式パッド602が、それぞれ高及び低レベルのキャパシタンス値を具備し得るため、各静電容量式パッド602に対し繰り返し可能である。さらに、1126で適用されるフィルタリングの量は、静電容量式パッド602及び/又は拒否された静電容量式パッド602(例:パッドと指拒否1122)に依存可能である。
【0105】
1130での総ノイズ予測は、静電容量式パッド602に対するそれぞれの基準ノイズに加えて、使用される静電容量式パッド602、静電容量式パッド602に割当てられる重みに基づいて、キャパシタンス値をフィルタリングし得る。例えば、プロセス1100は、1128でデフォルト静電容量式パッドノイズを含み得、該ノイズは、個々の静電容量式パッド602に対する推計基準ノイズを表し得る。1130での総ノイズ予測ステップは、したがって、使用されるそのような静電容量式パッド602に対して、それらのそれぞれの基準ノイズ値を決定可能である。総ノイズ予測ステップはまた、静電容量式パッド602に対する予想ノイズを決定可能である。例えば、使用される静電容量式パッド602が、大きい範囲にわたって(すなわち、低レベルと高レベルのキャパシタンス値との間で)静電容量値を感知すれば、キャパシタンス値は、大量のノイズを含み得、フィルタリングを少なくして適用可能である。しかしながら、静電容量式パッド602に対するキャパシタンス値の範囲が小幅(すなわち、低レベルと高レベルのキャパシタンス値との間で)であれば、キャパシタンス値は、大量のノイズを含み得、プロセス1100は、より大きいフィルタリングの量を適用可能である。
【0106】
1132でのdNorm/dtは、経時的にキャパシタンス値の変化を考慮に入れることができる。例えば、静電容量式パッド602から受信したキャパシタンス値が、短時間(例:1つのフレーム)にわたって大幅に変化すれば、キャパシタンス値内に導入される潜在的なノイズは、無視され、それにしたがって、加重可能である。すなわち、静電容量値をフィルタリングして、待ち時間を導入する代わりに、キャパシタンス値が、しきい値の時間にわたって、しきい値の量を越えて変化すれば、フィルタリングを少なくして静電容量値に適用可能である。この意味で、大きい指の動きが検出される場合、フィルタリングを少なくして適用可能で、小さい指の動きが検出される場合、フィルタリングを多くして適用可能である。
【0107】
1134でのdCurl/dNormは、検出されたキャパシタンスの量に基づいて、正規化されたキャパシタンス値をフィルタリング可能である。例えば、指がコントローラを掴持する、キャパシタンス値の高範囲において、ノイズが指の位置にそれほど影響を与えない場合があるため、フィルタリングを少なくして適用可能である。しかしながら、指がコントローラから又はそれに近接して移動されるキャパシタンス値の低範囲で、キャパシタンス値の小さい変化が、指の位置にかなりの影響を与え得るため、フィルタリングを多くして適用可能である。本明細書で、キャパシタンス値の変化が小さければ、指ジェスチャーの変化が大きい結果になり得る。
【0108】
サブブロック1138では、ローパスフィルタは、検出されたキャパシタンス値でフィルタリングの量を調整する調節可能なローパス平均フィルタを表し得る。いくつかの事例において、フィルタリングの量は、[0、1]の尺度であり得、適応フィルタ1128で決定されたフィルタリングの量の結果に基づく場合がある。すなわち、ローパスフィルタは、適応性フィルタリングから決定される通り、キャパシタンス値をフィルタリング可能である。
【0109】
サブブロック1140では、プロセス1100は、[0、1]の尺度でキャパシタンス値を曲線適合可能で、キャパシタンス値を指の位置、又は手のアニメーションに関連付ける。各指に対して、曲線適合の出力は、各指に対する数字を含み得、該数字は、手の各指の指の位置を示す。
【0110】
サブブロック1142では、プロセス1100は、曲線適合後に反発フィルタを適用可能で、しきい値以下に降下するキャパシタンス値の変化をフィルタリングする。例えば、キャパシタンス値が、[0、1]の尺度でしきい値の量分変化しなければ、キャパシタンス値は、フィルタリング可能である。このようなフィルタリングは、ユーザにより感知される指の引っぱりと動きを低減可能である。
【0111】
サブブロック1144では、接合モデルは、手のアニメーション(例:手の骨格)に対応可能である。例えば、接合モデルは、1140での曲線適合から手の個々の指に割り当てられる数字に対応する手のアニメーションを作成可能である。
【0112】
図12は、コントローラ100等のコントローラ1200の典型的な構成要素を示す。図示の通り、コントローラ100は、上述の制御部(例:ジョイスティック、トラックパッド、トリガー等)等の1つ以上の入力/出力(I/O)デバイス1202、及び/又は潜在的に、他の任意の種類の入力又は出力デバイスを具備する。例えば、I/Oデバイス1202は、ユーザ音声入力等のオーディオ入力を受信するための1つ以上のマイクを具備可能である。いくつかの実装において、1つ以上のカメラ又は他の種類のセンサ(例:慣性測定装置(IMU))は、コントローラ100の動き等のジェスチャーの入力を受信するための入力デバイスとして機能し得る。いくつかの実施形態において、追加の入力デバイスは、キーボード、キーパッド、マウス、タッチスクリーン、ジョイスティック、調節ボタン等の形式で提供可能である。入力デバイスは、電源及びリセットボタンに加えて、音量を上げ下げするための基本的な音量調節ボタン等の制御機構をさらに具備し得る。一方、出力デバイスは、ディスプレー、光学部材(例:LED)、触覚作用を作成するための振動器、スピーカ(例:ヘッドホン)、及び/又はそれに類するものを具備し得る。例えば、コントローラ100が電源オン等の状態を示す、簡便な光学部材(例:LED)もまたあり得る。いくつかの実施例が提供された一方、コントローラ100は、追加的に、又は代替的に、他の任意の種類の出力デバイスを具備し得る。
【0113】
いくつかの事例において、1つ以上の出力デバイスによる出力は、入力デバイスの1つ以上により受信される入力に基づき得る。例えば、コントローラ100で制御タッチ入力を選択することで、制御部の近傍(例:~の下)及び/又は他の任意の位置に配置された振動器により触覚反応が出力され得る。いくつかの事例において、出力は、コントローラ100のハンドル112上/内に配設された静電容量式パッド602等のタッチセンサ600上のタッチ入力の特性に少なくとも部分的に基づいて、変化可能である。例えば、ハンドル112上の第1の位置でのタッチ入力が、第1の触覚出力を生じ得る一方、ハンドル112上の第2の位置でのタッチ入力は、第2の触覚出力を生じ得る。さらに、ハンドル112上の特定のジェスチャーは、特定の触覚出力(又は他の種類の出力)を生じ得る。例えば、ハンドル112上で(タッチセンサ600により検出される)タップアンドホールドジェスチャーは、第1の種類の触覚出力を生じ得る一方、ハンドル112上でタップアンドリリースジェスチャーは、第2の種類の触覚出力を生じ、ハンドル112を強くタップすると、第3の種類の触覚出力が生じ得る。
【0114】
さらに、コントローラ100は、ネットワーク及び/又は1つ以上の遠隔システム(例:アプリケーション、ゲームコンソール、他のコントローラ等を実行するホストコンピューティングデバイス)への無線接続を容易にするために、1つ以上の通信インターフェース1204を具備し得る。通信インターフェース1204は、Wi-Fi、Bluetooth、無線周波数(RF)等の様々な無線技術の1つ以上を実装可能である。追加的に、又は代替的に、コントローラ100は、ネットワーク、接続された周辺機器、又は他の無線ネットワークと通信する差し込み式ネットワークデバイスへの有線接続を容易にするための物理ポートを具備し得る。
【0115】
図示の実装において、コントローラ100は、1つ以上のプロセッサ1206とコンピュータ可読媒体1208をさらに含む。いくつかの実装において、プロセッサ1206は、中央処理装置(CPU)と、グラフィックス・プロセッシング・ユニット(GPU)と、CPUとGPUの両方と、マイクロプロセッサと、デジタル信号プロセッサと、又は他の公知の処理装置又は構成要素と、を具備し得る。追加的に、又は代替的に、本明細書に記載される機能は、1つ以上のハードウェア論理構成要素によって、少なくとも部分的に、実施され得る。例えば、非限定的に、使用可能なハードウェア論理構成要素の例示的な種類としては、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、コンプレックスプログラマブル論理デバイス(CPLD)などが挙げられる。さらに、プロセッサ1206の各々は、その独自のローカルメモリを有し得、該メモリはまた、プログラム構成要素、プログラムデータ、及び/又は1つ以上のオペレーティングシステムを記憶し得る。
【0116】
コンピュータ可読媒体1208は、揮発性および不揮発性メモリと、コンピュータ可読命令、データ構造、プログラム構成要素、又は他のデータ等の情報を記憶するための任意の方法又は技術で実装される取り外し可能および取り外し不可能な媒体と、を含み得る。このようなメモリは、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD)又は他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置、RAID記憶システム、又は所望の情報を記憶するために使用可能で、コンピューティングデバイスによってアクセス可能な他の任意の媒体を含むが、これらに限定されない。コンピュータ可読媒体1208は、コンピュータ可読記憶媒体(「CRSM」)として実装可能で、プロセッサ1206によりアクセス可能な任意の利用可能な物理媒体であり得、コンピュータ可読媒体1208に記憶される命令を実行する。1つの実装において、CRSMは、ランダムアクセスメモリ(「RAM」)とフラッシュメモリを含み得る。他の実装において、CRSMは、読み出し専用メモリ(「ROM」)、電気的消去可能プログラマブル読み出し専用メモリ(「EEPROM」)、又は所望の情報を記憶するために使用可能で、かつプロセッサ1206によってアクセス可能な、他の任意の有形媒体を含み得るが、これらに限定されない。
【0117】
命令、データ記憶等のいくつかのモジュールは、コンピュータ可読媒体1208内に記憶され、プロセッサ1206上で実行するように構成可能である。いくつかの典型的な機能モジュールは、同一の機能が、ハードウェア、ファームウェア内、又はチップ(SOC)上のシステムとして、その代わりとして、実装可能であるが、コンピュータ可読媒体1208に記憶され、プロセッサ1206上で実行されるように図示される。オペレーティングシステムモジュール1210は、他のモジュールの利点のために、コントローラ100内でかつそれに結合されたハードウェアを管理するように構成可能である。さらに、コンピュータ可読媒体1208は、コントローラ100が、通信インターフェース1204の1つ以上により、アプリケーション(例:ゲームアプリケーション)、ゲームコンソール、遠隔サーバ、他のコントローラ、コンピューティングデバイス等を実行するパーソナルコンピューティングデバイス等の1つ以上の他のデバイスと通信可能になる、ネットワーク通信モジュール1212を記憶可能である。コンピュータ可読媒体1208は、コントローラ100又はコントローラ100に結合されたコンピューティングデバイス上で実行するゲーム(又は他のアプリケーション)に関連するデータを記憶するためのゲームセッションデータベース1214をさらに具備可能である。
【0118】
コンピュータ可読媒体1208はまた、パーソナルコンピューティングデバイス、ゲームコンソール、遠隔サーバ等のコントローラ100に結合されたデバイスに関連するデータを記憶する、デバイス記録データベース1216を含み得る。コンピュータ可読媒体1208は、コントローラ100をゲームコントローラとして機能するように構成するゲームコントロール命令1218と、コントローラ100を他の非ゲームデバイスのコントローラとして機能するように構成するユニバーサル制御命令1220と、をさらに記憶可能である。コンピュータ可読媒体1208は、追加的に、コントローラの構成1222を記憶可能である。コントローラの構成1222は、タッチセンサ600の静電容量式パッド602の割当に関連するデータを表示又は具備可能で、特定の静電容量式パッド602を、コントローラ100を操作するユーザのそれぞれの指に関連付ける。
【0119】
発明の主題が、構造的な特徴に特有な言語で記載されたものの、添付の特許請求の範囲に規定された発明の主題は、記載される具体的な特徴に必ずしも限定されないことを理解されたい。むしろ、具体的な特徴は、請求項を実施する例示的な形態として開示されている。
【0120】
条項
本開示の実施形態は、以下の条項を考慮して、説明可能である。
条項1.
静電容量式パッドを有するタッチセンサと、
1つ以上のプロセッサと、
コンピュータ実行可能な命令を記憶する1つ以上の非一時的コンピュータ可読媒体であって、該命令は、1つ以上のプロセッサによって実行される場合、1つ以上のプロセッサに、
タッチセンサから、静電容量式パッドの1つ以上により検出されるキャパシタンス値を受信することであって、キャパシタンス値は、コントローラに触る又は近接する1つ以上の対象に対応する、受信すること、
キャパシタンス値を使用して、第1のコントローラの構成に対して、第1のコントローラの構成の個々の指グループ内のキャパシタンス値の第1の変動を決定することであって、第1のコントローラの構成の個々の指グループは、中指と、薬指と、小指と、を含む、決定すること、
キャパシタンス値を使用して、第2のコントローラの構成に対して、第2のコントローラの構成の個々の指グループ内のキャパシタンス値の第2の変動を決定することであって、第2のコントローラの構成の個々の指グループは、中指と、薬指と、小指と、を含む、決定すること、
キャパシタンス値を使用して、第1のコントローラの構成に対して、第1のコントローラの構成の個々の指グループ間のキャパシタンス値の第1の変動を決定すること、
キャパシタンス値を使用して、第2のコントローラの構成に対して、第2のコントローラの構成の個々の指グループ間のキャパシタンス値の第2の変動を決定すること、
第1のコントローラの構成の個々の指グループ内のキャパシタンス値の第1の変動と、第1のコントローラの構成の個々の指グループ間のキャパシタンス値の第1の変動に基づいて、第1のコントローラの構成に対する第1のスコアを決定すること、
第2のコントローラの構成の個々の指グループ内のキャパシタンス値の第2の変動と、第2のコントローラの構成の個々の指グループ間のキャパシタンス値の第2の変動に基づいて、第2のコントローラの構成に対する第2のスコアを決定すること、
第1のコントローラの構成又は第2のコントローラの構成の1つを選択すること、及び
第1のコントローラの構成又は第2のコントローラの構成にしたがって、タッチセンサを構成すること、を含む操作を実行させる、1つ以上の非一時的コンピュータ可読媒体と、を具備する、コントローラ。
条項2.
タッチセンサを構成することは、
タッチセンサの第1の静電容量式パッドを中指に関連付けること、
タッチセンサの第2の静電容量式パッドを薬指に関連付けること、及び
タッチセンサの第3の静電容量式パッドを小指に関連付けること、を含む、条項1に記載のコントローラ。
条項3.
静電容量式パッドは、グループ、行、又は列の少なくとも1つに配列される、条項1に記載のコントローラ。
条項4.
1つ以上の非一時的コンピュータ可読媒体は、コンピュータ実行可能な命令を記憶し、該命令は、1つ以上のプロセッサによって実行される場合、1つ以上のプロセッサに、第1のスコアと第2のスコアをランク付けすることをさらに含む操作を実行させ、
第1のコントローラの構成又は第2の構成を選択することは、第1のスコアと第2のスコアの中から、最高位のスコアを選択することを含む、条項1に記載のコントローラ。
条項5.
キャパシタンス値は、第1のキャパシタンス値を含み、1つ以上の非一時的コンピュータ可読媒体は、コンピュータ実行可能な命令を記憶し、該命令は、1つ以上のプロセッサによって実行される場合、1つ以上のプロセッサに、
タッチセンサから、静電容量式パッドの1つ以上により検出される第2のキャパシタンス値を受信することであって、第2のキャパシタンス値は、コントローラに触る又は近接する1つ以上の対象に対応する、受信すること、
第2のキャパシタンス値を使用して、第1のコントローラの構成に対して、第1のコントローラの構成の個々の指グループ内のキャパシタンス値の第3の変動を決定すること、
第2のキャパシタンス値を使用して、第2のコントローラの構成に対して、第2のコントローラの構成の個々の指グループ内のキャパシタンス値の第4の変動を決定すること、
第2のキャパシタンス値を使用して、第1のコントローラの構成に対して、第1のコントローラの構成の個々の指グループ間のキャパシタンス値の第3の変動を決定すること、
第2のキャパシタンス値を使用して、第2のコントローラの構成に対して、第2のコントローラの構成の個々の指グループ間のキャパシタンス値の第4の変動を決定すること、
少なくとも部分的に、第1のコントローラの構成の個々の指グループ内のキャパシタンス値の第3の変動と、第1のコントローラの構成の個々の指グループ間のキャパシタンス値の第3の変動に基づいて、第1のコントローラの構成に対する第3のスコアを決定すること、
少なくとも部分的に、第2のコントローラの構成の個々の指グループ内のキャパシタンス値の第4の変動と、第2のコントローラの構成の個々の指グループ間のキャパシタンス値の第4の変動に基づいて、第2のコントローラの構成に対する第4のスコアを決定すること、
第1のコントローラの構成又は第2のコントローラの構成の1つを選択すること、及び
第1のコントローラの構成又は第2のコントローラの構成にしたがって、タッチセンサを構成すること、を含む、操作を実行させる、条項1に記載のコントローラ。
条項6.
1つ以上の非一時的コンピュータ可読媒体は、コンピュータ実行可能な命令を記憶し、該命令は、1つ以上のプロセッサによって実行される場合、1つ以上のプロセッサに、
少なくとも部分的に、第1のスコアと第3のスコアに基づいて、第1のコントローラの構成に対する稼働スコアを決定すること、及び
少なくとも部分的に、第2のスコアと第4のスコアに基づいて、第2のコントローラの構成に対する稼働スコアを決定すること、をさらに含む、操作を実行させる、条項5に記載のコントローラ。
条項7.
タッチセンサから、タッチセンサの1つ以上の静電容量式パッドにより検出されたキャパシタンス値を表すデータを受信すること、
少なくとも部分的に、該データに基づいて、コントローラの第1のコントローラの構成に対する第1のスコアと、コントローラの第2のコントローラの構成に対する第2のスコアを決定することであって、
第1のコントローラの構成は、
第1の指に割り当てられた第1の静電容量式パッド及び第2の静電容量式パッドと、
第2の指に割り当てられた第3の静電容量式パッド及び第4の静電容量式パッドと、を具備し、
第1のスコアを決定することは、
第1の静電容量式パッドと第2の静電容量式パッドとの間のキャパシタンスの変動を決定すること、
第3の静電容量式パッドと第4の静電容量式パッドとの間のキャパシタンスの変動を決定すること、及び
第1の静電容量式パッドと第2の静電容量式パッドの総キャパシタンス値と第3の静電容量式パッドと第4の静電容量式パッドの総キャパシタンス値との間のキャパシタンスの変動を決定すること、を含み、
第2のコントローラの構成は、
第1の指に割り当てられた第5の静電容量式パッド及び第6の静電容量式パッドと、
第2の指に割り当てられた第7の静電容量式パッド及び第8の静電容量式パッドと、を具備し、
第2のスコアを決定することは、
第5の静電容量式パッドと第6の静電容量式パッドとの間のキャパシタンスの変動を決定すること、
第7の静電容量式パッドと第8の静電容量式パッドとの間のキャパシタンスの変動を決定すること、及び
第5の静電容量式パッドと第6の静電容量式パッドの総キャパシタンス値と第7の静電容量式パッドと第8の静電容量式パッドの総キャパシタンス値との間のキャパシタンスの変動を決定すること、を含む、決定すること、
第1のコントローラの構成と第2のコントローラの構成の中から、選択されたコントローラの構成を決定すること、及び
選択されたコントローラの構成にしたがって、コントローラのタッチセンサを構成すること、を含む、方法。
条項8.
データは、第1のデータを含み、方法は、
タッチセンサから、タッチセンサの1つ以上の静電容量式パッドにより検出されたキャパシタンス値を表す第2のデータを受信すること、
少なくとも部分的に、選択されたコントローラの構成に基づいて、第2のデータを、第1の指又は第2の指の1つ以上に関連付けること、
少なくとも部分的に、第2のデータを、第1の指又は第2の指の1つ以上に関連付けることに基づいて、第1の指又は第2の指の少なくとも1つに対する指値を決定すること、をさらに含む、条項7に記載の方法。
条項9.
指値を1つ以上のコンピューティングデバイスに送信することをさらに含む、条項8に記載の方法。
条項10.
第1のスコアと第2のスコアをランク付けすることをさらに含み、
選択されたコントローラの構成を決定することは、第1のコントローラの構成と第2のコントローラの構成の中から、最高位のコントローラの構成を決定することを含む、条項7に記載の方法。
条項11.
選択されたコントローラの構成にしたがって、タッチセンサを構成することは、第1のコントローラの構成にしたがって、タッチセンサの静電容量式パッドを関連付けること、又は第2のコントローラの構成にしたがって、タッチセンサの静電容量式パッドを関連付けることを含む、条項7に記載の方法。
条項12.
データは、第1のデータを含み、選択されたコントローラの構成は、第1の選択されたコントローラの構成を具備し、方法は、
タッチセンサから、タッチセンサの1つ以上の静電容量式パッドにより検出されたキャパシタンス値を表す第2のデータを受信すること、
少なくとも部分的に、第2のデータに基づいて、第1のコントローラの構成に対する第3のスコアと第2のコントローラの構成に対する第4のスコアを決定することであって、
第3のスコアを決定することは、
第1の静電容量式パッドと第2の静電容量式パッドとの間のキャパシタンスの変動を決定すること、
第3の静電容量式パッドと第4の静電容量式パッドとの間のキャパシタンスの変動を決定すること、及び
第1の静電容量式パッドと第2の静電容量式パッドの総キャパシタンス値と第3の静電容量式パッドと第4の静電容量式パッドの総キャパシタンス値との間のキャパシタンスの変動を決定すること、を含み、
第2のスコアを決定することは、
第5の静電容量式パッドと第6の静電容量式パッドとの間のキャパシタンスの変動を決定すること、
第7の静電容量式パッドと第8の静電容量式パッドとの間のキャパシタンスの変動を決定すること、及び
第5の静電容量式パッドと第6の静電容量式パッドの総キャパシタンス値と第7の静電容量式パッドと第8の静電容量式パッドの総キャパシタンス値との間のキャパシタンスの変動を決定すること、を含む、決定すること、
第1のコントローラの構成と第2のコントローラの構成の中から、第2の選択されたコントローラの構成を決定すること、及び
第2のコントローラの構成にしたがって、コントローラのタッチセンサを構成すること、を含む、条項7に記載の方法。
条項13.
第2の選択されたコントローラの構成が、第1の選択されたコントローラの構成と異なることを決定することをさらに含み、
第2の選択されたコントローラの構成にしたがって、コントローラのタッチセンサを構成することは、少なくとも部分的に、第2の選択されたコントローラの構成が、第1の選択されたコントローラの構成と異なると決定することに基づく、条項12に記載の方法。
条項14.
静電容量式パッドを有するタッチセンサと、
1つ以上のプロセッサと、
コンピュータ実行可能な命令を記憶する1つ以上の非一時的コンピュータ可読媒体であって、該命令は、1つ以上のプロセッサによって実行される場合、1つ以上のプロセッサに、
コントローラに近接する1つ以上の対象に対応するデータを受信すること、
少なくとも部分的に、該データに基づいて、第1のコントローラの構成に対するスコアを決定すること、
少なくとも部分的に、該データに基づいて、第2のコントローラの構成に対するスコアを決定すること、
第1のコントローラの構成又は第2のコントローラの構成を選択すること、及び
第1のコントローラの構成又は第2のコントローラの構成にしたがって、タッチセンサを構成すること、を含む操作を実行させる、1つ以上の非一時的コンピュータ可読媒体と、を具備する、コントローラ。
条項15.
第1のコントローラの構成は、
中指に割り当てられた第1のグループの静電容量式パッドと、
薬指に割り当てられた第2のグループの静電容量式パッドと、
小指に割り当てられた第3のグループの静電容量式パッドと、を具備し、
第2のコントローラの構成は、
中指に割り当てられた第4のグループの静電容量式パッドと、
薬指に割り当てられた第5のグループの静電容量式パッドと、
小指に割り当てられた第6のグループの静電容量式パッドと、を具備する、条項14に記載のコントローラ。
条項16.
第1のコントローラの構成に対し中指に割り当てられた第1のグループの静電容量式パッドは、第2のコントローラの構成に対し中指に割り当てられた第4のグループの静電容量式パッドと異なる、
第1のコントローラの構成に対し薬指に割り当てられた第2のグループの静電容量式パッドは、第2のコントローラの構成に対し薬指に割り当てられた第5のグループの静電容量式パッドと異なる、又は
第1のコントローラの構成に対し小指に割り当てられた第3のグループの静電容量式パッドは、第2のコントローラの構成に対し小指に割り当てられた第6のグループの静電容量式パッドと異なる、ことのうちの少なくとも1つである、条項15に記載のコントローラ。
条項17.
データは、タッチセンサの静電容量式パッドにより検出されたキャパシタンス値を示し、
第1のコントローラの構成に対するスコアは、
第1のグループの静電容量式パッドのキャパシタンス値の変動と、
第2のグループの静電容量式パッドのキャパシタンス値の変動と、
第3のグループの静電容量式パッドのキャパシタンス値の変動と、
第1のグループ、第2のグループ、第3のグループのキャパシタンス値の間の変動と、を含み、
第2のコントローラの構成に対するスコアは、
第4のグループの静電容量式パッドのキャパシタンス値の変動と、
第5のグループの静電容量式パッドのキャパシタンス値の変動と、
第6のグループの静電容量式パッドのキャパシタンス値の変動と、
第4のグループ、第5のグループ、第6のグループのキャパシタンス値の間の変動と、を含む、条項15に記載のコントローラ。
条項18.
第1のコントローラの構成又は第2のコントローラの構成を選択することは、第1のコントローラの構成又は第2のコントローラの構成の中から、最高位のコントローラの構成を選択することを含む、条項14に記載のコントローラ。
条項19.
第1のコントローラの構成又は第2のコントローラの構成にしたがって、タッチセンサを構成することは、
静電容量式パッドの第1の静電容量式パッドを中指に関連付けること、
静電容量式パッドの第2の静電容量式パッドを薬指に関連付けること、及び
静電容量式パッドの第3の静電容量式パッドを小指に関連付けること、を含む、条項14に記載のコントローラ。
条項20.
1つ以上の非一時的コンピュータ可読媒体は、コンピュータ実行可能な命令を記憶し、該命令は、1つ以上のプロセッサによって実行される場合、1つ以上のプロセッサに、第1のコントローラの構成又は第2のコントローラの構成のもう1つにしたがって、コントローラのタッチセンサを構成することを含む、操作を実行させ、第1のコントローラの構成又は第2のコントローラの構成のもう1つにしたがって、タッチセンサを構成することは、
静電容量式パッドの第4の静電容量式パッドを中指に関連付けること、
静電容量式パッドの第5の静電容量式パッドを薬指に関連付けること、及び
静電容量式パッドの第6の静電容量式パッドを小指に関連付けること、を含む、条項19に記載のコントローラ。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1]タッチセンサから、前記タッチセンサの1つ以上の静電容量式パッドにより検出されたキャパシタンス値を表すデータを受信すること、
少なくとも部分的に、前記データに基づいて、コントローラの第1のコントローラの構成に対する第1のスコアと、前記コントローラの第2のコントローラの構成に対する第2のスコアを決定することであって、
前記第1のコントローラの構成は、
第1の指に割り当てられた第1の静電容量式パッド及び第2の静電容量式パッドと、
第2の指に割り当てられた第3の静電容量式パッド及び第4の静電容量式パッドと、を具備し、
前記第1のスコアを決定することは、
前記第1の静電容量式パッドと前記第2の静電容量式パッドとの間のキャパシタンスの変動を決定すること、
前記第3の静電容量式パッドと前記第4の静電容量式パッドとの間のキャパシタンスの変動を決定すること、及び
前記第1の静電容量式パッドと前記第2の静電容量式パッドの総キャパシタンス値と前記第3の静電容量式パッドと前記第4の静電容量式パッドの総キャパシタンス値との間のキャパシタンスの変動を決定すること、を含み、
前記第2のコントローラの構成は、
前記第1の指に割り当てられた第5の静電容量式パッド及び第6の静電容量式パッドと、
前記第2の指に割り当てられた第7の静電容量式パッド及び第8の静電容量式パッドと、を具備し、
前記第2のスコアを決定することは、
前記第5の静電容量式パッドと前記第6の静電容量式パッドとの間のキャパシタンスの変動を決定すること、
前記第7の静電容量式パッドと前記第8の静電容量式パッドとの間のキャパシタンスの変動を決定すること、及び
前記第5の静電容量式パッドと前記第6の静電容量式パッドの総キャパシタンス値と前記第7の静電容量式パッドと前記第8の静電容量式パッドの総キャパシタンス値との間のキャパシタンスの変動を決定すること、を含む、決定すること、
前記第1のコントローラの構成と前記第2のコントローラの構成の中から、選択されたコントローラの構成を決定すること、及び
選択されたコントローラの構成にしたがって、前記コントローラの前記タッチセンサを構成すること、を含む、方法。
[2]前記データは、第1のデータを含み、前記方法は、
前記タッチセンサから、前記タッチセンサの1つ以上の静電容量式パッドにより検出されたキャパシタンス値を表す第2のデータを受信すること、
少なくとも部分的に、前記選択されたコントローラの構成に基づいて、前記第2のデータを、前記第1の指又は前記第2の指の1つ以上に関連付けること、
少なくとも部分的に、前記第2のデータを、前記第1の指又は前記第2の指の前記1つ以上に関連付けることに基づいて、前記第1の指又は前記第2の指の少なくとも1つに対する指値を決定すること、をさらに含む、[1]に記載の方法。
[3]前記指値を、1つ以上のコンピューティングデバイスに送信することをさらに含む、[1又は2]のいずれかに記載の方法。
[4]前記第1のスコアと前記第2のスコアをランク付けすることをさらに含み、
前記選択されたコントローラの構成を決定することは、前記第1のコントローラの構成と前記第2のコントローラの構成の中から、最高位のコントローラの構成を決定することを含む、[1~3]のいずれか1項に記載の方法。
[5]前記選択されたコントローラの構成にしたがって、前記タッチセンサを構成することは、前記第1のコントローラの構成にしたがって、前記タッチセンサの静電容量式パッドを関連付けること、又は前記第2のコントローラの構成にしたがって、タッチセンサの静電容量式パッドを関連付けること、を含む、[1~4]のいずれか1項に記載の方法。
[6]前記データは、第1のデータを含み、前記選択されたコントローラの構成は、第1の選択されたコントローラの構成を具備し、前記方法は、
前記タッチセンサから、前記タッチセンサの1つ以上の静電容量式パッドにより検出されたキャパシタンス値を表す第2のデータを受信すること、
少なくとも部分的に、前記第2のデータに基づいて、前記第1のコントローラの構成に対する第3のスコアと前記第2のコントローラの構成に対する第4のスコアを決定することであって、
前記第3のスコアを決定することは、
前記第1の静電容量式パッドと前記第2の静電容量式パッドとの間のキャパシタンスの変動を決定すること、
前記第3の静電容量式パッドと前記第4の静電容量式パッドとの間のキャパシタンスの変動を決定すること、及び
前記第1の静電容量式パッドと前記第2の静電容量式パッドの総キャパシタンス値と前記第3の静電容量式パッドと前記第4の静電容量式パッドの総キャパシタンス値との間のキャパシタンスの変動を決定すること、を含み、
前記第2のスコアを決定することは、
前記第5の静電容量式パッドと前記第6の静電容量式パッドとの間のキャパシタンスの変動を決定すること、
前記第7の静電容量式パッドと前記第8の静電容量式パッドとの間のキャパシタンスの変動を決定すること、及び
前記第5の静電容量式パッドと前記第6の静電容量式パッドの総キャパシタンス値と前記第7の静電容量式パッドと前記第8の静電容量式パッドの総キャパシタンス値との間のキャパシタンスの変動を決定すること、を含む、決定すること、
前記第1のコントローラの構成と前記第2のコントローラの構成の中から、第2の選択されたコントローラの構成を決定すること、及び
前記第2のコントローラの構成にしたがって、前記コントローラの前記タッチセンサを構成すること、を含む、[1~5]のいずれか1項に記載の方法。
[7]前記第2の選択されたコントローラの構成が、前記第1の選択されたコントローラの構成と異なることを決定することをさらに含み、前記第2の選択されたコントローラの構成にしたがって、前記コントローラの前記タッチセンサを前記構成することは、少なくとも部分的に、前記第2の選択されたコントローラの構成が、前記第1の選択されたコントローラの構成と異なることを前記決定することに基づく、[1~6]のいずれか1項に記載の方法。
[8]静電容量式パッドを有するタッチセンサと、
1つ以上のプロセッサと、
コンピュータ実行可能な命令を記憶する1つ以上の非一時的コンピュータ可読媒体であって、前記命令は、前記1つ以上のプロセッサによって実行される場合、前記1つ以上のプロセッサに、
前記コントローラに近接する1つ以上の対象に対応するデータを受信すること、
少なくとも部分的に、前記データに基づいて、第1のコントローラの構成に対するスコアを決定すること、
少なくとも部分的に、前記データに基づいて、第2のコントローラの構成に対するスコアを決定すること、
前記第1のコントローラの構成又は前記第2のコントローラの構成を選択すること、及び
前記第1のコントローラの構成又は前記第2のコントローラの構成にしたがって、前記タッチセンサを構成すること、を含む操作を実行させる、1つ以上の非一時的コンピュータ可読媒体と、を具備する、コントローラ。
[9]前記第1のコントローラの構成は、
中指に割り当てられた第1のグループの静電容量式パッドと、
薬指に割り当てられた第2のグループの静電容量式パッドと、
小指に割り当てられた第3のグループの静電容量式パッドと、を具備し、
前記第2のコントローラの構成は、
前記中指に割り当てられた第4のグループの静電容量式パッドと、
前記薬指に割り当てられた第5のグループの静電容量式パッドと、
前記小指に割り当てられた第6のグループの静電容量式パッドと、を具備する、[8]に記載のコントローラ。
[10]前記第1のコントローラの構成に対し前記中指に割り当てられた前記第1のグループの静電容量式パッドは、前記第2のコントローラの構成に対し前記中指に割り当てられた前記第4のグループの静電容量式パッドと異なる、
前記第1のコントローラの構成に対し前記薬指に割り当てられた前記第2のグループの静電容量式パッドは、前記第2のコントローラの構成に対し前記薬指に割り当てられた前記第5のグループの静電容量式パッドと異なる、又は
前記第1のコントローラの構成に対し前記小指に割り当てられた前記第3のグループの静電容量式パッドは、前記第2のコントローラの構成に対し前記小指に割り当てられた前記第6のグループの静電容量式パッドと異なる、ことのうちの少なくとも1つである、[8又は9]に記載のコントローラ。
[11]前記データは、前記タッチセンサの前記静電容量式パッドにより検出されたキャパシタンス値を示し、
前記第1のコントローラの構成に対するスコアは、
前記第1のグループの静電容量式パッドのキャパシタンス値の変動と、
前記第2のグループの静電容量式パッドのキャパシタンス値の変動と、
前記第3のグループの静電容量式パッドのキャパシタンス値の変動と、
前記第1のグループ、前記第2のグループ、前記第3のグループの前記キャパシタンス値の間の変動と、を含み、
前記第2のコントローラの構成に対するスコアは、
前記第4のグループの静電容量式パッドのキャパシタンス値の変動と、
前記第5のグループの静電容量式パッドのキャパシタンス値の変動と、
前記第6のグループの静電容量式パッドのキャパシタンス値の変動と、
前記第4のグループ、前記第5のグループ、前記第6のグループの前記キャパシタンス値の間の変動と、を含む、[8~10]のいずれか1項に記載のコントローラ。
[12]前記第1のコントローラの構成又は前記第2のコントローラの構成を選択することは、前記第1のコントローラの構成又は前記第2のコントローラの構成の中から、最高位のコントローラの構成を選択することを含む、[8~11]のいずれか1項に記載のコントローラ。
[13]前記第1のコントローラの構成又は前記第2のコントローラの構成にしたがって、前記タッチセンサを前記構成することは、
前記静電容量式パッドの第1の静電容量式パッドを中指に関連付けること、
前記静電容量式パッドの第2の静電容量式パッドを薬指に関連付けること、及び
前記静電容量式パッドの第3の静電容量式パッドを小指に関連付けること、を含む、[8~12]のいずれか1項に記載のコントローラ。
[14]前記1つ以上の非一時的コンピュータ可読媒体は、コンピュータ実行可能な命令を記憶し、前記命令は、前記1つ以上のプロセッサによって実行される場合、前記1つ以上のプロセッサに、前記第1のコントローラの構成又は前記第2のコントローラの構成のもう1つにしたがって、前記コントローラの前記タッチセンサを構成することを含む、操作を実行させ、前記第1のコントローラの構成又は前記第2のコントローラの構成のもう1つにしたがって、前記タッチセンサを構成することは、
前記静電容量式パッドの第4の静電容量式パッドを前記中指に関連付けること、
前記静電容量式パッドの第5の静電容量式パッドを前記薬指に関連付けること、及び
前記静電容量式パッドの第6の静電容量式パッドを前記小指に関連付けること、を含む、[8~13]のいずれか1項に記載のコントローラ。
[15]前記静電容量式パッドは、グループ、行、又は列のうちの少なくとも1つに配列される、[8~14]のいずれか1項に記載のコントローラ。