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```