xdotool 鼠标键盘操作

Administrator
发布于 2024-05-17 / 2 阅读
0
0

xdotool 鼠标键盘操作

xdotool实际上是X11窗口的命令行动化工具,可以实现 按键/组合按键事件模拟、鼠标事件模拟、文本输入模拟、窗口信息及焦点的获取。

安装:

 apt-get install xdotool

主要涉及4个方面:按键/组合按键事件模拟、鼠标事件拟、文本输入模拟、窗口信息。

1 按键事件模拟

@1 单个按键输入:

#模拟按键按下并抬起,可以使用

$xdotool key a

#俩者等价

#keydown 表示按键按下,keyup 表示按键抬起

$xdotool keydown a keyup a

@2 多按键组合输入:

如果模拟组合按键可以使用如下方式,这里可以组合2/3个组合按键,比如:

#组合按键 alt+F11

$xdotool alt+F11

#组合按键 ctrl+shift+t

$xdotool ctrl+shift+t

2 模拟鼠标

@1 模拟鼠标:

#滑鼠移動到 (100, 200) 的位置

$xdotool mousemove 100 200

#按下滑鼠左鍵(左鍵:1、滾輪:2、右鍵:3、滾輪上/下:4/5)

#点击操作

$xdotool click 1

#鼠标按下操作

$xdotool mousedown 2

#鼠标抬起操作

$xdotool mouseup 2

@2 移动到坐标位置:

#将鼠标移动到位置坐标:

$xdotool mousemove 100 200

#将鼠标相对当前位置分别移动x=100,y=100

$xdotool mousemove_relative 100 100

@3 取得目前滑鼠位置:

$xdotool getmouselocation

3 文本输入

#对获取焦点的窗口 输入文本 text
$xdotool type 'text'

#对获取焦点的窗口 每隔500ms自动输入一个字符,输入文本 Hello world
$xdotool type --delay 500 "Hello world"

4 window相关操作

这里总结了一些常见的xdotool的window操作

#获取当前窗口的 窗口ID
$xdotool getactivewindow
39845898 #这里会输出[窗口ID]
 
#获得显示器长宽
$ xdotool getdisplaygeometry 
1920 1080 #输出的显示器长宽
 
#通过[窗口ID]获得window的起点 和 长宽
$xdotool getwindowgeometry [窗口ID]
Window 39845898
  Position: 72,27 (screen: 0) #窗口起点
  Geometry: 1848x1053 #窗口长宽
 
#通过窗口ID获得 该窗口 terminal的 进程ID
$xdotool getwindowpid [窗口ID]
 
#选中窗口,通过该命令 会出现一个图标,选中哪个窗口,就能输出哪个窗口的[窗口ID]
$xdotool selectwindow
 
#使得窗口ID为39845898的窗口 获得焦点
$xdotool windowfocus [窗口ID]


评论