Passer au contenu principal

GameInputGamepadInfo

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

Syntaxe

Membres

supportedLayout
Type : GameInputGamepadButtons
Décrit la disposition de la manette. Comme les axes ont des traductions en boutons, celles-ci peuvent être utilisées pour 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 du pavé directionnel vers le haut. dpadDownLabel
Type : GameInputLabel
Étiquette physique du pavé directionnel vers le bas. dpadLeftLabel
Type : GameInputLabel
Étiquette physique du pavé directionnel vers la gauche. dpadRightLabel
Type : GameInputLabel
Étiquette physique du pavé directionnel vers la droite. leftShoulderButtonLabel
Type : GameInputLabel
Étiquette physique du bouton bombé gauche. rightShoulderButtonLabel
Type : GameInputLabel
Étiquette physique du bouton bombé droit. leftThumbstickButtonLabel
Type : GameInputLabel
Étiquette physique du joystick gauche. rightThumbstickButtonLabel
Type : GameInputLabel
Étiquette physique du joystick droit. extraButtonCount
Type : uint32_t
Nombre de boutons du périphérique qui ne sont pas mappés à des boutons de manette. extraAxisCount
Type : uint32_t
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 la forme d’un champ de bits de type GameInputGamepadButtons. Les axes sont également présents dans cette énumération par le biais 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, qui peut comporter n’importe quelle combinaison des axes et boutons pris en charge. Les boutons ou axes non pris en charge sont censés ê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 ainsi que des dispositions courantes. Ils peuvent être utilisés pour identifier rapidement une disposition courante, filtrer des entrées spécifiques ou créer des dispositions personnalisées. Pour plus d’informations, consultez GameInputGamepadButtons. Comme l’éventail attendu de dispositions et de formats pris en charge est illimité, il existe un petit ensemble de considérations et de comportements que nous attendons des mappages et des utilisateurs de manettes :
  • Pour les éléments présents en double, tels que les joysticks, les boutons bombés 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 positionné à 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 en fonction de leur position physique, quel que soit leur glyphe, comme suit :
Recommandations 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, ou une entrée ou un module spécifique.
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

Dernière modification le 6 octobre 2026