Simulation des entrées de manette
Lorsque vous testez 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 des entrées de manette pour plusieurs consoles en même temps afin de tester des scénarios multijoueurs en ligne. Pour simuler des entrées de manette, ajoutezXtfInput.lib à Configuration Properties > Linker > Input > Additional Dependencies et incluez XtfInput.h dans les fichiers sources de votre atelier de test ou de votre outil autonome.
XtfInput.libse trouve dans<GDK Install Path>\toolKit\lib\amd64XtfInput.hse 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 génération ciblent un système 64 bits. Suivez les étapes ci-dessous pour configurer votre projet afin qu’il cible le 64 bits.
- Ouvrez le menu BUILD dans la barre contextuelle supérieure, puis sélectionnez Configuration Manager.
- Sélectionnez la liste déroulante Active solution platform: (qui est très probablement définie sur Win32), puis sélectionnez <New..>.
- 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 (très probablement Win32).
- Sélectionnez OK pour ajouter la nouvelle configuration.
Pour simuler des entrées de manette
- Appelez XtfCreateInputClient en spécifiant l’adresse de la console cible pour créer une instance de IXtfInputClient.
- Appelez IXtfInputClient::ConnectGamepad pour créer une manette virtuelle.
- Définissez une structure GAMEPAD_REPORT contenant l’état de manette souhaité. Par exemple, pour simuler l’appui sur le bouton A, vous utiliserez
gamepadReport.Buttons = A;. - Appelez IXtfInputClient::SendGamepadReport avec l’ID de manette retourné par ConnectGamepad et la structure GAMEPAD_REPORT de l’étape précédente.
- Attendez au moins 16 ms, puis appelez de nouveau IXtfInputClient::SendGamepadReport pour réinitialiser l’état de la manette si nécessaire. Par exemple, pour simuler le relâchement du bouton A, vous utiliserez
gamepadReport.Buttons = NONE. - Répétez les étapes 3 à 5 pour envoyer d’autres appuis sur des boutons.
- Appelez DisconnectGamepad lorsque vous avez terminé afin de garantir la libération des ressources allouées pour la manette virtuelle.
