我想创建一个按键,用于输入电子邮件地址、邮政地址、城市/州、目录名称。如何创建这些映射?
答案1
没有真正“明显”的方法,即存在不同的方法。
对于当前的旧式图形服务器:Xorg
对于新用户来说,最容易使用的可能是键盘宏程序自动键。它提供了一个图形用户界面来定义文本片段和扩展。您可以设置快捷键来输入某些短语,但更好的是,它可以监视您的输入,当您输入您定义的缩写(例如:add
)时,它会将其扩展为完整的短语。
埃斯潘索工作原理类似,但设置起来可能比较难。您可以通过文本文件进行配置。不过,文档非常出色。
许多人使用自定义脚本,这些脚本使用自动化工具来xdotool
模拟键入按键,或xclip
操纵xsel
剪贴板。使用快捷键调用此类脚本,然后可以快速选择和插入代码片段。Jacob Vlijm 在问库本图。Snippy 文本扩展器是用 bash 编写的脚本。在这两个示例中,您将文本片段作为小文本文件放在定义的文件夹中。
一种非常简单的方法,仅使用xdotool
分配给快捷键
分配给快捷键的单行 xdotool 命令
对于非常基本的需求,您可以将模拟某些输入的命令分配给快捷键。例如,如果您希望Shift+F1输入您的全名,那么您可以将以下命令分配给Shift+F1键。
xdotool keyup Shift+F1 type "My full name"
评论 keyup
模拟再次释放快捷键。如果脚本在您仍按住 时启动Shift,则将改为输入大写字母。
多行 xdotool 脚本
对于更复杂的代码片段,最好创建一个小型 xdotool 脚本。例如,address
在文件夹中创建一个脚本,例如在主文件夹下的“Snippets”文件夹中。输入以下文本并保存。
#!/usr/bin/xdotool
keyup Shift+F2
type "My full name"
key Return
type "Street and number"
key Return
type "Zip and City"
评论:shebang 行指向xdotool
可执行文件。这样,xdotool
将被加载以执行后面的命令。使用“Return”键 ( ) 输入新行Enter。
使用文件管理器中的文件属性对话框使文本文件可执行。
为脚本分配快捷键,例如Shift+ F2:作为命令,指定脚本的完整路径名,例如/home/<yourlogin/Snippets/address
。
未来的图形服务器:Wayland
埃斯潘索上面提到的也支持Wayland。
用于操作剪贴板的命令行工具(wl-clipboard
)并输入字符(ydotool
,evemu
) 可用于 Wayland。到目前为止,我还没有发现已发布的、可立即使用的代码片段脚本。
wl-clipboard
在 Ubuntu 软件存储库中可用。ydotool 也是如此,但在 22.04 中,它是一个非常旧的版本,无法正常工作。幸运的是,在 Ubuntu 上编译。