1

我在 Manjaro-i3 上使用 setxkbmap 用热键在键盘布局之间切换。

这个问题实际上是我不想要的一个功能......基本上,在切换键盘布局时,它只为当前窗口设置该布局,当我移动到另一个窗口时,它再次采用旧布局(以及任务栏也会发生变化)。

有没有办法让它在切换键盘布局时改变所有窗口的布局(或者只是不关心哪个窗口处于焦点)?

我到处寻找,找不到任何答案,甚至在 setxkbmap 手册页或任何其他官方文档中都找不到......所以我猜测它可能不是 setxkbmap 本身的功能,但可能是 i3... 或硬编码的功能我们无法改变……

无论哪种方式,这个东西的工作方式肯定存在问题,这是非常糟糕的,因为我们也可以通过单击 i3-bar 中的图标来更改 kb 布局,但它会更改 i3-bar 的布局,而不是任何其他应用程序,因为鼠标在该图标上方...使此单击功能完全无用...

这是我在 i3 init 之后运行的 setxkbmap 配置:

setxkbmap -layout us,ca
setxkbmap -option 'grp:alt_shift_toggle

这是我与键盘相关的 xorg conf:

Section "InputClass"
  Identifier "system-keyboard"
  MatchIsKeyboard "on"
  Option "XkbLayout" "us,ca"
  Option "XkbOptions" "compose:ralt"
EndSection

还有一个错误(可能相关)让我发疯:有时我打开的新窗口的默认布局会发生变化......

谢谢您的帮助。

4

1 回答 1

1

问题出在 sbxkb 上。这是一个非常轻量级的小程序,它在 i3-bar 中显示布局标志图标,并负责在每个窗口的基础上设置 kb 布局。禁用此应用程序(通过执行“killall sbxkb”)解决了该问题。然后我们当然可以从 i3 配置文件中禁用它在系统启动时启动。我不再有旗帜图标了,但无论如何它对我来说毫无用处。使用键盘快捷键切换布局仍然可以完美运行,并且每次都会为整个系统更改它。

于 2019-09-20T00:08:47.943 回答