在 Fedora 切换到 Wayland 之前,我使用此.Xmodmap
文件通过我的CapsLock
密钥来获取德语变音符号:
keycode 66 = Mode_switch Multi_key
keycode 20 = minus underscore ssharp
keycode 34 = bracketleft braceleft udiaeresis Udiaeresis
keycode 47 = semicolon colon odiaeresis Odiaeresis
keycode 48 = apostrophe quotedbl adiaeresis Adiaeresis
在 Wayland 上,这不再起作用 -CapsLock
只是像以前一样工作。
有没有办法在 Wayland 中实现同样的结果?
答案1
对于 gnome,你可以使用
gsettings set org.gnome.desktop.input-sources xkb-options "['caps:ctrl_modifier']"
虽然 X 的首选方式是
setxkbmap -option caps:ctrl_modifier
我认为不是 xmodmap。请参阅此错误报告
答案2
为了完整性:在 KWin/KDE 下,你可以使用以下方法灵活地重新映射 Caps-Lock(以及一些其他控制键)系统设置→输入设备→键盘→先进的。
具体来说,你可以设置选择第 3 级的键到大写锁定以实现您的特定配置。
Alt Gr– 比在编程时使用要好得多,而损失Caps Lock的回报实际上根本不是损失。
答案3
答案4
这是一个脚本,它可以将 Capslock 更改为 Ctrl,并将 GNOME + Wayland 的 rightAlt 更改为 Capslock(适用于 Arch Linux)。
https://gist.github.com/zw963/e8156358b2029c4f5a6f0d57fb9f6143
脚本内容为:
#! /bin/bash
if ! fgrep -qs 'ctrl:new_ctrl = +new_ctrl(new_ctrl)' /usr/share/X11/xkb/rules/evdev; then
sudo sed -i.bak '/ctrl:nocaps[[:blank:]]*=[[:blank:]]*+ctrl(nocaps)/a\
ctrl:new_ctrl = +new_ctrl(new_ctrl)
' /usr/share/X11/xkb/rules/evdev
fi
cat <<'HEREDOC' |sudo tee /usr/share/X11/xkb/symbols/new_ctrl
partial modifier_keys
xkb_symbols "new_ctrl" {
replace key <CAPS> { [ Control_L ] };
modifier_map Control { <CAPS>, <LCTL> };
replace key <RALT> { [ Caps_Lock ] };
modifier_map Lock { <RALT> };
};
HEREDOC
gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:new_ctrl']"
# for to disable this run
# gsettings reset org.gnome.desktop.input-sources xkb-options