Possible Manual Intervention Required After xkeyboard-config 2.48-1 Update

Due to a change introduced in the xkeyboard-config major upgrade (version 2.48-1), the X11 keyboard layout configuration managed by systemd-localed may be unset post-upgrade. This occurs because systemd-localed reads the XKB model, layout, variant, and options directly from /etc/vconsole.conf. If only the legacy Xorg keyboard snippet exists, localectl reports the X11 layout as unset. In many Desktops this will show by issue that keyboard output is screwed..Y=Z no Umlauts (Germans) or you get issue in case your passwort uses such letters uneven with default locale-C layout.

Check at your install with:
localectl status

If you see X11 Layout: (unset) fix it by running:

sudo localectl set-x11-keymap "your-language-keymap"

Note: Replace "your-language-keymap" with your specific layout (e.g., de, us).

This command writes the selected XKB state alongside KEYMAP into /etc/vconsole.conf and replaces any stale XKB entries, matching the standard systemd behavior.

Simpler said.. it adds missing values for XKBLAYOUT=XX
and XKBMODEL=XXXX to /etc/vconsole.conf :wink:

To list possible values for sudo localectl set-x11-keymap "your-language-keymap" check this:

localectl list-x11-keymap-layouts | grep "your-language-keymap"

There are a lot other options possible too but should not be needed to fix this current issue,
You may want/need special mode / variant / layout / option set in addition:

localectl list-x11-keymap-variants

localectl list-x11-keymap-models

localectl list-x11-keymap-options

Or simple go read the Manual, and get all the details.

I had to set the Italian layout again

Thanks for the feedback!

don’t worry, it was easy!

Done now. All good, thanks! :+1:

Thanx I’m all fixed now

Done and corrected. Thanks for the fix Joe!

Well, “good” in that way, as I had that keyboard problem a few days ago, when I had the big update to Plasma 6.7.1 + systemd 261. Since I suspected the Plasma update was the cause, I fixed it by editing the ~/.config/kxkbrc file that didn’t exist before on my system. But the best and most effective way is, of course, to use “sudo localectl set-X11-keymap de”. Thanks for the warning and fix, @joekamprad

I was wondering why my keyboard had defaulted to en-US. Re-added the correct layout via settings in Plasma for Keyboard, added the X11 layout via cli as stated, and fixed. Good catch!

In case hard to find the reason why, i was only find out by accident while doing test installs.

Test installs have a habit of doing things like that.

Pudge

still in this case someone using en_us keyboard would not notice.

Thanks for pointing this out! Mine fortunately still kept my weird setting:

$ localectl status
System Locale: LANG=de_DE.UTF-8
    VC Keymap: de-latin1
   X11 Layout: de
    X11 Model: pc105
  X11 Variant: e2
  X11 Options: lv5:lsgt_switch,compose:caps,keypad:future,nbsp:level2,terminate:ctrl_alt_bksp,grp:win_space_toggle

:grimacing:

this.. looks like its a commandline on its own indeed

cat /etc/vconsole.conf needs one or two extra entries to be able to set the values needed ..

The nifty little features I always loved X11/Xorg for… :wink:

$ cat /etc/vconsole.conf 
# Written by systemd-localed(8) or systemd-firstboot(1), read by systemd-localed
# and systemd-vconsole-setup(8). Use localectl(1) to update this file.
KEYMAP=de-latin1
XKBLAYOUT=de
XKBMODEL=pc105
XKBVARIANT=e2
XKBOPTIONS=lv5:lsgt_switch,compose:caps,keypad:future,nbsp:level2,terminate:ctrl_alt_bksp,grp:win_space_toggle

what means :: in PROMPT variable in your terminsl?

:: equals :: nothing else.. thats decorative spacer

I don’t use x11 anyway … but what the heck i fixed it! :wink: