Fedora (Wayland) 上的 Sway 键盘布局

Fedora (Wayland) 上的 Sway 键盘布局

我最近安装了 Fedora 27,我觉得它非常好,我喜欢 Gnome 桌面,但对于工作来说,我绝对更喜欢平铺窗口管理器。我想使用 Sway,因为我之前使用的是 i3,现在 Gnome 使用 wayland,我想进行更改。

我有一个法语 azerty 键盘,它在 Gnome 中配置良好,但 Sway 使用美国布局。我不知道如何才能永久进行更改,我可以编写一个脚本来在每次 Sway 运行时更改布局,但我发现这是一个丑陋的解决方案...是否有任何正确的方法可以做到这一点,以便 Sway 可以使用正确的键盘布局?

谢谢

PS:我读过那个帖子但这对我没有帮助,可能是因为我对X没有足够的了解。

答案1

在较新版本的 sway 中,您可以简单地将以下行放入配置文件中:

input * xkb_layout "de" # German keyboard layout
input * xkb_options "caps:escape" # Make Caps Lock an additional Esc

xkeyboard-config(7)获取可用布局和选项的列表以及Sway#Keymap在 ArchWiki 上。

答案2

在当前版本中,sway仅在执行时从环境变量加载 XKB 布局(XKB_DEFAULT_LAYOUTXKB_DEFAULT_VARIANTXKB_DEFAULT_OPTIONS)。 Wayland 不提供像 X 这样的服务器,因此每个 Wayland 合成器必须实现自己的方法来设置或更改布局 -setxkbmap除非/直到定义/采用允许该工具与任何合成器对话的协议,否则像这样的通用工具已经过时。

最终,sway将添加在运行时更改布局的能力。 这个拉取请求添加swaymsg input子命令以在运行时设置 XKB 选项;它目前处于开发分支 ( wlroots) 中。如果它像该 PR 中那样发布,您将能够发出如下命令来更改键盘:

swaymsg input 0:0:X11_keyboard xkb_layout de

答案3

要更改键盘布局,您需要在启动 Sway 之前设置一些环境变量。当我们等待 Sway 1.0 时,这是正确的做法。

  • cp /usr/share/wayland-sessions/sway.desktop /usr/share/wayland-sessions/sway-custom.desktop
  • 打开sway-custom.desktop并进入
    • [Desktop Entry] Name=SwayCustom Comment=SirCmpwn's Wayland window manager Exec=sway-custom Type=Application
  • 创建/bin/sway-custom并输入
    • #!/bin/bash export XKB_DEFAULT_OPTIONS=caps:escape # enter your options here sway
  • chmod +x /bin/sway-custom
  • 重新启动计算机并SwayCustom在登录之前从窗口管理器列表中进行选择

相关内容