opt: optimize keymap set

This commit is contained in:
DreamMaoMao 2025-10-22 13:24:36 +08:00
parent 25067738ed
commit bf6644c9f5
3 changed files with 7 additions and 3 deletions

View file

@ -123,6 +123,10 @@ static const struct xkb_rule_names xkb_fallback_rules = {
.options = NULL,
};
static const struct xkb_rule_names xkb_default_rules = {
.options = NULL,
};
struct xkb_rule_names xkb_rules = {
/* can specify fields: rules, model, layout, variant, options */
/* example:

View file

@ -865,7 +865,7 @@ int switch_keyboard_layout(const Arg *arg) {
if (!check_keyboard_rules_validate(&rules)) {
wlr_log(WLR_ERROR,
"Keyboard rules validation failed, skipping layout reset");
rules = xkb_fallback_rules;
rules = xkb_default_rules;
}
char *layout_buf = (char *)rules.layout; // 假设这是可修改的

View file

@ -2377,7 +2377,7 @@ KeyboardGroup *createkeyboardgroup(void) {
if (!check_keyboard_rules_validate(&rules)) {
wlr_log(WLR_ERROR,
"Keyboard rules validation failed, skipping layout reset");
rules = xkb_fallback_rules;
rules = xkb_default_rules;
}
/* Prepare an XKB keymap and assign it to the keyboard group. */
@ -4633,7 +4633,7 @@ void reset_keyboard_layout(void) {
if (!check_keyboard_rules_validate(&rules)) {
wlr_log(WLR_ERROR,
"Keyboard rules validation failed, skipping layout reset");
rules = xkb_fallback_rules;
rules = xkb_default_rules;
}
// Create context