Como alterar o mapeamento de chaves para HOME e END no XTERM?

0

Estou trabalhando no RHEL 6.4.

No meu antigo sistema rodando no RHEL 5.3, o Home é mapeado para ^[[1~ e End é mapeado para ^[[4~ .

No novo sistema, Home é mapeado para ^[[H e End é mapeado para ^[[F , o que está causando algum comportamento indesejável em meu aplicativo.

Por favor, diga-me como posso mudar isso?

    
por stany 06.08.2013 / 05:37

2 respostas

2

Você precisará modificar o mapa de teclado no X resource .

*XTerm*VT100.translations:      #override \n\
        None<Key>Home: string(0x1b) string("[1~") \n\
        None<Key>End: string(0x1b) string("[4~") \n
    
por 06.08.2013 / 06:48
0

Embora você possa alterar as chaves usando o recurso translations , há vantagens / desvantagens. Se você não usa esse recurso, por si só xterm fornece vários outros recursos (incluindo alguns que podem ser alternados através de entradas de menu). Se você usar o recurso, as chaves não podem ser trocadas através da entrada do menu.

As chaves Início e Fim podem ser alternadas entre " Estilo PC " ^[[H e ^[[F para " estilo VT220 " ^[[1~ e ^[[4~ usando o VT220 Keyboard entrada de menu.

Além da entrada do menu, a mesma troca pode ser feita usando uma seqüência de controle:

CSI ? Pm h
          DEC Private Mode Set (DECSET).
            Ps = 1 0 6 1  -> Set VT220 keyboard emulation.
CSI ? Pm l
          DEC Private Mode Reset (DECRST).
            Ps = 1 0 6 1  -> Reset keyboard emulation to Sun/PC style.

que você pode usar em um script:

printf '3[?1061h

alterando o tipo de teclado para VT220.

Esses recursos são anteriores ao RHEL5, a propósito. A Red Hat costumava substituir os recursos do xterm, como mencionado no FAQ Por que não posso usar o teclas de início / fim? .

    
por 11.04.2016 / 11:08