setxkbmap 在 3 个布局中的 2 个之间切换

setxkbmap 在 3 个布局中的 2 个之间切换

发出该命令:

setxkbmap -layout "us,ua,ru" -variant ",winkeys" -option "grp:shift_caps_toggle,grp_led:scroll" -model pc105 -rules xorg

当点击Caps Lock+时Shift,我会在英语 (us) 和乌克兰语 (ua) 布局之间切换,但不会在俄语 (ru) 之间切换。

我尝试使用以下命令重置它:

setxkbmap -layout "us,ua,ru" -option ""

并尝试了许多不同的选择 - 没有任何帮助。

我的系统是 Gentoo Linux 和窗口管理器 wmii。

答案1

我测试了你的命令(我必须添加“-keycodes evdev”来处理我的箭头键,但这无关紧要),并且我可以在三种布局之间循环。

难道 Caps+Shift 被窗口管理器拦截了?

您还可以发出命令:xkbcomp $DISPLAY somefile.txt(或xkbcomp $DISPLAY - | less) 并查看 CAPS 的定义如下:

key <CAPS> {         [       Caps_Lock,  ISO_Next_Group ] };

当您使用 Caps+Shift 更改键盘布局时,查看 xkbcomp 的转储是否发生变化(不应该!)

答案2

setxkbmap -model pc104 -layout us,ua,ru -variant ,winkeys -option grp:lwin_switch,grp:caps_toggle,grp_led:caps

一旦CAPSLOCK命中,它就会在这三个之间切换。按住
WIN,它将打开当前的下一个,例如:如果您当前布局“ua”,它将输入“ru”

相关内容