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

# Capteurs dans GameInput

> Référence sur la prise en charge des capteurs dans GameInput : exigences de la pile de capteurs HID, systèmes de coordonnées des manettes de jeu et des appareils portables, et exemple de sortie d'accélération.

Les capacités de capteurs de GameInput reposent sur la pile de capteurs de Windows. Pour rendre votre appareil compatible avec cette pile
de capteurs, consultez :

* [HID Sensors Usages](https://learn.microsoft.com/windows-hardware/design/whitepapers/hid-sensors-usages)
* [Integrating Motion and Orientation Sensors](https://learn.microsoft.com/windows-hardware/design/whitepapers/integrating-motion-and-orientation-sensors)
* [Exemples Waratah](https://github.com/microsoft/hidtools/wiki/Waratah-Samples#accelerometer-and-gyroscope-gyrometer)

Validation :

* [SensorExplorer](https://apps.microsoft.com/detail/9pgl3xpq1tpx)
* [Tests de capteurs de mouvement HLK](https://learn.microsoft.com/windows-hardware/test/hlk/testref/how-to-run-hck-motion-sensor-tests)

## Système de coordonnées

Les appareils doivent signaler l'accélération de l'appareil selon 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 d'une manette de jeu | Système de coordonnées d'un 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 de jeu" 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 l'extérieur, 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 est {0, 0, 0}
* À partir de là, soulevez l'appareil : augmente {0, 2, 0}
* À partir de là, laissez tomber l'appareil : diminue {0, 0, 0}
* Faites pivoter l'appareil de sorte que le bord supérieur soit dans les airs et le bord inférieur sur la surface : {0, 0, -1}
  * Pendant le mouvement, la vitesse angulaire X devient positive : {2, 0, 0}
* Revenez à plat.
* Faites pivoter l'appareil de sorte que le bord gauche soit dans les airs et le bord droit sur la surface : {-1, 0, 0}
  * Pendant le mouvement, la vitesse angulaire Z devient négative : {0, 0, -2}
* Revenez à plat.
* Faites 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}

## Remarques

### Bruit causé par les vibrations de l'appareil

Les grondements ou bourdonnements à basse fréquence dans l'appareil (comme ceux causés par l'haptique) peuvent engendrer du bruit dans le gyromètre et
nuire à la précision.

* Atténuation matérielle possible : isolation mécanique du capteur par rapport à l'haptique, au moyen d'un positionnement délibéré du capteur
  ou en entourant le capteur d'un matériau de rembourrage amortissant les vibrations
* Atténuation logicielle possible : utilisation d'un filtre passe-bas

### Clés de registre

\[!IMPORTANT]
Si votre appareil doit obtenir la [certification Windows Hardware Quality Lab](https://learn.microsoft.com/windows-hardware/test/hlk/testref/how-to-run-hck-motion-sensor-tests),
ajoutez la clé de registre décrite ci-dessous. GameInput transformera la sortie conforme WHQL de l'appareil pour qu'elle corresponde à la sortie
attendue par les développeurs de jeux.

Les mappages d'un appareil dont l'ID du fournisseur (VID) est **VVVV**, l'ID du produit (PID) est **PPPP**, la page d'utilisation est **UUUU** et l'ID d'utilisation est
**XXXX** seront lus à partir de cet emplacement dans le registre :

```
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GameInput\Devices\VVVVPPPPUUUUXXXX
```

Seuls la page d'utilisation Generic (0x0001) et les ID d'utilisation Joystick (0x0004) et Gamepad (0x0005) sont pris en charge.

| Nom de la valeur | Type de valeur | Obligatoire? | Informations | Valeurs |
| - | - | - | - | - |
| IsWhqlCertified | DWORD | Non | Indique à GameInput de transformer les sorties des capteurs d'un appareil certifié WHQL pour qu'elles correspondent au système de coordonnées souhaité. | 0, 1 |

\[!TIP]
Les sous-clés suivantes sont destinées aux fabricants d'appareils déjà commercialisés. Si l'appareil n'a pas encore
été lancé, il doit signaler correctement le [système de coordonnées décrit ci-dessus](#coordinate-system) et réussir les tests pertinents.

| Nom de la valeur | Type de valeur | Obligatoire? | Informations | Valeurs |
| - | - | - | - | - |
| SensorsAxisX | SZ | Non | Indique à GameInput de prendre l'axe X du rapport de capteurs de l'appareil et de l'étiqueter avec l'axe indiqué par la valeur. | X, Y, Z |
| SensorsAxisY | SZ | Non | Indique à GameInput de prendre l'axe Y du rapport de capteurs de l'appareil et de l'étiqueter avec l'axe indiqué par la valeur. | X, Y, Z |
| SensorsAxisZ | SZ | Non | Indique à GameInput de prendre l'axe Z du rapport de capteurs de l'appareil et de l'étiqueter avec l'axe indiqué par la valeur. | X, Y, Z |
| SensorsInvertAccelerationX | DWORD | Non | Indique à GameInput d'inverser le signe de l'accélération sur l'axe X. Appliqué après la transformation d'axe ci-dessus. | 0, 1 |
| SensorsInvertAccelerationY | DWORD | Non | Indique à GameInput d'inverser le signe de l'accélération sur l'axe Y. Appliqué après la transformation d'axe ci-dessus. | 0, 1 |
| SensorsInvertAccelerationZ | DWORD | Non | Indique à GameInput d'inverser le signe de l'accélération sur l'axe Z. Appliqué après la transformation d'axe ci-dessus. | 0, 1 |
| SensorsInvertAngularVelocityX | DWORD | Non | Indique à GameInput d'inverser le signe de la vitesse angulaire autour de l'axe X. Appliqué après la transformation d'axe ci-dessus. | 0, 1 |
| SensorsInvertAngularVelocityY | DWORD | Non | Indique à GameInput d'inverser le signe de la vitesse angulaire autour de l'axe Y. Appliqué après la transformation d'axe ci-dessus. | 0, 1 |
| SensorsInvertAngularVelocityZ | DWORD | Non | Indique à GameInput d'inverser le signe de la vitesse angulaire autour de l'axe Z. Appliqué après la transformation d'axe ci-dessus. | 0, 1 |

<a id="seealsoSection" />

## Documentation de référence de l'API

* [GameInput (contenu de l'API)](/fr-CA/reference/input/gameinput/gameinput_members)
  * Structures
    * [GameInputSensorsInfo](/fr-CA/reference/input/gameinput/structs/gameinputsensorsinfo)
    * [GameInputSensorsState](/fr-CA/reference/input/gameinput/structs/gameinputsensorsstate)

## Voir aussi

[GameInputSensorsInfo](/fr-CA/reference/input/gameinput/structs/gameinputsensorsinfo)

[GameInputSensorsState](/fr-CA/reference/input/gameinput/structs/gameinputsensorsstate)

[Vue d'ensemble de GameInput](/fr-CA/build/core-features/common/input/overviews/input-overview)

[Windows.Devices.Sensors](https://learn.microsoft.com/uwp/api/windows.devices.sensors)


## Related topics

- [GameInput](/reference/input/gameinput/gameinput_members.md)
- [Overview of GameInput](/build/core-features/common/input/overviews/input-overview.md)
- [GameInput fundamentals](/build/core-features/common/input/overviews/input-fundamentals.md)
- [GameInput 概述](/zh-CN/build/core-features/common/input/overviews/input-overview.md)
- [GameInput 개요](/ko/build/core-features/common/input/overviews/input-overview.md)
