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