Page 1 sur 1
Gestion de plusieurs souris
Publié : sam. 27/juin/2009 13:12
par LavaLava
Salut,
j'aimerais savoir s'il est possible de gérer plusieurs souris en mode OpenScreen ?
Par exemple pour que 2 personnes, ayant chacune une souris, puisse déplacer son propre pointeur indépendament de l'autre.
Merci
Publié : sam. 27/juin/2009 13:24
par poshu
Bonne question... C'était possible dans le mode multi de settlers II je crois (ça ne nous rajeuni pas tout ça)...
Publié : sam. 27/juin/2009 16:31
par Ollivier
Ah oui, ça fait déjà 12 ans!!!
Sinon c'est, à mon avis impossible avec les fonctions natives d'avoir deux pointeurs souris.
Publié : sam. 27/juin/2009 17:22
par LavaLava
En pure ce n'est pas possible pour le moment, mais dans l'explication de la fonction ExamineMouse(), on laisse entendre que cela pourrait le devenir...
De plus, à force de recherche j'ai lut que DirectX gére 2 souris "Mouse" et "Mouse2" avec DirectInput.
Cependant, j'ai beaucoupe de mal à trouver de la documentation accéssible sur ce sujet.
En fait pour poser clairement mon souhait je cherche à faire un petit jeu style puissance 4.
2 joueurs simultané :
- un joueur normal, avec une souris et un pointeur à l'écran.
- un joueur aveugle avec une tablette graphique et la carte son qui lui dit ce qu'il y a sous son stylo.
J'ai déja fait des essais intéressant avec la tablette graphique et les fonction windowMose et une synthèes vocale.
Avec OpenScreen, les coordonnées de ma tablette sont démultipliés...
Si je pouvais accéder au information "Mouse" et "Mouse2" du directX je devrais pouvoir rectifier cela et gérer le reste.
@+
Publié : sam. 27/juin/2009 19:58
par Ollivier
Est-ce que tu as été voir sur le forum anglais s'il n'y a pas un aventurier qui s'est adonné à ce système double?
Publié : dim. 28/juin/2009 9:20
par LavaLava
Oui, je suis allé sur le forum anglais.
Je n'ai pas trouvé de sujet abordant cette possibilité.
Certains, trés vieux, sujets donne des codes concernant le directX mais je m'y perds...
Réçament, un gars à posté un "subsystem for directX" mais aucun exemple ni aide..
Pourtant cela doit bien être faisable puisque l'on peut trouver des solutions payantes pour le faire !
Publié : dim. 28/juin/2009 11:14
par venom
Bonjour,
je n'y connais pas trop dans la programmation de jeux mais sous windows si tu branche 2 souris il n'en voie qu'une non ?
@++
Publié : dim. 28/juin/2009 20:25
par lionel_om
venom a écrit :Bonjour,
je n'y connais pas trop dans la programmation de jeux mais sous windows si tu branche 2 souris il n'en voie qu'une non ?
@++
Exacte. dans un magazine de micro-info qq1 a posé cette question et la réponse était sans appel: Microsoft n'est prévu pour n'avoir qu'un seul curseur...
/Lio
Publié : lun. 29/juin/2009 2:23
par poshu
Je ne vois pas le rapport entre le fait de ne voir qu'un pointeur et la capacité de Direct X à gérer deux HID de type souris... On peut comparer cet argument à: "quand tu branche une manette sous windows, il se passe rien; cqfd: windows ne sait pas gérer les manettes"....
Ma librairie wiimote gère 4 wiimotes, qui peuvent être considérées comme des outils de pointages; et je ne serais pas plus surpris que ça que ce soit possible avec une souris en descendant assez profondément dans les couches HID de windows/directX.
Publié : lun. 29/juin/2009 11:18
par KrisJNT
J'avais programmé un petit quelque chose qui permettait d'avoir deux curseurs avec une seule souris (controle du curseur avec F1 et le second avec F2) mais en j'ai bien lu ton topique je ne suis pas sûr que ça te soit utile. Dis-moi si le code t'intéresse !

Publié : lun. 29/juin/2009 14:54
par LavaLava
Salut,
en fait j'ai plus que l'impréssion que cela soit possible car on peut trouver des logiciel payant qui propose cette possiblité.
Ce tuto
http://msdn.microsoft.com/fr-fr/directx/bb426896.aspx
indique la marche à suivre pour l'énumération des joystick avant de les gérer.
Mais pour la souris il parle d'utiliser celle par défaut, comme dans la doc PureBasic, cela me semble bien vouloir dire qu'il peut y en avoir plusieurs...
Cela ne veut pas dire que windows peut afficher 2 pointeur souris (Je crois que non d'ailleurs), mais que simplement que l'on peut accéder au information envoyé par les 2 souris.
Seulement, jouer avec DirectX n'ai pas aussi simple que faire du purebasic, le Msdn n'est pas trés accéssible...
Même si je connais le sens des mot méthode, instance, propriété je ne m'en suis jamais réellement servit.
Ainsi, comme PureBasic "dialogue" déja avec DirectX, je me demande si je peux le faire en même temps ? (Par rapport au handle de mon application)
Une idée saugrenue me trote dans la tête :
Si l'on récupére le code ASM des fonctions Mouse pour les remetre dans des procédure, serait-il possible de les bricoler par analogie avec celle du joystick ?
Hormis le langage ASM, quelles serait les impossibilité ou restriction de cette méthodes vis à vis du PureBasic ?
Cordialement
Publié : lun. 29/juin/2009 15:48
par poshu
L'api est en partie intégrée à pure basic et on peut rajouter le reste via Import (je suis pas sur de mon coup sur la fonction); ce qui rend la tache assez aisée...
Tiens nous au jus, j'ai vraiment envie de savoir ce qui est possible (ou non).