如何在 Emacs 和 Vim 中重新映射“dead_hook”?

如何在 Emacs 和 Vim 中重新映射“dead_hook”?

我想将一些常见的符号(如(和 )与其他键(如或 )重新映射)到键盘的基线。Alt Grjk

我可以将Alt Gr+重新映射k到,)因为该组合会打印ĸAlt Gr+的问题j在于组合是死键“上面有钩子”,所以我无法重新映射该符号。

我不想修改 Xorg 配置/文件,因为我想要在不同计算机之间进行可移植的配置。我只对文本编辑器的配置感兴趣。

xev键组合的输出为:

KeyPress event, serial 40, synthetic NO, window 0x5e00001,
    root 0x39a, subw 0x0, time 15760149, (170,-16), root:(170,36),
    state 0x10, keycode 66 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyPress event, serial 40, synthetic NO, window 0x5e00001,
    root 0x39a, subw 0x0, time 15760673, (170,-16), root:(170,36),
    state 0x90, keycode 44 (keysym 0xfe61, dead_hook), same_screen YES,
    XLookupString gives 0 bytes:
    XmbLookupString gives 0 bytes:
    XFilterEvent returns: True

KeyRelease event, serial 40, synthetic NO, window 0x5e00001,
    root 0x39a, subw 0x0, time 15760753, (170,-16), root:(170,36),
    state 0x90, keycode 44 (keysym 0xfe61, dead_hook), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

KeyRelease event, serial 40, synthetic NO, window 0x5e00001,
    root 0x39a, subw 0x0, time 15761115, (170,-16), root:(170,36),
    state 0x90, keycode 66 (keysym 0xfe03, ISO_Level3_Shift), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

我用来setxkbmap -layout "es" -option "lv3:caps_switch"配置键盘。

对于 Emacs:

(define-key key-translation-map (kbd "ĸ") (kbd ")"))

对于维姆:

imap ĸ )

欢迎任何帮助。

相关内容