Partager via


Gamepad Classe

Définition

Représente un boîtier de commande.

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
Héritage
Object Platform::Object IInspectable Gamepad
Attributs
Implémente

Configuration requise pour Windows

Famille d’appareils
Windows 10 (introduit dans 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v1.0)

Exemples

L’extrait de code suivant montre comment parcourir la liste Gamepad.Gamepads et ajouter chacun d’eux à un vecteur. Vous devez placer un verrou sur le vecteur, car les choses peuvent changer à tout moment (un contrôleur peut être déconnecté ou reconnecté, par exemple).

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

Remarques

Les instances de la classe Gamepad ne peuvent pas être créées directement ; au lieu de cela, les instances de la classe Gamepad sont récupérées via la propriété Gamepad.Gamepads répertoriant tous les boîtiers de commande connectés ou via l’événement Gamepad.GamepadAdded .

Appareils pris en charge

Le boîtier de commande prend en charge n’importe quel GIP (Gaming Input Protocol) ou compatible XUSB.

Historique des versions

Version de Windows Version du SDK Valeur ajoutée
1607 14393 GetButtonLabel
1703 15063 FromGameController
1703 15063 TryGetBatteryReport

Propriétés

Gamepads

Liste de tous les boîtiers de commande connectés.

Headset

Casque audio attaché au boîtier de commande.

IsWireless

Obtient une valeur qui indique l’état sans fil du boîtier de commande.

User

Utilisateur associé au boîtier de commande.

Vibration

Décrit la vitesse du moteur du boîtier de commande.

Méthodes

FromGameController(IGameController)

Retourne le contrôleur de jeu donné en tant que boîtier de commande.

GetButtonLabel(GamepadButtons)

Récupère l’étiquette de bouton pour le bouton spécifié.

GetCurrentReading()

Obtient une instantané de l’état du boîtier de commande.

TryGetBatteryReport()

Obtient des informations sur l’état actuel de la batterie du boîtier de commande.

Événements

GamepadAdded

Signale quand un nouveau boîtier de commande est connecté.

GamepadRemoved

Signale quand un boîtier de commande est déconnecté.

HeadsetConnected

Signale lorsqu’un casque est attaché au boîtier de commande.

HeadsetDisconnected

Signale quand un casque est déconnecté du boîtier de commande.

UserChanged

Signale quand l’utilisateur associé au boîtier de commande a changé.

S’applique à

Voir aussi