IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows XP Discussion :

Utilisation de deux souris


Sujet :

Windows XP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 58
    Points : 31
    Points
    31
    Par défaut Utilisation de deux souris
    Bonjour,

    Je souhaiterai savoir s'il est possible d'utiliser deux souris en parallèle sur un PC.

    Je m'explique : J'aurais besoin de la première souris (ou bien du Pad d'un PC portable) pour simplement bouger le curseur, et de la deuxième souris pour récupérer les informations de déplacement renvoyées par le capteur laser afin d'avoir la distance parcourue.

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 073
    Points
    28 073
    Par défaut
    Tu peux brancher plusieurs souris sur une machine mais Windows les considèreras toutes comme étant une seule
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 930
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 930
    Points : 23 238
    Points
    23 238
    Billets dans le blog
    10
    Par défaut
    Bonjour

    Deux souris mais un seul focus.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    Avec les moult recherches que j'ai fait c'est ce qu'il m'avait semblé comprendre, mais je ne souhaite pas contrôler le curseur avec la deuxième souris, je souhaite seulement recevoir les infos de déplacement sur ses axes (Y notamment, tout dépend de comment elle est placée).

    Pour être plus exact, est-il possible, en ayant les deux souris connectées, de désactiver le contrôle du curseur pour l'une des deux ?

  5. #5
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Salut,

    tu peux avoir ton information avec une seule souris, pourquoi deux ?

  6. #6
    Expert éminent sénior
    Avatar de JML19
    Homme Profil pro
    Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Inscrit en
    Décembre 2010
    Messages
    14 930
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Corrèze (Limousin)

    Informations professionnelles :
    Activité : Retraité : Electrotechnicien Electronicien Informaticien de la SNCF
    Secteur : Transports

    Informations forums :
    Inscription : Décembre 2010
    Messages : 14 930
    Points : 23 238
    Points
    23 238
    Billets dans le blog
    10
    Par défaut
    Non, si tu as un pilote d'installé pour la souris, la souris prendra le focus elle aussi.
    Vous pouvez utiliser les FAQ (ICI) ou les Tutoriels (ICI) et aussi accéder au blog (ICI)

  7. #7
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 192
    Points : 28 073
    Points
    28 073
    Par défaut
    D'autant plus que les métriques ne sont pas gérés par Windows, je pense. Ils doivent être gérés directement par le driver. Donc seuls les métriques de la souris correspondante seront probablement comptabilisés, pas ceux de l'autre souris.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  8. #8
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Ben en fait les mouvements de la souris sont interprétés de manière relative, mais dès qu'on parle de métrique on est plutôt dans une perspective écran.

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    Citation Envoyé par minnesota Voir le message
    Salut,

    tu peux avoir ton information avec une seule souris, pourquoi deux ?
    L'intérêt des deux souris est de pouvoir mesurer la distance avec la première, et pouvoir se servir de la deuxième pour naviguer dans l'API si besoin est.

    Pour le moment j'arrive à avoir une valeur de déplacement grâce à ma souris (et cette valeur augmente ou diminue, même lorsque le curseur est au bord de l'écran, le curseur ne bouge pas mais la lentille optique détecte toujours le mouvement), même si j'arrive pas trop à en faire grand chose pour le moment.

    Donc si je comprends bien, il n'est pas possible de laisser le contrôle du curseur à une seule des deux souris (ou du pad), en le désactivant pour l'autre afin qu'il soit consacré uniquement à la mesure ?

    EDIT : D'ailleurs, autre question, les données de position que la souris renvoie sont dans quelle unité ?
    Avec les recherches que j'ai fait, apparemment l'unité de mesure serait le mickey (), qui serait équivalent à 1/200 pouce, donc à 2,54/200 cm.
    Or, sur un autre site, j'ai trouvé que un mickey est équivalent à 8 pixels, or mon écran faisant 768px de haut et mesurant 17,5cm. En gros, 96 paquets de 8px, ce qui ferait 0,1823cm / 8px, or 2,54/200 (qui est censé être un mickey aussi) multiplié par 8, ne fait que 0,1016.

    Du coup je suis un peu paumé là ...

  10. #10
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Tu peux utiliser une souris USB avec un pilote hid fait maison. Mais franchement, je ne vois toujours pas l'intérêt d'une deuxième souris. En ce qui concerne l'unité et le déplacement, niveau curseur, c'est le pixel, niveau souris, ?, mais le positionnement par rapport à l'écran est pris en charge par le driver en fonction de la vitesse de déplacement de la souris et la distance parcourue.

    Après, comme on sait pas trop où tu veux aller, il sera difficile pour nous de t'indiquer un chemin.

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    Ben j'essaye pourtant d'expliquer clairement le truc :

    La première souris (Souris normale, ou bien le pad), sert simplement de manière conventionnelle.
    La deuxième souris quant à elle, me servirait uniquement pour récupérer les données de déplacement.

    En gros pour le projet j'aurais un chariot qui sera sur des rails de tramway, et lorsque ce chariot avance (il faut le pousser), j'ai besoin de connaître sa vitesse de déplacement, pour en déduire le déplacement effectué, afin de savoir exactement où je suis sur la ligne.

    Du coup pour le moment j'arrive à bien recevoir les données de déplacement de la souris, j'ai réussi à trouver une petite application qui créé un curseur factice pour la deuxième souris (qui fonctionne également mais qui ne déplace pas le curseur principal).
    Maintenant, le hic est que lors de ma mesure de déplacement grâce à la deuxième souris, si je me sers du pad pour naviguer dans mon API (par exemple), les déplacements du pad sont ajoutés aux déplacements de la deuxième souris, ce qui fausse le résultat.

    De plus, autre problème, étant donné que c'est le déplacement détecté par la souris qui m'intéresse, et non le déplacement du pointeur (d'autant que le pointeur est limité par l'écran), sachant que je ne sais pas trop à quoi correspond exactement la valeur renvoyée (pour l'instant, d'après ce que j'ai trouvé, je considère que 1 point de donnée, correspond à 2,54/200 cm), mes déplacements ne coïncident pas vraiment avec la valeur calculée ...

    (exemple : mon écran qui fait 17,5cm de haut, lorsque je traverse de haut en bas, ou inversement, je trouve environ 12-13cm)

  12. #12
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    L'unité c'est le pouce, mais la résolution c'est le dpi de la souris, en somme 2.54/dpi (ça peut être 2.54/1000). Pour la correspondance écran, c'est le driver du pc qui fait la conversion, un déplacement de 1cm à des vitesses différentes ne se traduira jamais par une même distance à l'écran.

    Maintenant, comme il s'agit d'un train, donc sans lien direct avec l'informatique, et comme il s'agit pour toi de faire un genre de capteur, il te faudrait une interface d'acquisition de donnée depuis la souris, que tu peux balancer le cas échéant sur ton ordi, à mon avis ça existe, faudrait faire une recherche...


    EDIT:

    Regarde cette page par exemple, je n'ai fait que survoler, mais je pense que tu y trouveras ton bonheur.

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    Les données de la souris je les récupère déjà sur mon programme (via les objets DirectInput), ce qui m'intéresse surtout maintenant, c'est de savoir si je peux paramétrer ma deuxième souris de manière à ce que ce qu'elle voit pour ma mesure de déplacement, n'affecte pas le pointeur du PC (sinon ça fous la merde au niveau du programme), et inversement, que la souris utilisée pour le PC, n'affecte pas mes mesures.

    Après au niveau des unités mesurées, ça m'intéresse mais si ce que j'ai écris au dessus n'est pas possible, je ne m'en servirai pas du coup. x)

  14. #14
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Essaye de poser ta question dans les sections/forums programmation système ou programmation directX. En cherchant confirmation sur msdn, voilà ce qui est dit :

    If the computer has more than one mouse, input from all mice is combined to form the system device. The same is true for multiple keyboards
    Donc à moins de reprogrammer une souris, de faire un driver ou encore de faire ton acquisition de mesure en amont du driver, tout ce que tu obtiens à partir des APIs, c'est une position dans l'écran, et qui de surcroit ne représente pas la réalité comme expliqué précédemment.

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    Concernant le fait que si plusieurs souris sont connectées, elles sont "fusionnées", je suis d'accord, mais tu dis que les données récupérées sont une position dans l'écran, là je ne suis pas totalement d'accord.

    Le programme que j'ai fait pour récupérer ces données justement, fonctionne bien, et le calcul que je fais pour avoir le déplacement total effectué fonctionne même lorsque je pousse la souris malgré le fait que le pointeur soit déjà bloqué en haut de l'écran, donc j'ai bel et bien l'impression que les données que je reçois, sont simplement les données de déplacement captées par la caméra de la souris.

    Mon problème n'est pas vraiment un problème de programmation ou quoi que ce soit, à la base c'était simplement pour savoir si je pouvais faire mes mesures avec la deuxième souris, sans que mes données soient affectées par la première, et sans que le pointeur soit également affecté par la souris de mesure.

  16. #16
    Membre averti Avatar de Jade_13
    Profil pro
    Technicien réseau
    Inscrit en
    Mars 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Mars 2008
    Messages : 273
    Points : 393
    Points
    393
    Par défaut
    Bonjour,

    J'ai trouvé ce qu'il te faut...
    (Merci à MiaowZedong) ^^

    Citation Envoyé par MiaowZedong Voir le message
    Je sais... on est le 4.... pas taper ! ^^
    Je ne suis qu'un petit scarabée, et je ne peux dire que ce que je sais, ni plus.. ni moins...

    Pensez à cliquer sur lorsque vous avez trouvé vos réponses...

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    Ça m'a fait marrer mais du coup, hormis le fait que c'est un poisson d'Avril, ça n'est pas ce que je cherche, j'arrive à avoir plusieurs pointeurs, chacun dirigé par une souris différente.

    En fait, ce que je cherche réellement à faire maintenant c'est un gros truc lié à plusieurs petits :

    • Récupérer les données de déplacement d'une souris en amont sur le port USB (afin que les données ne soient pas affectées par le driver)
    • Pouvoir désactiver le contrôle du pointeur pour une souris, justement pour que lors de la détection du déplacement, cela ne fasse pas bouger le curseur
    • Et enfin, faire en sorte que si une deuxième souris (ou le pad) bouge, cela n'affecte pas nos données de déplacement.


    Pour le moment j'ai réussi à prouver que c'était faisable, en gros avec USBMonitor qui récupère les trames reçues sur un port USB, j'arrive à avoir les trames d'une souris connectée, mais désactivée (donc lorsque je la bouge, le pointeur ne bouge pas), tout en ayant une deuxième souris qui contrôle le pointeur sans que les trames de cette souris ne soient affichées.

    Donc il est bien possible de distinguer une souris d'une autre.

    Il faudrait que j'arrive à récupérer le vendor/product ID de mes souris afin d'effectuer ma connexion sur une seule d'entre elles.

    EDIT : Ben en fait c'est bon, j'ai récupéré les ID de mes souris, reste plus qu'à trouver comment effectuer la connexion à un ID spécifique ...

  18. #18
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 685
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 685
    Points : 13 102
    Points
    13 102
    Par défaut
    Je n'y vois rien d'impossible (y compris pour Chrome )

    Raw Input permet de récupérer les infos des différentes souris à un très bas niveau et d'ignorer leurs comportements par défaut. Il suffit ensuite de simuler les commandes pour l'une d'entre elle seulement par SendInput.

    Voir WM_INPUT.

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 58
    Points : 31
    Points
    31
    Par défaut
    J'ai eu une petite avancée, qui confirme le fait que c'est bel et bien possible.

    J'ai téléchargé un petit sniffer USB (USBMonitor), j'ai désactivé (mais pas déconnecté) ma deuxième souris, et j'ai consulté ses données, le sniffer capte bien les trames et le curseur n'est pas déplacé par les mouvements de cette souris, tandis qu'avec la souris principale, le curseur bouge, mais pas de trames supplémentaires.

    Donc au final c'est pile poil ce que je veux, les fonctionnalités du sniffer USB, mais je ne trouve absolument rien à ce sujet ... (et en plus, si jamais j'y arrive, il faudra que j'arrive à décoder les trames, parce que ça c'est pas gagné non plus).

    Sinon j'ai regardé pour RawInput, est-ce qu'il y a une bibliothèque spéciale pour ça ?

  20. #20
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 685
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 685
    Points : 13 102
    Points
    13 102
    Par défaut
    Citation Envoyé par chapitre37 Voir le message
    Sinon j'ai regardé pour RawInput, est-ce qu'il y a une bibliothèque spéciale pour ça ?
    Ce sont des APIs standards disponibles depuis XP.

    Voici un petit exemple (en Delphi) montrant comment énumérer les Devices et limiter les fonctionnalités en fonction de leur Handle.
    En l’occurrence, il s'agissait d'un clavier et d'une douchette, mais le principe est identique pour des souris.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Utilisation de deux versions de gcc sur la même plateforme
    Par Anouschka dans le forum Administration système
    Réponses: 5
    Dernier message: 04/05/2006, 11h32
  2. [C#] utilisation de la souris dans une windows form
    Par dimmak dans le forum Windows Forms
    Réponses: 2
    Dernier message: 26/03/2006, 23h21
  3. Utilisation de la souris en console
    Par Geoff-sk8 dans le forum C
    Réponses: 3
    Dernier message: 16/02/2006, 22h32
  4. [CSS] Utilisation de deux div avec float
    Par Ditch dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 06/10/2005, 15h48
  5. [TP]Utilisation de la souris en haute résolution
    Par Gabi dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 08/01/2004, 18h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo