J'ai un contrôleur XBox360 que j'aimerais utiliser comme entrée pour une application.
Ce que je ne peux pas déterminer, c'est la meilleure façon d'exposer cela via une interface.
Dans les coulisses, la classe qui gère le ou les contrôleurs s'appuie sur l'état du bouton d'interrogation.
J'ai d'abord essayé quelque chose de lien:
Event ButtonPressed() as ButtonEnum
où ButtonEnum
était ButtonRed
, ButtonStart
, etc ...
Ceci est un peu limité en ce qu'il ne prend en charge que les pressions sur les boutons, pas les prises / motifs (appuyez deux fois, etc.)
L'idée suivante était d'exposer simplement l'état du bouton à l'application, par exemple
Property RedPressed as Boolean
Property StartPressed as Boolean
Property Thumb1XAxis as Double
C'est très flexible, mais cela oblige vraiment trop de travail dans l'application et nécessite que l'application interroge - je préférerais si possible les événements.
J'ai envisagé d'ajouter plusieurs événements, par exemple:
Event ButtonPressed(Button as ButtonEnum)
Event ButtonPressedTwice(Button as ButtonEnum)
Event ButtonHeldStart(Button as ButtonEnum)
Event ButtonHeldEnd(Button as ButtonEnum)
mais cela semble un peu maladroit et a été une vraie douleur sur l'écran "Bind button".
Quelqu'un peut-il m'indiquer la manière "correcte" de gérer les entrées des contrôleurs.
NB: J'utilise SlimDX dans la classe qui implémente l'interface. Cela me permet de lire l'état très facilement. Toutes les alternatives qui résoudraient mon problème sont également appréciées