Como remapear “dead_hook” no Emacs e no Vim?

3

Eu gostaria de remapear alguns símbolos comuns como ( e ) para a linha de base do meu teclado combinando Alt Gr com outras teclas como j ou < kbd> k .

Eu posso remapear Alt Gr + k para ) porque essa combinação imprime ĸ . O problema com Alt Gr + j é que a combinação é a chave morta "gancho" acima ", por isso não posso remapear o símbolo.

Eu não quero modificar as configurações / arquivos do Xorg porque eu quero uma configuração portátil entre diferentes computadores. Estou interessado apenas na configuração dos editores de texto.

A saída de xev para a combinação de chaves é:

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

Estou usando setxkbmap -layout "es" -option "lv3:caps_switch" para configurar o teclado.

Para o Emacs:

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

Para o Vim:

imap ĸ )

Qualquer ajuda é bem-vinda.

    
por Rufo El Magufo 16.12.2015 / 02:50

0 respostas