上述したように、ハンドヘルドコントローラは様々な環境で使用され、様々な機能を含む。ただし、いくつかの従来のハンドヘルドコントローラは、ユーザが操作できる制御部に関して静的な構成を含む。つまり、多くの従来のハンドヘルドコントローラは、通常、異なるゲームタイトルなどの異なるアプリケーション間で使用される同じ制御部を含む。さらに、これらの同じ制御部は、異なるユーザが異なる構成のニーズおよび/または好みを有し得るという事実にもかかわらず、ハンドヘルドコントローラの各ユーザによって使用される。
本明細書に記載されるのは、とりわけ、異なる制御部に取り外し可能に結合するように構成されたハンドヘルドコントローラ、ならびに使用のためのおよび/またはハンドヘルドコントローラを組み立てるための方法である。したがって、本明細書に記載されるハンドヘルドコントローラは、異なるアプリケーション(例えば、ゲームタイトル)、およびユーザなどのニーズを満たすために、コントローラの構成を変更するための制御部の動的な交換を可能にする。例えば、第1のゲームアプリケーションは、コントローラに結合されたジョイスティックなどの第1の制御部の使用によりプレイするのが最良であり得、第2のゲームアプリケーションは、方向パッド(Dパッド)などの第2の制御部のユーザによりプレイされるのが最良であり得る。したがって、ユーザは、現在実行中のゲームアプリケーションに応じて、第1の制御部を第2の制御部と、または第2の制御部を第1の制御部と交換することができる。追加的に、または代替的に、第1のユーザは、凸状の形状のキャップを有する比較的長いジョイスティックなどの第1の制御部を好むことがあり、第2のユーザは、凹状の形状のキャップを有するより短いジョイスティックなどの第2の制御部を好むことがある。この場合も、ハンドヘルドコントローラは、現在どのユーザがコントローラを操作しているかに応じて動的に構成されてもよい。さらに、これらの場合の各々において、ハンドヘルドコントローラまたはリモートシステムは、ほぼリアルタイムで、どの制御部がコントローラに現在結合しているかを判定してもよく、この情報を現在のアプリケーションを実行するシステムに提供し、システムは次いで、ハンドヘルドコントローラの構成に基づいて変更を加えてもよい。したがって、本明細書に記載される技術は、上述したように、従来のハンドヘルドコントローラの現在の欠陥のいくつかを改善する、動的に構成可能なハンドヘルドコントローラを可能にする。
場合によっては、本明細書に記載されるハンドヘルドコントローラを使用して、リモート装置(例えば、テレビ、オーディオシステム、パーソナルコンピューティング装置、ゲームコンソールなど)を制御し、および/またはビデオゲームプレイなどに従事することができる。ハンドヘルドコントローラは、ハンドヘルドコントローラのハウジングの前面にある1つ以上の前側面制御部を含む、1つ以上の制御部を含み得る。これらの前面制御部は、1つ以上のジョイスティック、方向パッド(Dパッド)、トラックパッド、トラックボール、ボタン、または例えばハンドヘルドコントローラのユーザの親指などによって制御可能なその他の制御部を含み得る。追加的にまたは代替的に、ハンドヘルドコントローラは、ハンドヘルドコントローラのハウジングの上面に存在する1つ以上の上面制御部を含み得る。例えば、これらの上面制御部は、「トリガー」、または「バンパー」などと呼ばれてもよく、中指、または人差し指などのユーザの1つ以上の指によって制御可能であってもよい。場合によっては、ハンドヘルドコントローラは、ユーザの左手の1つ以上の指によって操作可能な1つ以上の左上面制御部と、ユーザの右手の1つ以上の指によって操作可能な1つ以上の右上面制御部と、を含む。さらに、ハンドヘルドコントローラは、コントローラのバッテリへのアクセスを提供するためにも使用される、コントローラのバックカバー上の1つ以上のボタンなどの1つ以上の背面制御部を含み得る。場合によっては、背面制御部は、ユーザの左手によって操作可能な1つ以上の制御部と、ユーザの右手によって操作可能な1つ以上の制御部とを含み得る。
場合によっては、ハンドヘルドコントローラは、1つ以上の制御部に取り外し可能に結合するための1つ以上の受信機部分を有するハウジングを含み得る。例えば、ハウジングは、ハウジングの前面に、1つ以上のジョイスティック、1つ以上のDパッド、1つ以上のトラックパッド、1つ以上のボタン、および/また1つ以上のアクセシビリティ制御部などに取り外し可能に結合するように構成された受信機を含み得る。場合によっては、ユーザは、ユーザがプレイしている現在のアプリケーション(例えば、ゲームタイトル)に基づいて、ユーザの快適さに基づいて、および/または任意の他の理由のために、第1の制御部を第2の制御部と交換することができる。さらに、上記の例は取り外し可能な前面制御部を説明しているが、他の例では、コントローラは、追加的にまたは代替的に、1つ以上の取り外し可能な上面制御部、および/または背面制御部などを含み得る。
場合によっては、ハンドヘルドコントローラまたはコントローラに通信可能に結合されたシステムは、ジョイスティック、またはDパッドなどの、コントローラに結合された現在の制御部(複数可)を判定し得る。一例では、ハンドヘルドコントローラは、どの制御部がコントローラに現在結合されているかを識別することに使用するためのホール効果センサを含み得る。これらの場合、各制御部は異なる磁石構成を含んでもよく、それぞれの制御部がコントローラのハウジングの受信機に結合するときに、ホール効果センサは、その電圧を、それぞれの制御部の磁石構成によって引き起こされる磁場に応答して変化させてもよい。次に、コントローラ、またはコントローラに結合されたシステムは、この電圧を、ジョイスティック、Dパッドなどの既知の制御部にマッピングしてもよい。すなわち、制御部の各磁石構成は、他の制御部に対して一意であり得るので、結果として生じる磁場、およびしたがって、ホール効果センサによって生成される電圧も同様に一意であり得る。コントローラまたはコントローラと通信するシステムは、各電圧を特定の制御部を識別する特定の識別データに関連付けるテーブルまたは他のデータ構造を記憶してもよい。
本明細書で使用される場合、磁石構成は、磁石の強度、磁石の位置(position)または位置(location)、磁石の向き、使用される磁石の数、および/またはこれらの任意の組み合わせを含み得る。例えば、第1の制御部は、第1の方向に向けられた第1の強度の磁石を含み得る。第2の制御部もまた、第1の強度を有するが第2の方向(例えば、第1の方向の反対側)に配向された磁石を含み得る。第3の制御部は、第2の強度の磁石を含み得、第4の制御部は、特定の位置における2つの磁石を含み得、第5の制御部は、特定の数の特定の強度の磁石、ならびに所定の位置および向きなどを含み得る。これらの例の各々において、生成された磁場、およびしたがってホール効果センサによって生成された電圧は、各制御部が互いの制御部に対して明確にされ得るように、互いの制御部に対して一意であり得る。さらに、場合によっては、ホール効果センサによって検出された磁場の不在がその特定の制御部を一意に識別するように、1つの制御部は磁石を含まないことがある。
ハンドヘルドコントローラのハウジングに現在結合されている制御部を識別した後、ハンドヘルドコントローラおよび/またはシステムは、システムによって実行されているアプリケーションの制御部の識別を中継してもよい。次に、システムは、アプリケーションの1つ以上のパラメータを判定するために、この情報を考慮に入れてもよい。例えば、ディスプレイ上の移動に変換された制御部の移動に関連付けられた較正係数および倍率は、現在の制御部を反映するように更新されてもよい。別の例では、アプリケーション(例えば、ゲーム)は、どの制御部が受信機に現在結合しているかに基づいて、異なる動き/制御の選択を可能にし得る。さらに別の例では、コントローラの構成を使用して、ユーザに推奨するか、または他の方法で表示するコンテンツを判定してもよい。例えば、コントローラが2つではなく4つのボタンを有するバックカバーに現在結合している場合、ゲームアプリケーションまたはプラットフォームは、4ボタンバックカバーと互換性のある(例えば、それによって利用される機能を含む)ゲームを推奨してもよい。もちろん、いくつかの例が説明されてきたが、システムおよび/またはコントローラがこの情報を1つ以上の他の方法で使用できることが理解されるべきである。
場合によっては、例えば、8つの方向(例えば、上、下、左、右、上/左、下/左、上/右、下/左)に移動可能である第1のDパッドがハンドヘルドコントローラに結合されていることを判定することに応答して、コントローラおよび/またはリモートシステムは、ユーザによる操作を介して提供されるアナログ入力に基づいて、これらの8つの方向に信号をデジタル化してもよい。例えば、ユーザがコントローラを、それに8方向Dパッドが結合された状態で操作するときに、これらの方向の各々に対応するアナログ信号は、閾値と比較されてもよい。特定のアナログ信号が閾値よりも大きい場合、信号はデジタル化されてもよく、信号の指示がリモートシステムに渡されてもよい。例えば、ユーザが8方向Dパッドの左側部分を押し下げ、コントローラが各方向に0ボルト〜1ボルトのアナログ信号を生成するように構成されているとする。さらに、例示的な閾値が0.3ボルトに設定されており、その閾値を上回るアナログ信号は1Vにデジタル化され、残りの信号はデジタル化されないとする。この場合、Dパッドの左方向に対応するアナログ信号が0.3Vの閾値よりも大きい可能性があるが(ユーザがその方向に押している場合)、他の7つの方向に対応するアナログ信号はそうではない可能性がある(ユーザがこれらの方向に押していない場合)。したがって、左方向に対応する信号を1Vの値にデジタル化してもよく、他の値には0Vの値を割り当ててもよい。さらに、コントローラが、4つの方向(例えば、左、右、上、および下)に移動可能な第2のDパッドがコントローラに結合していることを判定したときに、コントローラおよび/またはリモートシステムは、これらの4つの方向に対応アナログ信号をデジタル化しようと試みてもよい。別の言い方をすれば、コントローラおよび/またはリモートシステムは、4、8、または他の数の方向の各々が「オン」または「オフ」の読み取り(一般的に「デジタル信号」または「デジタル入力」として知られている)のいずれかに対応するように、各方向に関連付けられた各信号に閾値を適用してもよい。さらに、上述した説明は、例示的な電圧および例示的な閾値について論じているが、本明細書に記載されるコントローラは、任意の他の好適な範囲の電圧値を出力するように構成されてもよく、任意の他の閾値を利用してもよいことが理解されるべきである。
さらに他の例では、アナログ信号は、ジョイスティック、またはDパッドなどの特定の制御部に結合するコントローラに基づいて増幅され得る。例えば、コントローラは、比較的限定された可動域を有するジョイスティックがいつコントローラに結合されるかを識別するように構成されてもよく、それに応答して、結果として生じるアナログ信号を特定の倍率によって増幅してもよい。例えば、コントローラは、0.4Vに対応するアナログ信号がゲームシステムによって0.8Vとして読み取られるように、2の倍率を適用することができる。さらに他の例では、信号は増幅され、その後デジタル化されてもよい。
さらに、他の技術を利用して、どの制御部がハンドヘルドコントローラに現在結合しているかを判定することができる。例えば、無線周波数識別(RFID)技術を利用して、コントローラに取り外し可能に結合する各制御部を一意に識別してもよい。これらの例では、ハウジング(例えば、受信機に近接している)は、RFID信号を送信するように構成されたRFIDリーダを含んでもよく、一方、各制御部は、RFID信号を受信し、それに応答して、コントローラに取り外し可能に結合するように構成された他の制御部と相対的に制御部を一意に識別する識別データを提供するように構成されたRFIDタグを含んでもよい。場合によっては、RFIDタグは、アクティブタグ、またはパッシブタグなどを備えてもよい。さらに、上記の例は、RFIDリーダを含むハンドヘルドコントローラのハウジングを説明しているが、場合によっては、各制御部はそれぞれのリーダを含んでもよく、ハウジングはRFIDタグを含んでもよい。
さらに他の例では、ハンドヘルドコントローラは、光学センサ、静電容量センサ、組み込み抵抗器、および/または任意の他のタイプのハードウェアを利用して、どの特定の制御部がコントローラのハウジングに現在結合しているかを識別することができる。
さらに他の例では、取り外し可能な制御部は、1つ以上のソフトウェアベースの検出方法を使用して識別され得る。例えば、各制御部が異なる物理的形態因子を有し得るとする場合、各制御部は、異なる方法でユーザによって操作可能であり得る。つまり、ハウジングの受信機に結合するジョイスティックは、すべての方向に(つまり、360度で)移動可能であり得るが、第1のDパッドは8方向(例えば、上、下、左、右、上/左、下/左、上/右、下/右)でのみ移動可能であり得、一方で、第2のDパッドは4方向(例えば、左、右、上、下)でのみ移動可能であり得、第3のDパッドは2方向(例えば、左右または上下)でのみ移動可能であり得る。ハンドヘルドコントローラ、またはハンドヘルドコントローラに通信可能に結合されたシステム上で実行されるアプリケーションは、コントローラに現在結合されている特定の制御部を識別するために、結合された制御部を介して行われた移動を経時的に受信することができる。例えば、アプリケーションが4つの方向(例えば、左、右、上、下)でのみ制御部を操作しているユーザのデータを経時的に受信する場合、アプリケーションは、コントローラが現在、上述された第2のDパッドに結合していると判定してもよい。ただし、アプリケーションが、すべての方向で制御部を操作しているユーザのデータを経時的に受信する場合、アプリケーションは、コントローラがジョイスティックに現在結合していると判定してもよい。もちろん、いくつかの例が説明されてきたが、これらの技術は、どの制御部が他の複数の方法でコントローラに現在結合しているかを識別できることを理解されたい。
いくつかの従来のハンドヘルドコントローラは、固定された数および固定されたタイプの制御部を含むが、本明細書に記載されるコントローラは、個々のユーザおよび/またはコントローラを介して実行されているアプリケーションに合わせて調整できる様々な構成を可能にする。この構成可能性により、これらのコントローラの使用が強化され、したがって、コントローラを操作するユーザのエクスペリエンスが向上する。
図1は、ジョイスティック、および方向パッド(Dパッド)などの異なる制御部に取り外し可能に結合するように構成された受信機を含み得る、例示的なハンドヘルドコントローラ100の正面図である。
図示するように、ハンドヘルドコントローラ100は、前面104(1)の反対側の背面および上面104(2)の反対側の底面とともに潜在的に前面104(1)および上面104(2)を有するハウジング102を含む。前面104(1)は、場合によっては、ハンドヘルドコントローラ100を操作するユーザの1人または親指によって制御可能である1つ以上の前面制御部を含み得る。これらの前面制御部は、より詳細に後述するように、1つ以上のトラックパッド、トラックボール、ジョイスティック、ボタンなどを含み得る。この例では、前面104(1)は、ユーザの左手の親指によって制御可能な左トラックパッド106(1)と、ユーザの右親指によって制御可能な右トラックパッド106(2)と、を含む。さらに、例示的なコントローラ100は、ジョイスティック110(1)、第1のDパッド110(2)、および第2のDパッド110(3)などの1つ以上の制御部110に取り外し可能に結合するように構成された受信機108を含む。コントローラに結合されたとき、これらの制御部110の各々は、例えば、ユーザの左手の親指によって制御可能であり得る。もちろん、図1は、ハンドヘルドコントローラ100を、ハウジング102の上面104(1)に受信機108を含むものとして示しているが、他の例では、コントローラ100は、ハウジング102の他の表面(複数可)に1つ以上の受信機を追加的にまたは代替的に含んでもよい。
例えば、そして後述するように、ハンドヘルドコントローラ100は、異なる取り外し可能なバックカバーを受け入れるように構成されたハウジングの背面に受信機を含み得る。これらのバックカバーは、コントローラ100のバッテリキャビティの上にあるカバーとして機能することに加えて、制御部としても機能することができる。例えば、第1の取り外し可能なバックカバーは、2つのボタン(例えば、バックカバーの左側に1つ、バックカバーの右側に1つ)を含んでもよく、第2の取り外し可能なバックカバーは、4つのボタン(例えば、右側と左側の各々に2つ)を含んでもよい。この場合も、ハンドヘルドコントローラ100は、本明細書に記載される識別技術を使用して、コントローラ100が現在結合しているバックカバーを識別するように構成されてもよい。さらに、いくつかの例示的なカバーのおよび受信機の位置が説明されているが、ハンドヘルドコントローラ100は、異なるタイプのカバーのアレイに取り外し可能に結合するように構成された様々な場所に受信機を含み得ることを理解されるべきである。
コントローラは、押し下げ可能なボタン112(例えば、ユーザの右手の親指によって制御可能)および追加の入力制御部をさらに含み得る。この例では、ハンドヘルドコントローラ100はまた、ユーザがユーザの右手および左手を介してそれぞれコントローラ100を保持することができる左ハンドル114(1)および右ハンドル114(2)も含む。
一方、上面104(2)は、1つ以上の上面制御部を含み得る。図示された例では、コントローラ100は、左上面制御部116(1)と、右上面制御部116(2)と、を含む。左上面制御部116(1)は、ユーザの左指(例えば、中指または人差し指)によって操作可能であり得、一方、右上面制御部は、右指(例えば、中指またはユーザの人差し指)によって操作可能であり得る。上面制御部116(1)および116(2)は、場合によっては、「トリガー」または「バンパー」と呼ばれることがある。さらに、場合によっては、上面制御部116(1)および116(2)のうちの1つ以上は、それぞれの上面制御部上のユーザの1つ以上の指の存在、位置、および/またはジェスチャを検出するための1つ以上のタッチセンサを含み得る。
場合によっては、ハンドヘルドコントローラ100のユーザは、コントローラ100の機能、外観、または感触を変更するために、どの制御部110が受信機108に結合するかを交換することができる。例えば、ユーザは、第1のアプリケーションを操作するときにジョイスティック110(1)を受信機108に結合すること、第2のアプリケーションを操作するときに第1のDパッド110(2)を結合すること、第3のアプリケーションを操作するときに第2のDパッド110(3)を結合すること、および以下同様に結合することを選択し得る。場合によっては、これらの制御部の各々が異なる機能(例えば、異なる方向への移動)を提供してもよい。さらに他の例では、ユーザは、制御部の外観または感触に基づいて制御部を選択してもよい。例えば、異なる制御部は、異なるサイズ、テクスチャ、形状、および高さなどを含み得る。一例では、異なるジョイスティックは、異なる高さ、および異なる形状(例えば、凸面、凹面、平坦など)などを有し得る。
各場合において、ハンドヘルドコントローラは、制御部110のどれが受信機に現在結合しているかを識別するために使用されるデータを生成することができる。場合によっては、ハンドヘルドコントローラ100は、このデータを使用してこの決定を行ってもよく、他の例では、ハンドヘルドコントローラ100は、このデータをリモートシステム(例えば、コントローラのローカル環境にあるゲームコンソール、コントローラ100によって制御されるアプリケーションを実行するリモートサーバなど)に提供してもよい。これらの場合の各々において、コントローラ100は、このデータを一連の方法で生成してもよい。例えば、ハンドヘルドコントローラ100は、アナログホール効果センサ、デジタルスイッチホール効果センサ、光学センサ、RFID機能、または受信機108に現在結合されている制御部を判定するために使用されるデータを生成するための他の機能を含み得る。場合によっては、ハンドヘルドコントローラは、どの制御部が受信機108に現在結合されているかを判定するために、制御部がユーザによってどのように操作されているかを示す制御部使用データを経時的に追跡してもよい。例えば、制御部、ゲームコンソール、および/またはリモートサーバなどで実行されるソフトウェアは、この制御部使用データを使用して、特定の制御部に関連付けられた特定の使用シグネチャを識別することができる。例えば、制御部使用データが、制御部が360°の方法で操作されていることを示す場合、ソフトウェア(またはファームウェア)は、ジョイスティックに関連付けられた使用シグネチャを識別することができ、したがって、ジョイスティックが受信機108に結合されていることを判定することができる。逆に、制御部使用データが、制御部が4つの方向(例えば、上、下、左、および右)でのみ使用されていることを示す場合、ソフトウェアは、4方向Dパッドに関連付けられた使用シグネチャを識別することができ、したがって、4方向Dパッドが受信機108に現在結合していることを判定することができる。次の図およびそれに付随する説明では、これらの概念について詳細に後述する。
図2は、図1のハンドヘルドコントローラ100などのハンドヘルドコントローラの受信機204に結合された取り外し可能なジョイスティック202を含む例示的なアセンブリ200の断面図および斜視図を示す。図示のように、この例では、受信機部分は、後述するように、どの取り外し可能な制御部が受信機204に現在結合しているかを判定する際に使用するデータを生成するように構成されたホール効果センサ206に結合するか、または他の方法で隣接する。図2は、単一のホール効果センサを示しているが、他の例では、コントローラは、複数のこのようなセンサが含み得る。これらの場合には、各ホール効果センサは、異なる電圧読み取り値を生成してもよく、これらの読み取り値の組み合わせを使用して、コントローラに結合された特定の制御部を一意に識別してもよい。これらの場合には、例示的なジョイスティック202などの制御部は、複数のホール効果センサ磁石を含んでもよく、単一のホール効果センサ磁石を含んでもよく、または上述したように、ホール効果センサ磁石を含まなくてもよい。
図2は、受信機204が磁石208(1)も含み、ジョイスティック202が磁石208(2)を含むことをさらに示している。場合によっては、磁石208(1)および208(2)は、ジョイスティック202を受信機204に取り外し可能に結合するために互いに引き付け合うように配向されている。例えば、磁石208(1)のS極は、受信機とジョイスティックが磁気的に結合するように、磁石208(2)のN極が下向き(またはその逆)に配向されてもよく、したがって、コントローラのユーザがジョイスティックを使用してコントローラを操作することを可能にする。他の例では、一方、磁石208(1)または208(2)のうちの1つは、磁石ではなく磁性金属を備えてもよく、ジョイスティック202(または他の制御部)を受信機204に結合するための同様の引力をもたらす。例えば、コントローラ100は、図示された磁石208(2)の位置において、磁石208(2)の代わりに存在する磁性体に結合する磁石208(1)を含み得る。別の例では、ジョイスティック202は、図示された磁石208(1)の位置において、磁石208(1)の代わりに存在する磁性材料に結合する磁石208(2)を含み得る。さらに、この例は、磁気引力を介してジョイスティック202または他の制御部を受信機204に取り外し可能に結合することを説明しているが、他の例では、これらの構成要素は、力適合接続または任意の他のタイプの接続を介して追加的にまたは代替的に結合し得る。
一方、ホール効果センサ206は、磁場に応答してその出力電圧を変化させる変換器を備えてもよい。これを実現するために、ホール効果センサ206は、電流が印加される金属の薄いストリップを含み得、その結果、磁場が金属の薄いストリップに印加されると、薄いストリップの電子は、一方の縁に向かって偏向される。この偏向により、ストリップ全体にわたって印加電流の流れに垂直な電圧勾配が生成される。
したがって、制御部110の異なる制御部は、異なる磁場を生成する異なる磁気構成を含み得、したがって、ホール効果センサ206において異なる電圧勾配を形成する。次に、これらの異なる勾配、または電圧測定値を使用して、どの制御部が受信機204に結合されているかを判定してもよい。すなわち、ハンドヘルドコントローラまたはコントローラからリモートであるシステム(例えば、ゲームコンソール、サーバなど)は、それぞれの電圧測定値とそれぞれの制御部識別子(ID)との間の関連付けを記憶してもよい。例えば、第1の電圧測定値は、第1の制御部に関連付けられてもよく、第2の測定値は、第2の制御部に関連付けられてもよく、以下同様である。
この例では、ジョイスティック202は、ホール効果センサ磁石210を含む。したがって、ジョイスティック202がコントローラに結合するとき、ホール効果センサ206は、特定の電圧測定値を測定してもよく、コントローラまたは別の装置を使用して、現在結合されているジョイスティック202のアイデンティティを判定してもよい。すなわち、コントローラまたは別の装置(例えば、ゲームコンソール、サーバなど)は、ホール効果センサ206によって判定される特定の電圧測定値に関連付けられた装置IDを判定してもよい。
さらに、そして上述したように、場合によっては、電圧勾配が存在しないことは、特定の制御部に関連付けられてもよい。例えば、ジョイスティックは、センサ206に近接してホール効果センサ磁石を含まない場合がある。したがって、センサは、受信機204が特定のジョイスティックに現在結合されていることを示すためにこの例の信号として使用され得る勾配を生成することを控えることができる。
図3は、2つの異なる取り外し可能なジョイスティックの斜視図および断面図、ならびに異なるジョイスティックの各々を受け入れるように構成され得るハンドヘルドコントローラの受信機の断面図を示す。右側のジョイスティックは、図2を参照して示されたジョイスティック202を含み得る。すなわち、このジョイスティック202は、凸状の上面を有するジョイスティック302と比較して、比較的平坦な上部を含み得る。図示するように、ジョイスティック202および302の各々は、磁石208(1)を介してそれぞれのジョイスティックを受信機204に磁気的に結合するために、それぞれ磁石208(2)および208(3)を含み得る。場合によっては、磁石208(2)および208(3)は、同じ方向に配向された同じまたは実質的に同様の磁場を備えてもよい。さらに、この例では、ジョイスティック202は、ジョイスティック202を識別するのに使用するためのホール効果センサ磁石210を含む。一方、ジョイスティック302は、ホール効果センサ磁石212を含み得、その結果、ホール効果センサ206は、ジョイスティック302が受信機204に結合するときに、固有の電圧勾配を生成する。この例では、ジョイスティックは異なるホール効果センサ磁石を含み得るが、他の例では、ジョイスティック202および302は、ハンドヘルドコントローラおよび/またはコントローラが結合するシステム(複数可)が、コントローラによって制御されている任意のアプリケーションの操作の目的で、ジョイスティック202および302を同じように扱うことができる。したがって、ユーザは、他のジョイスティックと比較して制御部の機能を変更することなく、好みのジョイスティック(例えば、凸面、凹面、平坦など)を選択してもよい。場合によっては、2つのジョイスティックは、反対方向に配向された同じ磁石を含み得る。例えば、ジョイスティック202は、ジョイスティックがコントローラに結合するときに、南極がコントローラに面するように配向された磁石210を含んでもよく、一方、ジョイスティック302は、同じ磁石210を含み得るが反対方向に配向されてもよい。したがって、ホール効果センサ206は、異なる磁気配向によって引き起こされる異なる電圧読み取り値に基づいて、ジョイスティックを互いに明確にすることができる。
図4は、2つの異なる取り外し可能なDパッドの斜視図、断面側面図、および断面上面図、ならびに異なるDパッドの各々を受け入れるように構成され得るハンドヘルドコントローラの受信機の断面図を示す。図示されるように、図4は、受信機204に結合されたときに4つの方向(例えば、4つの方位)に移動するように構成され得るDパッド402、および受信機204に結合されたときに、8つの方向(例えば、4つの方位および4つの方位)に移動するように構成され得るDパッド404を示す。もちろん、2つの例示的なDパッドが説明されているが、任意の他の可動域を有する他のDパッドも使用され得ることが理解されるべきである。
これらの2つの制御部を別の制御部から、および受信機に取り外し可能に結合するように構成された他の制御部から明確にするために、これらのDパッドは、異なるホール効果センサ磁石を含み得る。図示するように、Dパッド402は、Dパッドの縁の近くに配置されたホール効果センサ磁石406(1)を含む。一方、Dパッド404は、同じくDパッドの縁の近くに配設されたホール効果センサ磁石406(2)を含む。場合によっては、これらの磁石は、ホール効果センサ206がハンドヘルドコントローラに現在結合されている制御部を識別するために使用される電圧データを生成することを可能にするために、ホール効果センサ206に最も近い制御の側に配置(例えば、内部に成形)されてもよい。
さらに、場合によっては、ホール効果センサ磁石406(1)の磁気構成は、ホール効果センサ磁石406(2)の磁気構成とは異なる場合がある。例えば、極は互いに反対方向に配向されもよく、磁気強度は異なっていてもよく、それぞれの制御部上の位置は異なっていてもよく、および/または同様である。さらに、場合によっては、制御部は、互いに対して異なる数のホール効果センサ磁石を使用してもよい。いずれにせよ、これらの磁石を使用して、Dパッド402、Dパッド404、または別の制御部がコントローラに現在結合されているかどうかを識別してもよい。さらに、Dパッド402および404は、磁石208(1)を介してそれぞれの制御部を受信機204に固定するための取り外し可能な磁石208(4)および208(5)(同じであっても異なっていてもよい)をそれぞれ含み得る。
図5は、受信機504に結合する例示的な制御部、この場合はジョイスティック502を含む例示的なアセンブリ500を示す。さらに、受信機504が結合されるコントローラ100は、取り外し可能なジョイスティック502などのどの制御部が受信機504に現在結合されているかどうかを識別するためのRFID機能を含んでいてもよい。RFIDを介して制御部を識別するために、場合によっては、コントローラのハウジング、例えば、受信機504に隣接するハウジングの一部分は、それ以外の方法で、RFIDタグにインタロゲータ信号を送信し、それに応答して、変調された信号の形態で識別データを受信するように構成されたRFIDリーダを含んでいてもよい。したがって、受信機に取り外し可能に結合するように構成された各制御部(または制御部のクラス)は、RFIDリーダから問い合わせ信号を受信し、その識別情報を送り返すように構成された固有のRFIDタグを含み得る。さらに、上記の例は、問い合わせ信号をパッシブタグに送信するRFIDリーダを説明しているが、任意の他の形態のRFID(例えば、パッシブリーダ、アクティブタグなど)を利用できることを理解されたい。
図示するように、例示的なジョイスティック502は、RFIDリーダ508(例えば、RFコイル、アンテナ、および集積回路(IC))から問い合わせ信号を受信し、それに応答して、その識別データを符号化する信号を送信するように構成されたRFIDタグ506(例えば、RFコイルおよびICを含む)を含む。次に、RFIDリーダ508によって受信されたこの識別データは、ハンドヘルドコントローラまたは別のシステムによって使用されて、どの制御部がコントローラに現在結合されているかを識別してもよい。場合によっては、RFIDリーダ508は、受信機504の一部分を形成するか、または他の方法で受信機504に隣接している。ここで、RFIDリーダ508は、RFIDボビン510に収容されたコイルを含む。さらに、場合によっては、RFIDタグ506は、制御部を受信機に結合するための磁石を含む統合された構成要素の一部分を形成してもよい。すなわち、RFIDタグ506は、上述されたRFIDタグ機能および磁石208(2)の機能を実施するように構成された構成要素の一部分を形成してもよい。あるいは、他の実装形態では、RFIDタグ506は、磁石208(2)として機能することなく、図示された磁石208(2)の位置またはその近くに存在してもよい。
図6は、取り外し可能なDパッド602などのどの制御部が受信機504に現在結合されているかどうかを識別するためのRFID機能を含む受信機504に結合する例示的な制御部、この場合は、Dパッド602を含む例示的なアセンブリ600を示す。この場合も、RFIDを介して制御部を識別するために、Dパッド602は、RFIDタグ606を含み、一方、受信機504またはハウジングの別の部分は、インタロゲータ信号をタグ606に送信するように構成されたRFIDリーダ508を含む。それに応答して、RFIDタグは、その識別データを変調信号の形態でリーダ508に送り返してもよい。次に、RFIDリーダ508によって受信されたこの識別データは、ハンドヘルドコントローラまたは別のシステムによって使用されて、どの制御部がコントローラに現在結合されているかを識別してもよい。この場合も、RFIDリーダ508は、一部分を形成するか、または他の方法で受信機504に隣接し得る。ここで、RFIDリーダ508は、RFIDボビン510に収容されたコイルを含む。さらに、場合によっては、RFIDタグ606は、制御部を受信機に結合するための磁石を含む統合された構成要素の一部分を形成してもよい。すなわち、そして上述したように、RFIDタグ606は、上述されたRFIDタグ機能および磁石208(4)の機能を実施するように構成された構成要素の一部分を形成してもよい。
図7は、例示的な取り外し可能なジョイスティック502および例示的な取り外し可能なDパッド602の斜視図および断面図、ならびに取り外し可能な制御部の各々を受け入れるように構成されたハンドヘルドコントローラの受信機504の断面図を示す。この図は、ユーザがジョイスティック502をDパッド602および/または結合されたRFIDを有する任意の他の制御部と交換でき、それに応答して、RFIDリーダ508がタグから、結合された制御部を識別するためのRFID識別データを受信できることを説明するのに役立つ。例えば、ジョイスティック502が受信機504に結合する場合、ジョイスティック502のRFIDタグ506は、RFIDリーダ508から問い合わせ信号を受信し、それに応答して、その識別データを符号化する信号を変調してもよい。同様に、Dパッド602が受信機504に結合する場合、Dパッド602のRFIDタグ606は、RFIDリーダ508からと合わせ信号を受信し、それに応答して、その識別データを符号化する信号を変調してもよい。
図8は、本明細書に記載される技術を実装するように構成された例示的なハンドヘルドコントローラ100の上面図である。図示するように、上面104(2)は、ユーザの左指によって操作可能な追加の左上面制御部802(1)と、ユーザの右指によって操作可能な追加の右上面制御部802(2)とを含み得る。場合によっては、追加の左上面制御部802(1)および追加の右上面制御部802(2)の両方は、上面制御部116(1)および/または116(2)に存在するタッチセンサに加えて、またはその代わりに、制御部上の指の存在、位置、および/またはジェスチャを検出するためのタッチセンサを含んでもよい。
図9は、例示的なハンドヘルドコントローラ100の側面図である。図示するように、側面図は、右側のハンドル114(2)と、右側の上面制御部116(2)および802(2)とを示している。制御部116(2)および802(2)のうちの1つ以上は、制御部上の1つ以上の指の存在、位置、および/またはジェスチャを識別するためにタッチセンシティブであり得る。
図10は、図1の例示的なハンドヘルドコントローラ100の背面図である。この例では、コントローラは、異なるタイプのバックカバーを受け入れるための受信機部分を含む背面104(3)を含む。例えば、この背面受信機は、2つのボタンを有するバックカバー1002、および/または4つのボタンを有するバックカバー1004などを受け入れることができる。各場合において、2ボタンバックカバー1002などのバックカバーは、バックカバー1004などの別のバックカバーと交換することができる。もちろん、図10はバックカバーの2つの例を示しているが、他の例では、交換可能なバックカバーは、任意の他の数の選択可能なボタンを含み得る。さらに、図示された制御部110を参照して上述した技術と同様に、ハンドヘルドコントローラ100は、どのバックカバーがコントローラに現在結合しているかを示すデータを取得するように構成されてもよい。次に、ハンドヘルドコントローラまたは別のシステムは、このデータを使用してこの判定を行うことができ、この決定は、コントローラ100を介して操作されるアプリケーションによって使用されてもよい。
場合によっては、コントローラ100は、図示されたコントローラ100を参照して上記したものと同様または同じ技術を使用して、どのバックカバーがコントローラ100に結合するかを判定してもよい。例えば、コントローラ100のハウジングの背面104(3)は、ホール効果センサ、RFIDリーダ、および/または光学センサなどを含むか、またはこれらに隣接し得る。これらの構成要素の各々は、どのバックカバーがコントローラ100に現在結合しているかを識別するのに使用するためのデータを生成するように構成されてもよい。これを実現するために、各バックカバーは、特定の磁気構成、固有のRFIDタグ、および/または特定のカバーを識別するために使用される他の情報を含み得る。
例えば、図11は、例示的な2ボタンバックカバー1002の斜視図を示している。この場合、バックカバー1002は、このカバーがコントローラ100に結合するときに2ボタンカバー1002を識別するためにハンドヘルドコントローラによって使用され得るホール効果センサ磁石1102を含む。すなわち、ホール効果センサ206と同様であるが、コントローラの背面104(3)の近くに配置されたホール効果センサは、磁石1102の磁気構成に基づいて電圧勾配を生成してもよい。この電圧勾配を使用して、バックカバー1002を一意に識別してもよい。バックカバー1004は、同様に、バックカバー1004などを識別するのに使用するための固有のホール効果センサ磁石(または磁気構成)を含み得る。
一方、図12は、例示的な4ボタンバックカバー1004の斜視図を示している。この場合、バックカバー1004は、このカバーがコントローラ100に結合するときに4ボタンカバー1004を識別するためにハンドヘルドコントローラによって使用され得るRFIDタグ1202を含む。すなわち、上述されたリーダと同様であるが、コントローラの背面104(3)の近くに配置されたRFIDリーダは、RFIDタグ1202によって受信および変調されて戻される問い合わせ信号を送信することができる。この変調された信号は、バックカバー1004を一意に識別するために使用されてもよい。バックカバー1002は、同様に、バックカバー1002などを識別するのに使用するための固有のRFIDタグを含み得る。
図13は、例示的なプロセス1300のフロー図である。本明細書で説明されるプロセス1300は、ロジックフローグラフ内のブロックの集合として示され、ハードウェア、ソフトウェア、またはこれらの組み合わせで実装され得る一連の動作を表す。ソフトウェアの文脈では、ブロックは、1つ以上のプロセッサによって実行されると、列挙された動作を実行するコンピュータ実行可能命令を表す。一般に、コンピュータ実行可能命令は、特定の機能を実行するかまたは特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。動作が説明される順序は、限定として解釈されることを意図するものではなく、説明される任意の数のブロックは、プロセスを実装するために任意の順序で、および/または並列に組み合わせることができる。
動作1302は、第1の制御部がハンドヘルドコントローラのハウジングの受信機に結合されていることを判定することを表す。この動作は、様々な方法で実施され得る。例えば、ハンドヘルドコントローラの構成要素は、第1の制御部を一意に識別するデータを生成してもよく、そのデータを使用して、データとの間の関連付けを一意の制御部IDに判定してもよく、またはこの決定を行うためにこのデータを別のシステムに送信してもよい。このデータは、ホール効果センサによって測定された電圧データ、RFIDリーダによって受信されたRFIDデータ、光学データ、抵抗性データ、制御がどのように使用されているかを示す制御部使用データ、および/または現在結合されている制御部を一意に識別するために使用され得る任意の他のタイプのデータを含み得る。
一方、動作1304は、コントローラが現在動作している可能性があるソフトウェアアプリケーションに、ハンドヘルドコントローラが第1の制御部に現在結合されていることを通知することを表す。例えば、コントローラはこの通知を提供してもよく、またはゲームコンソール、またはリモートサーバなどの別のシステムがこの通知を提供してもよい。一方、ソフトウェアアプリケーションは、この情報を様々な方法で使用してもよい。例えば、ソフトウェアアプリケーションは、例えば、特定のゲーム内の移動が正しく行われるように、この情報に基づいて特定のスケーリングパラメータを利用してもよい。別の例では、ソフトウェアアプリケーションは、コントローラの現在の構成に基づいて、コンテンツなどをユーザに推奨してもよい。例えば、ソフトウェアアプリケーションは、どのアプリケーション(例えば、ゲーム)がコントローラの現在の構成と互換性があるかまたは推奨されるかを判定し、これらのアプリケーションをコントローラのユーザに推奨してもよい。もちろん、いくつかの例が説明されてきたが、ソフトウェアアプリケーションがこの情報を任意の他の方法で使用できることを理解されるべきである。
動作1306は、第2の制御部がハンドヘルドコントローラのハウジングの受信機に結合されていることを判定することを表す。この場合も、この動作は、様々な方法で実施され得る。例えば、ハンドヘルドコントローラの構成要素は、第2の制御部を一意に識別するデータを生成してもよく、そのデータを使用して、データとの間の関連付けを一意の制御部IDに判定してもよく、またはこの決定を行うためにこのデータを別のシステムに送信してもよい。このデータは、ホール効果センサによって測定された電圧データ、RFIDリーダによって受信されたRFIDデータ、光学データ、抵抗性データ、制御がどのように使用されているかを示す制御部使用データ、および/または現在結合されている制御部を一意に識別するために使用され得る任意の他のタイプのデータを含み得る。
最後に、動作1308は、ハンドヘルドコントローラが第2の制御部に現在結合されていることをソフトウェアアプリケーションに通知することを表す。例えば、コントローラはこの通知を提供してもよく、またはゲームコンソール、またはリモートサーバなどの別のシステムがこの通知を提供してもよい。この場合も、ソフトウェアアプリケーションはこの情報を様々な方法で使用できる。例えば、ソフトウェアアプリケーションは、特定のゲーム内の移動が引き続き正しく行われるように、この情報に基づいて特定のスケーリングパラメータを更新することができる。別の例では、ソフトウェアアプリケーションは、コントローラの新しい構成に基づいて、コンテンツなどをユーザに推奨してもよい。例えば、ソフトウェアアプリケーションは、どのアプリケーション(例えば、ゲーム)がコントローラの現在の構成と互換性があるかまたは推奨されるかを判定し、これらのアプリケーションをコントローラのユーザに推奨してもよい。この場合も、いくつかの例が説明されてきたが、ソフトウェアアプリケーションがこの情報を任意の他の方法で使用できることを理解されるべきである。
図14は、コントローラ100などのハンドヘルドコントローラの例示的な構成要素を示す。図示するように、ハンドヘルドコントローラは、上述された制御部(例えば、ジョイスティック、トラックパッド、トリガー、取り外し可能な制御部、固定された制御部など)、および潜在的に任意の他のタイプの入力または出力装置などの1つ以上の入力/出力(I/O)装置1402を含む。例えば、I/O装置1402は、ユーザ音声入力などの音声入力を受信するための1つ以上のマイクロフォンを含むことができる。いくつかの実装では、1つ以上のカメラまたは他のタイプのセンサ(例えば、慣性測定ユニット(IMU))は、ハンドヘルドコントローラ100の動きなどのジェスチャ入力を受信するための入力装置として機能することができる。いくつかの実施形態では、追加の入力装置は、キーボード、キーパッド、マウス、タッチスクリーン、ジョイスティック、コントロールボタンなどの形態で提供されることができる。入力装置は、音量を増減するための基本的な音量制御ボタン、ならびに電源ボタンおよびリセットボタンなどの制御機構をさらに含むことができる。
一方、出力装置は、ディスプレイ、光要素(例えば、LED)、触覚感覚を形成するためのバイブレータ、スピーカ(例えば、ヘッドホン)などを含むことができる。例えば、電源がオンになっているときなどの状態を示すための単純な光要素(例えば、LED)もあり得る。いくつかの例が提供されているが、ハンドヘルドコントローラは、追加的にまたは代替的に、任意の他のタイプの出力装置を含むことができる。
場合によっては、1つ以上の出力装置による出力は、入力装置のうちの1つ以上によって受信された入力に基づくことができる。例えば、上面制御部の選択は、上面制御部に隣接して(例えば、下に)または任意の他の場所に配置されたバイブレータによる触覚応答の出力をもたらす可能性がある。場合によっては、出力は、上面制御部に関連付けられたタッチセンサなどのタッチセンサのタッチ入力の特性に少なくとも部分的に基づいて変化してもよい。例えば、タッチセンサの第1の位置でのタッチ入力は、第1の触覚出力をもたらしてもよく、一方、タッチセンサの第2の位置でのタッチ入力は、第2の触覚出力をもたらしてもよい。さらに、タッチセンサの特定のジェスチャは、特定の触覚出力(または他のタイプの出力)をもたらしてもよい。例えば、上面制御部でスワイプジェスチャをすると、第1のタイプの触覚出力が得られてもよく、上面制御部をタップ(タッチセンサによって検出される)すると、第2のタイプの触覚出力が得られてもよく、上面制御部を強く押すと、第3のタイプの触覚出力が得られてもよい。
さらに、ハンドヘルドコントローラ100は、ネットワークおよび/または1つ以上のリモートシステム(例えば、アプリケーションを実行するホストコンピューティング装置、ゲームコンソールなど)への無線接続を容易にするための1つ以上の通信インターフェース1404を含み得る。通信インターフェース1404は、Wi−Fi、ブルートゥース(登録商標)、無線周波数(RF)などのような様々な無線技術のうちの1つ以上を実装することができる。ハンドヘルドコントローラ100は、ネットワーク、接続された周辺機器、または他の無線ネットワークと通信するプラグインネットワーク装置への有線接続を容易にするための物理ポートをさらに含むことができることが理解されるべきである。
図示の実施形態では、ハンドヘルドコントローラは、1つ以上のプロセッサ1406およびコンピュータ可読媒体1408をさらに含む。いくつかの実装では、プロセッサ(複数可)1406は、中央処理ユニット(CPU)、グラフィック処理ユニット(GPU)、CPUとGPUの双方、マイクロプロセッサ、デジタルシグナルプロセッサ、または当該技術分野で知られている他の処理ユニットもしくは構成要素を含むことができる。代替的にまたは追加的に、本明細書で機能的に説明される機能は、少なくとも部分的に、1つ以上のハードウェアロジック構成要素および/または他の回路によって実施され得る。例えば、限定されるものではないが、使用できるハードウェアロジック構成要素および/または他の回路の例示的なタイプは、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップシステム(SOC)、コンプレックスプログラマブルロジック装置(CPLD)などを含む。さらに、プロセッサ(複数可)1406の各々は、プログラムモジュール、プログラムデータ、および/または1つ以上のオペレーティングシステムも記憶することができるその独自のローカルメモリを有することができる。
コンピュータ可読媒体1408は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性メモリ、取り外し可能媒体および非取り外し可能媒体を含むことができる。そのようなメモリは、これらに限定されるものではないが、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)もしくは他の光メモリ、磁気カセット、磁気テープ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、RAIDストレージシステム、または所望の情報を記憶するために使用することができ、かつコンピューティングデバイスからアクセスすることができる任意の他の媒体を含む。コンピュータ可読媒体1408は、コンピュータ可読記憶媒体(「CRSM」)として実装されることができ、これは、コンピュータ可読媒体1408に記憶された命令を実行するためにプロセッサ(複数可)1406によってアクセス可能な任意の利用可能な物理媒体とすることができる。1つの基本的な実装形態では、CRSMには、ランダムアクセスメモリ(「RAM」)およびフラッシュメモリを含んでもよい。他の実装形態では、CRSMは、読み取り専用メモリ(「ROM」)、電気的に消去可能なプログラム可能な読み取り専用メモリ(「EEPROM」)、または所望の情報を格納するために使用することができ、かつプロセッサ(複数可)1406によってアクセスすることができる任意の他の有形媒体を含み得る。
命令、データストアなどのようないくつかのモジュールは、コンピュータ可読媒体1408内に記憶され、プロセッサ(複数可)1406上で実行するように構成されてもよい。いくつかの例示的な機能モジュールは、コンピュータ可読媒体1408に記憶され、プロセッサ(複数可)1406上で実行されるものとして示されているが、同じ機能は、ハードウェア、ファームウェア、またはシステムオンチップ(SOC)として代わりに実装されてもよい。
オペレーティングシステムモジュール1410は、他のモジュールの利益のために、ハンドヘルドコントローラ100内のおよびハンドヘルドコントローラに結合されるハードウェアを管理するように構成されてもよい。さらに、コンピュータ可読媒体1408は、ハンドヘルドコントローラ100が、通信インターフェース1404を介して、アプリケーション(例えば、ゲームアプリケーション)を実行するパーソナルコンピューティング装置、ゲームコンソール、またはリモートサーバなどの1つ以上の他の装置と通信することを可能にするネットワーク通信モジュール1412を記憶することができる。コンピュータ可読媒体1408は、ハンドヘルドコントローラまたはハンドヘルドコントローラ100が結合するコンピューティング装置上で実行されるゲーム(または他のアプリケーション)に関連付けられたデータを記憶するためのゲームセッションデータベース1414をさらに含み得る。コンピュータ可読媒体1408はまた、パーソナルコンピューティング装置、ゲームコンソール、リモートサーバなど、ハンドヘルドコントローラ100が結合する装置に関連付けられたデータを記憶する装置記録データベース1416を含み得る。コンピュータ可読媒体1408は、ハンドヘルドコントローラ100をゲームコントローラとして機能するように構成するゲーム制御命令1418、およびハンドヘルドコントローラ100を他の非ゲーム装置のコントローラとして機能するように構成するユニバーサル制御命令1420をさらに記憶することができる。
本主題は構造的特徴に特有の言語で説明されているが、添付の特許請求の範囲に定義された主題は、必ずしも説明された特定の特徴に限定されるものではないことを理解されたい。むしろ、特定の特徴は、特許請求の範囲を実装する例解的な形態として開示される。