有没有办法将文本片段分配给按键

有没有办法将文本片段分配给按键

我想创建一个按键,用于输入电子邮件地址、邮政地址、城市/州、目录名称。如何创建这些映射?

答案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)并输入字符(ydotoolevemu) 可用于 Wayland。到目前为止,我还没有发现已发布的、可立即使用的代码片段脚本。

wl-clipboard在 Ubuntu 软件存储库中可用。ydotool 也是如此,但在 22.04 中,它是一个非常旧的版本,无法正常工作。幸运的是,在 Ubuntu 上编译

相关内容