点击时使用 ISO_Level3_Shift 作为 Escape

点击时使用 ISO_Level3_Shift 作为 Escape

我使用另一种键盘布局,使用 CapsLock 和 # 作为ISO_Level3_Shift修饰符。

setxkbmap de koy

我还喜欢在刚刚点击时使用 CapsLock 作为附加的退出键。这可以通过以下方式轻松实现:

xcape -e "ISO_Level3_Shift=Escape"

但这使得两个 Level3 修饰符都充当 Escape。如何仅将 xcape 应用于左侧修饰键(标记为 CapsLock)?

答案1

经过一些阅读后github 上的 xcape 页面,我找到了简单的解决方案。去年一拉取请求已合并,允许将键码而不是键符号传递给 xcape。

解决办法是:

xcape -e "#66=Escape"

如何获得正确的密钥代码?

xev -event keyboard

按下要修改的键。然后你应该看到类似的东西:

KeyPress event, serial 29, synthetic NO, window 0x4c00001,
    root 0x190, subw 0x0, time 771139, (110,626), root:(204,711),
    state 0x0, keycode 66 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XKeysymToKeycode returns keycode: 51
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

在那里您可以找到您的密钥代码(本例中为 66)。

相关内容