Skip to main content

GameInputGamepadInfo

Décrit les propriétés d’une manette.

Syntaxe

Membres

supportedLayout
Type : GameInputGamepadButtons
Décrit la disposition de la manette. Puisque les axes ont des traductions en boutons, celles-ci peuvent servir à déterminer quels axes sont présents sur la manette. menuButtonLabel
Type : GameInputLabel
Étiquette physique du bouton Menu. viewButtonLabel
Type : GameInputLabel
Étiquette physique du bouton Affichage. aButtonLabel
Type : GameInputLabel
Étiquette physique du bouton A. bButtonLabel
Type : GameInputLabel
Étiquette physique du bouton B. cButtonLabel
Type : GameInputLabel
Étiquette physique du bouton C. xButtonLabel
Type : GameInputLabel
Étiquette physique du bouton X. yButtonLabel
Type : GameInputLabel
Étiquette physique du bouton Y. zButtonLabel
Type : GameInputLabel
Étiquette physique du bouton Z. dpadUpLabel
Type : GameInputLabel
Étiquette physique de la direction haut du pavé directionnel. dpadDownLabel
Type : GameInputLabel
Étiquette physique de la direction bas du pavé directionnel. dpadLeftLabel
Type : GameInputLabel
Étiquette physique de la direction gauche du pavé directionnel. dpadRightLabel
Type : GameInputLabel
Étiquette physique de la direction droite du pavé directionnel. leftShoulderButtonLabel
Type : GameInputLabel
Étiquette physique du bouton supérieur gauche. rightShoulderButtonLabel
Type : GameInputLabel
Étiquette physique du bouton supérieur droit. leftThumbstickButtonLabel
Type : GameInputLabel
Étiquette physique du bâton analogique gauche. rightThumbstickButtonLabel
Type : GameInputLabel
Étiquette physique du bâton analogique droit. extraButtonCount
Type : uint32_t
Le nombre de boutons du périphérique qui ne sont pas mappés à des boutons de manette. extraAxisCount
Type : uint32_t
Le nombre d’axes du périphérique qui ne sont pas mappés à des axes de manette.

Remarques

Cette structure est utilisée dans la structure GameInputDeviceInfo. GameInputDeviceInfo est utilisée par la méthode IGameInputDevice::GetDeviceInfo. Pour plus d’informations, consultez Périphériques GameInput.

Disposition de la manette

GameInput prend en charge une gamme de formats de manettes au lieu de limiter la prise en charge à une seule disposition standard. Cela est exposé par le membre supportedLayout de cette structure sous forme de champ de bits de type GameInputGamepadButtons. Les axes sont également présents dans cette énumération par l’intermédiaire des traductions d’axe en bouton, comme GameInputGamepadLeftTriggerButton. Pour plus d’informations sur ces traductions, consultez GameInputGamepadButtons. Il n’existe aucune disposition minimale requise pour une manette, et celle-ci peut comporter n’importe quelle combinaison des axes et boutons pris en charge. Les boutons ou axes non pris en charge doivent être laissés de côté et accessibles en tant qu’axes ou boutons supplémentaires. Nous avons défini sous forme de constantes certains regroupements courants d’éléments de manette et certaines dispositions courantes. Ceux-ci peuvent servir à identifier rapidement une disposition courante, à filtrer des entrées particulières ou à créer des dispositions personnalisées. Pour plus d’informations, consultez GameInputGamepadButtons. Puisque l’éventail attendu de dispositions et de formats pris en charge est illimité, nous nous attendons à ce que les mappages et les utilisateurs de manettes respectent un petit ensemble de considérations et de comportements :
  • Pour les éléments présents en double, comme les bâtons analogiques, les boutons supérieurs ou les gâchettes, si un seul est présent au centre, il doit par défaut être considéré comme l’élément gauche. S’il est placé à gauche ou à droite du périphérique, il doit être mappé en conséquence.
  • Afin d’éviter toute ambiguïté due à des glyphes différents, les boutons frontaux doivent être mappés et lus selon leur position physique, quel que soit leur glyphe, comme suit :
Directives de disposition des boutons frontaux de la manette L’exemple de code suivant montre comment déterminer si une manette prend en charge une disposition, une entrée particulière ou un module.
L’exemple de code suivant montre comment créer une disposition personnalisée et déterminer si la manette la prend en charge.

Configuration requise

En-tête : GameInput.h Plateformes prises en charge : Windows, consoles de la famille XBOX One et consoles XBOX Series

Voir aussi

Vue d’ensemble de GameInput
GameInput

Historique des versions

Annexe : versions précédentes

v0, v1, v2

Last modified on October 6, 2026