Capter X,Y souris sans avoir à cliquer ni tap

Fermé
kerisper - 23 oct. 2008 à 15:42
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 25 oct. 2008 à 17:39
Bonjour,

quand je programme en OpenGL (mais ça doit être vrai aussi sans, puisque ça dépend d'X et pas d'OpenGL) je récupère tout ce qui est tapé au clavier ou cliqué à la souris, sans la boucle d'évènement, mais jamais les déplacements de souris sans clic. Or j'ai vu que des prg le font pourtant, dans Linux
Ca marche très bien dans tous les Windows, et dans aucun Linux pour le moment (ai essayé beaucoup de filttres d'évèenemnts, aucun ne me donne des évt de souris "en vol") avec une seule exception: si je lance une version Windows via wine! A ce jour c'est le seul moyen que j'ai de faire tourner dans Linux un prg à moi qui capture la souris sans avoir à faire une rafale de clics (ou garder une touche du clav enfoncé) pour obtenir un evt à chaque déplacmeent. Un marteau-pilon pour écraser une noix, me direz-vous,
alors existe-t-il une autre solution (je constate que le petit prg xeyes prend les coord en vol, mais je n'ai jamais pu m'en procurer le source...)?

Pour tout ce qui est 3D interactive, je suis obligé de rester dans Windows à cause de ça (la vesion Linux marche, graphiquement, sauf qu'elle ne reçoit rien de la souris quand je la bouge sans lciquer ou taper sur une touche en même temps)

ça doit être dans les filtres d'intialisation des évènements, mais à ce jour, je n'ai toujours pas trouvé.

Merci

3 réponses

erratum: c'est DANS la boucle d'evt et non "sans", mais je n'ai trouvé nulle part la fonction (pourtant promise) permettant de rééditer le message. Voilà pourquoi je dois faire une "fausse réponse" pour corriger, faute d'autre moyen!
0
linuxnico Messages postés 204 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 8 octobre 2010 10
23 oct. 2008 à 15:44
tu devrais poser ta question dans le forum programmation plutot. mais bon t'auras peut etre une reponse ici....
-1
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
23 oct. 2008 à 15:50
Salut,

T'as regardé du côté de "xev" :
XEV(1)                                                                  XEV(1)

NOM
       xev - affiche le contenu d'événements X

SYNOPSIS
       xev  [-display displayname] [-geometry geom] [-bw pixels] [-bs {NotUse-
       ful,WhenMapped,Always}] [-id windowid] [-s] [-name string] [-rv]

DESCRIPTION
       Xev crée une fenêtre, puis demande au serveur X de lui envoyer tous les
       événements  qui  ont  lieu  dans  cette  fenêtre (déplacement, redimen-
       sionnenent, clic de souris, appui  d'une  touche,  etc).   Vous  pouvez
       aussi  écouter  une  fenêtre  existante.  C'est  utile pour voir ce qui
       provoque des événements et afficher les  informations  qu'ils  contien-
       nent.
;-))
-1
xev, oui, mais à configurer comment?

Un exemple "service minimum" m'aiderait beaucoup:

créer une fenêtre X (peu importe le type)
capter les coord des mvt de la souris
les imprimer "brutes de printf" dans la console d'où la démo a été lancée.
Si ça, ça marche, tout le reste marchera. Il existe peut-être des "châssis minimaux" de ce genre quelque part dans un site? J'en avis trouvé pour OpenGL (juste ouvrir une fnêtre et tracer un trat: ça m'a suffi pour savoir comment faire de l'OpenGl dans Linux, que je connaissais déjà ailleurs)

merci d'avoir déjà donné ce premier tuyau...
0
j'aavis dit: récupéer coordonnées de tout mvt de souris dpeuis un programme en C! Pas depuis le shell!
Par contre si jamais tu as le source complet de xev (xev.c, les autres s'il y en a, Makefile), ça pourrait me montrer comment ce programme fait. Le mieux qu ej'ai obtenu est environ un renvoi d'énvèement de mvt de souris (sans bouton) par seconde, pour le moment. xev les capture beaucoup mieux, donc il m'intéresse!

merci si tu me le trouves (au cas où)
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > kerisper
25 oct. 2008 à 17:39
-1