Мышь

Как использовать Xdotool для стимулирования щелчков мыши и нажатия клавиш в Linux

Как использовать Xdotool для стимулирования щелчков мыши и нажатия клавиш в Linux
Xdotool - это бесплатный инструмент командной строки с открытым исходным кодом для имитации щелчков мыши и нажатия клавиш. В этой статье будет краткое руководство по использованию xdotool для автоматизации ввода с клавиатуры и мыши. Xdotool работает только на сервере отображения X, и нет поддержки Wayland (на момент написания этой статьи).

Установка Xdotool

Чтобы установить xdotool в Ubuntu, выполните следующую команду:

$ sudo apt install xdotool

Чтобы установить xdotool в других дистрибутивах Linux, найдите термин «xdotool» в диспетчере пакетов. Xdotool включен в репозитории большинства дистрибутивов Linux.

Имитация нажатия клавиши

Вы можете использовать xdotool для имитации нажатия клавиши, выполнив команду ниже. Замените «n» на любую допустимую клавишу или символ в раскладке клавиатуры.

$ xdotool ключ n

Обратите внимание, что приведенная выше команда будет имитировать как нажатие клавиши, так и отпускание клавиши одно за другим, и вы не заметите никакой задержки между этими событиями. Если вы хотите смоделировать их отдельно, используйте следующие команды:

$ xdotool keydown n
$ xdotool keyup n

Имитация нажатия клавиши с помощью клавиши-модификатора

Клавиши-модификаторы изменяют поведение нажатий клавиш при одновременном нажатии двух или более клавиш. E.грамм. , и так далее. Процесс выполнения комбинаций клавиш с помощью xdotool также очень похож:

Клавиша $ xdotool ctrl + s

Вы можете найти правильные названия клавиш клавиатуры, используя следующую команду:

$ xev

Откроется маленькое окошко. Держите его в фокусе, затем нажмите любую клавишу. Вы получите имя ключа в выводе терминала.

Имитация повторных клавиш / турбо / скорострельная стрельба

Чтобы имитировать несколько нажатий клавиш в течение определенного периода времени, вам необходимо указать, сколько раз необходимо моделировать нажатия клавиш и задержку между каждым нажатием клавиши. Для этого запустите команду в следующем формате:

$ xdotool key --repeat 5 --delay 50 n

Замените значения переключателей «-repeat» и «-delay» (в миллисекундах) в соответствии с вашими требованиями. Обратите внимание, что у меня были проблемы с повторением, когда я установил задержку более 500 мс. Это может быть ошибкой или предполагаемым поведением, и если вы столкнулись с подобными проблемами, избегайте установки высоких значений задержки. Вы можете использовать операторы цикла «for» и «while», чтобы преодолеть это ограничение.

Приведенная ниже команда вводит клавишу «n» три раза с задержкой в ​​2 секунды между каждым нажатием клавиши.

$ для i в 1… 3; сделать xdotool key n; сон 2; Выполнено

Вы также можете использовать цикл while, чтобы многократно имитировать нажатия клавиш, пока цикл не будет прерван вручную с помощью ключ.

$ пока правда; сделать xdotool key n; сон 2; Выполнено

Имитация ключевой последовательности

Чтобы смоделировать несколько ключей один за другим, используйте команду в следующем формате:

$ xdotool ключ x y z

Имитация щелчков мыши

Чтобы имитировать щелчок правой кнопкой мыши в текущем местоположении указателя, выполните следующую команду:

$ xdotool нажмите 3

Замените «3» на любое число из приведенной ниже ссылки:

Если вы хотите использовать другой набор координат, используйте команду в следующем формате:

$ xdotool mousemove 100 100 кликов 3

Замените «100» желаемыми координатами как «X» и «Y» в верхнем левом углу экрана.

Обратите внимание, что различные примеры, объясненные до сих пор с нажатиями клавиш, также могут использоваться с щелчками мыши.

Получить активное окно и свернуть его

Следующая команда получит идентификатор окна, которое в данный момент находится в фокусе, а затем свернет его:

$ xdotool getactivewindow windowminimize

Обратитесь к странице руководства

Xdotool включает множество опций, и вы можете использовать бесчисленное количество различных комбинаций для настройки поведения нажатий клавиш и щелчков мыши. Здесь невозможно охватить все варианты использования, вы можете обратиться к странице руководства, выполнив команду ниже:

$ man xdotool

Вы также можете получить доступ к странице руководства онлайн.

Сопоставьте команды и сценарии Xdotool с сочетаниями клавиш

Вы можете использовать графический интерфейс конфигурации сочетаний клавиш, доступный в системных настройках вашего дистрибутива, чтобы назначать простые команды xdotool пользовательским сочетаниям клавиш. В случае сложных и множественных операторов сохраните команды в скрипте, а затем сопоставьте скрипт с сочетанием клавиш.

Заключение

Xdotool - одна из лучших утилит, доступных для автоматизации ввода с клавиатуры и мыши в Linux. Вы можете запускать как простые макросы, так и сложные команды, объединяя несколько смоделированных входов.

Полезные инструменты для геймеров Linux
Если вам нравится играть в игры на Linux, скорее всего, вы использовали приложения и утилиты, такие как Wine, Lutris и OBS Studio, для улучшения игров...
Игры HD Remastered для Linux, ранее не выпускавшиеся для Linux
Многие разработчики и издатели игр придумывают HD-ремастеры старых игр, чтобы продлить жизнь франшизы, порадовать фанатов, требующих совместимости с с...
Как использовать AutoKey для автоматизации игр под Linux
AutoKey - это утилита автоматизации рабочего стола для Linux и X11, запрограммированная на Python 3, GTK и Qt. Используя его функции сценариев и MACRO...