mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-02-20 01:40:18 -05:00
feat: support index arg in switch_keyboard_layout
This commit is contained in:
parent
444e2da7fb
commit
d98379ff4c
2 changed files with 5 additions and 0 deletions
|
|
@ -1017,6 +1017,7 @@ FuncType parse_func_name(char *func_name, Arg *arg, char *arg_value,
|
|||
(*arg).v = strdup(arg_value);
|
||||
} else if (strcmp(func_name, "switch_keyboard_layout") == 0) {
|
||||
func = switch_keyboard_layout;
|
||||
(*arg).i = CLAMP_INT(atoi(arg_value), 0, 100);
|
||||
} else if (strcmp(func_name, "setlayout") == 0) {
|
||||
func = setlayout;
|
||||
(*arg).v = strdup(arg_value);
|
||||
|
|
|
|||
|
|
@ -902,6 +902,10 @@ int32_t switch_keyboard_layout(const Arg *arg) {
|
|||
}
|
||||
xkb_layout_index_t next = (current + 1) % num_layouts;
|
||||
|
||||
if (arg->i > 0 && arg->i <= num_layouts) {
|
||||
next = arg->i - 1;
|
||||
}
|
||||
|
||||
// 6. 应用新 keymap
|
||||
uint32_t depressed = keyboard->modifiers.depressed;
|
||||
uint32_t latched = keyboard->modifiers.latched;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue