> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GameInputSensorsState

> Référence de la structure GameInputSensorsState : indique l'accéléromètre, le gyromètre, le cap de la boussole et le quaternion d'orientation pour les capteurs GameInput.

# GameInputSensorsState

Décrit l'état des capteurs.

<a id="syntaxSection" />

## Syntaxe

```cpp theme={null}
struct GameInputSensorsState
{
    // GameInputSensorsAccelerometer
    float accelerationInGX;
    float accelerationInGY;
    float accelerationInGZ;

    // GameInputSensorsGyrometer
    float angularVelocityInRadPerSecX;
    float angularVelocityInRadPerSecY;
    float angularVelocityInRadPerSecZ;

    // GameInputSensorsCompass
    float headingInDegreesFromMagneticNorth;
    GameInputSensorAccuracy headingAccuracy;

    // GameInputSensorsOrientation
    float orientationW;
    float orientationX;
    float orientationY;
    float orientationZ;
};
```

<a id="membersSection" />

### Membres

*accelerationInGX*<br />
Type : float

Accélération linéaire, en force g, par rapport à l'axe x. Valide si `GameInputSensorsInfo` indique `GameInputSensorsKindAccelerometer`.

*accelerationInGY*<br />
Type : float

Accélération linéaire, en force g, par rapport à l'axe y. Valide si `GameInputSensorsInfo` indique `GameInputSensorsKindAccelerometer`.

*accelerationInGZ*<br />
Type : float

Accélération linéaire, en force g, par rapport à l'axe z. Valide si `GameInputSensorsInfo` indique `GameInputSensorsKindAccelerometer`.

*angularVelocityInRadPerSecX*<br />
Type : float

Vitesse angulaire, en radians par seconde, par rapport à l'axe x. Valide si `GameInputSensorsInfo` indique
`GameInputSensorsKindGyrometer`.

*angularVelocityInRadPerSecY*<br />
Type : float

Vitesse angulaire, en radians par seconde, par rapport à l'axe y. Valide si `GameInputSensorsInfo` indique
`GameInputSensorsKindGyrometer`.

*angularVelocityInRadPerSecZ*<br />
Type : float

Vitesse angulaire, en radians par seconde, par rapport à l'axe z. Valide si `GameInputSensorsInfo` indique
`GameInputSensorsKindGyrometer`.

*headingInDegreesFromMagneticNorth*<br />
Type : float

Cap, en degrés, par rapport au nord magnétique. Plage : \[0, 360). Valide si `GameInputSensorsInfo` indique
`GameInputSensorsKindCompass`.

*headingAccuracy*<br />
Type : [GameInputSensorAccuracy](/fr-CA/reference/input/gameinput/enums/gameinputsensoraccuracy)

Précision du cap. Valide si `GameInputSensorsInfo` indique `GameInputSensorsKindCompass`.

*orientationW*<br />
Type : float

Composante w d'un quaternion représentant l'orientation de l'appareil. Valide si `GameInputSensorsInfo` indique
`GameInputSensorsKindOrientation`.

*orientationX*<br />
Type : float

Composante x d'un quaternion représentant l'orientation de l'appareil. Valide si `GameInputSensorsInfo` indique
`GameInputSensorsKindOrientation`.

*orientationY*<br />
Type : float

Composante y d'un quaternion représentant l'orientation de l'appareil. Valide si `GameInputSensorsInfo` indique
`GameInputSensorsKindOrientation`.

*orientationZ*<br />
Type : float

Composante z d'un quaternion représentant l'orientation de l'appareil. Valide si `GameInputSensorsInfo` indique
`GameInputSensorsKindOrientation`.

<a id="remarksSection" />

## Remarques

Cette structure est utilisée par la méthode [IGameInputReading::GetSensorsState](/fr-CA/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getsensorsstate).

Pour plus d'informations, consultez [Lectures GameInput](/fr-CA/build/core-features/common/input/overviews/input-readings).

La présence de données valides est indiquée par [GameInputKindSensors](/fr-CA/reference/input/gameinput/enums/gameinputkind) dans
[GameInputDeviceInfo](/fr-CA/reference/input/gameinput/structs/gameinputdeviceinfo). Les données qui ne sont pas signalées comme présentes sont remplies
avec des valeurs par défaut au repos.

### Système de coordonnées

Les appareils doivent indiquer l'accélération de l'appareil dans un système main droite avec l'axe Y vers le haut. La vitesse angulaire suit la règle de la main droite
autour de ces axes.

| Système de coordonnées de la manette | Système de coordonnées de l'appareil portable |
| - | - |
| <img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/input-sensors-coordinates-gamepad.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=cd864c92015f0cc7389d8c43e42e71af" alt="Système de coordonnées des capteurs illustré sur une manette" height="300" data-path="images/input-sensors-coordinates-gamepad.png" /> | <img src="https://mintcdn.com/microsoft-4404708b/5IpvKlT-jmAaVkeY/images/input-sensors-coordinates-handheld.png?fit=max&auto=format&n=5IpvKlT-jmAaVkeY&q=85&s=4d9b1548f5b414ab28b2772c4d937c80" alt="Système de coordonnées des capteurs illustré sur un appareil portable" height="300" data-path="images/input-sensors-coordinates-handheld.png" /> |

L'axe X va du centre de l'appareil vers la droite. L'axe Y va du centre de l'appareil vers
le visage de l'utilisateur. L'axe Z va du centre de l'appareil vers le bas, en sortant par le dessous.

Exemple de sortie d'accélération, en g :

* Appareil posé à plat sur une table : {0, 1, 0}
  * La vitesse angulaire au repos, en radians par seconde, est {0, 0, 0}
* À partir de là, soulever l'appareil vers le haut : augmente {0, 2, 0}
* À partir de là, laisser tomber l'appareil : diminue {0, 0, 0}
* Faire pivoter l'appareil de sorte que le bord supérieur soit en l'air et le bord inférieur sur la surface : {0, 0, -1}
  * Pendant le mouvement, la vitesse angulaire X devient positive : {2, 0, 0}
* Revenir à plat.
* Faire pivoter l'appareil de sorte que le bord gauche soit en l'air et le bord droit sur la surface : {-1, 0, 0}
  * Pendant le mouvement, la vitesse angulaire Z devient négative : {0, 0, -2}
* Revenir à plat.
* Faire pivoter l'appareil dans le sens horaire (contraire à la règle de la main droite)
  * Pendant le mouvement, la vitesse angulaire Y devient négative : {0, -2, 0}

<a id="requirementsSection" />

## Configuration requise

**En-tête :** GameInput.h

**Plateformes prises en charge :** Windows, consoles de la famille XBOX One et consoles XBOX Series

<a id="seealsoSection" />

## Documentation conceptuelle

* [Création de capteurs GameInput](/fr-CA/build/core-features/common/input/hardware/input-hardware-sensors)

## Voir aussi

[Vue d'ensemble de GameInput](/fr-CA/build/core-features/common/input/overviews/input-overview)<br />
[GameInput](/fr-CA/reference/input/gameinput/gameinput_members)

## Historique des versions

| Version | Modifications |
| - | - |
| **v2** | **Nouvelle structure** introduite dans v2 avec des champs d'état des capteurs pour l'accéléromètre, le gyromètre, la boussole et l'orientation. |
| **v1** | Absente. |
| **v0** | Absente. |


## Related topics

- [GameInputSensorsState](/reference/input/gameinput/structs/gameinputsensorsstate.md)
- [Sensors in GameInput](/build/core-features/common/input/hardware/input-hardware-sensors.md)
- [IGameInputReading::GetSensorsState](/reference/input/gameinput/interfaces/igameinputreading/methods/igameinputreading_getsensorsstate.md)
- [GameInputSensorsKind](/reference/input/gameinput/enums/gameinputsensorskind.md)
- [GameInputSensorAccuracy](/reference/input/gameinput/enums/gameinputsensoraccuracy.md)
