在我的日常生活中我总是在打字<kbd>Keyboard Character</kbd>
,我想在 Ubuntu 中设置一个宏来自动输入<kbd> </kbd>
。
我想将其分配给++Shift或任何尚未分配且已被 Ubuntu 使用的键盘控制字符组合。ControlK
在 TSR(终止并驻留)MS-DOS 程序时代,这是可能的。Ubuntu 肯定也应该如此吧?
我是否必须编写一个守护进程来完成此操作?
我发现其他问题没有答案:如何在 Ubuntu 上为我的键盘键分配宏,类似于 Windows 中的 Razer 键盘宏?,什么是好的鼠标/键盘宏记录器?
我找到了一个类似的问题并给出了答案:我可以使用键盘快捷键来实现文本宏吗?。然而这个问题规定答案不可能是AutoKey
。
答案1
我进行了一些谷歌搜索,找到了一个名为 AutoKey 的程序(Autokey - 用于文本替换热键的 Linux 实用程序) 位于列表顶部附近。
我选择分配自动扩展为 的缩写,而不是使用Ctrl+ Shift+热键。Kkz
<kbd></kbd>+
安装方法很简单:
sudo apt install autokey-gtk
它安装在启动器中,并且屏幕使用起来非常简单:
答案2
还可以使用xdotool
标志type
,如下所示:
bash -c ' sleep 0.5; xdotool getactivewindow type "<kbd></kbd>"'
转到系统设置->键盘->快捷键->自定义,CtrlSuperK然后将该命令绑定到您想要的任何键盘快捷键。我选择了。这里发生的事情是,我们给用户 0.5 秒的延迟来释放键盘快捷键,然后xdotool
会输入按键标记标签,就像您自己在键盘上操作一样。非常简单易行的方法。事实上,我刚刚用它来输入上面的 3 个键。
请注意,xdotool
Ubuntu 默认不提供该功能,因此你必须通过以下方式安装它sudo apt-get install xdotool
答案3
如果你有一个撰写文件,您可以将其用作穷人的文本插入实用程序。
您可以使用 X 中的几个修饰符。 显然你可以使用Shift
修饰符:
! Ctrl Shift <k> : "<kbd></kbd>"
但这不起作用,至少在我的计算机上。
这也不起作用(省略Shift
,大写K
):
! Ctrl <K> : "<kbd></kbd>"
但是,您可以使用Ctrl
和Ctrl
+ Alt
:
! Ctrl Alt <k> : "<kbd></kbd>"
! Ctrl <k> : "<kbd></kbd>"
正确放置光标
上述映射将把光标放在字符串后面(|
表示光标):
<kbd></kbd>|
我认为没有通用的解决方案可以将光标放在标签内;为此,您需要使用适合用途的工具。但在某些应用程序中,您可以将光标放在标签内。
我使用gnome-terminal
Bash,它使用 readline 键绑定(类似 Emacs)。 Ctrl-b
是向后移动一个字符的键绑定。在我的终端中,我可以输入Ctrl+v b
并获取控制字符^B
(U+0002(文本开头))。因此,在字符串末尾输入以下六个字符:
! Ctrl Alt <k> : "<kbd></kbd>^B^B^B^B^B^B"
光标将位于标签内如果你位于一个可以^B
正确解释的应用程序中(例如终端和 Emacs):
<kbd>|</kbd>
使用撰写键
当然,您也可以使用组合键 ( <Multi_key>
) 来实现相同的效果。例如,使用t
(“tag”) 和k
(“keyboard”):
<Multi_key> <t> <k> : "<kbd></kbd>^B^B^B^B^B^B"