I was puzzled why "localectl set-keymap pl" does not change the X11 keymap.
Output a message at notice level, becuase not converting the X11 keymap
is most likely an error. We usually do not output non-debug messages
from "library" code, but this isn't really library code, it's split out
to a separate file only to allow it to be called from tests.
(pl is not converted because we only have a mapping for pl2. This is
intentional, even though we might want to change this. In any case, the
conversion code works correctly.)
}
int vconsole_convert_to_x11(Context *c) {
- bool modified = false;
+ int modified = -1;
if (isempty(c->vc_keymap)) {
-
modified =
!isempty(c->x11_layout) ||
!isempty(c->x11_model) ||
}
}
- if (modified)
+ if (modified > 0)
log_info("Changing X11 keyboard layout to '%s' model '%s' variant '%s' options '%s'",
strempty(c->x11_layout),
strempty(c->x11_model),
strempty(c->x11_variant),
strempty(c->x11_options));
-
+ else if (modified < 0)
+ log_notice("X11 keyboard layout was not modified: no conversion found for \"%s\".",
+ c->vc_keymap);
else
- log_debug("X11 keyboard layout was not modified.");
+ log_debug("X11 keyboard layout did not need to be modified.");
- return modified;
+ return modified > 0;
}
int find_converted_keymap(const char *x11_layout, const char *x11_variant, char **new_keymap) {