diff --git a/src/backend/wayland/wl_backend.c b/src/backend/wayland/wl_backend.c index 1741b25..2ee5e15 100644 --- a/src/backend/wayland/wl_backend.c +++ b/src/backend/wayland/wl_backend.c @@ -2525,8 +2525,15 @@ wl_display_open(const char *name) { struct xkb_context *xkb_ctx = xkb_context_new(XKB_CONTEXT_NO_FLAGS); if (xkb_ctx) { + struct xkb_rule_names rules = { + .rules = getenv("XKB_DEFAULT_RULES"), + .model = getenv("XKB_DEFAULT_MODEL"), + .layout = getenv("XKB_DEFAULT_LAYOUT"), + .variant = getenv("XKB_DEFAULT_VARIANT"), + .options = getenv("XKB_DEFAULT_OPTIONS"), + }; wl_state.xkb_keymap = xkb_keymap_new_from_names( - xkb_ctx, NULL, XKB_KEYMAP_COMPILE_NO_FLAGS); + xkb_ctx, &rules, XKB_KEYMAP_COMPILE_NO_FLAGS); xkb_context_unref(xkb_ctx); if (wl_state.xkb_keymap) { wwarning("wl_backend: default XKB keymap created for key binding resolution");