Récupérer coordonnées souris à l'écran
Fermé
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
-
12 août 2006 à 16:16
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 30 déc. 2007 à 20:16
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 30 déc. 2007 à 20:16
A voir également:
- Coordonnées souris écran
- Coordonnées gps - Guide
- Double ecran - Guide
- Capture d'écran samsung - Guide
- Ecran noir pc - Guide
- Pad souris bloqué - Guide
7 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
13 août 2006 à 11:42
13 août 2006 à 11:42
Bon, j'ai un peu avancé et je vais essayer de vous faire part de mon état d'avancement...
Donc j'en reviens pour commencer à "xev", qui s'il s'avère fort utile pour ce qui concerne le clavier (reconnaissance des touches), l'est un peu moins (à moins que ça ne soit moi qui ne sache pas bien m'en dépatouiller) en ce qui concerne la souris.
Lancer tel quel sans aucun paramètre, il affiche une fenêtre (50x50) qui lors de son survol renvoie effectivement les coordonnées de la souris en temps réel, les clics, etc... mais qu'à l'intérieur de ladite fenêtre !!!
Vous me direz, pourquoi ne pas l'agrandir, ou encore mieux lui passer la taille et la position en paramètre ?
Oui mais bon, j'y avais songé, mais il reste une bordure non négligeable et puis la sortie est tellement verbeuse qu'on se perd facilement dans les résultats !!!
De plus j'ai essayé de récupérer la sortie dans un fichier texte (xev > fich.txt), mais comme dit ci-dessus, beaucoup trop verbeux :-(
J'ai aussi essayé avec la commande "tee" au travers d'un pipe :
Non seulement je n'ai aucune sortie sur l'écran, mais de plus le fichier reste désespérément vide !!! ;-(((
Si quelqu'un sait pourquoi... merci de m'en informer.
Comme je n'arrivais à rien avec "xev", je me suis tourné vers la commande "import" de l'excellentissime suite d'outils d'"Imagemagick".
Je pensais bien tenir la solution, mais il y a un hic !
D'abord je vous expose mes manips et mes "moulinettes".
Je lance une console "Eterm" (tout ce qu'il y a de plus simple, avec juste une taille et une position prédéfinies) :
Ben vous ne pensez pas si bien dire, c'est bien là que se situe le "hic" !!!
Qu'à cela ne tienne, je lance donc la "moulinette" dont j'ai le secret absolu, qui me permet de récupérer les coordonnées (enfin c'est ce que je croyais) :
Je disais donc que c'est à ce niveau que se situe le "hic".
Je n'arrive pas à déterminer comment est exprimé le paramètre "-g" (géométrie) d'Eterm, dont voici un extrait du "man" :
???
Je sais pas si j'ai été clair là, mais si une bonne âme charitable voudrait bien essayer de m'expliquer quelle fonction mathématique (ça n'a jamais été mon fort ;-( ) peut résoudre cette équation (s'il en existe une... of course).
Merci d'avoir pris le temps de me lire et merci à ceux qui tenteront de m'aider.
Bonne fin de week-end z'@toutes z'et @ tous.
Donc j'en reviens pour commencer à "xev", qui s'il s'avère fort utile pour ce qui concerne le clavier (reconnaissance des touches), l'est un peu moins (à moins que ça ne soit moi qui ne sache pas bien m'en dépatouiller) en ce qui concerne la souris.
Lancer tel quel sans aucun paramètre, il affiche une fenêtre (50x50) qui lors de son survol renvoie effectivement les coordonnées de la souris en temps réel, les clics, etc... mais qu'à l'intérieur de ladite fenêtre !!!
Vous me direz, pourquoi ne pas l'agrandir, ou encore mieux lui passer la taille et la position en paramètre ?
Oui mais bon, j'y avais songé, mais il reste une bordure non négligeable et puis la sortie est tellement verbeuse qu'on se perd facilement dans les résultats !!!
De plus j'ai essayé de récupérer la sortie dans un fichier texte (xev > fich.txt), mais comme dit ci-dessus, beaucoup trop verbeux :-(
J'ai aussi essayé avec la commande "tee" au travers d'un pipe :
xev | tee fich.txtpour récupérer à la fois la sortie sur l'écran et dans un fichier. Malheureusement ça ne marche pas!
Non seulement je n'ai aucune sortie sur l'écran, mais de plus le fichier reste désespérément vide !!! ;-(((
Si quelqu'un sait pourquoi... merci de m'en informer.
Comme je n'arrivais à rien avec "xev", je me suis tourné vers la commande "import" de l'excellentissime suite d'outils d'"Imagemagick".
Je pensais bien tenir la solution, mais il y a un hic !
D'abord je vous expose mes manips et mes "moulinettes".
Je lance une console "Eterm" (tout ce qu'il y a de plus simple, avec juste une taille et une position prédéfinies) :
Eterm -g 100x10+95+10&Je lance ensuite la commande "xwininfo" pour récupérer les infos relatives à cette fenêtre (id, longueur, hauteur, etc...) :
xwininfo xwininfo: Please select the window about which you would like information by clicking the mouse in that window. xwininfo: Window id: 0x3200046 "jp@MDK: /home/jp" Absolute upper-left X: 98 Absolute upper-left Y: 39 Relative upper-left X: 0 Relative upper-left Y: 0 Width: 624 Height: 161 Depth: 24 Visual Class: TrueColor Border width: 0 Class: InputOutput Colormap: 0x20 (installed) Bit Gravity State: ForgetGravity Window Gravity State: NorthWestGravity Backing Store State: NotUseful Save Under State: no Map State: IsViewable Override Redirect State: no Corners: +98+39 -302+39 -302-568 +98-568 -geometry 100x10+95+10Jusque là pas de problèmes, quoi que vous me direz, la taille et la géométrie diffèrent quelque peu !!! ;-\
Ben vous ne pensez pas si bien dire, c'est bien là que se situe le "hic" !!!
Qu'à cela ne tienne, je lance donc la "moulinette" dont j'ai le secret absolu, qui me permet de récupérer les coordonnées (enfin c'est ce que je croyais) :
import -verbose /dev/null /dev/null PS 631x193 1024x768+95+13 DirectClass 0.000u 0:01 /dev/null PS 631x193 1024x768+95+13 DirectClass 0.210u 0:01qui me renvoie bien (à quelques pixels prés) les coordonnées des axes (+95+13) ainsi que celles de la taille (631x193) (la différence étant dûe au style de décoration des fenêtres sous KDE).
Je disais donc que c'est à ce niveau que se situe le "hic".
Je n'arrive pas à déterminer comment est exprimé le paramètre "-g" (géométrie) d'Eterm, dont voici un extrait du "man" :
-g geom, --geometry geom Window geometry as Width x Height+X coord+Y coord, i.e 100x200+0+100celui-la même renvoyé par la commande "wininfo" (-geometry 100x10+95+10), par rapport à la taille exprimée par "wininfo" :
Width: 624 Height: 161et la commande "import" :
/dev/null PS 631x193 1024x768+95+13 DirectClass 0.000u 0:01
???
Je sais pas si j'ai été clair là, mais si une bonne âme charitable voudrait bien essayer de m'expliquer quelle fonction mathématique (ça n'a jamais été mon fort ;-( ) peut résoudre cette équation (s'il en existe une... of course).
Merci d'avoir pris le temps de me lire et merci à ceux qui tenteront de m'aider.
Bonne fin de week-end z'@toutes z'et @ tous.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
14 août 2006 à 20:28
14 août 2006 à 20:28
Re- tout le monde,
Bon ayé ;-))))
J'ai en fait trouvé une soluce à mon problème.
Alors pour résumer, en fait "Eterm" n'utilise pas le "pixel" pour définir la taille (longueur/hauteur) de la fenêtre comme le font d'autres applications , mais comme sur les bons vieux terminaux (VT100) le nombre de "colonnes" et de "lignes".
Ce qui justifie alors mon énigme dans le précédent post, à savoir la relation entre :
Width: 624
Height: 161
et
-geometry 100x10
qui se résume donc à :
100 colonnes
sur
10 lignes
Le rapport entre la longueur et le nombre de colonnes est donc :
idem pour la hauteur et le nombre de lignes :
Donc en déduction pour mon histoire, je n'ai plus qu'à diviser ma longueur par 6 et la hauteur par 14 (c'est le résultat le plus approchant sur de nombreux essais que j'ai effectués), et j'obtiens l'effet escompté pour ma moulinette ;-)))
Bon je suppose qu'il doit y avoir un moyen plus accadémique de calculer le rapport longueur/hauteur/colonne/ligne, donc s'il y a des connaisseurs... merci d'avance.
Bonne soirée z'@ toutes z'et @ tous.
Bon ayé ;-))))
J'ai en fait trouvé une soluce à mon problème.
Alors pour résumer, en fait "Eterm" n'utilise pas le "pixel" pour définir la taille (longueur/hauteur) de la fenêtre comme le font d'autres applications , mais comme sur les bons vieux terminaux (VT100) le nombre de "colonnes" et de "lignes".
Ce qui justifie alors mon énigme dans le précédent post, à savoir la relation entre :
Width: 624
Height: 161
et
-geometry 100x10
qui se résume donc à :
100 colonnes
sur
10 lignes
Le rapport entre la longueur et le nombre de colonnes est donc :
longueur (624) --------------------- = 6 (arrondi) nbre colonnes (100)
idem pour la hauteur et le nombre de lignes :
hauteur (161) -------------------- = 16 (arrondi) nbre de lignes (10)
Donc en déduction pour mon histoire, je n'ai plus qu'à diviser ma longueur par 6 et la hauteur par 14 (c'est le résultat le plus approchant sur de nombreux essais que j'ai effectués), et j'obtiens l'effet escompté pour ma moulinette ;-)))
Bon je suppose qu'il doit y avoir un moyen plus accadémique de calculer le rapport longueur/hauteur/colonne/ligne, donc s'il y a des connaisseurs... merci d'avance.
Bonne soirée z'@ toutes z'et @ tous.
Phiphi57
Messages postés
789
Date d'inscription
samedi 26 février 2005
Statut
Contributeur
Dernière intervention
19 juillet 2009
295
14 août 2006 à 21:30
14 août 2006 à 21:30
Salut,
je sais pas si ca peut aider, mais j'imagine qu'il y a une inconnue de plus dans ton probleme : la taille de la police utilisée... non?
avec une petite police tu dois avoir plus de lignes et de colonnes sur le meme 624x161 ...
Phiphi
je sais pas si ca peut aider, mais j'imagine qu'il y a une inconnue de plus dans ton probleme : la taille de la police utilisée... non?
avec une petite police tu dois avoir plus de lignes et de colonnes sur le meme 624x161 ...
Phiphi
Phiphi57
Messages postés
789
Date d'inscription
samedi 26 février 2005
Statut
Contributeur
Dernière intervention
19 juillet 2009
295
14 août 2006 à 21:43
14 août 2006 à 21:43
Re,
avec un peu de google, il semblerait qu'il y ait une "fonction" mouse-pixel-position liée a Emacs (ou XEmacs)
http://www.gnu.org/
peut etre pourrais tu réussir a t'en servir??
j'espere que ca peut aider un peu...
Phiphi
avec un peu de google, il semblerait qu'il y ait une "fonction" mouse-pixel-position liée a Emacs (ou XEmacs)
http://www.gnu.org/
peut etre pourrais tu réussir a t'en servir??
j'espere que ca peut aider un peu...
Phiphi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
14 août 2006 à 22:40
14 août 2006 à 22:40
Salut Phiphi,
Merci pour l'intérêt.
Effectivement, c'est une (la taille des caractères) éventualité à laquelle j'avais songée aussi (en fait j'avais plutôt pensé en prime abord à prendre en compte la résolution) mais je ne savais pas trop comment inter-connecter le tout (je l'ai dit plus haut, les maths et moi ... ;-[ ).
Le lien semble en effet parler de la position de la souris, mais me semble-t-il à l'intérieur même de la fenêtre Emacs, non ? Enfin c'est ce que j'en ai compris (mon anglais étant quelque peu sommaire).
Quoi qu'il en soit, merci encore pour tes posts, mais je vais certainement m'en tenir là (à moins qu'une âme charitable me ponde le truc tout cuit), et avec ce que j'ai "pondu", ça me convient parfaitement pour l'usage que je voulais en faire, à savoir tracer un parallélogramme à n'importe quel endroit du bureau et ouvrir un "Eterm" ayant les dimensions requises et des options prédéfinies (seule la couleur de police est passée en paramètre).
Voilà, merci encore.
;-))
Merci pour l'intérêt.
Effectivement, c'est une (la taille des caractères) éventualité à laquelle j'avais songée aussi (en fait j'avais plutôt pensé en prime abord à prendre en compte la résolution) mais je ne savais pas trop comment inter-connecter le tout (je l'ai dit plus haut, les maths et moi ... ;-[ ).
Le lien semble en effet parler de la position de la souris, mais me semble-t-il à l'intérieur même de la fenêtre Emacs, non ? Enfin c'est ce que j'en ai compris (mon anglais étant quelque peu sommaire).
Quoi qu'il en soit, merci encore pour tes posts, mais je vais certainement m'en tenir là (à moins qu'une âme charitable me ponde le truc tout cuit), et avec ce que j'ai "pondu", ça me convient parfaitement pour l'usage que je voulais en faire, à savoir tracer un parallélogramme à n'importe quel endroit du bureau et ouvrir un "Eterm" ayant les dimensions requises et des options prédéfinies (seule la couleur de police est passée en paramètre).
Voilà, merci encore.
;-))
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
14 août 2006 à 23:49
14 août 2006 à 23:49
J'avais z'oublié au cazou vous seriez intéressé par mes bétises ;-))
#! /bin/bash ## script.sh ## Usage : sh script.sh [paramètre] ## paramètre étant une couleur "noir-rouge-vert-jaune-bleu-magenta-cyan-blanc" # Récupération dans une variable des valeurs avec la commande "import" recup="$(import -verbose /dev/null)" # Tri des valeurs obtenues coord="$(echo $recup | sed -e 's/D.*//;s/[^0-9x+]//g;s/1024x768/ /g;s/[+x]/ /g')" # Envoi des valeurs récupérées dans un fichier temporaire sous forme de liste for i in $(echo $coord) do echo $i >> fich.tmp done # Récupération de chaque valeur dans une variable i=1 for ligne in `cat fich.tmp` do eval V$i="$ligne" i=$(expr $i + 1) done # Définition des variables finales L="$(expr $V1 / 6)" H="$(expr $V2 / 14)" x="$V3" y="$V4" # La commande et ses paramètres Eterm -O0x --buttonbar 0 --scrollbar 0 --app-cursor -f "${1:-white}" -g "$L"x"$H"+"$x"+"$y"& # Effacement du fichier temporaire rm -f fich.tmp exit 0Amusez-vous bien ;-))
Le logiciel "super macro" permet (entres autres) de connaitre la position de ton curseur.
Dans la fenetre satandard , tu selectionnes "Deplacement souris"
une fenetre s'ouvre , qui te demande si tu veux activer la capture , appuies sur Alt+c.
La tu peux voir les coordonnées du curseur qui s'affiche dans cette fenetre.
Pour figer ces coordonnées appuies à nouveau sur ALT+C.
voilou
Dans la fenetre satandard , tu selectionnes "Deplacement souris"
une fenetre s'ouvre , qui te demande si tu veux activer la capture , appuies sur Alt+c.
La tu peux voir les coordonnées du curseur qui s'affiche dans cette fenetre.
Pour figer ces coordonnées appuies à nouveau sur ALT+C.
voilou
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
30 déc. 2007 à 20:16
30 déc. 2007 à 20:16
Merci, mais t'as un lien s'il te plaît, et t'es sûr que c'est pour GNU/Linux ? ;-))