1e41f4b71Sopenharmony_ci# uinput
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ciuinput可模拟用户操作鼠标、键盘、触控板等设备,用于稳定性等压力测试。
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ci## 环境要求
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci- 根据hdc命令行工具指导,完成[环境准备](hdc.md#环境准备)。
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ci- 正常连接设备。
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci## uinput功能
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci**用法**
14e41f4b71Sopenharmony_ci```bash
15e41f4b71Sopenharmony_ciuinput <option> <command> <arg> ...
16e41f4b71Sopenharmony_ci```
17e41f4b71Sopenharmony_ci
18e41f4b71Sopenharmony_ci**支持能力**
19e41f4b71Sopenharmony_ci| 命令简写  | 命令全写   | 含义说明        | 
20e41f4b71Sopenharmony_ci| -------- | --------   | --------       |
21e41f4b71Sopenharmony_ci| -M       | --mouse    | 注入鼠标事件。  | 
22e41f4b71Sopenharmony_ci| -K       | --keyboard | 注入键盘事件。  |
23e41f4b71Sopenharmony_ci| -S       | --stylus   | 注入触控笔事件。 | 
24e41f4b71Sopenharmony_ci| -T       | --touch    | 注入触摸事件。  |
25e41f4b71Sopenharmony_ci| -P       | --touchpad | 注入触控板事件。|
26e41f4b71Sopenharmony_ci| -?       | --help     | 帮助命令。      | 
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ci## 帮助命令
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci显示uinput工具能够支持的命令信息。
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci**命令**
33e41f4b71Sopenharmony_ci```bash
34e41f4b71Sopenharmony_ciuinput -? 
35e41f4b71Sopenharmony_ciuinput --help
36e41f4b71Sopenharmony_ci```
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci**使用示例**
39e41f4b71Sopenharmony_ci```bash
40e41f4b71Sopenharmony_ci# 显示帮忙信息
41e41f4b71Sopenharmony_ciuinput -? 
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci# 执行结果
44e41f4b71Sopenharmony_cisage: uinput <option> <command> <arg>...
45e41f4b71Sopenharmony_ciThe option are:
46e41f4b71Sopenharmony_ci-K  --keyboard
47e41f4b71Sopenharmony_cicommands for keyboard:
48e41f4b71Sopenharmony_ci-d <key>                   --down   <key>     -press down a key
49e41f4b71Sopenharmony_ci-u <key>                   --up     <key>     -release a key
50e41f4b71Sopenharmony_ci-l <key> [long press time] --long_press <key> [long press time] -press and hold the key
51e41f4b71Sopenharmony_ci-r <key> [repeat output time] --repeat output <key> [repeat output time] -press and hold the key
52e41f4b71Sopenharmony_ci-i <time>                  --interval <time>  -the program interval for the (time) milliseconds
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci...
55e41f4b71Sopenharmony_ci
56e41f4b71Sopenharmony_ci```
57e41f4b71Sopenharmony_ci
58e41f4b71Sopenharmony_ci## 鼠标事件
59e41f4b71Sopenharmony_ci
60e41f4b71Sopenharmony_ci模拟鼠标移动、点击等事件。
61e41f4b71Sopenharmony_ci
62e41f4b71Sopenharmony_ci### 鼠标移动事件
63e41f4b71Sopenharmony_ci模拟鼠标移动到相对位置(dx, dy)。
64e41f4b71Sopenharmony_ci
65e41f4b71Sopenharmony_ci**命令**
66e41f4b71Sopenharmony_ci```bash
67e41f4b71Sopenharmony_ciuinput -M -m <dx> <dy>
68e41f4b71Sopenharmony_ciuinput --mouse --move <dx> <dy>
69e41f4b71Sopenharmony_ci```
70e41f4b71Sopenharmony_ci
71e41f4b71Sopenharmony_ci**使用示例**
72e41f4b71Sopenharmony_ci```bash
73e41f4b71Sopenharmony_ci# 模拟鼠标移动到相对位置(100, 100)。
74e41f4b71Sopenharmony_ciuinput -M -m 100 100
75e41f4b71Sopenharmony_ci```
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci**扩展命令**
78e41f4b71Sopenharmony_ci```bash
79e41f4b71Sopenharmony_ciuinput -M -m <dx1> <dy1> <dx2> <dy2> [smooth time] --trace
80e41f4b71Sopenharmony_ciuinput --mouse --move <dx1> <dy1> <dx2> <dy2> [smooth time] --trace
81e41f4b71Sopenharmony_ci
82e41f4b71Sopenharmony_ci补充选项--trace,可以模拟鼠标移动相对位置及过程
83e41f4b71Sopenharmony_ci[smooth time]移动时间,默认值:1000ms,取值范围:1 ~ 15000ms。
84e41f4b71Sopenharmony_ci```
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci**使用示例**
87e41f4b71Sopenharmony_ci```bash
88e41f4b71Sopenharmony_ci# 模拟鼠标从(100, 100)花费1500ms移动到(200, 200)。
89e41f4b71Sopenharmony_ciuinput -M -m 100 100 200 200 1500 --trace
90e41f4b71Sopenharmony_ci```
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci### 鼠标按键按下事件
93e41f4b71Sopenharmony_ci模拟鼠标按下按键,与抬起事件使用。key:[键值定义说明](#鼠标按键)
94e41f4b71Sopenharmony_ci
95e41f4b71Sopenharmony_ci**命令**
96e41f4b71Sopenharmony_ci```bash
97e41f4b71Sopenharmony_ciuinput -M -d <key>
98e41f4b71Sopenharmony_ciuinput --mouse --down <key>
99e41f4b71Sopenharmony_ci```
100e41f4b71Sopenharmony_ci
101e41f4b71Sopenharmony_ci### 鼠标按键抬起事件
102e41f4b71Sopenharmony_ci模拟鼠标按下按键,与按下事件使用。key:[键值定义说明](#鼠标按键)
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_ci**命令**
105e41f4b71Sopenharmony_ci```bash
106e41f4b71Sopenharmony_ciuinput -M -u <key>
107e41f4b71Sopenharmony_ciuinput --mouse --up <key>
108e41f4b71Sopenharmony_ci```
109e41f4b71Sopenharmony_ci
110e41f4b71Sopenharmony_ci**使用示例**
111e41f4b71Sopenharmony_ci```bash
112e41f4b71Sopenharmony_ci# 按下鼠标左键并抬起。
113e41f4b71Sopenharmony_ciuinput -M -d 0 -u 0
114e41f4b71Sopenharmony_ci```
115e41f4b71Sopenharmony_ci
116e41f4b71Sopenharmony_ci### 鼠标按键单击事件
117e41f4b71Sopenharmony_ci模拟鼠标单击按键。key:[键值定义说明](#鼠标按键)
118e41f4b71Sopenharmony_ci
119e41f4b71Sopenharmony_ci**命令**
120e41f4b71Sopenharmony_ci```bash
121e41f4b71Sopenharmony_ciuinput -M -c <key>
122e41f4b71Sopenharmony_ciuinput --mouse --click <key>
123e41f4b71Sopenharmony_ci```
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_ci**使用示例**
126e41f4b71Sopenharmony_ci```bash
127e41f4b71Sopenharmony_ci# 单击鼠标左键。
128e41f4b71Sopenharmony_ciuinput -M -c 0
129e41f4b71Sopenharmony_ci```
130e41f4b71Sopenharmony_ci
131e41f4b71Sopenharmony_ci### 双击鼠标按键事件
132e41f4b71Sopenharmony_ci模拟双击鼠标按键。id:[键值定义说明](#鼠标按键)
133e41f4b71Sopenharmony_ci
134e41f4b71Sopenharmony_ci**命令**
135e41f4b71Sopenharmony_ci```bash
136e41f4b71Sopenharmony_ciuinput -M -b <dx> <dy> <id> [press time] [click interval time]
137e41f4b71Sopenharmony_ciuinput --mouse --double_click <dx> <dy> <id> [press time] [click interval time]
138e41f4b71Sopenharmony_ci
139e41f4b71Sopenharmony_ci[press time]按压时间,取值范围:1 ~ 300ms。
140e41f4b71Sopenharmony_ci[click interval time] 点击间隔时间,取值范围:1 ~ 450ms。
141e41f4b71Sopenharmony_ci设置间隔时间必须在取值范围内,否则操作结果可能产生错误或无效操作。
142e41f4b71Sopenharmony_ci```
143e41f4b71Sopenharmony_ci
144e41f4b71Sopenharmony_ci**使用示例**
145e41f4b71Sopenharmony_ci```bash
146e41f4b71Sopenharmony_ci# 在(100, 150)这个位置双击鼠标左键。
147e41f4b71Sopenharmony_ciuinput -M -b 100 150 0 10 10
148e41f4b71Sopenharmony_ci```
149e41f4b71Sopenharmony_ci
150e41f4b71Sopenharmony_ci### 鼠标滚轴滚动事件
151e41f4b71Sopenharmony_ci模拟鼠标滚轴向后滚动。
152e41f4b71Sopenharmony_ci
153e41f4b71Sopenharmony_ci**命令**
154e41f4b71Sopenharmony_ci```bash
155e41f4b71Sopenharmony_ciuinput -M -s <number>
156e41f4b71Sopenharmony_ciuinput --mouse --scroll <number>
157e41f4b71Sopenharmony_ci```
158e41f4b71Sopenharmony_ci
159e41f4b71Sopenharmony_ci**使用示例**
160e41f4b71Sopenharmony_ci```bash
161e41f4b71Sopenharmony_ci# 鼠标滚轴向后滚动100。(实测没有效果)
162e41f4b71Sopenharmony_ciuinput -M -s 100
163e41f4b71Sopenharmony_ci```
164e41f4b71Sopenharmony_ci
165e41f4b71Sopenharmony_ci### 鼠标拖拽事件
166e41f4b71Sopenharmony_ci模拟鼠标拖拽。
167e41f4b71Sopenharmony_ci
168e41f4b71Sopenharmony_ci**命令**
169e41f4b71Sopenharmony_ci```bash
170e41f4b71Sopenharmony_ciuinput -M -g <dx1> <dy1> <dx2> <dy2> [total time]
171e41f4b71Sopenharmony_ciuinput --mouse --drag <dx1> <dy1> <dx2> <dy2> [total time]
172e41f4b71Sopenharmony_ci
173e41f4b71Sopenharmony_ci[total time]可选参数,默认值为3000ms,取值范围:3000 ~ 15000ms。
174e41f4b71Sopenharmony_ci```
175e41f4b71Sopenharmony_ci
176e41f4b71Sopenharmony_ci**使用示例**
177e41f4b71Sopenharmony_ci```bash
178e41f4b71Sopenharmony_ci# 模拟按下鼠标左键从(100, 150)在指定时间拖动到(500, 300)后释放鼠标左键。
179e41f4b71Sopenharmony_ciuinput -M -g 100 150 500 300
180e41f4b71Sopenharmony_ci```
181e41f4b71Sopenharmony_ci
182e41f4b71Sopenharmony_ci### 设置鼠标事件间隔
183e41f4b71Sopenharmony_ci设置鼠标事件以毫秒为单位的程序间隔。
184e41f4b71Sopenharmony_ci
185e41f4b71Sopenharmony_ci**命令**
186e41f4b71Sopenharmony_ci```bash
187e41f4b71Sopenharmony_ciuinput -M -i <time>
188e41f4b71Sopenharmony_ciuinput --mouse --interval <time>
189e41f4b71Sopenharmony_ci```
190e41f4b71Sopenharmony_ci
191e41f4b71Sopenharmony_ci**使用示例**
192e41f4b71Sopenharmony_ci```bash
193e41f4b71Sopenharmony_ci# 单击鼠标左键间隔500ms后再次单击鼠标左键。
194e41f4b71Sopenharmony_ciuinput -M -c 0 -i 500 -c 0
195e41f4b71Sopenharmony_ci```
196e41f4b71Sopenharmony_ci
197e41f4b71Sopenharmony_ci### 鼠标按键
198e41f4b71Sopenharmony_ci| key |  含义说明 |
199e41f4b71Sopenharmony_ci| -------- | -------- |
200e41f4b71Sopenharmony_ci| 0  | 鼠标左键   |
201e41f4b71Sopenharmony_ci| 1  | 鼠标右键   |
202e41f4b71Sopenharmony_ci| 2  | 鼠标中键   |
203e41f4b71Sopenharmony_ci| 3  | 鼠标侧边键 |
204e41f4b71Sopenharmony_ci| 4  | 鼠标扩展键 |
205e41f4b71Sopenharmony_ci| 5  | 鼠标前进键 |
206e41f4b71Sopenharmony_ci| 6  | 鼠标后退键 |
207e41f4b71Sopenharmony_ci| 7  | 鼠标任务键 |
208e41f4b71Sopenharmony_ci
209e41f4b71Sopenharmony_ci## 键盘事件
210e41f4b71Sopenharmony_ci
211e41f4b71Sopenharmony_ci模拟编辑框键盘按键输入事件。
212e41f4b71Sopenharmony_ci
213e41f4b71Sopenharmony_ci### 键盘按键按下事件
214e41f4b71Sopenharmony_ci模拟键盘按下按键,与抬起事件使用。key:[键值定义说明](../reference/apis-input-kit/js-apis-keycode.md)。
215e41f4b71Sopenharmony_ci
216e41f4b71Sopenharmony_ci**命令**
217e41f4b71Sopenharmony_ci```bash
218e41f4b71Sopenharmony_ciuinput -K -d <key>
219e41f4b71Sopenharmony_ciuinput --keyboard --down <key>
220e41f4b71Sopenharmony_ci```
221e41f4b71Sopenharmony_ci
222e41f4b71Sopenharmony_ci### 键盘按键抬起事件
223e41f4b71Sopenharmony_ci模拟键盘抬起按键,与按下事件使用。key:[键值定义说明](../reference/apis-input-kit/js-apis-keycode.md)。
224e41f4b71Sopenharmony_ci
225e41f4b71Sopenharmony_ci**命令**
226e41f4b71Sopenharmony_ci```bash
227e41f4b71Sopenharmony_ciuinput -K -u <key>
228e41f4b71Sopenharmony_ciuinput --keyboard --up <key>
229e41f4b71Sopenharmony_ci```
230e41f4b71Sopenharmony_ci
231e41f4b71Sopenharmony_ci**使用示例**
232e41f4b71Sopenharmony_ci```bash
233e41f4b71Sopenharmony_ci# 按下"a"键并抬起。
234e41f4b71Sopenharmony_ciuinput -K -d 2017 -u 2017
235e41f4b71Sopenharmony_ci```
236e41f4b71Sopenharmony_ci
237e41f4b71Sopenharmony_ci### 键盘按键长按事件
238e41f4b71Sopenharmony_ci模拟键盘按下一个按键并保持设定的时长。key:[键值定义说明](../reference/apis-input-kit/js-apis-keycode.md)。
239e41f4b71Sopenharmony_ci
240e41f4b71Sopenharmony_ci**命令**
241e41f4b71Sopenharmony_ci```bash
242e41f4b71Sopenharmony_ciuinput -K -l <key> [long press time]
243e41f4b71Sopenharmony_ciuinput --keyboard --long_press <key> [long press time]
244e41f4b71Sopenharmony_ci```
245e41f4b71Sopenharmony_ci
246e41f4b71Sopenharmony_ci**使用示例**
247e41f4b71Sopenharmony_ci```bash
248e41f4b71Sopenharmony_ci# 按下"a"键并保持100ms后抬起。
249e41f4b71Sopenharmony_ciuinput -K -l 2017 100
250e41f4b71Sopenharmony_ci```
251e41f4b71Sopenharmony_ci
252e41f4b71Sopenharmony_ci### 键盘按键持续输入事件
253e41f4b71Sopenharmony_ci模拟键盘按下一个按键并在设定的时长内持续输入。key:[键值定义说明](../reference/apis-input-kit/js-apis-keycode.md)。
254e41f4b71Sopenharmony_ci
255e41f4b71Sopenharmony_ci**命令**
256e41f4b71Sopenharmony_ci```bash
257e41f4b71Sopenharmony_ciuinput -K -r <key> [repeat output time]
258e41f4b71Sopenharmony_ciuinput --keyboard --repeat <key> [repeat output time]
259e41f4b71Sopenharmony_ci```
260e41f4b71Sopenharmony_ci
261e41f4b71Sopenharmony_ci**使用示例**
262e41f4b71Sopenharmony_ci```bash
263e41f4b71Sopenharmony_ci# 按下"a"键并在100ms内重复输入。
264e41f4b71Sopenharmony_ciuinput -K -r 2017 100
265e41f4b71Sopenharmony_ci```
266e41f4b71Sopenharmony_ci
267e41f4b71Sopenharmony_ci### 设置键盘事件间隔
268e41f4b71Sopenharmony_ci设置键盘事件以毫秒为单位的程序间隔。
269e41f4b71Sopenharmony_ci
270e41f4b71Sopenharmony_ci**命令**
271e41f4b71Sopenharmony_ci```bash
272e41f4b71Sopenharmony_ciuinput -K -i <time>
273e41f4b71Sopenharmony_ciuinput --keyboard --interval <time>
274e41f4b71Sopenharmony_ci```
275e41f4b71Sopenharmony_ci
276e41f4b71Sopenharmony_ci**使用示例**
277e41f4b71Sopenharmony_ci```bash
278e41f4b71Sopenharmony_ci# 按下键盘‘a’键间隔500ms后释放。
279e41f4b71Sopenharmony_ciuinput -K -d 2017 -i 500 -u 2017
280e41f4b71Sopenharmony_ci```
281e41f4b71Sopenharmony_ci
282e41f4b71Sopenharmony_ci### 键盘文本输入事件
283e41f4b71Sopenharmony_ci模拟键盘输入文本。不支持与其他commands组合使用。只支持ASCLL字符,最大支持输入字符2000个。
284e41f4b71Sopenharmony_ci
285e41f4b71Sopenharmony_ci**命令**
286e41f4b71Sopenharmony_ci```bash
287e41f4b71Sopenharmony_ciuinput -K -t <text>
288e41f4b71Sopenharmony_ciuinput --keyboard --text <text>
289e41f4b71Sopenharmony_ci```
290e41f4b71Sopenharmony_ci
291e41f4b71Sopenharmony_ci**使用示例**
292e41f4b71Sopenharmony_ci```bash
293e41f4b71Sopenharmony_ci# 在编辑框输入一段文本"123"
294e41f4b71Sopenharmony_ciuinput -K -t 123
295e41f4b71Sopenharmony_ci```
296e41f4b71Sopenharmony_ci
297e41f4b71Sopenharmony_ci## 触控笔事件
298e41f4b71Sopenharmony_ci
299e41f4b71Sopenharmony_ci模拟触控笔点击、滑动等事件。
300e41f4b71Sopenharmony_ci
301e41f4b71Sopenharmony_ci### 触控笔按下事件
302e41f4b71Sopenharmony_ci模拟触控笔在(dx dy)按下,与up配合使用。
303e41f4b71Sopenharmony_ci
304e41f4b71Sopenharmony_ci**命令**
305e41f4b71Sopenharmony_ci```bash
306e41f4b71Sopenharmony_ciuinput -S -d <dx> <dy>
307e41f4b71Sopenharmony_ciuinput --stylus --down <dx> <dy>
308e41f4b71Sopenharmony_ci```
309e41f4b71Sopenharmony_ci
310e41f4b71Sopenharmony_ci### 触控笔抬起事件
311e41f4b71Sopenharmony_ci模拟触控笔在(dx dy)抬起,与down配合使用。
312e41f4b71Sopenharmony_ci
313e41f4b71Sopenharmony_ci**命令**
314e41f4b71Sopenharmony_ci```bash
315e41f4b71Sopenharmony_ciuinput -S -u <dx> <dy>
316e41f4b71Sopenharmony_ciuinput --stylus --up <dx> <dy>
317e41f4b71Sopenharmony_ci```
318e41f4b71Sopenharmony_ci
319e41f4b71Sopenharmony_ci**使用示例**
320e41f4b71Sopenharmony_ci```bash
321e41f4b71Sopenharmony_ci# 在(100, 100)位置按下并抬起。
322e41f4b71Sopenharmony_ciuinput -S -d 100 100 -u 100 100
323e41f4b71Sopenharmony_ci```
324e41f4b71Sopenharmony_ci
325e41f4b71Sopenharmony_ci### 触控笔移动事件
326e41f4b71Sopenharmony_ci模拟触控笔从(dx1, dy1)按下在smooth time(毫秒)移动到(dx2, dy2)后抬起。
327e41f4b71Sopenharmony_ci
328e41f4b71Sopenharmony_ci**命令**
329e41f4b71Sopenharmony_ci```bash
330e41f4b71Sopenharmony_ciuinput -S -m <dx1> <dy1> <dx2> <dy2> [smooth time] [-k keep time]
331e41f4b71Sopenharmony_ciuinput --stylus --move <dx1> <dy1> <dx2> <dy2> [smooth time] [-k keep time]
332e41f4b71Sopenharmony_ci
333e41f4b71Sopenharmony_ci[smooth time]可选参数,默认值为1000ms,取值范围:1 ~ 15000ms。
334e41f4b71Sopenharmony_ci[-k keep time]可选参数,默认值为0ms,取值范围:0 ~ 60000ms。
335e41f4b71Sopenharmony_ci```
336e41f4b71Sopenharmony_ci
337e41f4b71Sopenharmony_ci**使用示例**
338e41f4b71Sopenharmony_ci```bash
339e41f4b71Sopenharmony_ci# 触控笔从(100, 100)按下花费1000ms移动到(200, 200)后抬起。
340e41f4b71Sopenharmony_ciuinput -S -m 100 100 200 200 1000 -k 1000
341e41f4b71Sopenharmony_ci```
342e41f4b71Sopenharmony_ci
343e41f4b71Sopenharmony_ci### 触控笔单击事件
344e41f4b71Sopenharmony_ci模拟触控笔在(dx, dy)位置单击。
345e41f4b71Sopenharmony_ci
346e41f4b71Sopenharmony_ci**命令**
347e41f4b71Sopenharmony_ci```bash
348e41f4b71Sopenharmony_ciuinput -S -c <dx> <dy> [click interval]
349e41f4b71Sopenharmony_ciuinput --stylus --click <dx> <dy> [click interval]
350e41f4b71Sopenharmony_ci
351e41f4b71Sopenharmony_ci[click interval] 点击间隔时间,取值范围:1 ~ 450ms。
352e41f4b71Sopenharmony_ci```
353e41f4b71Sopenharmony_ci
354e41f4b71Sopenharmony_ci**使用示例**
355e41f4b71Sopenharmony_ci```bash
356e41f4b71Sopenharmony_ci# 触控笔在(100, 100)位置单击。
357e41f4b71Sopenharmony_ciuinput -S -c 100 100
358e41f4b71Sopenharmony_ci```
359e41f4b71Sopenharmony_ci
360e41f4b71Sopenharmony_ci### 触控笔拖拽事件
361e41f4b71Sopenharmony_ci模拟触控笔拖拽事件。
362e41f4b71Sopenharmony_ci
363e41f4b71Sopenharmony_ci**命令**
364e41f4b71Sopenharmony_ci```bash
365e41f4b71Sopenharmony_ciuinput -S -g <dx1> <dy1> <dx2> <dy2> [press time] [total time] 
366e41f4b71Sopenharmony_ciuinput --stylus --drag <dx1> <dy1> <dx2> <dy2> [press time] [total time] 
367e41f4b71Sopenharmony_ci
368e41f4b71Sopenharmony_ci[Press time]按压时间,不能少于500ms。
369e41f4b71Sopenharmony_ci[total time]拖动时间,[total time] - [Press time]不能少于500ms,否则操作结果可能产生错误或无效操作。
370e41f4b71Sopenharmony_ci```
371e41f4b71Sopenharmony_ci
372e41f4b71Sopenharmony_ci**使用示例**
373e41f4b71Sopenharmony_ci```bash
374e41f4b71Sopenharmony_ci# 模拟触控笔按下从(100, 150)在1100ms拖动到(500, 300)后释放。
375e41f4b71Sopenharmony_ciuinput -S -g 100 150 500 300 500 1100
376e41f4b71Sopenharmony_ci```
377e41f4b71Sopenharmony_ci
378e41f4b71Sopenharmony_ci### 设置触控笔事件间隔
379e41f4b71Sopenharmony_ci设置触控笔事件以毫秒为单位的程序间隔。
380e41f4b71Sopenharmony_ci
381e41f4b71Sopenharmony_ci**命令**
382e41f4b71Sopenharmony_ci```bash
383e41f4b71Sopenharmony_ciuinput -S -i <time>
384e41f4b71Sopenharmony_ciuinput --stylus --interval <time>
385e41f4b71Sopenharmony_ci```
386e41f4b71Sopenharmony_ci
387e41f4b71Sopenharmony_ci**使用示例**
388e41f4b71Sopenharmony_ci```bash
389e41f4b71Sopenharmony_ci# 单击(100, 100)位置后,间隔500ms后再次单击(100, 100)位置。
390e41f4b71Sopenharmony_ciuinput -S -c 100 100  -i 500 -c 100 100
391e41f4b71Sopenharmony_ci```
392e41f4b71Sopenharmony_ci
393e41f4b71Sopenharmony_ci## 触摸事件
394e41f4b71Sopenharmony_ci
395e41f4b71Sopenharmony_ci模拟手指触摸点击、滑动等事件。
396e41f4b71Sopenharmony_ci
397e41f4b71Sopenharmony_ci### 触摸按下事件
398e41f4b71Sopenharmony_ci模拟手指触摸在(dx dy)按下,与up配合使用。
399e41f4b71Sopenharmony_ci
400e41f4b71Sopenharmony_ci**命令**
401e41f4b71Sopenharmony_ci```bash
402e41f4b71Sopenharmony_ciuinput -T -d <dx> <dy>
403e41f4b71Sopenharmony_ciuinput --touch --down <dx> <dy>
404e41f4b71Sopenharmony_ci```
405e41f4b71Sopenharmony_ci
406e41f4b71Sopenharmony_ci### 触摸抬起事件
407e41f4b71Sopenharmony_ci模拟手指触摸在(dx dy)抬起,与down配合使用。
408e41f4b71Sopenharmony_ci
409e41f4b71Sopenharmony_ci**命令**
410e41f4b71Sopenharmony_ci```bash
411e41f4b71Sopenharmony_ciuinput -T -u <dx> <dy>
412e41f4b71Sopenharmony_ciuinput --touch --up <dx> <dy>
413e41f4b71Sopenharmony_ci```
414e41f4b71Sopenharmony_ci
415e41f4b71Sopenharmony_ci**使用示例**
416e41f4b71Sopenharmony_ci```bash
417e41f4b71Sopenharmony_ci# 在(100, 100)位置按下并抬起。
418e41f4b71Sopenharmony_ciuinput -T -d 100 100 -u 100 100
419e41f4b71Sopenharmony_ci```
420e41f4b71Sopenharmony_ci
421e41f4b71Sopenharmony_ci### 触摸移动事件
422e41f4b71Sopenharmony_ci模拟手指触摸从(dx1, dy1)按下在smooth time(毫秒)移动到(dx2, dy2)后抬起。最多支持三指同时移动。
423e41f4b71Sopenharmony_ci
424e41f4b71Sopenharmony_ci**命令**
425e41f4b71Sopenharmony_ci```bash
426e41f4b71Sopenharmony_ciuinput -T -m <dx1> <dy1> <dx2> <dy2> [-k keep time] [smooth time]
427e41f4b71Sopenharmony_ciuinput --touch --move <dx1> <dy1> <dx2> <dy2> [-k keep time] [smooth time]
428e41f4b71Sopenharmony_ci
429e41f4b71Sopenharmony_ci[-k keep time]可选参数,默认值为0ms,取值范围:0 ~ 60000ms。
430e41f4b71Sopenharmony_ci[smooth time]可选参数,默认值为1000ms,取值范围:1 ~ 15000ms。
431e41f4b71Sopenharmony_ci```
432e41f4b71Sopenharmony_ci
433e41f4b71Sopenharmony_ci**使用示例**
434e41f4b71Sopenharmony_ci```bash
435e41f4b71Sopenharmony_ci# 手指触摸从(100, 100)按下花费1000ms移动到(200, 200)后抬起。
436e41f4b71Sopenharmony_ciuinput -T -m 100 100 200 200 1000 -k 1000
437e41f4b71Sopenharmony_ci
438e41f4b71Sopenharmony_ci# 三指滑动,第一根手指触摸按下从(300,900)移动到(300,2000),第二根手指触摸按下从(600,900)移动到(600,2000),第三根手指触摸按下从(900,900)移动到(900,2000),移动总时长为200ms,移动结束后手指在屏幕停顿1000m后再抬起。
439e41f4b71Sopenharmony_ciuinput -T -m 300 900 300 2000 600 900 600 2000 900 900 900 2000 200 -k 1000
440e41f4b71Sopenharmony_ci```
441e41f4b71Sopenharmony_ci
442e41f4b71Sopenharmony_ci### 触摸单击事件
443e41f4b71Sopenharmony_ci模拟手指触摸在(dx, dy)位置单击。
444e41f4b71Sopenharmony_ci
445e41f4b71Sopenharmony_ci**命令**
446e41f4b71Sopenharmony_ci```bash
447e41f4b71Sopenharmony_ciuinput -T -c <dx> <dy> [click interval]
448e41f4b71Sopenharmony_ciuinput --touch --click <dx> <dy> [click interval]
449e41f4b71Sopenharmony_ci
450e41f4b71Sopenharmony_ci[click interval] 点击间隔时间,取值范围:1 ~ 450ms。
451e41f4b71Sopenharmony_ci```
452e41f4b71Sopenharmony_ci
453e41f4b71Sopenharmony_ci**使用示例**
454e41f4b71Sopenharmony_ci```bash
455e41f4b71Sopenharmony_ci# 手指在触摸屏(100, 100)位置单击。
456e41f4b71Sopenharmony_ciuinput -T -c 100 100
457e41f4b71Sopenharmony_ci```
458e41f4b71Sopenharmony_ci
459e41f4b71Sopenharmony_ci### 触摸拖拽事件
460e41f4b71Sopenharmony_ci模拟手指触摸拖拽事件。
461e41f4b71Sopenharmony_ci
462e41f4b71Sopenharmony_ci**命令**
463e41f4b71Sopenharmony_ci```bash
464e41f4b71Sopenharmony_ciuinput -T -g <dx1> <dy1> <dx2> <dy2> [press time] [total time] 
465e41f4b71Sopenharmony_ciuinput --touch --drag <dx1> <dy1> <dx2> <dy2> [press time] [total time] 
466e41f4b71Sopenharmony_ci
467e41f4b71Sopenharmony_ci[Press time]按压时间,不能少于500ms。
468e41f4b71Sopenharmony_ci[total time]拖动时间,[total time] - [Press time]不能少于500ms,否则操作结果可能产生错误或无效操作。
469e41f4b71Sopenharmony_ci```
470e41f4b71Sopenharmony_ci
471e41f4b71Sopenharmony_ci**使用示例**
472e41f4b71Sopenharmony_ci```bash
473e41f4b71Sopenharmony_ci# 模拟手指按下从(100, 150)在1100ms拖动到(500, 300)后释放。
474e41f4b71Sopenharmony_ciuinput -T -g 100 150 500 300 500 1100
475e41f4b71Sopenharmony_ci```
476e41f4b71Sopenharmony_ci
477e41f4b71Sopenharmony_ci### 设置触摸事件间隔
478e41f4b71Sopenharmony_ci设置触摸事件以毫秒为单位的程序间隔。
479e41f4b71Sopenharmony_ci
480e41f4b71Sopenharmony_ci**命令**
481e41f4b71Sopenharmony_ci```bash
482e41f4b71Sopenharmony_ciuinput -T -i <time>
483e41f4b71Sopenharmony_ciuinput --touch --interval <time>
484e41f4b71Sopenharmony_ci```
485e41f4b71Sopenharmony_ci
486e41f4b71Sopenharmony_ci**使用示例**
487e41f4b71Sopenharmony_ci```bash
488e41f4b71Sopenharmony_ci# 手指单击(100, 100)位置后,间隔500ms后再次单击(100, 100)位置。
489e41f4b71Sopenharmony_ciuinput -S -c 100 100  -i 500 -c 100 100
490e41f4b71Sopenharmony_ci```
491e41f4b71Sopenharmony_ci
492e41f4b71Sopenharmony_ci### 触摸单指关节双击事件
493e41f4b71Sopenharmony_ci模拟触摸屏单指关节双击。
494e41f4b71Sopenharmony_ci
495e41f4b71Sopenharmony_ci**命令**
496e41f4b71Sopenharmony_ci```bash
497e41f4b71Sopenharmony_ciuinput -T -k -s <dx1> <dy1> <dx2> <dy2> [interval time]
498e41f4b71Sopenharmony_ciuinput --touch --knuckle --single <dx1> <dy1> <dx2> <dy2> [interval time]
499e41f4b71Sopenharmony_ci
500e41f4b71Sopenharmony_ci[interval time]间隙时间:默认值200ms,取值范围:1 ~ 250ms。
501e41f4b71Sopenharmony_ci```
502e41f4b71Sopenharmony_ci
503e41f4b71Sopenharmony_ci**使用示例**
504e41f4b71Sopenharmony_ci```bash
505e41f4b71Sopenharmony_ci# 单指关节在(100, 100)、(100, 130)位置间隔200ms敲击。
506e41f4b71Sopenharmony_ciuinput -T -k -s 100 100 100 130
507e41f4b71Sopenharmony_ci```
508e41f4b71Sopenharmony_ci
509e41f4b71Sopenharmony_ci### 触摸指双关节双击事件
510e41f4b71Sopenharmony_ci模拟触摸屏双指关节双击。
511e41f4b71Sopenharmony_ci
512e41f4b71Sopenharmony_ci**命令**
513e41f4b71Sopenharmony_ci```bash
514e41f4b71Sopenharmony_ciuinput -T -k -d <dx1> <dy1> <dx2> <dy2> [interval time]
515e41f4b71Sopenharmony_ciuinput --touch --knuckle --double <dx1> <dy1> <dx2> <dy2> [interval time]
516e41f4b71Sopenharmony_ci
517e41f4b71Sopenharmony_ci[interval time]间隙时间:默认值200ms,取值范围:1 ~ 250ms。
518e41f4b71Sopenharmony_ci```
519e41f4b71Sopenharmony_ci
520e41f4b71Sopenharmony_ci**使用示例**
521e41f4b71Sopenharmony_ci```bash
522e41f4b71Sopenharmony_ci# 双指关节在(100, 100)、(100, 130)位置间隔200ms敲击。
523e41f4b71Sopenharmony_ciuinput -T -k -d 100 100 100 130
524e41f4b71Sopenharmony_ci```
525e41f4b71Sopenharmony_ci
526e41f4b71Sopenharmony_ci## 触控板事件
527e41f4b71Sopenharmony_ci
528e41f4b71Sopenharmony_ci### 触控板捏合事件
529e41f4b71Sopenharmony_ci模拟触控板手指捏合。
530e41f4b71Sopenharmony_ci
531e41f4b71Sopenharmony_ci**命令**
532e41f4b71Sopenharmony_ci```bash
533e41f4b71Sopenharmony_ciuinput -P -p <dx> <dy> scalePercent
534e41f4b71Sopenharmony_ciuinput --touchpad --pinch <dx> <dy> scalePercent
535e41f4b71Sopenharmony_ci
536e41f4b71Sopenharmony_ciscalePercent:收缩百分比,取值范围:0~500。小于100是缩小,大于100是放大。设置时要求dx大于0,dy大于200。此场景只支持图片缩放,调用该命令时,确保桌面上有一张图片。
537e41f4b71Sopenharmony_ci```
538e41f4b71Sopenharmony_ci
539e41f4b71Sopenharmony_ci**使用示例**
540e41f4b71Sopenharmony_ci```bash
541e41f4b71Sopenharmony_ci# 手指捏合图片。
542e41f4b71Sopenharmony_ciuinput -P -p 100 300 89
543e41f4b71Sopenharmony_ci```
544e41f4b71Sopenharmony_ci
545e41f4b71Sopenharmony_ci### 触控板滑动事件
546e41f4b71Sopenharmony_ci模拟触控板滑动捏合。
547e41f4b71Sopenharmony_ci
548e41f4b71Sopenharmony_ci**命令**
549e41f4b71Sopenharmony_ci```bash
550e41f4b71Sopenharmony_ciuinput -P -s <startX> <startY> <endX> <endY>
551e41f4b71Sopenharmony_ciuinput --touchpad --swipe <startX> <startY> <endX> <endY>
552e41f4b71Sopenharmony_ci```
553e41f4b71Sopenharmony_ci
554e41f4b71Sopenharmony_ci**使用示例**
555e41f4b71Sopenharmony_ci```bash
556e41f4b71Sopenharmony_ci# 在触控板滑动手指,可以看到后台多任务视图。
557e41f4b71Sopenharmony_ciuinput -P -s 100 1100 100 300
558e41f4b71Sopenharmony_ci```