S
S
SOTVM2019-04-08 13:15:55
linux
SOTVM, 2019-04-08 13:15:55

How to write output of xinput test $id command to variable?

I need to get the coordinates of the mouse cursor by an event (RMB),
and if they satisfy the given coordinates, located in the upper left corner of the monitor,
then perform some action/command.
I don't understand how

##получаю id мышки ,чтобы знать с кого спрашивать :))
id=$(xinput |grep -Po 'MOUSE.+id=\d{1,2}' | grep -Po '\d{1,2}') ;
echo $id ;

##фильтрую выхлоп  xinput ,т.е вывожу только события по клику ПКМ.
xinput test $id | grep  -P 'button.+3'

##теперь мне нужно это  куда то записать  (в переменную/файл) ,НЕ понимаю как это сделать???
##после проверить эту переменную/файл ,если не пустой ,т.е.  был клик

##то получаю координаты  мыши ,если они попали в заданные рамки ,то выполняю 
if 
 ;
then echo "Ура-а-а-а ЗарАботАлА" ; 
fi
##удаляю/затираю переменную/файл
##и начинаю всё сначала

xinput test $id | grep -P 'button.+3' > /tmp/btn
fails (file remains empty)
PS

прописал в когфиг xbindkeys (назначил ПКМ на выполнение скрипта)
"my-script"
b:3

НО это не то, что нужно, т.к. исходный функционал кнопки уже не будет работать.
ПКМ - это как правило контекстное меню .
мне же нужно чтобы оно отрабатывало , а уже после запустило и мой скрипт ,
в котором если проходит дополнительная проверка координат курсора ,то запускается нужная команда.
Короче говоря ,я хочу "нагородить" Горячие углы .
всё это есть в compiz ,но я хочу понять как это можно реализовать
"Hurrah-ah-ah-ah Earned" °‿°
#!/bin/bash
##получаю id мышки ,чтобы знать с кого спрашивать :)
id=$(xinput |grep -Po 'MOUSE.+id=\d{1,2}' | grep -Po '\d{1,2}') ;

##бесконечный цикл с задержкой 0.7 сек.
while true; do sleep 0.7; 

##проверка нажата ли кнопка мыши ПКМ
if  ;
then
##получаю координаты  мыши ,если они попали в заданные рамки   0<x<∞  0<y<9
if  ;
##то выполняю свой скрипт/команду
then my-script  ;
fi
fi
done;

Answer the question

In order to leave comments, you need to log in

1 answer(s)
T
TyzhSysAdmin, 2019-04-08
@POS_troi

I didn’t understand what exactly “I don’t understand how” is expressed, but as I understand your plan works, but the problem is precisely in the described
Then so
into the variable

pressed_button=$(xinput test $id | grep  -P 'button.+3')
echo $pressed_button

To file
If you are satisfied with just the "presence" of something there or there
PS read https://www.opennet.ru/docs/RUS/bash_scripting_gui...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question