16 сентября 2012 г. Эмуляция движения мыши и нажатия клавиатуры

Как можно эмулировать активность клавиатуры и мыши в системе? Как это автоматизировать?

Это можно сделать при помощи xte входящего в пакет xautomation.

Устанавливаем пакет xautomation

sudo apt-get install xautomation    

Теперь нам доступен пакет xte, который позволяем эмулировать движение мыши и нажатие на клавиатуру

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

Переместить курсор мыши на точку x = 10 и y = 20 по координатной сетке экрана

xte 'mousemove 10 20' 

Сместить курсор мыши относительно текущего местоположения на x = 10 и y = 10

xte 'mousermove 10 10' 

Нажать лувую клавишу мыши

xte 'mouseclick 1'

Нажать правую клавишу мыши

xte 'mouseclick 3' 

Нажать клавишу l

xte 'key l' 

Нажать клавишу левый Shift

xte 'key Shift_L' 

Ниже список возможных значений для клавиш

Home
Left
Up
Right
Down
Page_Up
Page_Down
End
Return
BackSpace
Tab
Escape
Delete
Shift_L
Shift_R
Control_L
Control_R
Meta_L
Meta_R
Alt_L
Alt_R  

Автоматизация активности для клавиатуры и мыши

Можно написать небольшой bash скрипт

#!/bin/bash
randomKeys=(Shift_L Shift_R Control_L Control_R)
keysCount=${#randomKeys[*]}
while [  true ]; do  
  #random sign
  sign='+'
  if [ $((RANDOM%2+0)) -eq 0 ]
  then sign='-'
  fi
  #random mouse coordinates
  x=$((RANDOM%50+1))
  y=$((RANDOM%50+1))
  #mouse move
  xte "mousermove $sign$x $sign$y"
  #random key press
  randomKey=${randomKeys[$((RANDOM%$keysCount+0))]}
  xte "key $randomKey"
  sleep 1
done

Этот скрипт каждую секунду сдвигает курсор мыши относительно предидущего местоположения на случайное значение по x и y. А так же эмулирует нажатие на клавиши Shift или Control

Linux