Capslock 作为 Esc 键的按住与按下行为

Capslock 作为 Esc 键的按住与按下行为

我想知道是否可以在点击时将 CapsLock 映射为 Esc 键,但如果按住则表现为 Super 键。

这是我在 MacOS 中使用 Karabiner 设法实现的行为,但我无法在这里复制。

我正在寻找的整个行为如下:

  • 交换 CapsLock 和 Esc 键。
  • 点击 CapsLock 键退出。
  • 按住 CapsLock 键可实现超级功能。

答案1

1简单的部分是交换 CapsLock 和 Esc。这可以通过 xkb 选项完成:

setxkbmap -option caps:super

/etc/default/keyboard可以通过编辑在配置文件中自动启用系统范围的此功能XKBOPTIONS=""。要配置用户帐户,请在中包含命令~/.profile。Gnome Shell 可以覆盖 gsettings 键“org.gnome.desktop.input-sources xkb-options”中的键盘选项,并且可以使用 Tweaks 进行设置。

2a.Xorg,实现 Esc击打和放开時CapsLock也很容易。

xcape -e "Hyper_L=Escape"

Hyper_L是应用选项后分配给的代码Caps Lock。您可以在 的输出中看到它xev。键的名称可以在 中看到/usr/include/X11/keysymdef.h

创建自动启动条目或包含命令~/.profile以使其自动启动。

2b.虽然要实现这一点要困难得多,但并非不可能。韦兰.Wayland 的替代方案包括(来源):

https://gitlab.com/interception/linux/plugins/dual-function-keys

https://gitlab.com/at-home-modifier/at-home-modifier-evdev

https://github.com/myfreeweb/evscript

https://github.com/wbolster/evcape

并且都有其特定的设置。

相关内容