gpt4 book ai didi

bash - xdotool - 为什么在运行命令之前要 sleep ?

转载 作者:行者123 更新时间:2023-11-29 09:25:42 28 4
gpt4 key购买 nike

我正在使用 xdotool 来自动运行命令、打开新标签等。

问题是在当前窗口执行此操作时,我必须专门休眠一段时间或在执行任何操作之前使用 xdotool keyup Return 否则 xdotool 不会' t 按回车键。

kartik@kartikpc:~/junk/xdotool$ cat automate 
#!/bin/bash

# Release the Return key
# xdotool keyup Return
# Or sleep 1

xdotool type --delay 1 --clearmodifiers "clear"
xdotool key --clearmodifiers Return

kartik@kartikpc:~/junk/xdotool$ source automate
clearkartik@kartik-lappy:~/junk/xdotool$ clear

我从很少的资料中读到的是

% sleep 1; xdotool type "$(printf "hello\nworld\n")" (the sleep is for letting me release my actual 'return' key before typing)

我知道当我通过按键盘上的“Enter”专门调用我的脚本时按下了“返回”键。但是为什么不自动释放呢?

即使 xdotool 正在使用 xdotool type 键入内容时,也不应在此之前释放“return”键,或者每个字母都应该逐行显示,而不是在同一条线上

最佳答案

这个问题与键盘本身的状态有关,而不是任何特殊的操作系统概念。如果键仅在从“向上”状态转换为“向下”状态时才被称为“按下”。

当应用程序尝试发送按键时,它会先发送一个按键,然后再发送一个按键。如果键已经处于“按下”状态,则发送 keydown 不会注册为按键,因为键的状态没有从“向上”转换为“向下”,它只是停留在“向下”状态。 (在已经处于“按下”状态时发送 keydown 相当于简单地按住该键,而不是再次按下它。)

关于bash - xdotool - 为什么在运行命令之前要 sleep ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34092604/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com