Desativar a impressão de códigos de tecla no urxvt

2

Quando eu pressiono alt + left arrow , o Urxvt imprime [D ou alt + up arrow imprime [A .

Existe uma maneira de desabilitar esse comportamento para que o urxvt não faça nada?

    
por Maik Klein 18.02.2015 / 12:08

2 respostas

2

O que está acontecendo é que o urxvt está traduzindo o acorde de teclas Alt + Esquerda para a seqüência de escape \e\e[D (eu uso \e para representar um caractere de escape). Esta é uma escolha razoável; outro comum é \eO1D .

Você deve configurar os aplicativos em execução no terminal para entender que \e\e[D significa Alt + Esquerda . Para bash e outros aplicativos usando a biblioteca readline, adicione uma linha como essa em seu ~/.inputrc (neste exemplo, eu faço a combinação de teclas retroceder palavra por palavra):

"\e\e[D": backward-word

Como alternativa, configure rxvt para enviar \eO1D (e, se necessário, ensine seus aplicativos a entender isso como Alt + Esquerda ). Isso pode ser mais conveniente do que \e\e[D porque não possui dois caracteres de controle em uma linha. Você pode configurar as combinações de teclas do rxvt através dos recursos X . Coloque a seguinte linha no seu ~/.Xresources (muitos ambientes carregam quando você loga; para carregar o arquivo manualmente, execute xrdb -merge ~/.Xresources ):

URxvt.keysym.Meta-Left: 3O1D
    
por 19.02.2015 / 01:37
2

Estes podem ser configurados no arquivo ~/.Xresources . Urxvt tem Urxvt*keysym opções para remapear códigos de teclas (veja página man do Urxvt) Por exemplo:

Urxvt*keysym.A-Left: command:
Urxvt*keysym.A-Left: command:%pre%0
Urxvt*keysym.A-Right: command:%pre%0
0 Urxvt*keysym.A-Right: command:%pre%0

Isto irá remapear alt + Esquerda e alt + Direita para nada.

Você precisa se lembrar de fazer xrdb ~/.Xresources para esse trabalho e gerar um novo terminal Urxvt.

    
por 18.02.2015 / 13:56