Keyboard layout not updating on log

Hello there!

When I installed my Garuda, since I’m French, I used the bépo keyboard layout. I now to switch to the more optimised optimot, which I installed without a itch on my session. It is the only layout on my system.

My problem is that the login screen has not updated to this layout, it is still in bépo, even if bépo is not installed on my computer anymore.

Here is my keyboard setting:


And when I try Ctrl+Alt+K it show me only the optimot layout.

Here is the inxi:

System:
Kernel: 6.14.0-arch1-1-znver4 arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
clocksource: tsc avail: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-znver4
root=UUID=21a3c4fd-2895-4651-81e7-b9de4386ced8 rw rootflags=subvol=@
quiet resume=UUID=e6e1c3b7-1697-40f6-840e-325760da7891 loglevel=3 splash
ibt=off
Desktop: KDE Plasma v: 6.3.3 tk: Qt v: N/A info: frameworks v: 6.12.0
wm: kwin_x11 vt: 2 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
Type: Desktop Mobo: Micro-Star model: PRO B650M-A WIFI (MS-7D77) v: 1.0
serial: <superuser required> uuid: <superuser required> UEFI: American
Megatrends LLC. v: 1.N0 date: 12/16/2024
CPU:
Info: model: AMD Ryzen 5 7600 bits: 64 type: MT MCP arch: Zen 4 gen: 4
level: v4 note: check built: 2022+ process: TSMC n5 (5nm) family: 0x19 (25)
model-id: 0x61 (97) stepping: 2 microcode: 0xA601209
Topology: cpus: 1x dies: 1 clusters: 1 cores: 6 threads: 12 tpc: 2
smt: enabled cache: L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 6 MiB
desc: 6x1024 KiB L3: 32 MiB desc: 1x32 MiB
Speed (MHz): avg: 3844 min/max: 545/5171 boost: enabled scaling:
driver: amd-pstate-epp governor: powersave cores: 1: 3844 2: 3844 3: 3844
4: 3844 5: 3844 6: 3844 7: 3844 8: 3844 9: 3844 10: 3844 11: 3844 12: 3844
bogomips: 91199
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Vulnerabilities: <filter>
Graphics:
Device-1: NVIDIA GM200 [GeForce GTX 980 Ti] vendor: Gigabyte driver: nvidia
v: 570.133.07 alternate: nouveau,nvidia_drm non-free: 550/565.xx+
status: current (as of 2025-01; EOL~2026-12-xx) arch: Maxwell code: GMxxx
process: TSMC 28nm built: 2014-2019 pcie: gen: 3 speed: 8 GT/s lanes: 16
ports: active: none off: DP-4,HDMI-A-2 empty: DP-5,DP-6,DVI-I-1
bus-ID: 01:00.0 chip-ID: 10de:17c8 class-ID: 0300
Device-2: Advanced Micro Devices [AMD/ATI] Raphael vendor: Micro-Star MSI
driver: amdgpu v: kernel arch: RDNA-2 code: Navi-2x process: TSMC n7 (7nm)
built: 2020-22 pcie: gen: 4 speed: 16 GT/s lanes: 16 ports: active: none
empty: DP-1, DP-2, DP-3, HDMI-A-1, Writeback-1 bus-ID: 10:00.0
chip-ID: 1002:164e class-ID: 0300 temp: 32.0 C
Device-3: Logitech HD Pro Webcam C920 driver: snd-usb-audio,uvcvideo
type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 5-2:3
chip-ID: 046d:082d class-ID: 0102 serial: <filter>
Display: x11 server: X.Org v: 21.1.16 with: Xwayland v: 24.1.6
compositor: kwin_x11 driver: X: loaded: amdgpu,nvidia
unloaded: modesetting,nouveau alternate: fbdev,nv,vesa dri: radeonsi
gpu: nvidia,nvidia-nvswitch display-ID: :0 screens: 1
Screen-1: 0 s-res: 4480x1440 s-dpi: 110 s-size: 1034x333mm (40.71x13.11")
s-diag: 1086mm (42.77")
Monitor-1: not-matched mapped: DP-0 pos: primary,left res: mode: 2560x1440
hz: 60 scale: 100% (1) dpi: 109 size: 597x336mm (23.5x13.23")
diag: 685mm (26.97") modes: N/A
Monitor-2: not-matched mapped: HDMI-0 pos: right res: mode: 1920x1080
hz: 60 scale: 100% (1) dpi: 96 size: 510x290mm (20.08x11.42")
diag: 587mm (23.1") modes: N/A
API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia gbm:
drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia inactive: wayland
API: OpenGL v: 4.6.0 vendor: nvidia v: 570.133.07 glx-v: 1.4
direct-render: yes renderer: NVIDIA GeForce GTX 980 Ti/PCIe/SSE2
memory: 5.86 GiB
API: Vulkan v: 1.4.309 layers: 15 device: 0 type: discrete-gpu name: NVIDIA
GeForce GTX 980 Ti driver: N/A device-ID: 10de:17c8 surfaces: xcb,xlib
device: 1 type: discrete-gpu name: NVIDIA GeForce GTX 980 Ti driver: N/A
device-ID: 10de:17c8 surfaces: xcb,xlib device: 2 type: integrated-gpu
name: AMD Radeon Graphics (RADV RAPHAEL_MENDOCINO) driver: N/A
device-ID: 1002:164e surfaces: xcb,xlib device: 3 type: cpu name: llvmpipe
(LLVM 19.1.7 256 bits) driver: N/A device-ID: 10005:0000
surfaces: xcb,xlib
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
de: kscreen-console,kscreen-doctor gpu: corectrl, nvidia-settings,
nvidia-smi wl: wayland-info x11: xdpyinfo, xprop, xrandr
Audio:
Device-1: NVIDIA GM200 High Definition Audio vendor: Gigabyte
driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16
bus-ID: 01:00.1 chip-ID: 10de:0fb0 class-ID: 0403
Device-2: Advanced Micro Devices [AMD/ATI] Rembrandt Radeon High
Definition Audio vendor: Micro-Star MSI driver: snd_hda_intel v: kernel
pcie: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 10:00.1 chip-ID: 1002:1640
class-ID: 0403
Device-3: Advanced Micro Devices [AMD] Family 17h/19h/1ah HD Audio
vendor: Micro-Star MSI driver: snd_hda_intel v: kernel pcie: gen: 4
speed: 16 GT/s lanes: 16 bus-ID: 10:00.6 chip-ID: 1022:15e3 class-ID: 0403
Device-4: Logitech HD Pro Webcam C920 driver: snd-usb-audio,uvcvideo
type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 5-2:3
chip-ID: 046d:082d class-ID: 0102 serial: <filter>
API: ALSA v: k6.14.0-arch1-1-znver4 status: kernel-api with: aoss
type: oss-emulator tools: N/A
Server-1: PipeWire v: 1.4.1 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Realtek RTL8125 2.5GbE vendor: Micro-Star MSI driver: r8169
v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1 port: e000 bus-ID: 0c:00.0
chip-ID: 10ec:8125 class-ID: 0200
IF: enp12s0 state: down mac: <filter>
Device-2: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
driver: mt7921e v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1
bus-ID: 0d:00.0 chip-ID: 14c3:0616 class-ID: 0280
IF: wlp13s0 state: up mac: <filter>
Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
Device-1: MediaTek Wireless_Device driver: btusb v: 0.8 type: USB rev: 2.1
speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 1-12:4 chip-ID: 0e8d:0616
class-ID: e001 serial: <filter>
Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: enabled,running
rfk-block: hardware: no software: yes address: <filter> bt-v: 5.2 lmp-v: 11
status: discoverable: no pairing: no
Drives:
Local Storage: total: 1.6 TiB used: 677.6 GiB (41.4%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Kingston model: SNV2S1000G
size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: SBM02103 temp: 32.9 C
scheme: GPT
ID-2: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 830 Series
size: 238.47 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
tech: SSD serial: <filter> fw-rev: 3B1Q scheme: MBR
ID-3: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 850 EVO 500GB
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
tech: SSD serial: <filter> fw-rev: 2B6Q scheme: GPT
Partition:
ID-1: / raw-size: 897.62 GiB size: 897.62 GiB (100.00%)
used: 387.76 GiB (43.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 608 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 897.62 GiB size: 897.62 GiB (100.00%)
used: 387.76 GiB (43.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 897.62 GiB size: 897.62 GiB (100.00%)
used: 387.76 GiB (43.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 897.62 GiB size: 897.62 GiB (100.00%)
used: 387.76 GiB (43.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: partition size: 33.6 GiB used: 0 KiB (0.0%)
priority: -2 dev: /dev/nvme0n1p3 maj-min: 259:3
ID-2: swap-2 type: zram size: 30.45 GiB used: 0 KiB (0.0%) priority: 100
comp: zstd avail: lzo-rle,lzo,lz4,lz4hc,deflate,842 max-streams: 12
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 36.4 C mobo: 32.0 C
Fan Speeds (rpm): N/A
GPU: device: nvidia screen: :0.0 temp: 52 C fan: 0% device: amdgpu
temp: 32.0 C
Info:
Memory: total: 32 GiB note: est. available: 30.45 GiB used: 8.46 GiB (27.8%)
Processes: 439 Power: uptime: 8m states: freeze,mem,disk suspend: deep
avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 12.09 GiB services: org_kde_powerdevil,
power-profiles-daemon, upowerd Init: systemd v: 257 default: graphical
tool: systemctl
Packages: pm: pacman pkgs: 2033 libs: 584 tools: octopi,paru pm: appimage
pkgs: 0 Compilers: clang: 19.1.7 gcc: 14.2.1 Shell: garuda-inxi
default: fish v: 4.0.1 running-in: konsole inxi: 3.3.37
Garuda (2.7.2-1):
System install date:     2024-02-23
Last full system update: 2025-03-31
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut nvidia-dkms
Windows dual boot:       No/Undetected
Failed units:

Does the login screen use another layout setting somewhere else?

Check if this helps:

1 Like

Thanks you, that seems to be the problem.
Is there a way somewhere to see the name in file of the disposition? I don’t know the command name of this optimot ergo layout.

1 Like

Unfortunately, I have no direct experience in using special keyboard layouts.
I don’t understand what you mean by “the name in file of the layout”, anyway I believe that by following the Arch Wiki (also the links, to Xorg/Keyboard configuration for example) you should find all the information.
You probably need to use something like:

sudo localectl --no-convert set-x11-keymap fr optimot

to generate the /etc/X11/xorg.conf.d/00-keyboard.conf file that will then be loaded by SDDM.
I think that if something goes wrong you can simply delete and recreate the conf file trying something different with localectl.
Search also on the internet. At a quick check for example chapter 3.3 of this could be interesting:
https://www.baeldung.com/linux/localectl-tutorial

2 Likes

Sorry, I don’t quite know all the correct terms.
What I mean is that I can’t just put “optimot” in the value; the name here is never that simple. For exemple, the previous layout (and still loaded in this file) name was not just “bépo”, bit “bepo-afnor”.

The command localectl list-x11-keymap-layouts can just output the language (fr, gb, de, us…) not the layout names (or I am missing something).

Is there a place where the systems settings about the keyboard (my first screenshot) are stored? I could look the name there and use the same for the ssdm.

~/.config/kxkbrc

1 Like

I have a question about this. I don’t know the solution, but isn’t it the case that the configuration in the user directory can’t solve the problem, because sddm can’t know who the user will be before the login?

There are other commands in the wiki.

The layout name is usually a 2-letter country code. To see a full list of keyboard models, layouts, variants and options, along with a short description, open /usr/share/X11/xkb/rules/base.lst. Alternatively, you may use one of the following commands to see a list without a description:

  • localectl list-x11-keymap-models
  • localectl list-x11-keymap-layouts
  • localectl list-x11-keymap-variants [layout]
  • localectl list-x11-keymap-options

E.g. for me:

localectl list-x11-keymap-variants | grep bepo
bepo
bepo_afnor
bepo_latin9

I don’t find anything for optimot or similar, but probably your system is different, having installed what you need.

1 Like

That’s true, but that’s not the point of the OP, he just wants to compare something. Or have I misunderstood you?

1 Like

That’s why, I think, the Arch Wiki suggests to generate the correct /etc/X11/xorg.conf.d/00-keyboard.conf file (not in the user folder) that will then be loaded by SDDM.
By-the-way, I see that file is generated by systemd-localed. I hope that, when/if fixed, it won’t be overwritten.

2 Likes

No you didn´t. Sorry, I did not read correctly :roll_eyes:

1 Like

So, this place ~/.config/kxkbrc told me the name of the layout but SDDM is in US Qwerty with it. I suppose it is not possible to use custom layout outside of the one installed on the system.

Thank you all for your reply, I will search in another way.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.