RawGameController クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
任意の種類のゲーム コントローラーを表します。
public ref class RawGameController sealed : IGameControllerBatteryInfo
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 262144)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class RawGameController final : IGameControllerBatteryInfo
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 262144)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class RawGameController : IGameControllerBatteryInfo
Public NotInheritable Class RawGameController
Implements IGameControllerBatteryInfo
- 継承
- 属性
- 実装
Windows の要件
デバイス ファミリ |
Windows 10 Creators Update (10.0.15063.0 で導入)
|
API contract |
Windows.Foundation.UniversalApiContract (v4.0 で導入)
|
例
次のコード スニペットは、 RawGameController.RawGameControllers リストをループ処理し、各 RawGameController をベクターに追加する方法を示しています。 状況はいつでも変化する可能性があるため、ベクターにロックを設定する必要があります (たとえば、コントローラーが切断または再接続される可能性があります)。
#include <concrt.h>
#include <winrt/Windows.Gaming.Input.h>
using namespace winrt;
using namespace Windows::Gaming::Input;
...
std::vector<RawGameController> myRawGameControllers;
concurrency::critical_section myLock{};
for (auto const& rawGameController : RawGameController::RawGameControllers())
{
// Test whether the raw game controller is already in myRawGameControllers; if it isn't, add it.
concurrency::critical_section::scoped_lock lock{ myLock };
auto it{ std::find(begin(myRawGameControllers), end(myRawGameControllers), rawGameController) };
if (it == end(myRawGameControllers))
{
// This code assumes that you're interested in all raw game controllers.
myRawGameControllers.push_back(rawGameController);
}
}
注釈
RawGameController クラスのインスタンスを直接作成することはできません。代わりに、クラスのインスタンスは、接続されているすべてのゲーム コントローラーを一覧表示する RawGameController.RawGameControllers プロパティまたは RawGameController.RawGameControllerAdded イベントを通じて取得されます。
RawGameController で使用できるすべての入力は、名前のないボタン、スイッチ、軸の単純な配列として公開されます。 このクラスを使用すると、ユーザーが使用しているコントローラーの種類に関係なく、カスタム入力マッピングを作成できます。
これらの配列を自分で作成し、 GetCurrentReading を使用して入力して、ボタン、スイッチ、軸の状態を決定する必要があります。 詳細については、その関数のドキュメントを参照してください。
RawGameController クラスの使用方法については、「Raw ゲーム コントローラー」を参照してください。
バージョン履歴
Windows のバージョン | SDK バージョン | 追加された値 |
---|---|---|
1709 | 16299 | DisplayName |
1709 | 16299 | NonRoamableId |
1709 | 16299 | SimpleHapticsControllers |
プロパティ
AxisCount |
生のゲーム コントローラー上の軸の数。 |
ButtonCount |
生のゲーム コントローラー上のボタンの数。 |
DisplayName |
ハードウェアによって提供されるコントローラーの名前。 |
ForceFeedbackMotors |
生ゲーム コントローラーの力フィードバック モーターの一覧。 |
HardwareProductId |
生ゲーム コントローラーのハードウェア製品 ID。 |
HardwareVendorId |
生のゲーム コントローラーのハードウェア ベンダー ID。 |
Headset |
生のゲーム コントローラーに接続されているオーディオ ヘッドセット。 |
IsWireless |
生のゲーム コントローラーのワイヤレス状態を示す値を取得します。 |
NonRoamableId |
コントローラーを識別する一意の ID。 コントローラーが接続されている限り、ID は変更されません。 |
RawGameControllers |
接続されているすべての未加工ゲーム コントローラーの一覧。 |
SimpleHapticsControllers |
デバイスで使用可能なすべてのハプティクス フィードバック モーターを表す SimpleHapticsController オブジェクトのコレクション。 |
SwitchCount |
生ゲーム コントローラー上のスイッチの数。 |
User |
生のゲーム コントローラーに関連付けられているユーザー。 |
メソッド
FromGameController(IGameController) |
指定されたゲーム コントローラーを生のゲーム コントローラーとして返します。 |
GetButtonLabel(Int32) |
指定したボタンのボタン ラベルを取得します。 |
GetCurrentReading(Boolean[], GameControllerSwitchPosition[], Double[]) |
生のゲーム コントローラーの状態のスナップショットを取得します。 |
GetSwitchKind(Int32) |
生のゲーム コントローラーで指定されたスイッチの種類を取得します。 |
TryGetBatteryReport() |
生のゲーム コントローラーの現在のバッテリー状態に関する情報を取得します。 |
イベント
HeadsetConnected |
ヘッドセットが未加工のゲーム コントローラーに接続されたときに通知します。 |
HeadsetDisconnected |
ヘッドセットが未加工のゲーム コントローラーから切断されたときに通知します。 |
RawGameControllerAdded |
新しい生ゲーム コントローラーが接続されたときに通知します。 |
RawGameControllerRemoved |
未加工のゲーム コントローラーが切断されたときに通知します。 |
UserChanged |
生のゲーム コントローラーに関連付けられているユーザーが変更されたときに通知します。 |