Gestion de plusieurs souris

Sujets variés concernant le développement en PureBasic
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Gestion de plusieurs souris

Message 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
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message par poshu »

Bonne question... C'était possible dans le mode multi de settlers II je crois (ça ne nous rajeuni pas tout ça)...
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message 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.
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Message 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.
@+
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message 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?
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Message 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 !
Avatar de l’utilisateur
venom
Messages : 3128
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message 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 ? :?






@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
lionel_om
Messages : 1500
Inscription : jeu. 25/mars/2004 11:23
Localisation : Sophia Antipolis (Nice)
Contact :

Message 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
Webmestre de Basic-univers
Participez à son extension: ajouter vos programmes et partagez vos codes !
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message 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.
KrisJNT
Messages : 110
Inscription : ven. 31/oct./2008 16:51

Message 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 ! :wink:
LavaLava
Messages : 173
Inscription : dim. 28/mars/2004 17:42
Localisation : Provence

Message 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
poshu
Messages : 1138
Inscription : sam. 31/juil./2004 22:32

Message 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).
Répondre