Files
systemd/man
Daan De Meyer 7b9d76cba7 boot,vconsole: Propagate UEFI HII keyboard layout to the OS
UEFI firmware can report the currently-active keyboard layout via
EFI_HII_DATABASE_PROTOCOL.GetKeyboardLayout(). The layout descriptor
includes an RFC 4646 / BCP 47 language tag (e.g. "en-US"). Query this
from sd-boot/sd-stub and write it to a new LoaderKeyboardLayout EFI
variable, advertised through a new EFI_LOADER_FEATURE_KEYBOARD_LAYOUT
feature bit.

On the OS side, systemd-vconsole-setup reads the variable as a
lowest-priority fallback for the console keymap. To map the BCP 47
tag to a vconsole keymap we extend /usr/share/systemd/kbd-model-map
with an optional sixth column listing the comma-separated BCP 47 tags
each row covers; a new find_vconsole_keymap_for_bcp47() helper walks
the file, preferring an exact tag match and otherwise falling back to
the row whose tag matches the input's primary subtag. Credentials,
/etc/vconsole.conf, and vconsole.keymap= on the kernel command line
continue to take precedence.

bootctl status surfaces the new variable, printing the language tag
or "n/a (not reported by firmware)" when sd-boot advertises the
feature but the firmware HII database didn't expose a layout (common
on QEMU without a USB keyboard, since EDK2's PS/2 driver does not
register an HII keyboard layout).
2026-05-11 21:10:11 +02:00
..
2026-05-05 15:09:47 +02:00
2026-05-01 07:10:31 +02:00
2024-12-25 17:00:31 +01:00
2024-11-24 01:11:42 +09:00
2025-09-18 10:57:38 +01:00
2025-08-10 13:40:32 +02:00
2025-08-11 10:30:26 +02:00
2025-10-04 18:13:27 +02:00
2025-08-11 10:30:26 +02:00
2025-08-11 10:30:26 +02:00
2026-04-17 21:12:16 +01:00
2024-12-25 17:00:31 +01:00
2024-12-25 17:00:31 +01:00
2024-12-25 17:00:31 +01:00
2025-08-10 13:40:32 +02:00
2024-12-25 17:00:31 +01:00
2026-01-06 08:48:05 +09:00
2026-02-20 01:18:54 +09:00
2026-03-18 14:58:43 +01:00
2025-07-16 05:47:38 +09:00
…
2024-11-06 19:06:40 +09:00
2025-09-18 10:57:38 +01:00
…