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 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

Im folgenden Codeausschnitt wird gezeigt, wie Sie die Gamepad.Gamepads-Liste durchlaufen und die einzelnen einem Vektor hinzufügen. Sie müssen eine Sperre auf den Vektor setzen, da sich die Dinge jederzeit ändern können (ein Controller kann z. B. getrennt oder erneut 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 Eigenschaft abgerufen, die Gamepad.Gamepads alle verbundenen Gamepads oder das Gamepad.GamepadAdded Ereignis auflistet.

Unterstützte Geräte

Gamepad unterstützt alle Xbox One zertifizierten oder xbox 360 kompatiblen Gamepads.

Versionsverlauf

Windows-Version SDK-Version Mehrwert
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 drahtlosen Zustand des Gamepads angibt.

User

Der Benutzer, der dem Gamepad zugeordnet ist.

Vibration

Beschreibt die Gamepadmotorgeschwindigkeit.

Methoden

FromGameController(IGameController)

Gibt den angegebenen Gamecontroller als Gamepad zurück.

GetButtonLabel(GamepadButtons)

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

GetCurrentReading()

Ruft eine Momentaufnahme des Gamepadstatus ab.

TryGetBatteryReport()

Ruft Informationen zum aktuellen Akkustatus des Gamepads ab.

Ereignisse

GamepadAdded

Signalisiert, wenn ein neues Gamepad verbunden ist.

GamepadRemoved

Signale, wenn ein Gamepad getrennt wird.

HeadsetConnected

Signalisiert, wenn ein Headset an das Gamepad angeschlossen ist.

HeadsetDisconnected

Signale, wenn ein Headset vom Gamepad getrennt wird.

UserChanged

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

Gilt für:

Siehe auch