Swedish keyboard layout not set after installation


This is probably a bug but I’m not exactly sure what I should do with this or where it should be reported.

The issue is pretty simple. If I select Swedish as keyboard layout during the installation of Tumbleweed it will not be set as keyboard layout in Plasma or in the console (vconsole/localectl) after the system is installed. It defaults to the us layout. It works if I select another keyboard layout (like Danish). Swedish is also not listed in the System Keyboard Configuration in YaST2 which I suspect may have something to do with it. I’m using the latest Tumbleweed snapshot available (20210807) and I can reproduce the same issue in a new VM.

I can fix this problem afterwards by switching keyboard layout in Plasma and set a new layout with localectl but it would be good to get this fixed so other users don’t end up with the same issue. It can probably be a little bit frustrating for new users.

Here is an example with two VMs. The first one (tw01) is installed with Swedish as layout and the second one (tw02) with a Danish layout.

  1. Keyboard layout selection during the install
  2. Plasma settings after the installation
  3. Console settings after the installation
  4. YaST2 System Keyboard Configuration


1 Like

This is user to user forum. If you want to get it fixed you either fix it and submit request to package on OBS or you report it in bugzilla where developers are listening.

Have you tried “setxkbmap se” from a terminal? You could add it to your .config/autostart file if it changes.

Thanks for the reply! Yes, I’m trying to figure out where I should post this so it can be discussed. I think I found out why this is happening (the file /usr/share/kbd/keymaps/i386/qwerty/sv-latin1.map.gz is a symlink to instead of an actual copy of se-latin1.map.gz which makes localectl unable to find it). But I’m not a developer and haven’t really played around with kbd before so I’m not entirely sure.

Thanks. Yes, I can set the layout manually (both in Plasma and console) after the installation. But I want to help and try to fix the issue so new users that installs Tumbleweed with a Swedish keyboard layout doesn’t experience the same issue in the future.

Correct. This is systemd upstream behavior, localectl explicitly ignores symlinks. You certainly can open an issue on github for systemd to discuss it or at least to make upstream aware of issue.

Yes, I’m trying to figure out where I should post this so it can be discussed.

Open bug report on openSUSE bugzilla against kbd package. It is packaging issue. kbd does come with sv-latin1 map; but package first creates a copy as se-latin1 and then runs fdupes which replaces the sv-latin1 by symlink (probably due to alphabetic order).

    # bnc#48301
    test -f qwerty/se-latin1.map || cp qwerty/sv-latin1.map qwerty/se-latin1.map
%fdupes -s %{buildroot}%{_datadir}

and during build

  326s] + ln -sf /usr/share/kbd/keymaps/i386/qwerty/se-latin1.map.gz /home/abuild/rpmbuild/BUILDROOT/kbd-2.4.0-2.1.x86_64/usr/share/kbd/keymaps/i386/qwerty/sv-latin1.map.gz

Also there are several symlinks in keymaps directories which are also used by YaST, all of them should have the same issue. So this should be Cc to yast maintainers as well.

Thank you again for the detailed reply, it really helps a lot. Yes, it looks like the other keymaps that are symlinked are being ignored as well. Latest version of Leap and other distros like Fedora and Arch does not have this issue and they have a copy of the file (as it should be I guess). If I remove the symlink on Tumbleweed and create a copy instead Swedish shows up in YasT2 again.

I’m not sure if this fixes the “core” issue from the installer, but if you look in the YasT2 logs for the install you can see this:

YaST2/y2log:2021-08-10 16:58:04 <1> install(3811) [Ruby] modules/Keyboard.rb(Save):131 Saving keyboard swedish/sv-latin1 to system
YaST2/y2log:2021-08-10 16:58:04 <1> install(3811) [Ruby] lib/cheetah.rb(record_commands):160 Executing "systemd-firstboot --root /mnt --keymap sv-latin1".

And since systemd/localectl can’t find sv-latin1 it makes sense that it would default to us in both Plasma and the console after the installation then.
I will try to open a bug report on bugzilla but I do have a few questions if you don’t mind.

  • I did a zypper search --provides /usr/share/kbd/keymaps/i386/qwerty/se-latin1.map.gz and according to zypper it belongs to a package called kbd-legacy. But if I search for kbd-legacy on software.opensuse.org it links to the kbd package on OBS. I understand that they are related (but not the same if you use zypper info), but I don’t understand how. Should the bug report be done for the kbd package or kbd-legacy? Is there a reason why I can’t find kbd-legacy in OBS?
  • In which component should the bug report should be placed in? I would assume “other” but I’m not entirely sure.


Both are built from the same source package kbd, both are binary sub-packages of source package kbd.

Should the bug report be done for the kbd package or kbd-legacy?

Bugzilla is not as granular. I would report it against Tumbleweed - Basesystem.

Is there a reason why I can’t find kbd-legacy in OBS?

Because OBS lists source packages, not binary sub-packages built from them (you can search for binary packages also, at least using API or osc tool).

Hey, can you share more details about the installation process. You can also check out SMM Panel India for more details.

Great app! word counter I’m very satisfied