opt: optimize keymap set
This commit is contained in:
@@ -123,6 +123,10 @@ static const struct xkb_rule_names xkb_fallback_rules = {
|
|||||||
.options = NULL,
|
.options = NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const struct xkb_rule_names xkb_default_rules = {
|
||||||
|
.options = NULL,
|
||||||
|
};
|
||||||
|
|
||||||
struct xkb_rule_names xkb_rules = {
|
struct xkb_rule_names xkb_rules = {
|
||||||
/* can specify fields: rules, model, layout, variant, options */
|
/* can specify fields: rules, model, layout, variant, options */
|
||||||
/* example:
|
/* example:
|
||||||
|
|||||||
@@ -865,7 +865,7 @@ int switch_keyboard_layout(const Arg *arg) {
|
|||||||
if (!check_keyboard_rules_validate(&rules)) {
|
if (!check_keyboard_rules_validate(&rules)) {
|
||||||
wlr_log(WLR_ERROR,
|
wlr_log(WLR_ERROR,
|
||||||
"Keyboard rules validation failed, skipping layout reset");
|
"Keyboard rules validation failed, skipping layout reset");
|
||||||
rules = xkb_fallback_rules;
|
rules = xkb_default_rules;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *layout_buf = (char *)rules.layout; // 假设这是可修改的
|
char *layout_buf = (char *)rules.layout; // 假设这是可修改的
|
||||||
|
|||||||
@@ -2377,7 +2377,7 @@ KeyboardGroup *createkeyboardgroup(void) {
|
|||||||
if (!check_keyboard_rules_validate(&rules)) {
|
if (!check_keyboard_rules_validate(&rules)) {
|
||||||
wlr_log(WLR_ERROR,
|
wlr_log(WLR_ERROR,
|
||||||
"Keyboard rules validation failed, skipping layout reset");
|
"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. */
|
/* 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)) {
|
if (!check_keyboard_rules_validate(&rules)) {
|
||||||
wlr_log(WLR_ERROR,
|
wlr_log(WLR_ERROR,
|
||||||
"Keyboard rules validation failed, skipping layout reset");
|
"Keyboard rules validation failed, skipping layout reset");
|
||||||
rules = xkb_fallback_rules;
|
rules = xkb_default_rules;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create context
|
// Create context
|
||||||
|
|||||||
Reference in New Issue
Block a user