linux xfce4 怎么把 Capslock 点按设置为 Esc,长按设置为 Ctrl?

如题,谢谢。

自己顶,不过正在试。这里

setxkbmap -option ctrl:swapcaps
xcape -e 'Control_L=Escape'

这个把左边的Ctrl改成Esc了,我希望左边Ctrl还是Ctrl,只改Capslock。

似乎没起作用,不知什么情况?

使用 xkeysnail,安装 pip3 install xkeysnail

在 ~/.config/xkeysnail/config.py 中写入如下配置:

define_multipurpose_modmap(
    # Enter is enter when pressed and released. Control when held down.
    {Key.CAPSLOCK: [Key.ESC, Key.LEFT_CTRL]}
    # Capslock is escape when pressed and released. Control when held down.
    # {Key.CAPSLOCK: [Key.ESC, Key.LEFT_CTRL]
    # To use this example, you can't remap capslock with define_modmap.
)

1赞

不是的, 第一把Ctrl和Capslock互换.

第二把点击Ctrl 映射为 Esc

最后的效果就是 原Capslock 实现 Esc 和 Ctrl, 原Ctrl实现Capslock.

不想改变原Ctrl的话可以

setxkbmap -option ctrl:nocaps
xcape -e 'Control_L=Escape'

此时 CaplLk 和 Ctrl 都是 点按为 Esc, 长按为 Ctrl 的效果.

1赞

感谢楼上和位兄弟的方案。xkeysnail 比较折腾但效果不错。 :grinning: