Partager via


RawGameController Classe

Définition

Représente n’importe quel type de contrôleur de jeu.

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

Configuration requise pour Windows

Famille d’appareils
Windows 10 Creators Update (introduit dans 10.0.15063.0)
API contract
Windows.Foundation.UniversalApiContract (introduit dans v4.0)

Exemples

L’extrait de code suivant montre comment effectuer une boucle dans la liste RawGameController.RawGameControllers et ajouter chaque RawGameController à 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<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);
    }
}

Remarques

Les instances de la classe RawGameController ne peuvent pas être créées directement ; au lieu de cela, les instances de la classe sont récupérées via la propriété RawGameController.RawGameControllers répertoriant tous les contrôleurs de jeu connectés ou via l’événement RawGameController.RawGameControllerAdded .

Toutes les entrées disponibles sur un RawGameController sont exposées sous forme de tableaux simples de boutons, de commutateurs et d’axes sans nom. À l’aide de cette classe, vous pouvez autoriser les clients à créer des mappages d’entrée personnalisés, quel que soit le type de contrôleur qu’ils utilisent.

Vous devez créer ces tableaux vous-même, puis les remplir à l’aide de GetCurrentReading pour déterminer les états des boutons, des commutateurs et des axes. Pour plus d’informations, consultez la documentation de cette fonction.

Pour plus d’informations sur l’utilisation de la classe RawGameController, consultez Contrôleur de jeu brut.

Historique des versions

Version de Windows Version du SDK Valeur ajoutée
1709 16299 DisplayName
1709 16299 NonRoamableId
1709 16299 SimpleHapticsControllers

Propriétés

AxisCount

Nombre d’axes sur le contrôleur de jeu brut.

ButtonCount

Nombre de boutons sur le contrôleur de jeu brut.

DisplayName

Nom du contrôleur, fourni par le matériel.

ForceFeedbackMotors

Liste des moteurs de rétroaction de force dans le contrôleur de jeu brut.

HardwareProductId

ID de produit matériel du contrôleur de jeu brut.

HardwareVendorId

ID du fournisseur de matériel du contrôleur de jeu brut.

Headset

Casque audio attaché au contrôleur de jeu brut.

IsWireless

Obtient une valeur qui indique l’état sans fil du contrôleur de jeu brut.

NonRoamableId

ID unique qui identifie le contrôleur. Tant que le contrôleur est connecté, l’ID ne change jamais.

RawGameControllers

Liste de tous les contrôleurs de jeu bruts connectés.

SimpleHapticsControllers

Collection d’objets SimpleHapticsController représentant tous les moteurs de retour haptique disponibles sur l’appareil.

SwitchCount

Nombre de commutateurs sur le contrôleur de jeu brut.

User

Utilisateur associé au contrôleur de jeu brut.

Méthodes

FromGameController(IGameController)

Retourne le contrôleur de jeu donné en tant que contrôleur de jeu brut.

GetButtonLabel(Int32)

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

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

Obtient une instantané de l’état du contrôleur de jeu brut.

GetSwitchKind(Int32)

Obtient le type du commutateur spécifié sur le contrôleur de jeu brut.

TryGetBatteryReport()

Obtient des informations sur l’état actuel de la batterie du contrôleur de jeu brut.

Événements

HeadsetConnected

Signale quand un casque est attaché au contrôleur de jeu brut.

HeadsetDisconnected

Signale quand un casque est déconnecté du contrôleur de jeu brut.

RawGameControllerAdded

Signale quand un nouveau contrôleur de jeu brut est connecté.

RawGameControllerRemoved

Signale quand un contrôleur de jeu brut est déconnecté.

UserChanged

Signale quand l’utilisateur associé au contrôleur de jeu brut a changé.

S’applique à

Voir aussi