wl_backend: respect XKB_DEFAULT_* env vars for keyboard layout
Read XKB_DEFAULT_LAYOUT, XKB_DEFAULT_VARIANT, XKB_DEFAULT_OPTIONS, XKB_DEFAULT_MODEL, and XKB_DEFAULT_RULES from environment when creating the default keymap. Set these to match your layout (e.g. XKB_DEFAULT_LAYOUT=us XKB_DEFAULT_VARIANT=dvorak).
This commit is contained in:
parent
d883166d4c
commit
1037fc0630
|
|
@ -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");
|
||||
|
|
|
|||
Loading…
Reference in New Issue