Взаимодействие с свёнутыми(неактивными) окнами с возможностью параллельной работы с другими окнами в python
Столкнулся с проблемой, решения которой нет ни на ютубе, ни в гугле. Дело в том, что существуют программы на python, которые способны автоматически взаимодействовать с клавиатурой и мышью на ПК, но я не нащёл возможности работы данных скриптов со свёрнутыми окнами. Также непонятно, как можно реализовать автоматизацию сразу нескольких свёрнутых окон с возможностью работы в другом окне (Целью является автоматическое нажатие клавиши в двух свёрнутых окнах игры и возможность в это время работы в текстовом редакторе или брузере без помех в работе браузера/текстового редактора)
Решено! В linux необходимо использовать xdotool для захвата окон и отправить в них нажатий мыши или клавиатуры(Естественно всё работает и со свёрнутыми\неактивными окнами). Для использования в python нужно использовать библиотеку os и работать с консолью(т.к. xdotool используется в консоли)
Ответы (2 шт):
Графический сервер собирает все события всех клавиатур и мышей в один поток и отправляет активному окну. Со свернутыми окнами работа не возможна, но..
В случае Linux на помощь приходит XNest и Xephyr. Это отдельный графический сервер который работает в отдельном окне. Если окно Xnest/Xephyr не активно, то в него не пересылаются сиганлы физических клавиатуры и мыши, но вполне работают Virtual core XTEST pointer/keyboard управляемые питоном.
Xephyr -br -ac -noreset :1 &
DISPLAY=:1 mutter &
DISPLAY=:1 xterm
Можно пойти дальше и обойтись без окон. Xspice, Xrdp и Xvnc создают виртуальный дисплей доступный удаленно по соответсвующему протоколу.
пс. Xephyr и Xspice поддерживают GL.
Решено! В linux необходимо использовать xdotool для захвата окон и отправить в них нажатий мыши или клавиатуры(Естественно всё работает и со свёрнутыми\неактивными окнами). Для использования в python нужно использовать библиотеку os и работать с консолью(т.к. xdotool используется в консоли)