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


14

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

目的是更快地键入常用条目(电子邮件地址,街道地址,电话号码,用户名,收藏夹引号等)。

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

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

Answers:


14

一个简单的方法是xdotool,像

xdotool type 'text'

那是解决方案的一半...如何分配键盘快捷方式来运行它?在“ Xfce 4.8设置”中创建快捷方式,“键盘”无效。
史蒂文

@Steven是否可以直接在终端上运行?
2012年

3
是。另外,“ sleep 5 && xdotool类型的文本”会将文本发送到“活动”窗口。
2012年

2
@Steven我已经有一段时间没有使用Xfce了,但是我的下一个直觉是,当命令运行时,活动窗口某种程度上是错误的。我会尝试xdotool getwindowfocus在同一终端打开的同时从终端运行并作为键盘快捷键运行,并比较结果是否相等。您可能必须将键盘快捷方式版本重定向到一个临时文件才能看到它。
jw013

3
我用xbindkeys
Mikel

6

xdotool有效。但是,如果将其与键盘快捷键集成在一起,则简单的xdotool类型'text'失败。

以下shell脚本在这方面帮助了我

windowid=$(xdotool getwindowfocus)
sleep 0.5 && xdotool windowactivate --sync $windowid type 'text'

2
手册xdotool显示它具有内部睡眠。xdotool sleep 0.3 type 'Emotional 2003'足够了。(我不知道,出于某种原因,短暂的睡眠是必要的。运行命令时似乎在激活的窗口或聚焦的窗口中有短暂的开关?)
k.stm

4

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

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


0

对我有用的一线客(从k.tsm 的评论中窃取了)

xdotool sleep 0.3 type 'string that you want to type / paste'

然后在KDE中为此命令分配一个快捷方式,并在按下快捷方式后,为您神奇地键入所需的文本。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.