我最近安装了 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_LAYOUT
、XKB_DEFAULT_VARIANT
、XKB_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
在登录之前从窗口管理器列表中进行选择