How to change Sericea (sway) keyboard layout?

New to silverblue/sericea
Objective: colemak keyboard layout.

Selected colemak layout at sericea install. Colemak works for subsequent install prompts (passwords, etc).

After installation, sericea reverts to qwerty. Further, the ctl + shift (selected option during install) to toggle qwerty/colemak is unresponsive.

uname -r displays: 6.4.10-200.fc38.x86_64
ioginctrl show-session 2 -p Type displays: Type=wayland

Executed commands:
localectl set-x11-keymap us colemak
localectl set-keymap us-colemak --no-convert

/etc/vconsole.conf displays:

KEYMAP=us-colemak
FONT=eurlatgr
XKBLAYOUT=us
XKBMODEL=colemak

localectl status displays:

System Locale: LANG=en_US.UTF-8
VC Keymap: us-colemak
X11 Layout: us
X11 Model: colemak

Despite these changes, sericea is still in qwerty layout? What additional steps need be taken to ensure colemak is (1)global (2)persistent?

Update. Took the following steps based on (1) sericea config and (2) r swaywm post

/etc/sway/environment now includes:

#Convert keyboard layout to colemak
input “type:keyboard” {
xkb_layout us
xkb_variant us(colemak)
xkb_options grp:rctrl_toggle
}

Refreshed sway but still in qwerty?

1 Like

Can you select the colemak keyboard at login? I assume this to be a sddm thing using Sway. Maybe in sddm’s config is where you need to set it.
So another way would be to add the keyboard layout preferred to your kernel arguements using kargs or using another command. Maybe something like rpm-ostree initramfs-etc which should redo your image with your modifications in /etc you made. So a reboot will be required after it is finished, but it should tell you as much upon completion anyways.

Environment variables ($SHELL, $PATH, etc.) are different from Sway configuration directives. Try putting the Sway configuration directives in ~/.config/sway/confg.

This is what I have in my config. Maybe you can adapt it to your needs.

input type:keyboard {
      xkb_layout "de","de"
      xkb_variant "nodeadkeys","neo"
      xkb_options "ctrl:nocaps,grp:ctrls_toggle"
}

Judging by this …



The priority increases from the packaged configuration to a system-wide configuration and an user configuration directories:

    /usr/share/sway/config.d/*.conf

    /etc/sway/config.d/*.conf

    $XDG_CONFIG_HOME/sway/config.d/*.conf (defaults to ~/.config/sway/config.d/*.conf)


You should probably have the keyboard configure file in etc/sway/config.d/ from what the documentation notes about how Fedora does the config priority. Or like @glb notes, in your home configuration dir ~/.config/sway/configure.d/<perhaps '70-keyboards.conf'> I am not that familiar with Sway but have poked around a bit with it.