Gamepad Klasse

Definition

Stellt ein Gamepad dar.

public ref class Gamepad sealed
public ref class Gamepad sealed : IGameControllerBatteryInfo
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Gamepad final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class Gamepad final : IGameControllerBatteryInfo
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Gamepad
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class Gamepad : IGameControllerBatteryInfo
Public NotInheritable Class Gamepad
Public NotInheritable Class Gamepad
Implements IGameControllerBatteryInfo
Vererbung
Object Platform::Object IInspectable Gamepad
Attribute
Implementiert

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

Der folgende Codeausschnitt zeigt, wie Sie die Liste Gamepad.Gamepads durchschleifen und jedem 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<Gamepad> myGamepads;
concurrency::critical_section myLock{};

for (auto const& gamepad : Gamepad::Gamepads())
{
    // Test whether the gamepad is already in myGamepads; if it isn't, add it.
    concurrency::critical_section::scoped_lock lock{ myLock };
    auto it{ std::find(begin(myGamepads), end(myGamepads), gamepad) };

    if (it == end(myGamepads))
    {
        // This code assumes that you're interested in all gamepads.
        myGamepads.push_back(gamepad);
    }
}
auto myGamepads = ref new Vector<Gamepad^>();
critical_section myLock{};

for (auto gamepad : Gamepad::Gamepads)
{
    // Test whether the gamepad is already in myGamepads; if it isn't, add it.
    critical_section::scoped_lock lock{ myLock };
    auto it = std::find(begin(myGamepads), end(myGamepads), gamepad);

    if (it == end(myGamepads))
    {
        // This code assumes that you're interested in all gamepads.
        myGamepads->Append(gamepad);
    }
}

Hinweise

Instanzen der Gamepad-Klasse können nicht direkt erstellt werden. Stattdessen werden Instanzen der Gamepad-Klasse über die Gamepad.Gamepads-Eigenschaft abgerufen, die alle verbundenen Gamepads auflistet, oder über das Gamepad.GamepadAdded-Ereignis .

Unterstützte Geräte

Gamepad unterstützt jedes GIP (Gaming Input Protocol) oder XUSB-kompatible Gamepad.

Versionsverlauf

Windows-Version SDK-Version Wertschöpfung
1607 14393 GetButtonLabel
1703 15063 FromGameController
1703 15063 TryGetBatteryReport

Eigenschaften

Gamepads

Die Liste aller verbundenen Gamepads.

Headset

Das Audio-Headset, das an das Gamepad angeschlossen ist.

IsWireless

Ruft einen Wert ab, der den Drahtlosstatus des Gamepads angibt.

User

Der Benutzer, der dem Gamepad zugeordnet ist.

Vibration

Beschreibt die Geschwindigkeit des Gamepadmotors.

Methoden

FromGameController(IGameController)

Gibt den angegebenen Spielcontroller als Gamepad zurück.

GetButtonLabel(GamepadButtons)

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

GetCurrentReading()

Ruft eine Momentaufnahme des Gamepad-Zustands ab.

TryGetBatteryReport()

Ruft Informationen zum aktuellen Akkuzustand des Gamepads ab.

Ereignisse

GamepadAdded

Signalisiert, wenn ein neues Gamepad verbunden ist.

GamepadRemoved

Signalisiert, wenn ein Gamepad getrennt wird.

HeadsetConnected

Signalisiert, wenn ein Headset an das Gamepad angeschlossen ist.

HeadsetDisconnected

Signalisiert, wenn ein Headset vom Gamepad getrennt ist.

UserChanged

Signalisiert, wenn sich der dem Gamepad zugeordnete Benutzer geändert hat.

Gilt für:

Weitere Informationen