如何在 Ubuntu +18 中将 Caps Lock 键映射到左 Alt 键?

如何在 Ubuntu +18 中将 Caps Lock 键映射到左 Alt 键?

我一直在寻找解决上述问题的方法。

我试过

xmodmap -e "keycode 66 = Alt_L"

但显然结果是CapsLock键被映射到Left-SHIFT,这不是预期的行为。
从我的搜索中,我了解到xmodmap已经过时了,我应该改用setxkbmap。但是,我发现很难重新映射不属于 默认选项的键xkb(例如,我可以映射CapsLockLeft-CTRL但不能映射到Left-ALT)。

我该如何使用setxkbmap才能达到这个目标?

答案1

我开始考虑解决方案这里这里,但我无法让它们工作。

我在这里找到了解决方案:

https://unix.stackexchange.com/questions/9635/how-to-assign-another-modifier-to-alt-key-for-x11

它实现了我想要的,尽管方式相当丑陋(我非常希望用这个重新映射创建一个新的 xkb 选项,但我无法让它工作)


更新

上面的解决方案不允许我为 LALT 保留两个不同的密钥。相反,我遵循了具有以下符号定义的指南:

// This changes the <CAPS> key to become an Alt modifier,
// but it will still produce the Caps_Lock keysym.
hidden partial modifier_keys
xkb_symbols "alt" {
    replace key <CAPS> {
        type[Group1] = "ONE_LEVEL",
        symbols[Group1] = [ Caps_Lock ],
        actions[Group1] = [ SetMods(modifiers=Mod1) ]
    };
    modifier_map Mod1 { <CAPS> };
};

相关内容