如何在 XKB 解释语句中有效地定位特定的键修饰符组合?

如何在 XKB 解释语句中有效地定位特定的键修饰符组合?

我想在按 时锁定某个修饰符 (Mod3) Control + Caps_Lock

xkb_compatibility "mod3"
{
    // set Control bit on Control_L
    interpret Control_L {
        action = SetMods(modifiers=Control);
    };
    // try locking Mod3 …
    interpret Caps_Lock+Exactly(Control) {
        action = LockMods(modifiers=Mod3);
    };
};

使用时xev -event keyboard我从未见过该Mod3位翻转,尽管该Control位确实翻转了。

我也尝试只使用常规a而不是Caps_Lock,这没有改变任何东西。

此外,我尝试使用AnyOf(Control)而不是Exactly(Control).


我缺少什么?
我的 XKB 地图中的其他内容是否会干扰上述尝试?
或者我关于该interpret声明如何运作的假设是错误的?

答案1

尝试用“动作”替换“动作”。

相关内容