Comment aurais-je les coordonnées actuelles de la souris dans bash?
J'ai besoin de récupérer les coordonnées de la souris en bash et xdotool ne fonctionne pas pour moi. Comment puis-je faire?
source d'informationauteur t3hcakeman
Vous devez vous connecter pour publier un commentaire.
Pour éviter tous les sed/awk/couper des trucs, vous pouvez utiliser
En particulier,
va mettre la position de shell variables
X
Y
etSCREEN
. Après cela,donnera un extrait de prêt pour plus tard
xdotool mousemove
ou de toute autre utilisation.Mon extra pour séquentielle cliquant sur quelques postes est un fichier positions.txt (donné par quelques eval/echo fonctionne):
Et le code qui l'utilise est:
Si il n'est pas nécessaire à l'échelle des pixels (contrairement à mon cas), il pourrait être une simple
Essayez ceci:
Cela montrera à votre emplacement de souris à "x" et "y" en temps réel, comme vous le déplacez. Vous pouvez enregistrer vos coordonnées dans un fichier pour plus tard, de référencement ou de l'utiliser dans un script pour automatiser les mouvements de la souris de la façon suivante:
Ce^ enregistrera seulement les coordonnées de la souris en coordinates.txt. Vous pouvez utiliser chaque ligne dans un script si vous voulez répéter les mesures prises lors de l'enregistrement. Un simple
ctrl+c
va faire pour la fin de la session d'enregistrement.C'est juste un petit échantillon de la façon dont impressionnant et pratique
xdotool
peut être pour AFK automatisation et d'autres choses. Même les bots 😀I get Warning: XTEST extension unavailable on '(null)'. Some functionality may be disabled; See 'man xdotool' for more info. x:654 y:453 screen:0 window:1665
Donc, c'EST de travailler pour vous. Vous avez juste besoin d'analyser la sortie de la commande. Vous pouvez utiliser le script sed zsolt posté ci-dessus, ou une variété d'autres options:
ou
ou
Beaucoup de façons de la peau, ce chat.
Ce que vous entendez par
xdotool
pas de travail?Quel est le résultat de
De toute façon, si vous pouvez compiler un
C
programme: http://dzen.geekmode.org/dwiki/doku.php?id=misc:xget-mouse-positionCe qui concerne votre commentaire ci-dessous, vous avez écrit, vous bénéficiez de:
Je suppose (en face de la Windows XP) que vous obtenir il sur deux lignes comme:
Si c'est le cas, vous devez rediriger
STDERR
comme:Qui serait ignorer l'avertissement.
Si votre seule porte d'entrée est le cursos positon ligne de tuyauterie qui à
sed
vous donnera les coordonnées comme ceci:Si vous souhaitez utiliser les coordonnées (avec
bash
):HTH
Si vous utilisez xterm, vous pouvez émettre une séquence d'échappement
ESC [ ? 9 h
qui fera xterm envoyer une séquence d'échappement au programme de contrôle (c'est à dire, bash) lorsque vous cliquez avec la souris. Je ne sais pas si d'autres émulateurs de terminaux ont des fonctionnalités similaires.Info sur le suivi de la souris dans un xterm est à http://www.xfree86.org/current/ctlseqs.html#Mouse Suivi