Faça com que 'CTRL- /' se comporte no vtty e no xterm

3

Quando pressiono Ctrl + / em um terminal gráfico (por exemplo, xterm), recebo "desfazer". No entanto, em um terminal virtual (por exemplo, Ctrl + Alt + F1 ), recebo "backspace".

Na prática, eu me deparo com isso quando estou usando o emacs em um terminal virtual, provavelmente depurando algum problema com o X, e tento usar C + / para desfazer mas, em vez disso, pegue um backspace.

Acredito que experimentei isso em vários computadores ao longo dos anos, por isso não acho que seja muito específico da minha configuração atual (ubuntu).

    
por ntc2 19.07.2012 / 01:18

1 resposta

4

Quando você pressiona uma tecla no xterm, ele envia uma seqüência de caracteres que é determinada pelas traduções em seus recursos X . Normalmente Ctrl + / envia o único caractere ^_ (isto é, o número do caractere 31, como Ctrl + _ ) . O shell interpreta esse caractere de controle como o comando desfazer.

Quando você pressiona a tecla em um console do Linux, ele envia uma sequência de caracteres que é determinada pelo mapa de teclado ativo. O comando loadkeys carrega um mapa de teclas. A localização do mapa de teclas padrão depende da distribuição e dos pacotes instalados; nas distribuições recentes do Ubuntu, o mapa de teclas do console é derivado do mapa de teclas XKB padrão. Muitos keymaps atribuem o Backspace (que é chamado de Delete neste contexto: é o caractere 127) para Ctrl + / (não sei por que); Você pode alterar isso usando o seguinte fragmento de mapa de teclado:

keycode  53 = slash            question        
        control keycode  53 = Control_underscore
        alt     keycode  53 = Meta_slash      
        shift   alt     keycode  53 = Meta_question   

Se você tiver um arquivo chamado /etc/console/boottime.kmap.gz , edite isso. Se você tiver um arquivo /etc/default/keyboard , leia e siga as instruções.

    
por 19.07.2012 / 02:24