Freigeben über


RawGameController Klasse

Definition

Stellt einen beliebigen Typ von Spielcontroller dar.

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
Vererbung
Object Platform::Object IInspectable RawGameController
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows 10 Creators Update (eingeführt in 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v4.0)

Beispiele

Der folgende Codeausschnitt zeigt, wie Sie die Liste RawGameController.RawGameControllers durchlaufen und jeden RawGameController einem Vektor hinzufügen. Sie müssen eine Sperre für den Vektor festlegen, da sich die Dinge jederzeit ändern können (ein Controller kann z. B. getrennt oder wieder verbunden werden).

#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);
    }
}

Hinweise

Instanzen der RawGameController-Klasse können nicht direkt erstellt werden. Stattdessen werden Instanzen der -Klasse über die RawGameController.RawGameControllers-Eigenschaft abgerufen, die alle verbundenen Spielcontroller auflistet, oder über das RawGameController.RawGameControllerAdded-Ereignis .

Alle auf einem RawGameController verfügbaren Eingaben werden als einfache Arrays von nicht benannten Schaltflächen, Schaltern und Achsen verfügbar gemacht. Mit dieser Klasse können Sie Kunden erlauben, benutzerdefinierte Eingabezuordnungen zu erstellen, unabhängig davon, welchen Controllertyp sie verwenden.

Sie müssen diese Arrays selbst erstellen und dann mit GetCurrentReading auffüllen , um den Zustand der Schaltflächen, Schalter und Achsen zu bestimmen. Weitere Informationen finden Sie in der Dokumentation dieser Funktion.

Informationen zur Verwendung der RawGameController-Klasse finden Sie unter Raw Game Controller.

Versionsverlauf

Windows-Version SDK-Version Wertschöpfung
1709 16299 DisplayName
1709 16299 NonRoamableId
1709 16299 SimpleHapticsController

Eigenschaften

AxisCount

Die Anzahl der Achsen auf dem rohen Spielcontroller.

ButtonCount

Die Anzahl der Schaltflächen auf dem rohen Spielcontroller.

DisplayName

Der Name des Controllers, der von der Hardware bereitgestellt wird.

ForceFeedbackMotors

Die Liste der Erzwingungsfeedback-Motoren im rohen Spielcontroller.

HardwareProductId

Die Hardwareprodukt-ID des rohen Spielcontrollers.

HardwareVendorId

Die Hardwareanbieter-ID des rohen Spielcontrollers.

Headset

Das Audio-Headset, das an den Rohspielcontroller angeschlossen ist.

IsWireless

Ruft einen Wert ab, der den Drahtlosstatus des unformatierten Spielcontrollers angibt.

NonRoamableId

Eine eindeutige ID, die den Controller identifiziert. Solange der Controller verbunden ist, ändert sich die ID nie.

RawGameControllers

Die Liste aller verbundenen Rohspielcontroller.

SimpleHapticsControllers

Eine Auflistung von SimpleHapticsController-Objekten , die alle verfügbaren haptischen Feedbackmotoren darstellen, die auf dem Gerät verfügbar sind.

SwitchCount

Die Anzahl der Schalter auf dem rohen Spielcontroller.

User

Der Benutzer, der dem rohen Spielcontroller zugeordnet ist.

Methoden

FromGameController(IGameController)

Gibt den angegebenen Spielcontroller als rohen Spielcontroller zurück.

GetButtonLabel(Int32)

Ruft die Schaltflächenbezeichnung für die angegebene Schaltfläche ab.

GetCurrentReading(Boolean[], GameControllerSwitchPosition[], Double[])

Ruft eine Momentaufnahme des Unformatierten Spielcontrollerstatus ab.

GetSwitchKind(Int32)

Ruft den Typ des angegebenen Schalters auf dem rohen Spielcontroller ab.

TryGetBatteryReport()

Ruft Informationen zum aktuellen Akkuzustand des unformatierten Spielcontrollers ab.

Ereignisse

HeadsetConnected

Signalisiert, wenn ein Headset an den Rohspielcontroller angeschlossen ist.

HeadsetDisconnected

Signalisiert, wenn ein Headset vom rohen Spielcontroller getrennt ist.

RawGameControllerAdded

Signalisiert, wenn ein neuer unformatierter Spielcontroller verbunden ist.

RawGameControllerRemoved

Signalisiert, wenn ein unformatierter Spielcontroller getrennt wird.

UserChanged

Signalisiert, wenn der Benutzer, der dem rohen Spielcontroller zugeordnet ist, geändert wurde.

Gilt für:

Weitere Informationen