如何设置键盘宏?


20

在我的日常生活中,我总是打字<kbd>Keyboard Character</kbd>,我想在Ubuntu中设置一个宏以自动输入<kbd> </kbd>

我想将其指定为Shift+ Control+ K或Ubuntu尚未分配且已使用的任何键盘控制字符组合。

早在TSR(终止并驻留)MS-DOS程序的时代,这是可能的。当然也必须在Ubuntu中吗?

我是否需要编写一个守护程序来完成此任务?


我发现了其他没有答案的问题:如何在Ubuntu上为我的键盘按键分配宏,类似于Windows中的Razer键盘宏?什么是好的鼠标/键盘宏录制器?

我找到了一个类似的问题,并给出了答案:我可以使用键盘快捷键来实现文本宏吗?。但是那个问题规定了答案不能AutoKey


提出TSR的要点:-)
drudru

Answers:


17

我进行了一些谷歌搜索,并在列表的顶部附近找到了一个名为AutoKey的程序(Autokey-用于文本替换热键的Linux实用程序)。

我没有使用Ctrl+ Shift+ 的热键,而是K选择了kz自动缩写为的缩写<kbd></kbd>+

只需使用以下命令即可安装:

sudo apt install autokey-gtk

它安装在Launcher中,并且屏幕使用起来非常简单:

自动按键


14

还可以做的是xdotooltype标志一起使用,如下所示:

bash -c ' sleep 0.5; xdotool getactivewindow  type "<kbd></kbd>"'

转到“系统设置”->“键盘”->“快捷方式”->“自定义”,然后将该命令绑定到所需的任何键盘快捷方式。我选择了CtrlSuperK。此处发生的是,我们给用户延迟了0.5秒的时间来释放键盘快捷键,然后xdotool将键入键盘标记标签,就像您自己在键盘上一样。非常简单的方法。实际上,我刚才将它放在上面的这三个键中。

请注意,xdotool默认情况下,Ubuntu不附带此功能,因此您必须通过安装sudo apt-get install xdotool


您还可以使插入指针返回到介于<kbd>和之间</kbd>吗?
DK Bose

4
bash -c 'sleep 0.5; xdotool getactivewindow type "[CODE][/CODE]" && sleep 0.5 && xdotool key Left Left Left Left Left Left Left'用来获取代码标签之间的文本光标。
DK Bose

1

如果你有作文文件,则可以将其用作穷人的文本插入实用程序。

您可以在X中使用一些修饰符。 显然,您可以将其Shift用作修饰符:

! Ctrl Shift <k> : "<kbd></kbd>"

但这至少在我的机器上不起作用。

这项工作(省略Shift,大写K)也不起作用:

! Ctrl <K> : "<kbd></kbd>"

但是,您可以使用CtrlCtrl+ 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(“标签”)和k(“键盘”):

<Multi_key> <t> <k> : "<kbd></kbd>^B^B^B^B^B^B"
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.