TL;博士
在 Wayland 下,我可以以某种方式绑定AltGr + C
到Ctrl + C
吗?
细节
我基本上想问这个问题,但是对于 Wayland 上的 GNOME。这意味着涉及AutoKey和xbindkeys的答案将不起作用,因为在 Wayland 下都不起作用。
背景
我想重新映射一些键以最终更好地利用CapsLock
.
我的计划是映射CapsLock
到AltGr
,然后按照这个来获得类似 vim 的键绑定。在 Wayland 上,这种重新映射可以通过 XKB 文件完成(参见链接)。
但是,我也想CapsLock
用于复制/粘贴。目前,我已将其映射到Ctrl
(使用 XKB 文件)。这使CapsLock + C
整个系统的工作顺利进行,我想保留这一点。
所以:CapsLock
映射到AltGr
,我想Capslock (= AltGr) + C
充当Ctrl + C
。
我的问题
在 Wayland 下,我可以以某种方式绑定AltGr + C
到Ctrl + C
吗?
(不只是重新绑定AltGr
到Ctrl
,因为那样会破坏目的)
Q 的另一个例子
在 latin 的 XKB 文件中,为我的密钥/usr/share/X11/xkb/symbols/latin
定义了以下行为:Q
key <AD01> { [ q, Q, at, Greek_OMEGA ] };
这表明密钥有四个可能的输出:
- 单独按下,它会产生
q
. - 按下
Shift
,它产生Q
。 - 按下
AltGr
,它产生@
。 - 按下
AltGr + Shift
,它产生Ω
。
基本上我想要实现的是,当Q
被按下时AltGr
,它不会产生@
但是Ctrl + Q
。
有几种工具可以做到这一点,比如KMonad、Interception Tools和keyd。
我
keyd
在 Wayland 的领导下取得了圆满成功,所以我描述了我做了什么。我建议阅读简短的 README以获得灵感。守护进程可以做的比这里使用的要多得多。目前的解决方案可以满足我的要求,但绕过了
AltGr
绕道。它视为CapsLock
无处不Control
在,除了 inh ,j ,k , l
,它更改为箭头键。1. 安装
我从源代码构建
keyd
,因为这很容易。接下来的几行首先安装依赖项(包括 C 编译器),下载源代码,构建并安装它,并将其作为服务启用,然后启动它并在启动时运行它。完成后,它会告诉您安装的位置,以便您可以将其删除以进行卸载。安装后可以删除源代码。
2. 找到您要重新映射的键盘名称
您应该找到键盘的名称,因此我们可以为此进行重新映射。跑
并按一些键。它将显示键盘的名称和按下的键。记下名字。我的是
AT Translated Set 2 keyboard
。3. 制作配置文件
无论在哪里,制作一个名为whatever 的配置文件。我们稍后会移动它。假设您使用
~/my_keyboard.conf
.在其中,放入以下内容。#'ed 是解释所定义行为的注释(已针对 v2.1.1 更新。我希望我没有犯任何错误):
4.复制并重命名配置文件并重启KEYD
接下来,我们将配置复制到正确的位置并正确命名,即根据我们要重新映射的键盘。
然后我们重新启动
keyd
,以便它加载新配置:你现在已经启动并运行了:)
5. 提示:创建一个别名来复制 CONFIG 并重新启动 KEYD
我最终玩了很多配置文件。我在我的主文件夹的子目录中编辑了它们,然后将它们复制过来并重新启动。
为了减少麻烦,在 中
~/.bash_aliases
,我添加了