在 XKB(X 键盘扩展)中,在我看来,任何键符都只能有一个最大动作:
与每个键绑定的每个键符号关联有零个或一个键操作。 https://www.x.org/releases/current/doc/man/man3/XkbKeyAction.3.xhtml
另一方面,libxkbcommon
XKB 扩展支持每个键码多个键符号:
◆ xkb_state_key_get_syms()
是否可以利用此方法或任何其他方法来有效地为按键代码按下执行多个操作?
像这样的东西(这可能是一个糟糕的语法,因为它对单个键符号有多个操作):
xkb_symbols {
key <LWIN> { [ Super_L ] };
modifier_map Mod3 { Super_L };
}
xkb_compatibility {
interpret Super_L { action = SetGroup(group=1); };
interpret Super_L { action = SetMods(modifiers=Mod3); };
}
这样按下该LWIN
键就会切换组并同时设置修改器。
问题的根源在这里:
[帮助] 按住修饰符时临时切换布局
我们正在尝试在 XKB 级别上找到一种方法,使带有修饰符(快捷方式)的按键组合具有不同的布局。