将文本字符串发送到程序的键盘快捷键

Ste*_*ven 18 keyboard-shortcuts keyboard macro text

如何配置快捷键以将文本字符串发送到当前程序?

目的是更快地输入常用条目(电子邮件地址、街道地址、电话号码、用户名、最喜欢的报价等)。

除了输入文本之外,我不需要任何进一步的自动化。

Gentoo Linux (3.2.12-gentoo) Xfce 桌面环境(4.8 版)

jw0*_*013 25

一种简单的方法是xdotool,例如

xdotool type 'text'
Run Code Online (Sandbox Code Playgroud)

  • 是的。此外,'sleep 5 && xdotool type text' 将文本发送到“活动”窗口。 (4认同)
  • 我使用`xbindkeys`。 (3认同)
  • @Steven 我有一段时间没有使用 Xfce,但我的下一个预感是,当命令运行时,活动窗口不知何故是错误的。我会尝试在同一终端打开时从终端和作为键盘快捷键运行`xdotool getwindowfocus`,并比较结果是否相等。您可能必须将键盘快捷键版本重定向到临时文件才能看到它。 (2认同)

小智 7

xdotool 有效。但是,如果您将其与键盘快捷键集成.. 一个简单的 xdotool 类型“文本”将失败。

下面的 shell 脚本帮助了我

windowid=$(xdotool getwindowfocus)
sleep 0.5 && xdotool windowactivate --sync $windowid type 'text'
Run Code Online (Sandbox Code Playgroud)

  • `xdotool` 的手册显示它有一个内部睡眠。`xdotool sleep 0.3 type 'Emotional 2003'` 就足够了。(由于某种原因,短暂的睡眠是必要的,我不知道。运行命令时似乎有一个激活或聚焦窗口的短开关?) (2认同)

小智 5

您可以使用自动键。这是网站上的描述。\xe2\x80\x9cAutoKey 是适用于 Linux 和 X11 的桌面自动化实用程序。它允许您管理脚本和短语的集合,并为其分配缩写和热键。这允许您在您使用的任何程序中执行脚本或按需插入文本。\xe2\x80\x9d

\n

据我所知,它是为 Gentoo 打包的(在这里发布);对于 Ubuntu(此处);Debian(此处)...

\n