代码之家  ›  专栏  ›  技术社区  ›  OTZ

从命令行向程序发送键盘输入

  •  12
  • OTZ  · 技术社区  · 15 年前

    如何将键盘输入发送到程序?

    也就是说,在Linux GUI下,有没有好的手动(可编程)方式或工具, 在Linux上运行的程序上模拟键盘输入,这样我就可以 从命令行,例如,“Control-T”到Firefox进程和“echo” 'hello'\n“到Gnome终端进程,而不是实际关注每一个进程

    4 回复  |  直到 15 年前
        1
  •  16
  •   OTZ    15 年前

    xdotool

    WID=`xdotool search "Mozilla Firefox" | head -1`
    xdotool windowactivate $WID
    xdotool key ctrl+l
    
        2
  •  3
  •   talonmies    10 年前

    这是一个老话题,但人们可能仍然在寻找这个,有人在这里提到了一个解决方案,在使用xdool时必须激活窗口。但是,您可以指定窗口,甚至使用xdool来查找它。这是我试图完成的一个例子,根据需要进行更改。

    xdotool key --window $(xdotool search --name "Spotify (Premium |Free )?- Linux Preview" | head -n1) ctrl+KP_Down
    
        3
  •  2
  •   nsxt    11 年前

    我已经建立了一个 Ruby DSL xdotool 简化窗口对焦和键盘输入模拟。下面是一个例子,重复您最初的请求:

    Mani.new(window_manager: :xmonad) do
      window :hello, launch: 'urxvt' do
        run 'echo "hello\n"'
      end
    
      window :firefox, launch: 'firefox', delay: 1.5 do
        type '{{ctrl+t}}'
      end
    end
    
        4
  •  1
  •   Community Mohan Dere    9 年前

    我找到了这两个程序 xmacro xremote 你可以看一下,但它们似乎没有很好的记录。

    我还发现了这个工具 xvkbd Sending keycode to Xorg + wine with bash script .