Article de reference

Entrée directe

En informatique, DirectInput est une API héritée de Microsoft permettant de collecter les entrées d'un utilisateur d'ordinateur, via des périphériques d'entrée tels que la souri...

En informatique, DirectInput est une API héritée de Microsoft permettant de collecter les entrées d'un utilisateur d'ordinateur, via des périphériques d'entrée tels que la souris , le clavier ou une manette de jeu . Elle fournit également un système de mappage d'actions, qui permet à l'utilisateur d'assigner des actions spécifiques dans un jeu aux boutons et aux axes des périphériques d'entrée. De plus, elle gère les périphériques de retour haptique (entrée/sortie). Microsoft a introduit une nouvelle bibliothèque d'entrées appelée XInput spécifiquement pour le contrôleur Xbox 360 .

DirectInput et XInput offrent des avantages par rapport aux événements d'entrée Win32 normaux :

  • ils permettent à une application de récupérer des données à partir de périphériques d'entrée même lorsque l'application est en arrière-plan
  • ils offrent un support complet pour tout type de périphérique d'entrée, ainsi que pour le retour haptique
  • grâce au mappage d'actions , les applications peuvent récupérer des données d'entrée sans avoir besoin de savoir quel type d'appareil a généré cette entrée

Bien que DirectInput fasse partie de la bibliothèque DirectX , il n'a pas été révisé de manière significative depuis DirectX 8 (2001-2002). Microsoft recommande aux nouvelles applications d'utiliser la boucle de messages Windows pour les entrées au clavier et à la souris au lieu de DirectInput (comme indiqué dans le diaporama Meltdown 2005 ), et d'utiliser GameInput au lieu de DirectInput et d'autres API héritées, telles que XInput, pour les contrôleurs.

Histoire

DirectX incluait DirectInput à partir de la version 1.0 (1995). Il offrait initialement un véritable support uniquement pour les joysticks, car les modules de souris et de clavier fournissaient simplement des wrappers à l' API Win32 standard . DirectX version 3.0 (1996) a ajouté le support pour les claviers et les souris ; il a également amélioré la prise en charge des joysticks. DirectX 5.0 (1997) incluait une prise en charge des joysticks grandement améliorée, notamment l'ajout d'un retour haptique, l'augmentation du nombre de boutons, la modification du modèle de pilote de périphérique sous-jacent et l'incorporation d'une API basée sur COM . La prise en charge de la souris a également augmenté le nombre de boutons visibles de quatre à huit. Dans DirectX 7.0 (1999- ), DirectInput a ajouté une fonctionnalité promise depuis longtemps de voir les souris individuelles un peu comme des joysticks individuels, mais la fonctionnalité ne fonctionnait pas avec Windows XP plus tardif , même si en 2010 elle fonctionne avec Windows 98/Me et DirectX 9. DirectX 8.0 (2000), la dernière version avec des changements majeurs, incluait le mappage d'actions et une prise en charge plus large de différents types de périphériques.

Bien que Microsoft ait initialement prévu que DirectInput gère toutes les entrées, cela n'a pas fonctionné. Depuis 2011, Microsoft ne recommande plus d'utiliser DirectInput pour les claviers ou les souris et a commencé à promouvoir le nouveau XInput pour les contrôleurs Xbox 360. Dans Windows Vista , Windows 7 et les versions ultérieures de Windows, l'interface utilisateur de mappage d'actions intégrée a été supprimée. DirectInput n'est pas disponible pour les applications du Windows Store.

Entrée X

XInput, une API héritée pour les contrôleurs de « nouvelle génération », a été introduite en décembre 2005 en même temps que le lancement de la Xbox 360. Cette spécification permettait la prise en charge des contrôleurs Xbox 360 sous Windows XP SP1 et les systèmes d'exploitation ultérieurs, et est décrite par Microsoft comme étant plus facile à programmer et nécessitant moins de configuration que DirectInput. XInput est compatible avec DirectX version 9 et ultérieures.

Prise en charge du contrôleur Xbox 360

Un contrôleur Xbox 360 , avec le pilote Microsoft par défaut, présente les limitations suivantes avec DirectInput, par rapport à XInput :

  • les déclencheurs gauche et droit agiront comme un axe unique représentant la différence signée entre les déclencheurs, et non comme un axe analogique indépendant
  • les effets de vibration ne fonctionneront pas
  • la requête pour les casques ne fonctionnera pas, XInput 1.4 dans le cadre de Windows 8 a introduit la prise en charge du casque Xbox.

Selon MSDN , « la combinaison des gâchettes gauche et droite dans DirectInput est voulue. Les jeux ont toujours supposé que les axes du périphérique DirectInput étaient centrés lorsqu'il n'y avait aucune interaction de l'utilisateur avec le périphérique. Cependant, le contrôleur Xbox 360 a été conçu pour enregistrer la valeur minimale, et non le centre, lorsque les gâchettes ne sont pas maintenues. » MSDN a proposé la « solution » consistant à combiner les gâchettes, en réglant une gâchette sur une direction positive et l'autre sur une direction négative, de sorte qu'aucune interaction de l'utilisateur n'indique que DirectInput indique que la « commande » est au centre.

Ce qui précède ignore cependant le fait que de nombreux contrôleurs DirectInput, tels que les manettes de jeu avec deux joysticks analogiques et les ensembles de contrôleurs de volant de course , mappent déjà les gâchettes et les pédales de manière indépendante. De plus, de nombreux périphériques DirectInput ont également des effets de vibration. Au moins un pilote tiers, XBCD, donne aux contrôleurs Xbox 360 la prise en charge des vibrations, les zones mortes et (en option) les gâchettes analogiques/numériques indépendantes via DirectInput que possède son pilote XInput. Cela suggère que le pilote du contrôleur Xbox 360 de Microsoft a reçu intentionnellement une prise en charge DirectInput plus faible, plutôt qu'en raison de différences entre les API DirectInput et XInput. D'un autre côté, les contrôleurs Xbox 360 utilisant XInput ne prennent en charge qu'un contrôle très basique des moteurs de vibration contrairement à une plus grande palette d'effets pris en charge via DirectInput.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index