packages icon indicating copy to clipboard operation
packages copied to clipboard

Keyboard layout for X11/lightdm is set incorrectly for non-default variants

Open Jezurko opened this issue 1 year ago • 1 comments

Summary

During installation I selected Czech keyboard layout with the qwerty variant. After installation I noticed that on the login screen lightdm is using the default us layout. This seems to be due to a wrongly written configuration entry in /etc/X11/xorg.conf.d/00-keyboard.conf which was:

# Written by systemd-localed(8), read by systemd-localed and Xorg. It's
# probably wise not to edit this file manually. Use localectl(1) to
# instruct systemd-localed to update it.
Section "InputClass"
        Identifier "keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "cz+qwerty"
        Option "XkbModel" "pc104"
EndSection

But (atleast from what I found at ArchWiki) it should be written like this:

(…)
Option "XkbLayout" "cz"
Option "XkbModel" "pc104"
Option "XkbVariant" "qwerty"
(…)

After edditing the file to this format it works properly. It can also be achieved by using localectl set-x11-keymap cz pc104 qwerty which also creates the file correctly.

Steps to reproduce

  1. Install Solus and select non-default variant of keyboard layout (e.g. Czech (qwerty)).
  2. Try the keyboard layout on the lightdm greeter after boot.

Expected result

Writing on the login screen would use the user set layout (e.g. Czech (qwerty)).

Actual result

It can be seen that the layout on the login screen is the default US one. (e.g. on the Czech (qwerty) layout the number row should output local symbols instead of numbers)

Environment

  • [X] Is system up to date?

Repo

Shannon (stable)

Desktop Environment

Budgie

System details

Snapshot_2023-09-13_19-50-53

Other comments

This does not happen with a default variant for the layout since that does not append anything to the configuration file.

Jezurko avatar Sep 13 '23 17:09 Jezurko

@EbonJaeger Can you reproduce this on Budgie/Xfce?

ermo avatar May 04 '24 00:05 ermo

It seems to be working correctly with the newer Calamares that we landed a while back. Looking at the changelog, it was fixed in 3.3.0-alpha4.

# Read and parsed by systemd-localed. It's probably wise not to edit this file
# manually too freely.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "cz"
        Option "XkbVariant" "qwerty"
EndSection

Fixed by https://github.com/getsolus/packages/pull/1892

EbonJaeger avatar May 08 '24 21:05 EbonJaeger