Que seqüência o PuTTY envia para ALT + DEL?

1

Quando me conecto ao meu servidor Debian Wheezy Beta 4 com o PuTTY 0.62 no Windows 7, estou tendo um problema. Meu shell de login é Zsh e está configurado para lidar com ALT + DEL para a ação delete-word (exclui uma palavra à direita do cursor). A linha na configuração é assim:

bindkey -e "\e[3;3~" kill-word

A ligação funciona bem quando conectada por meio do comando ssh de um gnome-terminal . Mas quando eu me conecto via PuTTY, esta ação não é executada. Em vez disso, um [3~ é colocado no console. Até onde eu vejo, esta é a sequência sem escape para a chave DEL em xterm . Por um tempo eu pensei que o PuTTY iria simplesmente ignorar o modificador ALT e enviar somente DEL , mas se esse fosse o caso, a ação seria ligada ao DEL teria sido executado como se eu tivesse pressionado apenas essa chave.

Então eu acho que o PuTTY está usando alguma sequência para a combinação de teclas que eu não conheço e que faz com que a saída [3~ apareça na tela. Como posso descobrir qual seqüência o PuTTY envia para configurar o Zsh para lidar com isso corretamente?

Update : Parece que o PuTTY deve ignorar todos os pressionamentos de tecla do modificador ALT em sua implementação atual. Aqui está um trecho do arquivo de código-fonte TERMINAL.C que exclui o sinalizador ALT da variável modificadores:

/*
 * Alt is only used for Alt+keypad, which isn't supported yet, so
 * ignore it.
 */
modifiers &= ~PKM_ALT;

Isso não me explica por que pressionar ALT + DEL não tem o mesmo efeito que pressionar . Também não explica porque a combinação de teclas padrão para a ação kill-word em Zsh ( ALT + D ) funciona bem.

    
por aef 07.12.2012 / 21:53

1 resposta

0

Um truque simples para obter essas seqüências é iniciar cat no host remoto. Dessa forma eu recebo ^[[3~ para DEL sozinho, mas ^[^[[3~ com ALT + DEL . (PuTTY 0,62 no W7 / 64)

Então, provavelmente

bindkey -e "\e\e[3~" kill-word

fará o que você quiser.

    
por 28.02.2013 / 11:29