Versions XInput
XInput est une API multiplateforme fournie pour une utilisation sur Xbox et Windows. Sur Xbox, XInput est fourni en tant que bibliothèque statique compilée dans l’exécutable principal du jeu. Sur Windows, XInput est fourni en tant que DLL installée dans les dossiers système du système d’exploitation.
Il existe aujourd’hui trois versions actuelles de la DLL XInput. Choisissez la version appropriée de XInput en fonction des fonctionnalités de XInput que vous utilisez et des versions de Windows que vous envisagez de prendre en charge.
- XInput 1.4 : XInput 1.4 est fourni avec Windows 10. Utilisez cette version pour créer des applications UWP.
- XInput 9.1.0 : XInput 9.1.0 est fourni avec Windows Vista, Windows 7 et Windows 8. Utilisez cette version si votre application de bureau est destinée à s’exécuter sur ces versions de Windows et si vous utilisez des fonctionnalités XInput de base.
- XInput 1.3 : XInput 1.3 est fourni en tant que composant redistribuable dans le SDK DirectX avec prise en charge de Windows Vista, Windows 7 et Windows 8. Utilisez cette version si votre application de bureau est destinée à s’exécuter sur ces versions de Windows et si vous avez besoin de fonctionnalités qui ne sont pas prises en charge par XInput 9.1.0.
XInput 1.4
XInput 1.4 est fourni aujourd’hui en tant que composant système dans Windows 8 en tant que XINPUT1_4.DLL. Il est disponible « dans la boîte » et ne nécessite pas de redistribution avec une application. Le kit de développement logiciel Windows (SDK Windows) contient l’en-tête et la bibliothèque d’importation pour la liaison statique à XINPUT1_4.DLL. Pour télécharger le SDK Windows 8, consultez Téléchargements pour le développement d’applications de bureau.
XInput 1.4 présente ces principaux avantages par rapport aux autres versions de XInput :
- Il s’agit de la seule version qui peut être utilisée dans les applications du Windows Store C++/DirectX.
- La nouvelle fonction XInputGetAudioDeviceIds fournit une chaîne d’ID de périphérique audio que vous pouvez utiliser pour ouvrir un périphérique vocal ou audio de mastering XAudio2 pour un casque attaché à un contrôleur. La fonction XInputGetDSoundAudioDeviceGuids n’est pas disponible dans cette version.
- Fournit des signalements de fonctionnalités d’appareil améliorées, notamment les indicateurs XINPUT_CAPS_WIRELESS, XINPUT_CAPS_FFB_SUPPORTED, XINPUT_CAPS_PMD_SUPPORTED et XINPUT_CAPS_NO_NAVIGATION et des signalements plus précis de XINPUT_CAPS_VOICE_SUPPORTED. Ces indicateurs sont combinés dans le membre Indicateurs de la structure XINPUT_CAPABILITIES. La fonction XInputGetCapabilities retourne XINPUT_CAPABILITIES.
XInput 9.1.0
Comme XInput 1.4, XInput 9.1.0 est fourni aujourd’hui en tant que composant système dans Windows 10, Windows 8.x, Windows 7 et Windows Vista en tant que XINPUT9_1_0.DLL. Il est maintenu principalement pour la compatibilité descendante avec les applications existantes. Il a un jeu de fonctions réduit. Nous vous recommandons donc d’utiliser XInput 1.4, si possible. Toutefois, il est pratique à utiliser pour les applications qui doivent s’exécuter sur des versions de bas niveau de Windows, mais qui n’ont pas besoin des fonctionnalités audio supplémentaires fournies par XInput 1.4 ou XInput 1.3.
Le SDK Windows contient l’en-tête et la bibliothèque d’importation pour la liaison statique à XINPUT9_1_0.DLL.
XInput 9.1.0 présente ces inconvénients par rapport aux autres versions de XInput :
- Pour des raisons de compatibilité descendante, XInputGetCapabilities dans cette version de XInput retourne des informations sur les capacités fixes. Quel que soit le type de contrôleur attaché, XInputGetCapabilities dans XInput 9.1.0 signale toujours le sous-type d’appareil GAMEPAD. Il ne retourne pas le bit de capacité XINPUT_CAPS_WIRELESS même si un appareil sans fil est connecté.
- Vous ne pouvez pas déterminer le casque pour un ID d’utilisateur donné. La fonction XInputGetAudioDeviceIds n’est pas disponible et la fonction XInputGetDSoundAudioDeviceGuids ne renvoie aucun résultat sur Windows 8.x ou Windows 10.
- Les fonctions XInputEnable, XInputGetBatteryInformation et XInputGetKeystroke ne sont pas disponibles.
XInput 1.3
Certaines versions précédentes de XInput ont été fournies en tant que DLL redistribuables dans le SDK DirectX. La première version redistribuable de XInput, XInput 1.1, a été fournie dans la version d’avril 2006 du SDK DirectX. La dernière version à fournir dans le SDK DirectX était XInput 1.3, disponible dans la version de juin 2010 du SDK DirectX hérité. Le SDK DirectX n’est plus disponible sur les téléchargements Microsoft.
Vous pouvez utiliser XInput 1.3 pour les applications qui prennent en charge les versions de bas niveau de Windows et nécessitent des fonctionnalités non fournies par XInput 9.1.0 (autrement dit, le signalement du sous-type correct, la prise en charge audio, la prise en charge explicite du signalement de la batterie, etc.).