如何设置键盘快捷键来添加指定的文本?

如何设置键盘快捷键来添加指定的文本?

我想设置一个快捷方式,这样当我输入 super + p 时,我经常使用的一组数字就会写在我写的任何地方,有人可以帮我吗?

(例如,我使用搜索栏或终端,输入 super+p,数字“1234”就像我刚刚输入的一样)

答案1

您可以使用一些软件包,例如xdotool(本文讨论的回答)ydotoolwtype。这三个都可以在 Ubuntu 21.04 存储库中找到,但只有 xdotool 存在于之前的版本中。xdotool 使用 X,但它仍可在 Wayland 上运行,尽管它似乎有点不可预料的. wtype 适用于 Wayland,但至少目前(截至 Ubuntu 21.04)它只会产生错误:“Compositor 不支持虚拟键盘协议”。 ydotool 不依赖于 X,在 X 和 Wayland 上都可以正常工作。感觉它比 xdotool 更快速、更稳定。

链接的问题详细说明了如何使用 xdotool,ydotool 非常相似 - 至少对于诸如打字之类的基本任务而言。

#!/bin/bash
ydotool type "1234"

您可以将该代码片段保存到路径中的文件中,例如 $HOME/.local/bin,并将其标记为可执行文件,以便由桌面环境的键盘快捷键程序调用。

# make executable
chmod +x /path/to/your/file.sh

在 Gnome 上,搜索“键盘快捷键”,从底部的选项中创建一个新的自定义快捷键。对于命令,请输入包含代码片段的文件的完整路径,例如/home/yourusername/.local/bin/filename.sh


另一个选项是 pyautogui,它在另一个回答来自上面链接的那个,不过你可以使用它的功能而不是用它来按键write()。不过,由于该包不在 Ubuntu 存储库中,因此需要 pip 来安装该包,使用虚拟环境来安装它可能是一个好主意。但对于仅输出文本的情况,这可能有点过头了,尤其是如果它的性能不比 ydotool 好的话。

使用 pyautogui 的示例

#!/bin/bash

source /your_chose_path_here/venv/bin/activate
python3 -c 'import pyautogui; pyautogui.write("1234")'

安装 pyautogui

# install the virtual environment package to keep pip 
# packages easily separate from the system
apt install python3-virtualenv

# create the virtual environment ($HOME/.local/venv is a nice place) 
virtualenv --system-site-packages -p python3 /your_chose_path_here/venv

# activate the virtual environment, pointing it at the bin/activate
# file in the folder you just made in the previous step
source /your_chose_path_here/venv/bin/activate

# install pyautogui
pip install --upgrade pyautogui

# you can leave the virtual environment with the command:
deactivate

相关内容