GameInputDeviceInfo
Décrit toutes les informations relatives à un périphérique d’entrée.Syntaxe
Membres
vendorIdType : uint16_t Identifie le fabricant du périphérique d’entrée. productId
Type : uint16_t Identifie le périphérique d’entrée en tant que produit. revisionNumber
Type : uint16_t Numéro de révision matérielle du périphérique, le cas échéant. usage
Type : GameInputUsage Index en deux parties qui décrit l’entrée utilisée. hardwareVersion
Type : GameInputVersion Version matérielle du périphérique, le cas échéant. firmwareVersion
Type : GameInputVersion Version du microprogramme du périphérique, le cas échéant. deviceId
Type : APP_LOCAL_DEVICE_ID ID de périphérique du périphérique d’entrée. deviceRootId
Type : APP_LOCAL_DEVICE_ID ID racine du périphérique d’entrée. deviceFamily
Type : GameInputDeviceFamily Désigne la famille de périphériques d’entrée à laquelle appartient le périphérique d’entrée. supportedInput
Type : GameInputKind Décrit le ou les types d’entrée pris en charge par le périphérique. supportedRumbleMotors
Type : GameInputRumbleMotors Décrit les moteurs de vibration accessibles sur le périphérique, le cas échéant. supportedSystemButtons
Type : GameInputSystemButtons Décrit les boutons disponibles pour contrôler le système, souvent en dehors d’un jeu. containerId
Type : GUID ID de conteneur du périphérique d’entrée. displayName
Type : const char* Décrit le nom convivial du périphérique. pnpPath
Type : const char* Décrit la capacité Plug-and-Play du périphérique. Utilisez ce chemin pour faire référence aux périphériques sous-jacents au moyen d’autres API. keyboardInfo
Type : GameInputKeyboardInfo const * Informations sur un périphérique d’entrée de type clavier. mouseInfo
Type : GameInputMouseInfo const * Informations sur un périphérique d’entrée de type souris. sensorsInfo
Type : GameInputSensorsInfo const * Informations sur les capteurs du périphérique. controllerInfo
Type : GameInputControllerInfo const * Informations sur le périphérique d’entrée de type manette générique. La manette représente les axes, boutons et commutateurs bruts non mappés d’un périphérique. arcadeStickInfo
Type : GameInputArcadeStickInfo const * Informations sur un périphérique d’entrée de type manche d’arcade. flightStickInfo
Type : GameInputFlightStickInfo const * Informations sur un périphérique d’entrée de type manche de vol. gamepadInfo
Type : GameInputGamepadInfo const * Informations sur un périphérique d’entrée de type manette de jeu. racingWheelInfo
Type : GameInputRacingWheelInfo const * Informations sur un périphérique d’entrée de type volant de course. forceFeedbackMotorCount
Type : uint32_t Le nombre de moteurs de retour de force du périphérique d’entrée. forceFeedbackMotorInfo
Type : GameInputForceFeedbackMotorInfo const * Informations sur tous les moteurs de retour de force d’un périphérique. inputReportCount
Type : uint32_t Nombre de rapports d’entrée du périphérique. inputReportInfo
Type : GameInputRawDeviceReportInfo const * Objet d’informations sur les rapports d’entrée. outputReportCount
Type : uint32_t Nombre de rapports de sortie du périphérique. outputReportInfo
Type : GameInputRawDeviceReportInfo const * Rapport de sortie.
Remarques
Tous les membres de type chaîne de cette structure utilisent l’encodage UTF-8. LedeviceId est un ID local à l’application : une valeur de hachage de 256 bits qui identifie de façon unique le périphérique. Cet ID reste toujours le même pour un périphérique donné, même d’une exécution de l’application à l’autre ou après un redémarrage du système, tant que le périphérique se connecte au même port USB. L’application génère les hachages d’ID locaux à l’application, en partie à l’aide d’informations propres à l’application appelante et au système.
Le deviceRootId est un autre ID local à l’application, qui identifie le nœud de périphérique racine des périphériques composites. Cela permet aux applications de comprendre la relation entre les périphériques individuels. Par exemple, certains claviers de jeu contournent la limite USB héritée de huit frappes simultanées en s’exposant comme un périphérique composite doté de plusieurs nœuds de clavier. Ces nœuds sont fusionnés dans le clavier « système », de sorte que ce fonctionnement est généralement transparent pour l’utilisateur. Toutefois, lors du traitement de l’entrée par clavier au moyen de l’API GameInput, la compréhension de ce principe permet aux applications d’éviter des hypothèses erronées (par exemple, qu’une frappe provient toujours d’un périphérique précis) lors de l’association de fonctions aux frappes. Le deviceId et le deviceRootId sont identiques si le périphérique n’est pas l’une des nombreuses interfaces d’un périphérique composite.
La chaîne displayName contient un nom « convivial » pour le périphérique. Vous pouvez afficher cette chaîne dans l’interface utilisateur d’une application, mais rien ne garantit qu’elle soit localisée. Cette absence de localisation s’explique par le fait que l’API GameInput recherche cette chaîne à plusieurs emplacements, et que l’une des dernières solutions de repli provient du microprogramme du périphérique.
Les derniers champs de la structure GameInputDeviceInfo sont des pointeurs vers des tableaux de taille variable contenant des informations sur le périphérique, comme des informations sur la prise en charge du retour de force et du retour haptique. Les pointeurs NULL indiquent que la fonctionnalité correspondante n’est pas disponible ou n’est pas prise en charge par le périphérique. Un champ correspondant de la structure indique le nombre d’éléments de chaque tableau, comme l’indiquent les annotations SAL (Source Annotation Language).
Aucun périphérique d’entrée ne fournit de valeurs lisibles pour tous les attributs. Certains périphériques n’incluent des valeurs que pour les attributs pertinents. Le système retourne ces informations au moyen de IGameInputDevice::GetDeviceInfo.
Documentation conceptuelle
Voir aussi
Vue d’ensemble de l’API d’entréeGameInput
IGameInputDevice::GetDeviceInfo
