如何创建键盘快捷键来模拟特定的击键(不是命令)?

如何创建键盘快捷键来模拟特定的击键(不是命令)?

Delete我在 Mac 上使用 Ubuntu 19.10,因此键盘上没有键。

为了模拟该键,我可以按Fn+Backspace但我想选择其他组合键,例如Super+ Backspace。这可能吗?

答案1

这将完成这项工作:

首先:/usr/share/X11/xkb/symbols/pc通过在终端中运行以下命令来编辑 XKB文件:

sudo nano /usr/share/X11/xkb/symbols/pc

第二:找到这一行:

key <BKSP> {    [ BackSpace, BackSpace  ]   };

//并通过在其前面添加以下内容将其注释掉:

//key <BKSP> {  [ BackSpace, BackSpace  ]   };

第三:将以下代码复制并粘贴到注释行下方第二多于:

key <BKSP> {
    type= "PC_SUPER_LEVEL2",
    symbols[Group1]=  [ BackSpace, Delete ]
};

并保存文件。

第四:通过在终端中运行以下命令清除 XKB 缓存:

sudo rm -rf /var/lib/xkb/*

最后:重新启动系统以激活新的 xkb 配置,或者通过在终端中使用以下命令设置 xkb 地图布局来重新加载新的 xkb 配置:

setxkbmap -layout us

并测试您的新组合键。


这个解决方案应该使得按下Super+ Backspace就像按下Delete键一样。

要将组合更改为Shift+,Backspace 您可以更改PC_SUPER_LEVEL2PC_SHIFT_LEVEL2第三 多于。

答案2

命令可以模拟特定的按键。一种方法是创建自定义快捷方式来运行xdotool来源) 在设置 > 键盘 > 自定义快捷键

截屏

答案3

不,不可能全面做到这一点,Fn不能被视为另一个关键,根据这一点回答

两者Fn其实没有可比性。这是一个硬件按键,无法直接与操作系统交互。按下Fn另一个按键会导致向操作系统发送完全不同的代码。
例如 XF86AudioMute、XF86Eject 等。操作系统无法检测是否Fn按下了该按键。

我原以为可以使用gnome-tweaks包内部的函数:

键盘和鼠标->附加布局选项

但是不,您可以为每个特殊键定义行为(从基本键Ctrl到旧Meta键),但因为Fn它不是软件键,所以您无法更改其功能。

您可以创建自定义快捷方式来执行该Delete模拟,但它需要一个命令。

相关内容