Forum Programmation.c Récupérer la position de la souris en C

Posté par  (site web personnel) .
Étiquettes : aucune
0
22
nov.
2007
Bonjour,

Je cherche à récupérer la position (ou le déplacement) d'une souris en C (ou C++) dans un programme en mode console. Je n'ai pas besoin d'intercepter les clics. Le but est d'utiliser une souris laser pour gérer le positionnement et l'asservissement d'un robot mobile.

J'ai essayé libgpm (General Purpose Mouse Interface), mais je trouve très peu de documentation à son sujet, et l'exemple que j'ai testé ne m'a pas convaincu...

J'ai essayé de lire dans /dev/input/mice mais lorsque je déplace la souris dans un axe j'obtiens une série de valeurs identiques, donc ça doit pas être le déplacement ni la position, peut-être la direction ? Quelqu'un connaît-il une documentation qui pourrait m'aider à à interpréter /dev/input/mouse*, ou à contrôler la souris directement ?

Ou bien une autre bibliothèque ?

Merci d'avance.
  • # Info gpm

    Posté par  . Évalué à 3.

    Tu as regardé la page info ?
    En gros, tu dois intercepter l'événement GPM_MOVE puis dans la structure associée Gpm_Event, tu peux récupérer la position x/y ainsi que la position relative par rapport à la position précédente.
    • [^] # Re: Info gpm

      Posté par  (site web personnel) . Évalué à 1.

      Ah oui en effet, j'ai testé les pages man mais pas les pages info (pas l'habitude de les utiliser...).

      Sinon, étant donner que ce sont deux souris USB, je vais peut être me tourner vers libusb/libhid et la spécification HID (qui peut-être me permettrait d'ailleurs d'exploiter directement les données lues depuis /dev/input/mouse*).

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.