RawGameController Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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é. |