xdotool. Шпаргалка.

xdotool. Шпаргалка.

https://t.me/sysadmins_articles

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

ПримечаниеОпределить keycode и keysym клавиши, а также дополнительную информацию о клавише, можно утилитами xev или xkeycaps.

Также можно получить комбинацию клавиш утилитой xbindkeys:

xbindkeys -k

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

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

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

xdotool keyup Mod2+Mod4+m     ## Отпустить клавиши
xdotool key Ctrl+Alt+Shift+m

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

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

Эмулируем отпускание клавиши KP_End и нажатие комбинации Shift+Home:

xdotool keyup KP_End key Shift+Home

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

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

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

xdotool getmouselocation
xdotool getmouselocation -shell

Данные о позиции курсора

X=224
Y=45
SCREEN=0
WINDOW=56623111

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

xdotool click --repeat 3 1 ## Triple Click (Select line)
xdotool click 2            ## Middle click
xdotool click 3            ## Right Click (Menu)
xdotool click 4            ## Scroll wheel up
xdotool click 5            ## Scroll wheel down

xdotool mousedown 1
xdotool mousemove 100 100 click 3
xdotool mousedown 1 sleep 0.1 mouseup 1

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

xdotool type --delay 0 --clearmodifiers "$(xsel -b -o)"  ## Вывести/напечатать текст из clipboard


Report Page