如何从 shell 切换 Sway 中的键盘布局?

Rob*_*ier 4 wayland xkb keyboard-layout sway

如何从命令行在 Sway 中的 xkb 键盘布局之间切换?我的布局配置如下:

input type:keyboard {
    xkb_layout pl,es
    xkb_options grp:win_space_toggle,compose:caps
}
Run Code Online (Sandbox Code Playgroud)

我希望能够有一个命令切换到下一个布局(如果pl当前布局是eses则切换到pl)。

注意:有一个命令swaymsg "input type:keyboard xkb_switch_layout <index>"允许您更改指定其索引的布局。我不知道如何使用它切换到下一个,因为我不知道如何获取当前索引。

小智 5

使用 sway 版本 1.5.1,我可以提供nextxkb_switch_layout. 所以你不再需要获取当前索引和总项目数。

swaymsg input "1:1:AT_Translated_Set_2_keyboard" xkb_switch_layout next
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不能使用type:keyboard标识符来代替。您可以使用 找到您的标识符swaymsg -t get_inputs。如果您想查看所有可用的布局和当前布局的索引,您需要添加--raw.