From 9d6a8d43584250458d33a810c7a804f3a166bdbd Mon Sep 17 00:00:00 2001 From: Clayton Craft Date: Tue, 24 Feb 2026 18:33:10 -0800 Subject: [PATCH] ply-device-manager: fall back to default XKB keymap when no layout is configured Plymouth was skipping all input devices when no XKB layout was configured. Passing NULL to xkb_keymap_new_from_names to lets libxkbcommon use its own defaults, so input devices are used regardless of whether the system has a keyboard layout configured in vconsole.conf. --- src/libply-splash-core/ply-device-manager.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/libply-splash-core/ply-device-manager.c b/src/libply-splash-core/ply-device-manager.c index da53f3ae..6fc2a092 100644 --- a/src/libply-splash-core/ply-device-manager.c +++ b/src/libply-splash-core/ply-device-manager.c @@ -832,14 +832,14 @@ parse_vconsole_conf (ply_device_manager_t *manager) ply_trace ("KEYMAP: %s, XKBLAYOUT: %s, XKBMODEL %s, XKBVARIANT: %s, XKBOPTIONS: %s\n", keymap, xkb_layout, xkb_model, xkb_variant, xkb_options); - if (xkb_layout != NULL && manager->xkb_context != NULL) { + if (manager->xkb_context != NULL) { struct xkb_rule_names xkb_keymap = { .layout = xkb_layout, .model = xkb_model, .variant = xkb_variant, .options = xkb_options, }; - manager->xkb_keymap = xkb_keymap_new_from_names (manager->xkb_context, &xkb_keymap, XKB_MAP_COMPILE_NO_FLAGS); + manager->xkb_keymap = xkb_keymap_new_from_names (manager->xkb_context, xkb_layout != NULL ? &xkb_keymap : NULL, XKB_MAP_COMPILE_NO_FLAGS); if (manager->xkb_keymap == NULL) { ply_trace ("Failed to set xkb keymap of LAYOUT: %s MODEL: %s VARIANT: %s OPTIONS: %s", xkb_layout, xkb_model, xkb_variant, xkb_options);