Установка Xdotool
Чтобы установить xdotool в Ubuntu, выполните следующую команду:
$ sudo apt install xdotoolЧтобы установить xdotool в других дистрибутивах Linux, найдите термин «xdotool» в диспетчере пакетов. Xdotool включен в репозитории большинства дистрибутивов Linux.
Имитация нажатия клавиши
Вы можете использовать xdotool для имитации нажатия клавиши, выполнив команду ниже. Замените «n» на любую допустимую клавишу или символ в раскладке клавиатуры.
$ xdotool ключ nОбратите внимание, что приведенная выше команда будет имитировать как нажатие клавиши, так и отпускание клавиши одно за другим, и вы не заметите никакой задержки между этими событиями. Если вы хотите смоделировать их отдельно, используйте следующие команды:
$ xdotool keydown n$ xdotool keyup n
Имитация нажатия клавиши с помощью клавиши-модификатора
Клавиши-модификаторы изменяют поведение нажатий клавиш при одновременном нажатии двух или более клавиш. E.грамм.
Вы можете найти правильные названия клавиш клавиатуры, используя следующую команду:
$ xevОткроется маленькое окошко. Держите его в фокусе, затем нажмите любую клавишу. Вы получите имя ключа в выводе терминала.
Имитация повторных клавиш / турбо / скорострельная стрельба
Чтобы имитировать несколько нажатий клавиш в течение определенного периода времени, вам необходимо указать, сколько раз необходимо моделировать нажатия клавиш и задержку между каждым нажатием клавиши. Для этого запустите команду в следующем формате:
$ xdotool key --repeat 5 --delay 50 nЗамените значения переключателей «-repeat» и «-delay» (в миллисекундах) в соответствии с вашими требованиями. Обратите внимание, что у меня были проблемы с повторением, когда я установил задержку более 500 мс. Это может быть ошибкой или предполагаемым поведением, и если вы столкнулись с подобными проблемами, избегайте установки высоких значений задержки. Вы можете использовать операторы цикла «for» и «while», чтобы преодолеть это ограничение.
Приведенная ниже команда вводит клавишу «n» три раза с задержкой в 2 секунды между каждым нажатием клавиши.
$ для i в 1… 3; сделать xdotool key n; сон 2; ВыполненоВы также можете использовать цикл while, чтобы многократно имитировать нажатия клавиш, пока цикл не будет прерван вручную с помощью
Имитация ключевой последовательности
Чтобы смоделировать несколько ключей один за другим, используйте команду в следующем формате:
$ xdotool ключ x y zИмитация щелчков мыши
Чтобы имитировать щелчок правой кнопкой мыши в текущем местоположении указателя, выполните следующую команду:
$ xdotool нажмите 3Замените «3» на любое число из приведенной ниже ссылки:
- 1 - Щелчок левой кнопкой мыши
- 2 - Щелчок средней кнопкой мыши
- 3 - Щелкните правой кнопкой мыши
- 4 - Колесо прокрутки вверх
- 5 - Колесико прокрутки вниз
Если вы хотите использовать другой набор координат, используйте команду в следующем формате:
$ xdotool mousemove 100 100 кликов 3Замените «100» желаемыми координатами как «X» и «Y» в верхнем левом углу экрана.
Обратите внимание, что различные примеры, объясненные до сих пор с нажатиями клавиш, также могут использоваться с щелчками мыши.
Получить активное окно и свернуть его
Следующая команда получит идентификатор окна, которое в данный момент находится в фокусе, а затем свернет его:
$ xdotool getactivewindow windowminimizeОбратитесь к странице руководства
Xdotool включает множество опций, и вы можете использовать бесчисленное количество различных комбинаций для настройки поведения нажатий клавиш и щелчков мыши. Здесь невозможно охватить все варианты использования, вы можете обратиться к странице руководства, выполнив команду ниже:
$ man xdotoolВы также можете получить доступ к странице руководства онлайн.
Сопоставьте команды и сценарии Xdotool с сочетаниями клавиш
Вы можете использовать графический интерфейс конфигурации сочетаний клавиш, доступный в системных настройках вашего дистрибутива, чтобы назначать простые команды xdotool пользовательским сочетаниям клавиш. В случае сложных и множественных операторов сохраните команды в скрипте, а затем сопоставьте скрипт с сочетанием клавиш.
Заключение
Xdotool - одна из лучших утилит, доступных для автоматизации ввода с клавиатуры и мыши в Linux. Вы можете запускать как простые макросы, так и сложные команды, объединяя несколько смоделированных входов.