![使用修饰键在两个以上键盘布局之间切换](https://linux22.com/image/130922/%E4%BD%BF%E7%94%A8%E4%BF%AE%E9%A5%B0%E9%94%AE%E5%9C%A8%E4%B8%A4%E4%B8%AA%E4%BB%A5%E4%B8%8A%E9%94%AE%E7%9B%98%E5%B8%83%E5%B1%80%E4%B9%8B%E9%97%B4%E5%88%87%E6%8D%A2.png)
目前,我可以在按住大写字母的同时暂时将键盘布局从美式切换为丹麦语,并使用 alt+space 永久切换,使用以下命令:
setxkbmap -option "grp:caps_switch,grp:alt_space_toggle" -layout "us,dk"
但是,我还希望能够通过按住另一个修饰符(最好是 AltGR)来切换到希腊语布局(我的物理键盘布局是丹麦语,因此它有 AltGr),但我找不到使用setxkbmap
.选项似乎grp:*_switch
总是在前两种布局之间切换。这甚至可能吗setxkbmap
?或者有其他工具可以让我做到这一点吗?
编辑: 由于现有工具似乎无法实现我想要的功能,因此我创建了一个自定义键盘布局,在第三层和第四层上同时包含希腊字母和丹麦语特殊字母(通常使用 AltGr 和 AltGr+shift 访问)。然后我将大写锁定和 AltGr 指定为第三层修饰符。这个解决方案之所以可行,是因为我需要的丹麦键和希腊键之间碰巧没有重叠,因此我可以将它们放在同一层上。如果有人正在阅读本文并希望能够在三种不同的完整布局之间切换,我认为通过添加第五个键盘层也是可能的。
答案1
您可以通过添加以下内容将美国切换为丹麦语再切换为希腊语:
-layout "us,dk,gr"
喜欢这个:setxkbmap -model logicordless -layout "us,dk,gr" -option "grp:alt_shift_toggle"
或编辑/etc/X11/xorg.conf.d/90-custom-kbd.conf
Section "InputClass"
Identifier "Logitech Cordless"
MatchIsKeyboard "on"
Option "XkbModel" "logicordless"
Option "XkbLayout" "us,dk,gr"
Option "XKbOptions" "grp:alt_shift_toggle"
EndSection
参考号https://www.x.org/releases/X11R7.6/doc/xorg-docs/input/XKB-Config.html