xdotool - эмулятор действий мыши и клавиатуры

Категория: Linux

Утилита предоставляет широкие возможности по управлению клавиатурой и мышью. Позволяет эмулировать нажатие клавиш и двигать курсор мыши. Некоторые примеры пригодятся при написании bash скриптов или для динамической подвязки горячих клавиш. Также вы можете заранее определить текст, который нужно ввести в определенное поле при определенных условиях.

Есть другие утилиты для эмуляции нажатия клавиш xvkbdxte (менее функциональная) и для работы с буфером обмена - xselxclip.

xdotool умеет переключать клавиши с индикаторами *lock  однако сами световые индикаторы не изменяют свое состояние.

Примеры использования

Эмулировать нажатие клавиш по названию:

xdotool key Shift+Left
xdotool key Control+c
xdotool key Alt+Tab
xdotool key Caps_Lock
xdotool key XF86AudioRaiseVolume
xdotool key XF86AudioLowerVolume

Триггер нажатия клавиши по keycode или keysym:

xdotool key 0xfe08 # keysym клавиши Meta Right
xdotool key 134    # keycode клавиши Meta Right
xdotool key 105+62 # keycode клавиш Control_R и Shift_R

Эмулируем вставку из буфера (можно поиграться со значением delay):

xdotool key --clearmodifiers --delay 20 ctrl+shift+v

Чтобы определить keycode и keysym клавиши, а также дополнительную информацию о клавише,  можно воспользоваться утилитой xev или xkeycaps.

Определить позицию курсора:

xdotool getmouselocation

Выделить мышью область текста (примеры перемещения мыши):

xdotool mousedown 1
xdotool mousemove 100 100
xdotool mousedown 1 && xdotool mouseup 1

Эмуляция набора текста:

xdotool type "XDO"
sleep 1
xdotool type "Tool"
Примечание

Есть более простой способ эмуляции ввода текста (требует рута):

echo "Y" > /dev/keyboard

#keys, #keyboard, #keycode

категория: Linux