Passer au contenu principal

Simulation des entrées de manette

Lors du test d’un titre XBOX One, il n’est pas toujours efficace qu’une personne utilise une manette physique pour interagir avec la console de développement. Vous pouvez automatiser les tests unitaires, les tests de contrainte, les tests de longue durée et les tests utilisateur en simulant par programmation les entrées de manette à l’aide de XBOX Tools Framework (XTF) et du XBOX Test Toolkit sur un ordinateur. Il est possible de simuler les entrées de manette sur plusieurs consoles en même temps pour tester des scénarios multijoueurs en ligne. Pour simuler les entrées de manette, ajoutez XtfInput.lib à Configuration Properties > Linker > Input > Additional Dependencies et incluez XtfInput.h dans les fichiers sources de votre banc de test ou de votre outil autonome.
  • XtfInput.lib se trouve dans <GDK Install Path>\toolKit\lib\amd64
  • XtfInput.h se trouve dans <GDK Install Path>\toolKit\include
Les applications Xtf ne peuvent pas cibler les systèmes 32 bits. Vous devez vous assurer que vos options de build ciblent un système 64 bits. Suivez les étapes ci-dessous pour configurer votre projet afin qu’il cible le 64 bits.
  1. Ouvrez le menu BUILD dans la barre de contexte supérieure, puis sélectionnez Configuration Manager.
  2. Sélectionnez la liste déroulante Active solution platform: (probablement définie sur Win32), puis sélectionnez <New..>.
  3. Sélectionnez la liste déroulante Type or select the new platform:, puis sélectionnez x64. Copiez les paramètres de votre configuration préférée (probablement Win32).
  4. Sélectionnez OK pour ajouter la nouvelle configuration.

Pour simuler les entrées de manette

  1. Appelez XtfCreateInputClient en spécifiant l’adresse de la console cible pour créer une instance de IXtfInputClient.
  2. Appelez IXtfInputClient::ConnectGamepad pour créer une manette virtuelle.
  3. Définissez une structure GAMEPAD_REPORT contenant l’état de manette souhaité. Par exemple, pour simuler l’appui sur le bouton A, vous utiliseriez gamepadReport.Buttons = A;.
  4. Appelez IXtfInputClient::SendGamepadReport avec l’ID de manette renvoyé par ConnectGamepad et la structure GAMEPAD_REPORT de l’étape précédente.
  5. Attendez au moins 16 ms, puis appelez de nouveau IXtfInputClient::SendGamepadReport pour réinitialiser l’état de la manette au besoin. Par exemple, pour simuler le relâchement du bouton A, vous utiliseriez gamepadReport.Buttons = NONE.
  6. Répétez les étapes 3 à 5 pour envoyer d’autres appuis sur des boutons.
  7. Appelez DisconnectGamepad lorsque vous avez terminé afin de vous assurer que les ressources allouées à la manette virtuelle sont libérées.
L’exemple de code suivant montre comment simuler par programmation les entrées de manette. C++

Voir aussi

Référence
Dernière modification le 6 octobre 2026