alt_space_toggle 在 xkb-switch 中不起作用

alt_space_toggle doesn't work in xkb-switch

我已经设置了一个映射来使用此命令更改键盘布局 setxkbmap -layout us,pl,ru,ua -option grp:alt_space_toggle。但它以意想不到的方式起作用。在第一次按下 Alt+Space 时,键盘布局从 us 更改为 pl。在接下来的按键操作中,没有任何反应。我尝试使用 xdotool key XF86LogGrabInfo 捕捉热键覆盖。在我看来,没有应用程序对此按键做出反应。什么可能导致问题?

Linux slado122 5.13.12-arch1-1 #1 SMP PREEMPT Wed, 18 Aug 2021 20:49:03 +0000 x86_64 GNU/Linux
X.Org X Server 1.20.13
X Protocol Version 11, Revision 0
Build Operating System: Linux Archlinux
Current Operating System: Linux slado122 5.13.12-arch1-1 #1 SMP PREEMPT Wed, 18 Aug 2021 20:49:03 +0000 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=a3a15c1b-a762-4080-b265-fa132c60fdde rw loglevel=3 quiet
Build Date: 04 August 2021  08:13:54AM

Current version of pixman: 0.40.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.

编辑:左右 Alt 都不起作用。另外,附加信息:我可以使用快捷方式从 us 更改为 pl,然后使用 xkb-switch -n 手动更改为 ru,然后从 ru 更改为 ua 用快捷键,然后又不行了。总而言之,映射不适用于更改语言组。

这看起来像是波兰 xkb 布局中的货物崇拜复制粘贴错误。

如果您从 /usr/share/X11/xkb/symbols/pl 中删除包含 key <SPCE> 的第一行,它将按预期工作。

您可以 非破坏性地 通过 运行 以下命令以 root 身份测试我的建议:

sed /SPCE/d /usr/share/X11/xkb/symbols/pl >/tmp/pl && 
mount -B /tmp/pl /usr/share/X11/xkb/symbols/pl

然后以普通用户身份重复您的 setxkbmap 命令。使用 umount /usr/share/X11/xkb/symbols/pl 可以取回原始文件。

注意:在波兰语布局中,Alt-Space 切换键不能与 right Alt 键一起使用,因为右 Alt 键映射到 AltGr(又名 ISO_Level3_Shift)那里。

我建议使用冲突较少的组合键来切换布局(比如同时按下两个控件,如 -option grp:ctrls_toggle